@charset "utf-8";




/*
--------------------------------
	basics
--------------------------------
*/


/* ---- reset ---- */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
	margin: 0;
}

body {
	-webkit-text-size-adjust: 100%; /* for iOS, Android */
}

li {
	list-style: none;
}

a {
	-webkit-tap-highlight-color: transparent; /* for iOS, Android */
}

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

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left;
}


/* ---- font ---- */

html {
	font-size: 62.5%;
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: normal;
	src: local("Yu Gothic Medium");
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: bold;
	src: local("Yu Gothic Bold");
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", "Hiragino kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1;
}

button, input, select, textarea {
	font-family : inherit;
	font-size : 100%;
}


/* ---- basics ---- */

html {
	background-color: #004763;
}

body {
	color: #222;
	background-color: #fff;
}

a { text-decoration: underline; color: #21ade5; }
a:link { color: #21ade5; }
a:visited { color: #21ade5; }
a:hover { text-decoration: none; color: #21ade5; }
a:active { text-decoration: none; color: #21ade5; }

em, strong {
	font-weight: bold;
}

.clearfix::before, .clearfix::after { content: ""; display: table; }
.clearfix::after { clear: both; }

*, *::before, *::after {
	box-sizing: border-box;
}




/*
--------------------------------
	common
--------------------------------
*/


/* ---- header ---- */

.header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 128px;
	background: url(../images/header_bg.png) no-repeat center top;
	pointer-events: none;
	transition: top .4s ease-out;
}

.header .site-id {
	position: absolute;
	left: 50%;
	top: 30px;
	z-index: 2;
	width: 210px;
	transform: translateX(-50%);
	pointer-events: auto;
}


/* ---- global navigation ---- */

.global-nav {
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;
	width: calc(100% - 60px);
	max-width: 1198px;
	transform: translateX(-50%);
}

.global-nav::after {
	content: "";
	display: table;
	clear: both;
}

.global-nav li {
	float: left;
	position: relative;
	width: calc((100% - 252px) / 6 - 1px);
	margin-right: 1px;
}

.global-nav li:nth-child(3) { margin-right: 252px; }

.global-nav li::before {
	content: "";
	position: absolute;
	top: 35px;
	width: 1px;
	height: 20px;
	background-color: #eee;
}

.global-nav li:nth-child(1)::before,
.global-nav li:nth-child(2)::before,
.global-nav li:nth-child(3)::before { left: -1px; }

.global-nav li:nth-child(4)::before,
.global-nav li:nth-child(5)::before,
.global-nav li:nth-child(6)::before { right: -1px; }

.global-nav li a {
	display: block;
	height: 89px;
	border-bottom: 6px solid transparent;
	background-color: transparent;
	transition: border-color .3s, background-color .3s;
	pointer-events: auto;
	text-decoration: none;
}

.global-nav li:nth-child(1) a:hover,
.global-nav li:nth-child(1) a:active,
.global-nav li:nth-child(1) a.current {
	border-color: #eb4b35;
	background-color: #fffafa;
}

.global-nav li:nth-child(2) a:hover,
.global-nav li:nth-child(2) a:active,
.global-nav li:nth-child(2) a.current,
.global-nav li:nth-child(2) a.open {
	border-color: #21ade5;
	background-color: #f6fcff;
}

.global-nav li:nth-child(3) a:hover,
.global-nav li:nth-child(3) a:active,
.global-nav li:nth-child(3) a.current,
.global-nav li:nth-child(3) a.open {
	border-color: #d79240;
	background-color: #fffbf2;
}

.global-nav li:nth-child(4) a:hover,
.global-nav li:nth-child(4) a:active,
.global-nav li:nth-child(4) a.current,
.global-nav li:nth-child(4) a.open {
	border-color: #24c2bc;
	background-color: #f0fbfb;
}

.global-nav li:nth-child(5) a:hover,
.global-nav li:nth-child(5) a:active,
.global-nav li:nth-child(5) a.current,
.global-nav li:nth-child(5) a.open {
	border-color: #99cc33;
	background-color: #f8ffeb;
}

.global-nav li:nth-child(6) a:hover,
.global-nav li:nth-child(6) a:active,
.global-nav li:nth-child(6) a.current {
	border-color: #dab400;
	background-color: #fffbea;
}

.global-nav li .img {
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
}

.global-nav li .txt {
	position: absolute;
	left: 0;
	top: 56px;
	width: 100%;
	color: #333;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

.global-nav li:nth-child(1) .img { top: 14px; }
.global-nav li:nth-child(1) .img img { width: 31px; }

.global-nav li:nth-child(2) .img { top: 17px; }
.global-nav li:nth-child(2) .img img { width: 39px; }

.global-nav li:nth-child(3) .img { top: 21px; }
.global-nav li:nth-child(3) .img img { width: 19px; }

.global-nav li:nth-child(4) .img { top: 16px; }
.global-nav li:nth-child(4) .img img { width: 22px; }

.global-nav li:nth-child(5) .img { top: 19px; }
.global-nav li:nth-child(5) .img img { width: 43px; }

.global-nav li:nth-child(6) .img { top: 28px; }
.global-nav li:nth-child(6) .img img { width: 23px; }

.privacypolicy-link{
    width: fit-content;
	font-size: 1.6rem;
	margin: 30px 0;
    padding: 0 30px;
}
.privacypolicy-link a{
	text-decoration: none;
}
@media screen and (max-width: 1080px) {
	
	.global-nav {
		width: calc(100% - 30px);
	}
	
	.global-nav li .txt {
		font-size: 1.4rem;
	}
	
	.global-nav li .txt span {
		display: none;
	}
	
}


/* ---- megamenu ---- */

#megamenu {
	display: none;
	position: fixed;
	left: 0;
	top: 89px;
	z-index: 99;
	width: 100%;
	height: 0;
	padding: 0 30px;
	background-color: #fff;
	border-bottom: 3px solid #d8d8d8;
	box-shadow: 0 0 20px rgba(48, 64, 68, .2);
	overflow: hidden;
}

#megamenu.megamenu-2 { border-color: #21ade5; }
#megamenu.megamenu-3 { border-color: #24c2bc; }
#megamenu.megamenu-4 { border-color: #99cc33; }
#megamenu.megamenu-5 { border-color: #d79240; }

#megamenu-cover {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(120, 120, 120, 0.9);
	z-index: 98;
}

#megamenu .inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 65px 0 35px;
}

#megamenu .inner > div {
	display: none;
}

#megamenu .row {
	margin: 0 auto;
	overflow: hidden;
}

#megamenu .lower {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid #e4e4e4;
}

#megamenu .row .col {
	margin: 0;
}

#megamenu a {
	color: #222;
	text-decoration: none;
}

#megamenu a:hover,
#megamenu a:active {
	text-decoration: underline;
}

#megamenu-2 a:hover,
#megamenu-2 a:active { color: #21ade5; }
#megamenu-3 a:hover,
#megamenu-3 a:active { color: #24c2bc; }
#megamenu-4 a:hover,
#megamenu-4 a:active { color: #99cc33; }
#megamenu-5 a:hover,
#megamenu-5 a:active { color: #d79240; }

#megamenu .heading {
	font-size: 1.5rem;
	font-weight: bold;
}

#megamenu a.image {
	display: block;
}

#megamenu a.image .img {
	display: block;
}

#megamenu a.image img {
	display: block;
	width: 100%;
	opacity: 1;
	transition: opacity .3s;
}

#megamenu a.image:hover img,
#megamenu a.image:active img {
	opacity: .7;
}

#megamenu a.image .txt {
	display: block;
	position: relative;
	margin-top: 12px;
	padding-left: 1.5em;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.3;
}

#megamenu a.image .txt::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 17px;
	height: 17px;
	border-radius: 9.5px;
	background-color: #e4e4e4;
}

#megamenu-2 a.image .txt::before { background-color: #21ade5; }
#megamenu-3 a.image .txt::before { background-color: #24c2bc; }
#megamenu-4 a.image .txt::before { background-color: #99cc33; }
#megamenu-5 a.image .txt::before { background-color: #d79240; }

#megamenu a.image span::after {
	content: "";
	display: block;
	position: absolute;
	left: 5px;
	top: .6rem;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

#megamenu ul.image {
	margin-top: 20px;
	overflow: hidden;
}

#megamenu ul.image li {
	float: left;
}

#megamenu ul.image li:last-child {
	margin-right: 0 !important;
}

#megamenu ul.image a {
	display: block;
}

#megamenu ul.image img {
	display: block;
	width: 100%;
	opacity: 1;
	transition: opacity .3s;
}

#megamenu ul.image a:hover img,
#megamenu ul.image a:active img {
	opacity: .7;
}

#megamenu ul.image span {
	display: block;
	position: relative;
	margin-top: 12px;
	padding-left: 1em;
	font-size: 1.5rem;
	line-height: 1.3;
}

#megamenu ul.image span::before {
	content: "";
	display: block;
	position: absolute;
	left: -2px;
	top: .35rem;
	width: 9px;
	height: 9px;
	border-top: 2px solid #e4e4e4;
	border-right: 2px solid #e4e4e4;
	transform: rotate(45deg);
}

#megamenu-2 ul.image span::before { border-color: #21ade5; }
#megamenu-3 ul.image span::before { border-color: #24c2bc; }
#megamenu-4 ul.image span::before { border-color: #99cc33; }
#megamenu-5 ul.image span::before { border-color: #d79240; }

#megamenu ul.disk li {
	position: relative;
	padding: 0 0 16px 0;
	font-size: 1.5rem;
	line-height: 1.3;
}

#megamenu ul.disk.inline li {
	display: block;
	padding: 0 3em 16px 0;
}

#megamenu ul.disk a {
	padding-left: 1.5em;
	font-weight: bold;
}

#megamenu ul.disk a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 17px;
	height: 17px;
	border-radius: 9.5px;
	background-color: #e4e4e4;
}

#megamenu-2 ul.disk a::before { background-color: #21ade5; }
#megamenu-3 ul.disk a::before { background-color: #24c2bc; }
#megamenu-4 ul.disk a::before { background-color: #99cc33; }
#megamenu-5 ul.disk a::before { background-color: #d79240; }

#megamenu ul.disk a::after {
	content: "";
	display: block;
	position: absolute;
	left: 5px;
	top: .6rem;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

#megamenu ul.arrow {
	margin-top: 20px;
}

#megamenu ul.arrow li {
	position: relative;
	padding: 0 2em 16px 1em;
	font-size: 1.5rem;
	line-height: 1.3;
}

#megamenu ul.arrow.inline li {
	display: inline-block;
}

#megamenu ul.arrow li::before {
	content: "";
	display: block;
	position: absolute;
	left: -2px;
	top: .35rem;
	width: 9px;
	height: 9px;
	border-top: 2px solid #e4e4e4;
	border-right: 2px solid #e4e4e4;
	transform: rotate(45deg);
}

#megamenu-2 ul.arrow li::before { border-color: #21ade5; }
#megamenu-3 ul.arrow li::before { border-color: #24c2bc; }
#megamenu-4 ul.arrow li::before { border-color: #99cc33; }
#megamenu-5 ul.arrow li::before { border-color: #d79240; }

#megamenu-close {
	display: none;
}

/* service */

#megamenu-2 {
	padding-bottom: 16px;
}

#megamenu-2 .row {
	width: 75%;
}

#megamenu-2 .upper {
    display: flex; /* Flexboxを有効にする */
    justify-content: center; /* 子要素を水平方向に中央寄せにする */
    gap: 30px; /* 各メニューアイテム間のスペースを調整 */
}

#megamenu-2 .upper .col {
    flex-shrink: 0; /* カラムが縮まないようにする */
}

#megamenu-2 .upper .col {
	float: left;
	width: 30%;
	margin-left: 5%;
}

#megamenu-2 .upper .col:first-child {
	margin-left: 0;
}

/* ir */

#megamenu-3 .row {
	width: 84%;
}

#megamenu-3 .upper .col {
	float: left;
	width: 23%;
	margin-left: 2%;
}


#megamenu-3 .upper .col:first-child {
	width: 23%;
	margin-left: 0;
}


#megamenu-3 .upper .col:first-child a {
	font-size: 1.7rem;
}

#megamenu-3 ul.arrow li {
	padding-right: 1.5em;
}

#megamenu-3 .lower .col {
	float: left;
	width: 23%;
	margin-left: 2%;
}


#megamenu-3 .lower .col:first-child {
	width: 23%;
	margin-left: 0;
}


#megamenu-3 .lower .col.bnr {
	background-color: #f0fbfb;
	border: 2px solid #24c2bc;
	padding: 5px;
}


#megamenu-3 .lower .col.bnr small {
	font-weight: normal;
}

/* recruit */

#megamenu-4 .row {
	width: 92%;
}

#megamenu-4 .upper .col:first-child {
	float: left;
	width: 25%;
}

#megamenu-4 .upper .col:last-child {
	float: right;
	width: 70%;
}

#megamenu-4 .lower .col:first-child {
	float: right;
	width: 70%;
}

#megamenu-4 .lower .col:last-child {
	float: left;
	width: 25%;
}

#megamenu-4 ul.image li {
	width: 22%;
	margin-right: 4%;
}

/*
#megamenu-4 ul.arrow li:nth-child(2),
#megamenu-4 ul.arrow li:nth-child(3) {
	display: none;
}
*/

/* about */

#megamenu-5 .row {
	width: 75%;
}

#megamenu-5 .upper .col {
	float: left;
	width: 30%;
	margin-left: 5%;
}

#megamenu-5 .upper .col:first-child {
	margin-left: 0;
}


/* ---- body container ---- */

.body {
	min-height: calc(100vh - 150px);
	padding: 89px 0 90px;
}


/* ---- page title ---- */

.page-title {
	height: 250px;
	margin-bottom: 90px;
	padding: 0 30px;
	background-color: #55bae3;
	background-repeat: no-repeat;
	background-position: 50% 0;
}

.page-title .inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.page-title h1 {
	position: absolute;
	left: 0;
	color: #fff;
	font-weight: bold;
	line-height: 1.3;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	white-space: nowrap;
}

.page-title .ttl {
	position: absolute;
	left: 0;
	color: #fff;
	font-weight: bold;
	line-height: 1.3;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	white-space: nowrap;
}

.page-title.line-1 h1 {
	top: 110px;
	font-size: 3.5rem;
}

.page-title.line-1 .ttl {
	top: 110px;
	font-size: 3.5rem;
}

.page-title.line-2 h1 {
	top: 95px;
	font-size: 3.5rem;
}

.page-title.line-2 h1 span {
	display: block;
	margin-bottom: 5px;
	font-size: 2.4rem;
	font-weight: normal;
}

.page-title.large {
	height: 500px;
	margin-bottom: 0;
}

.page-title.large h1 {
	width: 100%;
	color: #222;
	font-size: 4.5rem;
	text-align: center;
}

.page-title.large .icon {
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
}


/* ---- breadcrumbs ---- */

.breadcrumbs {
	display: table;
	position: absolute;
	left: 0;
	top: 20px;
	color: #fff;
	font-size: 1.3rem;
}

.breadcrumbs li {
	display: table-cell;
	position: relative;
	padding-left: 3em;
	vertical-align: middle;
}

.breadcrumbs li:first-child {
	padding-left: 0;
}

.breadcrumbs li::before {
	content: "＞";
	position: absolute;
	left: 1em;
	top: 50%;
	margin-top: -.5em;
}

@media all and (-ms-high-contrast:none) {
	.breadcrumbs li::before {
		margin-top: -.2em;
	}
}

.breadcrumbs li:first-child::before {
	content: none;
}

.breadcrumbs a {
	color: #fff;
	text-decoration: underline;
}

.breadcrumbs a:hover,
.breadcrumbs a:active {
	color: #fff;
	text-decoration: none;
}

.breadcrumbs img {
	width: 1.1em;
}

@media screen and (max-width: 1080px) {
	
	.breadcrumbs {
		top: 30px;
	}
	
}


/* ---- footer links ---- */

.footer {
	position: relative;
}

.footer .links {
	padding: 30px 30px;
	background-color: #007bab;
}

.footer .links .inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.footer .links ul {
	padding-right: 280px;
	font-size: 1.3rem;
	line-height: 2;
}

.footer .links ul li {
	display: inline-block;
	position: relative;
	padding: 0 3em 0 1em;
}

.footer .links ul li::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

.footer .links ul li a {
	color: #fff;
	text-decoration: none;
}

.footer .links ul li a:hover,
.footer .links ul li a:active {
	color: #fff;
	text-decoration: underline;
}

.footer .facebook {
	position: absolute;
	right: 65px;
	top: 50%;
	width: 36px;
	margin-top: -18px;
}

.footer .facebook img {
	width: 36px;
}

.footer .pagetop {
	display: block;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 97;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background-color: #004e76;
	opacity: 0;
	transition: background-color .3s, opacity .6s;
}

.footer .pagetop::after {
	content: "";
	display: block;
	position: absolute;
	left: 18px;
	top: 22px;
	width: 14px;
	height: 14px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(45deg);
	transition: top .2s;
}

.footer .pagetop span {
	display: none;
}

.footer .pagetop:hover,
.footer .pagetop:active {
	background-color: #00669b;
}

.footer .pagetop:hover::after,
.footer .pagetop:active::after {
	top: 16px;
}

.footer .btn,
.footer a.btn {
  position: absolute;
  right: 120px;
  top: 50%;
  width: 136px;
  margin-top: -18px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  display: block;
  padding: 0.7rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #007bab;
  border-radius: 0.5rem;
}

.footer .btn_en,
.footer a.btn_en {
  color: #007bab;
  background-color: #fff;
}

.footer .btn_en:hover,
.footer a.btn_en:hover {
  color: #fff;
  background: #21ade5;
}


/* ---- copyright ---- */

.footer .copyright {
	padding: 24px 30px;
	background-color: #004763;
	color: #a2b5bd;
	font-family: Verdana;
	font-size: 1.2rem;
	text-align: center;
}


/* ---- google maps ---- */

.gmap iframe {
	pointer-events: none;
}




/*
--------------------------------
	parts
--------------------------------
*/


/* ---- container ---- */

.container {
	max-width: 1260px;
	margin: 0 auto;
}

.container::after {
	content: "";
	display: table;
	clear: both;
}

.container > .inner {
	padding-right: 30px;
}


/* ---- utility ---- */

.col {
	margin: 60px 0 0 30px;
}

.col > * {
	margin-left: auto !important;
}

.col > *:first-child {
	margin-top: 0 !important;
}

.container > .inner > .w100 {
	clear: left;
}

.container > .inner > .w75 {
	float: left;
	clear: none !important;
	width: calc(75% - 30px) !important;
}

.container > .inner > .w40 {
	float: left;
	clear: none !important;
	width: calc(40% - 30px) !important;
}

.container > .inner > .w60 {
	float: left;
	clear: none !important;
	width: calc(60% - 30px) !important;
}

.container > .inner > .w50 {
	float: left;
	clear: none !important;
	width: calc(50% - 30px) !important;
}

.container > .inner > .w33 {
	float: left;
	clear: none !important;
	width: calc(33.3333% - 30px) !important;
}

.container > .inner > .w25,
.container > .inner > .w25-sp100 {
	float: left;
	clear: none !important;
	width: calc(25% - 30px) !important;
}


.clear, .js-clear {
	clear: left !important;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.pc-block { display: block !important; }
.pc-inline { display: inline !important; }
.sp-block { display: none !important; }
.sp-inline { display: none !important; }

.mt0 { margin-top: 0 !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }
.mt110 { margin-top: 110px !important; }
.mt120 { margin-top: 120px !important; }

.w10 { width: 10% !important; }
.w20 { width: 20% !important; }
.w30 { width: 30% !important; }
.w40 { width: 40% !important; }
.w50 { width: 50% !important; }
.w60 { width: 60% !important; }
.w70 { width: 70% !important; }
.w80 { width: 80% !important; }
.w90 { width: 90% !important; }


/* ---- parts list page ---- */

#parts-list .page-title {
	background-color: #8e8e8e;
	background-image: url(../../_parts/images/dummy_header.jpg);
}

h2.parts-heading {
	clear: left;
	margin: 100px 0 0 30px;
	padding: 16px 20px;
	border-radius: 10px;
	background-color: #cfedff;
	font-size: 2rem;
	font-weight: bold;
}

h3.parts-heading {
	margin: 50px 0 0 30px;
	padding: 12px 20px;
	background-color: #f1fbff;
	font-size: 1.4rem;
	font-weight: bold;
}

.parts-code {
	clear: left;
	width: calc(100% - 30px);
	height: 100px;
	margin: 30px 0 0 30px;
	padding: 12px;
	border: 1px solid transparent;
	background-color: #f8f7f6;
	font-size: 1.2rem;
	line-height: 1.5;
	outline: none;
}

.parts-code.tall {
	height: 200px;
}

.parts-code:focus {
	border: 1px solid #cfedff;
	background-color: #fff;
}

.parts-note {
	margin: 15px 0 0 30px;
	color: #808080;
	font-size: 1.2rem;
	line-height: 1.5;
}


/* ---- category color ---- */

.category-1 .category-color { color: #eb4b35; }
.category-2 .category-color { color: #21ade5; }
.category-3 .category-color { color: #24c2bc; }
.category-4 .category-color { color: #99cc33; }
.category-5 .category-color { color: #d79240; }
.category-6 .category-color { color: #dab400; }


/* ---- headings ---- */

.container h2:not([class]) {
	clear: left;
	position: relative;
	margin: 90px 0 0 30px;
	padding-bottom: 28px;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

.container h2:not([class])::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 140px;
	height: 3px;
	margin-left: -70px;
	background-color: #21ade5;
}

.category-1 .container h2:not([class])::after { background-color: #eb4b35; }
.category-2 .container h2:not([class])::after { background-color: #21ade5; }
.category-3 .container h2:not([class])::after { background-color: #24c2bc; }
.category-4 .container h2:not([class])::after { background-color: #99cc33; }
.category-5 .container h2:not([class])::after { background-color: #d79240; }
.category-6 .container h2:not([class])::after { background-color: #dab400; }

.container h2:not([class]) span {
	font-size: 2.5rem;
	font-weight: normal;
}

.container h3:not([class]),
.container .h3 {
	clear: left;
	margin: 80px 0 0 30px;
	color: #21ade5;
	font-size: 3.5rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

.container .col h3:not([class]),
.container .col .h3 {
	margin-top: 60px;
	font-size: 2.5rem;
	text-align: left;
}

.category-1 .container h3:not([class]),
.category-1 .container .h3 { color: #eb4b35; }
.category-2 .container h3:not([class]),
.category-2 .container .h3 { color: #21ade5; }
.category-3 .container h3:not([class]),
.category-3 .container .h3 { color: #24c2bc; }
.category-4 .container h3:not([class]),
.category-4 .container .h3 { color: #99cc33; }
.category-5 .container h3:not([class]),
.category-5 .container .h3 { color: #d79240; }
.category-6 .container h3:not([class]),
.category-6 .container .h3 { color: #dab400; }

.container h4:not([class]),
.container .h4 {
	clear: left;
	margin: 60px 0 0 30px;
	font-size: 2.5rem;
	font-weight: normal;
	line-height: 1.6;
}

.container .col h4:not([class]),
.container .col .h4 {
	margin-top: 20px;
	font-size: 1.8rem;
	font-weight: bold;
}

.container h5:not([class]),
.container .h5 {
	clear: left;
	margin: 20px 0 0 30px;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.6;
}

.container h5:not([class])::before,
.container .h5::before {
	content: "■";
	color: #333;
}

/*
.category-1 .container h5:not([class])::before,
.category-1 .container .h5::before { color: #eb4b35; }
.category-2 .container h5:not([class])::before,
.category-2 .container .h5::before { color: #21ade5; }
.category-3 .container h5:not([class])::before,
.category-3 .container .h5::before { color: #24c2bc; }
.category-4 .container h5:not([class])::before,
.category-4 .container .h5::before { color: #99cc33; }
.category-5 .container h5:not([class])::before,
.category-5 .container .h5::before { color: #d79240; }
.category-6 .container h5:not([class])::before,
.category-6 .container .h5::before { color: #dab400; }
*/

.headline {
	clear: left;
	margin: 60px 0 0 30px;
	font-size: 2.5rem;
	font-weight: normal;
	line-height: 1.6;
	text-align: center;
}


/* ---- body text ---- */

.body-text {
	clear: left;
	margin: 60px 0 0 30px;
	line-height: 1.75;
}

.body-text-ml{
    margin-left: 60px;
}

.col .body-text {
	margin-top: 20px;
}

.container h3:not([class]) + .body-text,
.container .h3 + .body-text {
	margin-top: 40px;
}

.container h4:not([class]) + .body-text,
.container .h4 + .body-text {
	margin-top: 20px;
}

.container h5:not([class]) + .body-text {
	margin-top: 8px;
}

.body-note {
	clear: left;
	margin: 30px 0 0 30px;
	color: #a4a4a4;
	font-size: 1.3rem;
	line-height: 1.6;
}

.box-text {
	clear: left;
	margin: 60px calc((100% - 60px) * .1) 0 calc((100% - 60px) * .1 + 30px);
	padding: 30px 50px 28px;
	background-color: #f7f7f7;
}

.box-text .title {
	margin-bottom: 15px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.box-text p {
	line-height: 1.75;
}

.box-text p .note {
	color: #a4a4a4;
	font-size: 1.3rem;
}

.container small {
	font-size: 1.1rem;
}


/* ---- list ---- */
/* ul{
	line-height: 1.75;
} */
ul.default {
	clear: left;
	margin: 60px 0 0 30px;
	line-height: 1.6;
}

.container h4:not([class]) + ul.default,
.container .h4 + ul.default,
.col ul.default {
	margin-top: 20px;
}

td > ul.default {
	margin: 2px 0 0 0;
}

ul.default li {
	margin-top: .9em;
	padding-left: 12px;
	background-image: url(../images/icon_list.png);
	background-repeat: no-repeat;
	background-position: 0 calc(.75em - 3px);
	background-size: 6px 6px;
}

ul.default li:first-child {
	margin-top: 0;
}

li ul.default {
	margin: .9em 0 0 20px;
}

li ul.default li,
li ul.default li:first-child {
	margin-top: .6em;
	padding-left: 12px;
}

ol.number {
	clear: left;
	margin: 60px 0 0 30px;
	line-height: 1.6;
	counter-reset: number;
}

ul.number{
	margin: 60px 0 0 30px;
	line-height: 1.6;
}

.p-privacy ul.number{
	margin: 60px 0 0 45px;
}

ul.number-count{
    counter-reset: my-counter;
}

ul.number-count > li{
    position: relative;
    padding-left: 35px;
}

ul.number-count > li::before{
    counter-increment: my-counter;
    content: "（" counter(my-counter) "）";
    position: absolute;
    top: 0;
    left: -10px;
}

ul.number-maru{
    counter-reset: maru;
}

ul.number-maru > li{
    position: relative;
    padding-left: 25px;
}

ul.number-maru > li::before{
    counter-increment: maru;
    content:  counter(maru);
    position: absolute;
    top: 0;
    left: 0;
}

ul.sub-number{
	padding-left: 30px;
	line-height: 1.75;
}

ul.number-maru > li:nth-child(1)::before { content: "①"; }
ul.number-maru > li:nth-child(2)::before { content: "②"; }
ul.number-maru > li:nth-child(3)::before { content: "③"; }
ul.number-maru > li:nth-child(4)::before { content: "④"; }
ul.number-maru > li:nth-child(5)::before { content: "⑤"; }
ul.number-maru > li:nth-child(6)::before { content: "⑥"; }
ul.number-maru > li:nth-child(7)::before { content: "⑦"; }
ul.number-maru > li:nth-child(8)::before { content: "⑧"; }
ul.number-maru > li:nth-child(9)::before { content: "⑨"; }
ul.number-maru > li:nth-child(10)::before { content: "⑩"; }
ul.number-maru > li:nth-child(11)::before { content: "⑪"; }
ul.number-maru > li:nth-child(12)::before { content: "⑫"; }

ul.sub-number-mt{
    margin-top: 15px;
}

ul.sub-number-pl{
    padding-left: 40px;
}

ul.sub-number-mt li p{
    margin-top: 10px;
}

table.advert-table{
	margin: 30px 0;
}

table.advert-table tr,
table.advert-table td,
table.advert-table th{
    border: 1px solid #000;
}


.advert-table tr,.advert-table td,.advert-table th{
	padding: 15px;
}
.ml30{
	padding-left: 30px;
}
.advert-table th{
	background-color: #dddddd;
	font-weight: bold;
}
.container h4:not([class]) + ol.number,
.container .h4 + ol.number,
.col ol.number {
	margin-top: 20px;
}

td > ol.number {
	margin: 2px 0 0 0;
}

ol.number li {
	position: relative;
	margin-top: .9em;
	padding-left: 1.5em;
}

ol.number li:first-child {
	margin-top: 0;
}

ol.number li::before {
	counter-increment: number;
	content: counter(number) ".";
	position: absolute;
	left: 3px;
	top: 0;
	font-weight: bold;
}

li ol.number {
	margin: .9em 0 0 20px;
	counter-reset: number2;
}

li ol.number li,
li ol.number li:first-child {
	margin-top: .6em;
	padding-left: 1.5em;
}

li ol.number li::before {
	counter-increment: number2;
	content: counter(number2) ".";
	padding-right: 8px;
	font-weight: bold;
}

.container h4:not([class]) + ol.bracket,
.container .h4 + ol.bracket,
ol.bracket {
	clear: left;
	margin: 60px 0 0 30px;
	line-height: 1.6;
	counter-reset: number;
}

.col ol.bracket {
	margin-top: 20px;
}

td > ol.bracket {
	margin: 2px 0 0 0;
}

ol.bracket li {
	position: relative;
	margin-top: .9em;
	padding-left: 2.5em;
}

ol.bracket li:first-child {
	margin-top: 0;
}

ol.bracket li::before {
	counter-increment: number;
	content: "（" counter(number) "）";
	position: absolute;
	left: 0;
	top: 0;
}

li ol.bracket {
	margin: .9em 0 0 10px;
	counter-reset: number2;
}

li ol.bracket li,
li ol.bracket li:first-child {
	margin-top: .6em;
	padding-left: 2.5em;
}

li ol.bracket li::before {
	counter-increment: number2;
	content: "（" counter(number2) "）";
	padding-right: 8px;
}

ul.remarks {
	clear: left;
	margin: 60px 0 0 30px;
	line-height: 1.6;
}

.col ul.remarks {
	margin-top: 20px;
}

td > ul.remarks {
	margin: 2px 0 0 0;
}

.col ul.remarks {
	margin-top: 20px;
}

ul.remarks li {
	position: relative;
	margin-top: .9em;
	padding-left: 1.2em;
}

ul.remarks li:first-child {
	margin-top: 0;
}

ul.remarks li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}

li ul.remarks {
	margin: .9em 0 0 20px;
}

li ul.remarks li,
li ul.remarks li:first-child {
	margin-top: .6em;
	padding-left: 1.5em;
}

ul.remarks.small {
	margin: 20px 0 0 30px;
	color: #a4a4a4;
	font-size: 1.3rem;
}

ul.remarks.small li {
	margin-top: .3em;
}


/* ---- text link ---- */

a.arrow {
	display: inline-block;
	position: relative;
	padding: 0 0 0 24px;
	text-decoration: none;
}

a.newwin {
	display: inline-block;
	padding: 0 0 0 24px;
	background-image: url(../images/icon_newwin_aqua.png);
	background-repeat: no-repeat;
	background-position: 0 .3em;
	background-size: 18px 16px;
	text-decoration: none;
}

a.pdf {
	display: inline-block;
	padding: 0 0 0 24px;
	background-image: url(../images/icon_pdf.png);
	background-repeat: no-repeat;
	background-position: 2px .3em;
	background-size: 15px 15px;
	text-decoration: none;
}

a.arrow:hover, a.arrow:active,
a.newwin:hover, a.newwin:active,
a.pdf:hover, a.pdf:active {
	text-decoration: underline;
}

a.arrow::after {
	content: "";
	display: block;
	position: absolute;
	left: 3px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-top: 2px solid #21ade5;
	border-right: 2px solid #21ade5;
	transform: rotate(45deg);
}


/* ---- anchor link ---- */

.anchor-link {
	display: table;
	clear: left;
	width: calc(100% - 30px);
	height: 100%;
	margin: 60px 0 0 30px;
}

.anchor-link li {
	display: table-cell;
	border-left: 1px solid #fff;
	vertical-align: middle;
}

.anchor-link li:first-child {
	border-left-style: none;
}

.anchor-link a {
	display: table;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 100px;
	padding: 20px 0 35px 0;
	background-color: #21ade5;
	color: #fff;
	text-decoration: none;
	transition: background-color .3s;
}

.anchor-link a:hover,
.anchor-link a:active {
	background-color: #00729f;
}

.anchor-link a::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 18px;
	width: 11px;
	height: 11px;
	margin-left: -7px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

.anchor-link span {
	display: table-cell;
	height: 100%;
	padding: 0 5px;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
}

.anchor-link.libraryanchor a{
	font-size: 1.4rem;
}

.anchor-link.privacypolicy a{
	font-size: 1.6rem;
}
/* ---- image link ---- */

.image-link {
	display: inline-block;
	position: relative;
	max-width: 100%;
	background-color: #000;
	overflow: hidden;
	line-height: 0;
	text-decoration: none;
}

.image-link::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 50px;
	height: 50px;
	background-color: #21ade5;
	transform: translateZ(0);
	transition: background-color .3s;
}

.image-link:hover::before,
.image-link:active::before,
.image-link.current::before {
	background-color: #00729f;
}

.image-link::after {
	content: "";
	display: block;
	position: absolute;
	right: 22px;
	bottom: 20px;
	z-index: 2;
	width: 11px;
	height: 11px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateZ(0);
}

.image-link img {
	max-width: 100%;
	opacity: .65;
	transform: scale(1) translateZ(0);
	transition: opacity .2s, transform .2s;
}

.image-link:hover img,
.image-link:active img,
.image-link.current img {
	opacity: .9;
	transform: scale(1.1);
}

.image-link span {
	position: absolute;
	left: 5%;
	top: 50%;
	z-index: 3;
	width: 90%;
	padding-bottom: 30px;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	transform: translate3d(0, -50%, 0);
}

.image-link span::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100px;
	height: 3px;
	margin-left: -50px;
	background-color: #fff;
}


/* ---- box link ---- */

.box-link {
	display: block;
	position: relative;
	height: 0;
	padding-bottom: 65%;
	background-color: #fff;
	overflow: hidden;
	text-decoration: none;
}

.box-link::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 50px;
	background-color: #21ade5;
	transform: translateZ(0);
	transition: background-color .3s;
}

.box-link:hover::before,
.box-link:active::before,
.box-link.current::before {
	background-color: #00729f;
}

.box-link::after {
	content: "";
	display: block;
	position: absolute;
	right: 22px;
	bottom: 20px;
	width: 11px;
	height: 11px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateZ(0);
}

.box-link span {
	display: block;
	position: absolute;
	left: 5%;
	top: 50%;
	width: 90%;
	color: #222;
	font-size: 1.3vw;
	line-height: 1.9;
	text-align: center;
	transform: translate3d(0, -50%, 0);
}

.box-link span em,
.fresh span em {
	display: block;
	margin-bottom: 10px;
	color: #21ade5;
	font-size: 1.8vw;
	font-weight: bold;
	font-style: normal;
	line-height: 1.4;
}

@media screen and (min-width: 1200px) {
	
	.box-link span {
		font-size: 1.6rem;
	}
	
	.box-link span em,
	.fresh span em {
		font-size: 2.5rem;
	}
	
}

@media screen and (max-width: 1080px) {
	
	.box-link::before {
		width: 40px;
		height: 40px;
	}
	
	.box-link::after {
		right: 17px;
		bottom: 15px;
		width: 9px;
		height: 9px;
	}
	
}


/* ---- button ---- */

.large-button {
	display: block;
	width: 540px;
	height: 80px;
	margin: 30px auto 0;
	border-radius: 40px;
	background-color: #21ade5;
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: background-color .3s;
}

.large-button:hover,
.large-button:active {
	background-color: #00729f;
}

.large-button span {
	display: inline-block;
	position: relative;
	top: 50%;
	max-width: 440px;
	max-height: 80px;
	padding-left: 24px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: left;
	transform: translateY(-50%);
}

.large-button span::after {
	content: "";
	display: block;
	position: absolute;
	left: -4px;
	top: 50%;
	width: 13px;
	height: 13px;
	margin-top: -7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

.small-button {
	display: inline-block;
	position: relative;
	height: 54px;
	margin: 30px 15px 0;
	border-radius: 27px;
	background-color: #21ade5;
	color: #fff;
	text-decoration: none;
	transition: background-color .3s;
}

.small-button:hover,
.small-button:active {
	background-color: #00729f;
}

.small-button::after {
	content: "";
	display: block;
	position: absolute;
	left: 35px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

.small-button span {
	padding: 0 40px 0 55px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 54px;
}


/* ---- image with caption ---- */

.image-caption {
	display: table;
	width: 100%;
}

.w100 .image-caption {
	width: 1px;
	margin: 0 auto;
}

.image-caption img {
	display: block;
	width: 100%;
}

.w100 .image-caption img {
	width: auto;
	max-width: none;
}

.image-caption span {
	display: block;
	width: 100%;
	padding: 15px 20px;
	background-color: #f7f7f7;
	font-size: 1.5rem;
	line-height: 1.3;
	text-align: left;
}

.image-caption span a {
	text-decoration: none;
}

.image-caption span a:hover,
.image-caption span a:active {
	text-decoration: underline;
}


/* ---- site link ---- */

.site-link {
	display: block;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow .3s;
	text-decoration: none;
}

.site-link .img {
	position: relative;
	background-color: #000;
}

.site-link .img img {
	display: block;
	width: 100%;
	opacity: 1;
	transition: opacity .3s;
}

.site-link .img span {
	display: none;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate3d(-50%, -50%, 0);
	height: 46px;
	border: 1px solid #fff;
	border-radius: 23px;
	padding: 0 25px 0 50px;
	background-image: url(../images/icon_newwin_white.png);
	background-repeat: no-repeat;
	background-position: 23px 50%;
	background-size: 18px 16px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 46px;
	white-space: nowrap;
}

.site-link .txt {
	padding: 25px;
	background-color: #f8f8f8;
	color: #222;
	line-height: 1.56;
}

.site-link .txt strong {
	display: block;
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
}

.site-link:hover,
.site-link:active {
	box-shadow: 0 0 20px rgba(0, 0, 0, .2);
}

.site-link:hover .img img,
.site-link:active .img img {
	opacity: .5;
}

.site-link:hover .img span,
.site-link:active .img span {
	display: inline-block;
}


@media screen and (max-width: 860px) {
	
	.site-link .img span {
		height: 40px;
		border-radius: 20px;
		padding: 0 15px 0 35px;
		background-position: 12px 50%;
		font-size: 1.2rem;
		line-height: 40px;
	}
	
}


/* ---- table: border ---- */

table.border {
	margin: 0 auto;
}

table.border.fit {
	width: 100%;
}

table.border thead th {
	text-align: center;
}

table.border th {
	padding: 20px 30px;
	border: 1px solid #e8e8e8;
	background-color: #f6f6f6;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.6;
	vertical-align: middle;
	white-space: nowrap;
}

table.border td {
	padding: 20px 20px;
	border: 1px solid #e8e8e8;
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 1.6;
	vertical-align: middle;
}

table.border.number td,
table.border td.number {
	text-align: right;
}

table.border .color1 {
	background-color: #eff9ff;
}

table.border .color2 {
	background-color: #ffeff3;
}

table.border caption {
	padding: 8px 0px;
	font-size: 1.2rem;
	text-align: right;
}

.scrollable-table {
	width: auto;
	overflow: auto;
}

.scrollable-table::-webkit-scrollbar {
  height: 5px;
}

.scrollable-table::-webkit-scrollbar-track {
	background-color: #efefef;
}

.scrollable-table::-webkit-scrollbar-thumb {
	background-color: #a0a0a0;
}

.scrollable-table table.border {
	display: table;
	border-bottom-style: none;
	border-right-style: none;
}

.scrollable-table table.border th {
	display: table-cell;
	padding: 20px 30px;
	border-bottom-style: solid;
	border-right-style: solid;
}

.scrollable-table table.border td {
	display: table-cell;
	padding: 20px 30px;
	border-bottom-style: solid;
	border-right-style: solid;
	white-space: nowrap;
}

.scrollable-table table.border td.normal {
	white-space: normal;
}

.scrollable-table table.border thead {
	display: table-header-group;
}

.scrollable-table table.border tbody {
	display: table-row-group;
}

.scrollable-table table.border tr {
	display: table-row;
}

.scrollable-table table.border caption {
	display: table-caption;
}


/* ---- table: no border ---- */

table.no-border {
	clear: left;
	width: calc(100% - 30px);
	margin: 60px 0 0 30px;
}

table.no-border th {
	width: 16%;
	padding: 40px 50px 0 0;
	font-weight: bold;
	line-height: 1.75;
	vertical-align: top;
	white-space: nowrap;
}

table.no-border td {
	padding-top: 40px;
	line-height: 1.75;
	vertical-align: top;
}

table.no-border tr:first-child th,
table.no-border tr:first-child td {
	padding-top: 0;
}


/* ---- IR graph ---- */

.ir-graph {
	clear: left;
	margin: 60px 0 0 30px;
}

.ir-graph .title {
	padding: 20px 10px;
	background-color: #f6f6f6;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.ir-graph .title span {
	padding-left: 5px;
	font-size: 1.3rem;
	font-weight: normal;
}

.ir-graph .img {
	margin-top: 20px;
	text-align: center;
}

.ir-graph .note {
	margin-top: 20px;
	font-size: 1.1rem;
	line-height: 1.3;
	text-align: right;
}


/* ---- plugin download ---- */

.plugin {
	display: table;
	clear: left;
	margin: 60px calc((100% - 60px) * .2) 0 calc((100% - 60px) * .2 + 30px);
	background-color: #f7f7f7;
	text-decoration: none;
}

.plugin .img {
	display: table-cell;
	padding: 20px;
	vertical-align: middle;
}

.plugin .img img {
	max-width: none;
}

.plugin p {
	display: table-cell;
	padding: 20px 20px 20px 0;
	color: #a4a4a4;
	font-size: 1.4rem;
	line-height: 1.6;
	vertical-align: middle;
}

.plugin:hover p,
.plugin:active p {
	color: #21ade5;
}


/* ---- recruit footer navigation ---- */

.recruit-footer-nav {
	clear: left;
	margin: 90px 0 0 30px;
	padding-top: 90px;
	border-top: 1px solid #e4e4e4;
}

.recruit-footer-nav .title {
	color: #99cc33;
	font-size: 2rem;
	font-weight: bold;
}

.recruit-footer-nav ul {
	margin-top: 20px;
	font-weight: bold;
	line-height: 2;
}

.recruit-footer-nav ul li {
	display: inline-block;
	position: relative;
	padding: 0 2em 0 1em;
}

.recruit-footer-nav ul li:last-child {
	padding-right: 0;
}

.recruit-footer-nav ul li::before {
	content: "";
	display: block;
	position: absolute;
	left: -2px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	border-top: 2px solid #99cc33;
	border-right: 2px solid #99cc33;
	transform: rotate(45deg);
}

.recruit-footer-nav ul li a {
	color: #333;
	text-decoration: none;
}

.recruit-footer-nav ul li a:hover,
.recruit-footer-nav ul li a:active {
	color: #99cc33;
}

.recruit-footer-nav ul li.current a {
	color: #a8a8a8;
	cursor: default;
	pointer-events: none;
}

.recruit-footer-nav ul li.current a:hover,
.recruit-footer-nav ul li.current a:active {
	color: #a8a8a8;
}

.recruit-footer-nav ul li.current::before {
	border-color: #a8a8a8;
}

/* ---- recruit link ---- */
.link-arrow ul {
	margin-top: 20px;
	font-weight: bold;
	line-height: 2;
}

.link-arrow ul li {
	position: relative;
	padding: 0 2em 0 1em;
}

.link-arrow ul li::before {
	content: "";
	display: block;
	position: absolute;
	left: -2px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	border-top: 2px solid #99cc33;
	border-right: 2px solid #99cc33;
	transform: rotate(45deg);
}

.link-arrow ul li a {
	color: #333;
	text-decoration: none;
}

.link-arrow ul li a:hover,
.link-arrow ul li a:active {
	color: #99cc33;
}


/*
--------------------------------
	top page
--------------------------------
*/


/* ---- slide ---- */

#toppage .slide {
	position: relative;
	height: 760px;
	background-color: #efefef;
	overflow: hidden;
}

#toppage .slide > a {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 760px;
	overflow: hidden;
	color: #222;
	text-decoration: none;
}

#toppage .slide > a:hover,
#toppage .slide > a:active {
	color: #222;
	text-decoration: none;
}

#toppage .slide > a.show {
	z-index: 1;
}

#toppage .slide > a.hide {
	z-index: 0;
}

#toppage .slide > a .img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 100%;
	height: 760px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

#toppage .slide > a.show .img {
	-webkit-animation: .5s ease-out fade-In;
	animation: .5s ease-out fade-In;
}

#toppage .slide > a.hide .img {
	-webkit-animation: .5s ease-out fade-out;
	animation: .5s ease-out fade-out;
}

@-webkit-keyframes fade-In {
	0% { opacity: 0; transform: scale(1.2); }
	100% { opacity: 1; transform: scale(1); }
}

@keyframes fade-In {
	0% { opacity: 0; transform: scale(1.2); }
	100% { opacity: 1; transform: scale(1); }
}

@-webkit-keyframes fade-out {
	0% { opacity: 1; transform: scale(1); }
	100% { opacity: 0; transform: scale(1.2); }
}

@keyframes fade-out {
	0% { opacity: 1; transform: scale(1); }
	100% { opacity: 0; transform: scale(1.2); }
}

#toppage .slide > a .img img {
	display: none;
}

#toppage .slide > a .txt {
	position: relative;
	max-width: 1260px;
	margin: 0 auto;
	padding: 190px 30px 0;
	z-index: 1;
}

#toppage .slide > a.show .txt {
	-webkit-animation: .5s ease-out slide-in;
	animation: .5s ease-out slide-in;
}

#toppage .slide > a.hide .txt {
	-webkit-animation: .5s ease-out slide-out;
	animation: .5s ease-out slide-out;
}

@-webkit-keyframes slide-in {
	0% { opacity: 0; transform: translate3d(-30px, 0, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes slide-in {
	0% { opacity: 0; transform: translate3d(-30px, 0, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

@-webkit-keyframes slide-out {
	0% { opacity: 1; transform: translate3d(0, 0, 0); }
	100% { opacity: 0; transform: translate3d(-30px, 0, 0); }
}

@keyframes slide-out {
	0% { opacity: 1; transform: translate3d(0, 0, 0); }
	100% { opacity: 0; transform: translate3d(-30px, 0, 0); }
}

#toppage .slide > a .txt .inner {
	display: inline-block;
	text-align: left;
}

#toppage .slide > a .txt span {
	display: inline-block;
	font-size: 2.9vw;
	font-weight: bold;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	white-space: nowrap;
}

#toppage .slide > a .txt strong {
	display: inline-block;
	position: relative;
	margin-top: 1.7vw;
	padding-right: 60px;
	font-size: 4.9vw;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: .08em;
	white-space: nowrap;
}

@media screen and (min-width: 1200px) {
	
	#toppage .slide > a .txt span {
		font-size: 3.5rem;
	}
	
	#toppage .slide > a .txt strong {
		margin-top: 20px;
		font-size: 5.9rem;
	}
	
}

#toppage .slide > a .txt strong::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 46px;
	height: 46px;
	margin-top: -23px;
	border: 1px solid #222;
	border-radius: 23px;
}

#toppage .slide > a .txt strong::after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	transform: rotate(45deg) translateZ(0);
	transition: right .2s ease-out;
}

@media all and (-ms-high-contrast:none) {
	
	#toppage .slide > a .txt strong::before {
		margin-top: -35px;
	}
	
	#toppage .slide > a .txt strong::after {
		margin-top: -17px;
	}
	
}

#toppage .slide > a:hover .txt strong::after,
#toppage .slide > a:active .txt strong::after {
	right: 12px;
}

#toppage .slide > a#slide-2 .txt {
	padding-top: 150px;
	color: #fff;
}

#toppage .slide > a#slide-2 .txt strong::before,
#toppage .slide > a#slide-2 .txt strong::after {
	border-color: #fff;
}

#toppage .slide > a#slide-3 .txt {
	color: #fff;
}

#toppage .slide > a#slide-4 .txt {
	color: #fff;
}

#toppage .slide > a#slide-3 .txt strong::before,
#toppage .slide > a#slide-3 .txt strong::after {
	border-color: #fff;
}

#toppage .slide .thmbnails {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: 250px;
	overflow: hidden;
}

#toppage .slide .thmbnails li {
	position: relative;
	float: left;
	width: 33.333%;
	height: 250px;
	background-color: #000;
}

#toppage .slide .thmbnails li.current {
	background-color: transparent;
}

#toppage .slide .thmbnails li a {
	display: block;
	overflow: hidden;
	height: 250px;
	color: #fff;
	text-decoration: none;
}

#toppage .slide .thmbnails li a:hover,
#toppage .slide .thmbnails li a:active {
	color: #fff;
	text-decoration: none;
}

#toppage .slide .thmbnails li.current a {
	cursor: default;
	pointer-events: none;
}

#toppage .slide .thmbnails li .img {
	height: 250px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	z-index: 0;
	opacity: .6;
	transform: scale(1);
	transition: transform .3s ease-out, opacity .3s ease-out;
}

#toppage .slide .thmbnails li.current .img {
	opacity: 0 !important;
}

#toppage .slide .thmbnails li a:hover .img,
#toppage .slide .thmbnails li a:active .img {
	opacity: .9;
	transform: scale(1.1);
}

#toppage .slide .thmbnails li .img img {
	display: none;
}

#toppage .slide .thmbnails li .txt {
	position: absolute;
	left: 0;
	bottom: 65px;
	z-index: 1;
	width: 100%;
	padding: 0 10px;
	transform: translateZ(0);
	text-align: center;
}

#toppage .slide .thmbnails li:nth-child(2) .txt { bottom: 54px; }

#toppage .slide .thmbnails li:nth-child(1) .txt img { width: 54px; }
#toppage .slide .thmbnails li:nth-child(2) .txt img { width: 53px; }
#toppage .slide .thmbnails li:nth-child(3) .txt img { width: 74px; }

#toppage .slide .thmbnails li .txt span {
	display: block;
	margin-top: 30px;
	font-size: 1.8vw;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

@media screen and (min-width: 1200px) {
	#toppage .slide .thmbnails li .txt span {
		font-size: 2.4rem;
	}
}

#toppage .slide .thmbnails li:nth-child(2) .txt span { margin-top: 10px; }


/* ---- IR ---- */


#toppage .ir {
	padding: 50px 0 80px;
	background-color: #e4fbfa;
}

#toppage .ir h2 {
	margin-top: 0;
}

#toppage .ir h2::after {
	background-color: #24c2bc;
}

#toppage .ir h2 span {
	display: block;
	margin-bottom: 3px;
	color: #5dcec9;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: normal;
}

#toppage .ir ul {
	margin: 40px 0 0 18px;
	overflow: hidden;
}

#toppage .ir li {
	position: relative;
	float: left;
	width: calc(20% - 12px);
	height: 0;
	margin-left: 12px;
	padding-bottom: calc(20% - 12px);
}

#toppage .ir a {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding-top: 17%;
	background-color: #24c2bc;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: background-color .3s;
}

#toppage .ir a:hover,
#toppage .ir a:active {
	background-color: #009690;
	color: #fff;
	text-decoration: none;
}

#toppage .ir a img {
	width: 34%;
}

#toppage .ir a span {
	display: block;
	margin-top: 10%;
	font-size: 1.5vw;
	font-weight: bold;
	line-height: 1.3;
}

#toppage .ir li:nth-child(5) span {
	margin-top: 5%;
}

@media screen and (min-width: 1200px) {
	#toppage .ir a span {
		font-size: 1.8rem;
	}
}

#toppage .ir a::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 17%;
	height: 17%;
	background-color: #009690;
	transform: translateZ(0);
}

#toppage .ir a::after {
	content: "";
	display: block;
	position: absolute;
	right: 7.5%;
	bottom: 6.5%;
	width: 4%;
	height: 4%;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateZ(0);
}


/* ---- recruit ---- */

#toppage .recruit {
	display: table;
	width: 100%;
	background-color: #99cc33;
	overflow: hidden;
}

#toppage .recruit .img {
	display: table-cell;
	width: 50%;
	background-image: url(../../images/recruit_1_pc.jpg);
	background-repeat: no-repeat;
	background-position: 80% 50%;
	background-size: cover;
}

#toppage .recruit .txt {
	display: table-cell;
	width: 50%;
	padding: 60px calc((100% - 1200px) / 2) 70px 5%;
	text-align: center;
}

@media screen and (max-width: 1260px) {
	#toppage .recruit .txt {
		padding: 60px 30px 70px;
	}
}

#toppage .recruit h2 {
	position: relative;
	padding-bottom: 28px;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

#toppage .recruit h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 140px;
	height: 3px;
	margin-left: -70px;
	background-color: #e4fbfa;
}

#toppage .recruit h2 span {
	display: block;
	margin-bottom: 3px;
	color: #e4fbfa;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: normal;
}

#toppage .recruit h3 {
	margin: 40px 0 20px;
}

#toppage .recruit .txt p {
	margin-top: 30px;
	line-height: 1.7;
	font-feature-settings: "palt";
}

#toppage .recruit .txt a.btn {
	display: block;
	position: relative;
	height: 66px;
	margin: 30px auto 0;
	padding: 0 45px 0 75px;
	border-radius: 33px;
	background-color: #fff;
	color: #222;
	font-size: 1.3vw;
	font-weight: bold;
	line-height: 66px;
	text-decoration: none;
	transition: background-color .3s;
}

#toppage .recruit .txt a.btn:hover,
#toppage .recruit .txt a.btn:active {
	background-color: #679b00;
	color: #222;
	text-decoration: none;
}

#toppage .recruit .txt a.btn::after {
	content: "";
	display: block;
	position: absolute;
	left: 50px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	border-top: 2px solid #222;
	border-right: 2px solid #222;
	transform: rotate(45deg);
}

@media screen and (min-width: 1200px) {
	#toppage .recruit .txt a.btn {
		font-size: 1.6rem;
	}
}


/* ---- interview ---- */

#toppage .interview {
	margin-bottom: 185px;
	padding: 0 30px;
	background-color: #f4fcea;
}

#toppage .interview .inner {
	max-width: 1200px;
	margin: 0 auto;
	transform: translateY(60px);
}

#toppage .interview h3 {
	background-image: url(../../images/icon_interview.svg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 61px;
	padding-top: 80px;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}

#toppage .interview-footer {
	margin: 40px 0 0;
}

#toppage .interview-footer ul {
	overflow: visible;
}

#toppage .interview-footer li:nth-child(2),
#toppage .interview-footer li:nth-child(4) {
	transform: translateY(40px);
}

#toppage .interview-footer .image-link span {
	font-size: 1.3vw;
	transform: translate3d(0, -40%, 0);
}

@media screen and (min-width: 1200px) {
	#toppage .interview-footer .image-link span {
		font-size: 1.7rem;
	}
}


/* ---- about ---- */

#toppage .about {
	padding: 80px 30px 70px;
	background-image: url(../../images/bg_about_pc.jpg);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: cover;
}

#toppage .about .inner {
	max-width: 1080px;
	margin: 0 auto;
}

#toppage .about h2 {
	position: relative;
	padding-bottom: 28px;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

#toppage .about h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 140px;
	height: 3px;
	margin-left: -70px;
	background-color: #d79240;
}

#toppage .about h2 span {
	display: block;
	margin-bottom: 3px;
	color: #d79240;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: normal;
}

#toppage .about ul {
	margin-top: 20px;
	overflow: hidden;
}

#toppage .about li {
	position: relative;
	float: left;
	width: 25%;
	height: 0;
	padding-bottom: 25%;
}

#toppage .about li a {
	display: block;
	position: absolute;
	left: 8%;
	top: 8%;
	width: 84%;
	height: 84%;
	padding-top: 38%;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: rgba(215, 146, 64, 0);
	color: #fff;
	font-size: 1.7vw;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	transition: border-color .3s, background-color .3s;
}

#toppage .about li a:hover,
#toppage .about li a:active {
	border-color: #d8a364;
	background-color: rgba(215, 146, 64, .9);
}

@media screen and (min-width: 1200px) {
	#toppage .about li a {
		font-size: 2rem;
	}
}


/* ---- news ---- */

#toppage .news h2 {
	position: relative;
	margin-top: 70px;
	padding-bottom: 28px;
	color: #222;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

#toppage .news h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 140px;
	height: 3px;
	margin-left: -70px;
	background-color: #222;
}

#toppage .news h2 span {
	display: block;
	margin-bottom: 3px;
	color: #b0b0b0;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: normal;
}

#toppage .news .small-button::after {
	left: 70px;
}

#toppage .news .small-button span {
	padding-left: 90px;
	padding-right: 75px;
	letter-spacing: .2em;
}

#toppage .news h2 + .col {
	margin-top: 40px;
	padding: 4% 10%;
	background-color: #f7f7f7;
}

#toppage .news li a {
	display: block;
	overflow: hidden;
	text-decoration: none;
}

#toppage .news li a:hover,
#toppage .news li a:active {
	text-decoration: underline;
}

#toppage .news li a.pdf,
#toppage .news li a.newwin {
	display: block;
	padding: 0;
	background-image: none;
}

#toppage .news li time {
	float: left;
	width: 80px;
	padding: 12px 0;
	color: #222;
	font-weight: bold;
	line-height: 1.6;
}

#toppage .news li .label {
	float: left;
	width: 120px;
	margin-top: 14px;
	padding: 3px 0;
	border: 1px solid #929292;
	color: #222;
	font-size: 1.2rem;
	text-align: center;
}

#toppage .news li p {
	margin-left: 218px;
	padding: 12px 0 12px 24px;
	line-height: 1.6;
}

#toppage .news li a.pdf p {
	background-image: url(../images/icon_pdf.png);
	background-repeat: no-repeat;
	background-position: 2px 16px;
	background-size: 15px 15px;
}

#toppage .news li a.newwin p {
	background-image: url(../images/icon_newwin_aqua.png);
	background-repeat: no-repeat;
	background-position: 2px 16px;
	background-size: 18px 16px;
}




/*
--------------------------------
	strength
--------------------------------
*/


/* ---- common ---- */

html {
	overflow-y: scroll;
}

#strength {
	background-image: url(../../strength/images/pc/bg_1-2.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	background-attachment: fixed;
	overflow-x: hidden;
	font-size: 1.6vh;
}

@media screen and (min-height: 1000px) {
	#strength {
		font-size: 1.6rem;
	}
}

#strength.no-scroll-bar {
	height: 100vh;
	overflow: hidden;
}

#strength .body {
	position: relative;
	padding-bottom: 0;
}

#strength .footer {
	z-index: 5;
}

#strength .service-footer {
	position: relative;
	margin: 0 0 -1px;
	z-index: 4;
}

#strength .scene {
	height: calc(100vh - 89px);
	padding: 0 30px;
}

#strength .scene .contents {
	display: none;
	position: fixed;
	left: 50%;
	top: 89px;
	z-index: 4;
	width: 1200px;
	height: calc(100% - 89px);
	margin-left: -600px;
}


/* ---- breadcrumbs ---- */

#strength .breadcrumbs-wrapper {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	z-index: 5;
}

#strength .breadcrumbs,
.category-5 .breadcrumbs {
	color: #222;
}

#strength .breadcrumbs a,
.category-5 .breadcrumbs a {
	color: #222;
}

#strength .breadcrumbs a:hover,
.category-5 .breadcrumbs a:hover,
#strength .breadcrumbs a:active,
.category-5 .breadcrumbs a:active {
	color: #222;
}


/* ---- backgrounds ---- */

#backgrounds {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}

#backgrounds li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	opacity: 0;
}

#backgrounds li:nth-child(1) { background-image: url(../../strength/images/pc/bg_3.jpg); }
#backgrounds li:nth-child(2) { background-image: url(../../strength/images/pc/bg_4.jpg); }
#backgrounds li:nth-child(3) { background-image: url(../../strength/images/pc/bg_5.jpg); }
#backgrounds li:nth-child(4) { background-image: url(../../strength/images/pc/bg_6.jpg); }
#backgrounds li:nth-child(5) { background-image: url(../../strength/images/pc/bg_7.jpg); }

/* animation */

#backgrounds li.show {
	animation: backgrounds-show 1.5s ease-out both;
}
#backgrounds li.show-delay {
	animation: backgrounds-show 1.5s .2s ease-out both;
}
@keyframes backgrounds-show {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

#backgrounds li.hide {
	animation: backgrounds-hide 1s ease-out both;
}
@keyframes backgrounds-hide {
	0% { opacity: 1; }
	100% { opacity: 0; }
}


/* ---- buttons ---- */

#btn-up {
	display: block;
	position: fixed;
	right: 85px;
	bottom: 30px;
	z-index: 6;
	width: 45px;
	height: 45px;
	background-color: #b9b9b9;
	opacity: 1;
	transition: background-color .3s, opacity .3s;
}

#btn-up:hover,
#btn-up:active {
	background-color: #00a1cb;
}

#btn-up::after {
	content: "";
	display: block;
	position: absolute;
	left: 17px;
	top: 20px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}

#btn-up.hidden,
#btn-up.hidden:hover,
#btn-up.hidden:active {
	opacity: 0;
	pointer-events: none;
}

#btn-up span {
	display: none;
}

#btn-down.hidden + #btn-up {
	position: absolute;
}

#btn-down {
	display: block;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 6;
	width: 45px;
	height: 45px;
	background-color: #b9b9b9;
	transition: background-color .3s, opacity .3s;
}

#btn-down:hover,
#btn-down:active {
	background-color: #00a1cb;
}

#btn-down::after {
	content: "";
	display: block;
	position: absolute;
	left: 17px;
	top: 16px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

#btn-down.hidden,
#btn-down.hidden:hover,
#btn-down.hidden:active {
	position: absolute;
	/*
	opacity: .2;
	pointer-events: none;
	*/
}

#btn-down span {
	display: none;
}


/* ---- stake holders ---- */

#stake-holders {
	position: fixed;
	left: calc(50% - 33vh);
	bottom: 9vh;
	z-index: 1;
	width: 66vh;
	height: 60.621vh;
	opacity: 0;
}

#stake-holders .img {
	position: relative;
	z-index: 1;
	height: 100%;
	background-image: url(../../strength/images/pc/stake_holders.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}

#stake-holders .img span {
	display: none;
}

#stake-holders .glow {
	position: absolute;
	left: 5%;
	top: 15%;
	z-index: 0;
	width: 90%;
	height: 90%;
	background: radial-gradient(ellipse at center, rgba(32,148,228,1) 0%, rgba(32,148,228,1) 10%, rgba(32,172,228,0) 50%);
	-webkit-animation: glow 5s ease-in 0 infinite alternate;
	animation: glow 5s ease-in 0 infinite alternate;
}

@-webkit-keyframes glow {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.4);
	}
}

#stake-holder-parts {
	position: fixed;
	left: calc(50% - 33vh);
	bottom: 9vh;
	z-index: 3;
	width: 66vh;
	height: 60.621vh;
}

#stake-holder-parts div {
	position: absolute;
	width: 42.6908%;
	height: 0;
	padding-bottom: 42.6908%;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	opacity: 0;
}

#stake-holder-parts div span {
	display: none;
}

#stake-holder-1 {
	left: 50%;
	top: 0;
	background-image: url(../../strength/images/pc/stake_holder_1.png);
	transform: translateX(-50%);
}

#stake-holder-2 {
	left: 0;
	bottom: 0;
	background-image: url(../../strength/images/pc/stake_holder_2.png);
}

#stake-holder-3 {
	right: 0;
	bottom: 0;
	background-image: url(../../strength/images/pc/stake_holder_3.png);
}

/* animation */

#stake-holders.show {
	animation: stake-holders-show .7s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes stake-holders-show {
	0% { opacity: 0; bottom: 0; }
	50% { opacity: .2; }
	100% { opacity: 1; bottom: 9vh; }
}

#stake-holders.hide {
	animation: stake-holders-hide .3s ease-out both;
}
@keyframes stake-holders-hide {
	0% { opacity: 1; bottom: 9vh; }
	100% { opacity: 0; bottom: 0; }
}

#stake-holders.show-stay {
	animation: stake-holders-show-stay .5s ease-out both;
}
@keyframes stake-holders-show-stay {
	0% { opacity: 0; bottom: 9vh; }
	100% { opacity: 1; bottom: 9vh; }
}

#stake-holders.hide-stay {
	animation: stake-holders-hide-stay .3s ease-out both;
}
@keyframes stake-holders-hide-stay {
	0% { opacity: 1; bottom: 9vh; }
	100% { opacity: 0; bottom: 9vh; }
}

#stake-holders.top,
#stake-holder-parts.top {
	animation: stake-holders-top .5s ease-out both;
}
@keyframes stake-holders-top {
	0% { opacity: 1; transform: scale(1); bottom: 9vh; }
	100% { opacity: 1; transform: scale(1); bottom: 20vh; }
}

#stake-holders.bottom,
#stake-holder-parts.bottom {
	animation: stake-holders-bottom .5s ease-out both;
}
@keyframes stake-holders-bottom {
	0% { opacity: 1; transform: scale(1); bottom: 20vh; }
	100% { opacity: 1; transform: scale(1); bottom: 9vh; }
}

#stake-holder-1.show,
#stake-holder-2.show,
#stake-holder-3.show {
	animation: stake-holder-show 1s ease-out both;
}
#stake-holder-1.show-delay,
#stake-holder-2.show-delay,
#stake-holder-3.show-delay {
	animation: stake-holder-show 1s .5s ease-out both;
}
@keyframes stake-holder-show {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

#stake-holder-1.hide,
#stake-holder-2.hide,
#stake-holder-3.hide {
	animation: stake-holder-hide .2s ease-out both;
}
@keyframes stake-holder-hide {
	0% { opacity: 1; }
	100% { opacity: 0; }
}


/* ---- scene-1 ---- */

#scene-1-txt {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
	transform: translate(0, -50%);
}

#scene-1-txt h1 {
	font-size: 3.1em;
	font-weight: normal;
}

#scene-1-txt h2 {
	margin-top: 14vh;
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.6;
}

#scene-1-txt p {
	margin-top: 4vh;
	font-size: 1.1em;
	line-height: 2.4;
}

#scene-1-img {
	position: absolute;
	right: -80px;
	top: 0;
	z-index: 0;
	width: 65%;
	height: 100%;
	background-image: url(../../strength/images/pc/img_1.png);
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: contain;
}

#scene-1-btn {
	display: block;
	position: absolute;
	left: 50%;
	bottom: 30px;
	z-index: 2;
	width: 60px;
	margin-left: -30px;
	padding-bottom: 40px;
	color: #333;
	font-size: 1.6rem;
	text-align: center;
	text-decoration: none;
	letter-spacing: .05em;
}

#scene-1-btn::after {
	content: "";
	display: block;
	position: absolute;
	left: 12px;
	bottom: 10px;
	width: 36px;
	height: 36px;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg) translateZ(0);
	transition: bottom .3s;
}

#scene-1-btn:hover,
#scene-1-btn:active {
	color: #333;
	text-decoration: none;
}

#scene-1-btn:hover::after,
#scene-1-btn:active::after {
	bottom: 4px;
}

@media screen and (max-width: 1260px) {
	
	#scene-1-txt {
		left: calc(630px - 50vw);
		font-size: 1.2vw;
	}
	
	#scene-1-txt h2 {
		margin-top: 8vh;
	}
	
	#scene-1-txt p {
		margin-top: 2vh;
	}
	
	#scene-1-img {
		right: calc(520px - 50vw);
		background-size: 65vw;
		background-position: 0 50%;
	}
	
}

/* animation */

.show #scene-1-txt h1 {
	animation: scene-1-h1-show .7s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-1-h1-show {
	0% { opacity: 0; transform: translateY(50px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-1-txt h1 {
	animation: scene-1-h1-hide .3s ease-out both;
}
@keyframes scene-1-h1-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-50px); }
}

.show #scene-1-txt h2 {
	animation: scene-1-h2-show .7s .1s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-1-h2-show {
	0% { opacity: 0; transform: translateY(50px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-1-txt h2 {
	animation: scene-1-h2-hide .3s ease-out both;
}
@keyframes scene-1-h2-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-50px); }
}

.show #scene-1-txt p {
	animation: scene-1-p-show .7s .2s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-1-p-show {
	0% { opacity: 0; transform: translateY(50px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-1-txt p {
	animation: scene-1-p-hide .3s ease-out both;
}
@keyframes scene-1-p-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-50px); }
}

.show #scene-1-img {
	animation: scene-1-img-show .7s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-1-img-show {
	0% { opacity: 0; transform: scale(.9); }
	100% { opacity: 1; transform: scale(1); }
}

.hide #scene-1-img {
	animation: scene-1-img-hide .3s ease-out both;
}
@keyframes scene-1-img-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-50px); }
}

.show #scene-1-btn {
	animation: scene-1-btn-show .5s 1.2s ease-out both;
}
@keyframes scene-1-btn-show {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-1-btn {
	animation: scene-1-btn-hide .3s ease-out both;
}
@keyframes scene-1-btn-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(20px); }
}


/* ---- scene-2 ---- */

#scene-2-txt {
	padding-top: 10vh;
}

#scene-2-txt h2 {
	font-size: 2.2em;
	font-weight: bold;
	text-align: center;
}

#scene-2-txt h2 span {
	display: block;
	margin-bottom: 2.5vh;
	font-size: .7em;
}

/* animation */

.show #scene-2-txt h2 {
	animation: scene-2-h2-show .6s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-2-h2-show {
	0% { opacity: 0; transform: translateY(50px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-2-txt h2 {
	animation: scene-2-h2-hide .3s ease-out both;
}
@keyframes scene-2-h2-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-100px); }
}


/* ---- scene-3 ---- */

#scene-3-txt {
	position: absolute;
	left: 120px;
	bottom: 9vh;
	width: 960px;
	padding-top: 100px;
	background-image: url(../../strength/images/pc/line_3.png);
	background-repeat: no-repeat;
	background-position: 50% 0;
}

#scene-3-txt h2 {
	font-size: 2.2em;
	font-weight: bold;
	text-align: center;
}

#scene-3-txt p {
	margin-top: 3vh;
	line-height: 2.1;
}

/* animation */

.show #scene-3-txt {
	animation: scene-3-txt-show .6s .5s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-3-txt-show {
	0% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-3-txt {
	animation: scene-3-txt-hide .3s ease-out both;
}
@keyframes scene-3-txt-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(50px); }
}


/* ---- scene-4 ---- */

#scene-4-txt {
	position: absolute;
	left: 45%;
	top: 10vh;
	width: 66vh;
	max-width: 660px;
	padding: 0 0 5vh 125px;
	background-image: url(../../strength/images/pc/line_4.png);
	background-repeat: no-repeat;
	background-position: 0 100%;
}

#scene-4-txt h2 {
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

#scene-4-txt h2 span {
	font-weight: normal;
}

#scene-4-txt p {
	margin-top: 4vh;
	line-height: 2.1;
}

/* animation */

.show #scene-4-txt {
	animation: scene-4-txt-show .6s .6s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-4-txt-show {
	0% { opacity: 0; transform: translateX(100px); }
	100% { opacity: 1; transform: translateX(0); }
}

.hide #scene-4-txt {
	animation: scene-4-txt-hide .3s ease-out both;
}
@keyframes scene-4-txt-hide {
	0% { opacity: 1; transform: translateX(0); }
	100% { opacity: 0; transform: translateX(50px); }
}


/* ---- scene-5 ---- */

#scene-5-txt {
	position: absolute;
	left: 6%;
	top: 10vh;
	width: 90vh;
	max-width: 890px;
	padding: 0 50px 100px 0;
	background-image: url(../../strength/images/pc/line_5.png);
	background-repeat: no-repeat;
	background-position: 100% 100%;
}

#scene-5-txt h2 {
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

#scene-5-txt p {
	margin-top: 3vh;
	line-height: 2.1;
}

/* animation */

.show #scene-5-txt {
	animation: scene-5-txt-show .6s .6s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-5-txt-show {
	0% { opacity: 0; transform: translateX(-100px); }
	100% { opacity: 1; transform: translateX(0); }
}

.hide #scene-5-txt {
	animation: scene-5-txt-hide .3s ease-out both;
}
@keyframes scene-5-txt-hide {
	0% { opacity: 1; transform: translateX(0); }
	100% { opacity: 0; transform: translateX(-50px); }
}


/* ---- scene-6 ---- */

#scene-6-txt {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	transform: translateY(-50%) scale(1);
}

#scene-6-txt h2 {
	color: #21ade5;
	font-size: 3.1em;
	font-weight: bold;
	text-align: center;
}

#scene-6-txt h2 + p {
	text-align: center;
}

#scene-6-txt h2 + p img {
	height: 30vh;
	max-height: 360px;
}

#scene-6-txt h3 {
	margin-top: 6vh;
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

#scene-6-txt h3 strong {
	color: #21ade5;
}

#scene-6-txt h3 + p {
	width: 950px;
	margin: 3.5vh auto 0;
	line-height: 2.1;
}

/* animation */

.show #scene-6-txt {
	animation: scene-6-txt-show .8s .6s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-6-txt-show {
	0% { opacity: 0; transform: scale(.95) translateY(-52%); }
	100% { opacity: 1; transform: scale(1) translateY(-50%); }
}

.hide #scene-6-txt {
	animation: scene-6-txt-hide .3s ease-out both;
}
@keyframes scene-6-txt-hide {
	0% { opacity: 1; transform: scale(1) translateY(-50%); }
	100% { opacity: 0; transform: scale(1.05) translateY(-48%); }
}


/* ---- scene-7 ---- */

#scene-7-txt {
	padding-top: 13vh;
}

#scene-7 .contents.static {
	position: relative;
	top: 0;
	height: auto;
	min-height: calc(100% - 89px);
}

#scene-7-txt h2 {
	position: relative;
	padding-bottom: 3vh;
	color: #fff;
	font-size: 2.2em;
	font-weight: bold;
	text-align: center;
}

#scene-7-txt h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 140px;
	height: 3px;
	margin-left: -70px;
	background-color: #21ade5;
}

#scene-7-txt p {
	margin-top: 2.5vh;
	color: #fff;
	line-height: 2;
	text-align: center;
}

/* animation */

.show #scene-7-txt {
	animation: scene-7-txt-show .8s .4s cubic-bezier(.4,1,.8,.98) both;
}
@keyframes scene-7-txt-show {
	0% { opacity: 0; transform: translateY(200px); }
	100% { opacity: 1; transform: translateY(0); }
}

.hide #scene-7-txt {
	animation: scene-7-txt-hide .3s ease-out both;
}
@keyframes scene-7-txt-hide {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(50px); }
}




/*
--------------------------------
	service
--------------------------------
*/


/* ---- common ---- */

.round-bottom-container {
	overflow: hidden;
}

.round-bottom-container .inner {
	width: 200%;
	border-radius: 0 0 100vw 100vw / 0 0 45vw 45vw;
	transform: translateX(-25%);
	overflow: hidden;
}

.round-bottom-container .bg {
	width: 100vw;
	margin: 0 auto;
	padding: 0 30px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

.round-bottom-container .contents {
	max-width: 1200px;
	margin: 0 auto;
	padding: 90px 0 100px;
}

.service-intro-heading {
	text-align: center;
}

.service-intro-heading h2 {
	display: inline-block;
	clear: none;
	position: relative;
	margin: 0;
	padding: 0 50px;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .1em;
}

.service-intro-heading h2::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: auto;
	width: 80px;
	height: 80px;
	margin-left: 0;
	border-top: 1px solid #222;
	border-left: 1px solid #222;
	background-color: transparent;
}

.service-intro-heading h2::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 80px;
	height: 80px;
	border-bottom: 1px solid #222;
	border-right: 1px solid #222;
}

.service-intro-heading p {
	margin-top: 40px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}


/* ---- footer links ---- */

.service-footer {
	margin: 90px 0 -91px;
}

.service-footer .title {
	padding: 110px 30px 40px 30px;
	background-color: #e1f0f6;
	background-image: url(../../service/images/icon_service.svg);
	background-repeat: no-repeat;
	background-position: 50% 40px;
	background-size: 53px;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
}

.service-footer ul {
	overflow: hidden;
}

.service-footer li {
	float: left;
	width: 50%;
}

.service-footer .image-link {
	display: block;
}

.service-footer .image-link img {
	width: 100%;
}

.service-footer .image-link span {
	padding-bottom: 20px;
	font-size: 1.8vw;
	line-height: 1.4;
}

.service-footer .image-link.current {
	cursor: default;
}

.service-footer .image-link.current img {
	opacity: 1;
	transform: scale(1);
}

.service-footer .image-link.current::before,
.service-footer .image-link.current::after {
	content: none;
}

@media screen and (min-width: 1400px) {
	
	.service-footer .image-link span {
		font-size: 2.5rem;
	}
  
}


/* ---- dental ---- */

#dental .page-title {
	background-color: #fff;
	background-image: url(../../service/dental/images/bg_header.jpg);
}

#dental .page-title h1 {
	top: 258px;
}

#dental .page-title .icon {
	top: 98px;
}

#dental .page-title .icon img {
	width: 92px;
}

#dental .round-bottom-container .bg {
	background-image: url(../../service/dental/images/bg_intro.jpg);
}

#dental .service-intro-heading h2 strong {
	color: #00afdb;
}

#dental .service-intro-body {
	position: relative;
	margin-bottom: 95px;
}

#dental .service-intro-body h3 {
	position: absolute;
	left: 4%;
	bottom: -90px;
	width: 92%;
	margin: 0;
	padding: 35px 20px 40px 20px;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(32, 44, 48, .2);
	color: #21ade5;
	font-size: 4.5vw;
	text-align: center;
}

#dental .service-intro-body h3 img {
	width: 72px;
	margin-bottom: 15px;
}

@media screen and (min-width: 1200px) {
	
	#dental .service-intro-body h3 {
		font-size: 5.4rem;
	}
  
}

#dental .service-intro-body > ul {
	margin-top: 25px;
	overflow: hidden;
}

#dental .service-intro-body > ul > li {
	float: left;
	width: 33.3333%;
}

#dental .service-intro-body .target {
	position: relative;
	height: 0;
	padding-bottom: 100%;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 75%;
}

#dental .service-intro-body > ul > li:nth-child(1) .target {
	background-image: url(../../service/dental/images/target_1_pc.png);
}

#dental .service-intro-body > ul > li:nth-child(2) .target {
	background-image: url(../../service/dental/images/target_2_pc.png);
}

#dental .service-intro-body > ul > li:nth-child(3) .target {
	background-image: url(../../service/dental/images/target_3_pc.png);
}

#dental .service-intro-body .target::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 12%;
	height: 10%;
	margin-left: -6%;
}

#dental .service-intro-body .target::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 8%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 4vw 4vw 4vw;
	margin-left: -4vw;
}

@media screen and (min-width: 1200px) {
	
	#dental .service-intro-body .target::after {
		border-width: 0 45px 45px 45px;
		margin-left: -45px;
	}
  
}

#dental .service-intro-body > ul > li:nth-child(1) .target::before {
	background-color: #ff9f00;
}
#dental .service-intro-body > ul > li:nth-child(1) .target::after {
	border-color: transparent transparent #ff9f00 transparent;
}

#dental .service-intro-body > ul > li:nth-child(2) .target::before {
	background-color: #00a2cb;
}
#dental .service-intro-body > ul > li:nth-child(2) .target::after {
	border-color: transparent transparent #00a2cb transparent;
}

#dental .service-intro-body > ul > li:nth-child(3) .target::before {
	background-color: #1ac093;
}
#dental .service-intro-body > ul > li:nth-child(3) .target::after {
	border-color: transparent transparent #1ac093 transparent;
}

#dental .service-intro-body .target span {
	display: none;
}

#dental .service-intro-body .services {
	padding: 50px 10% 180px;
}

#dental .service-intro-body > ul > li:nth-child(1) .services {
	background-color: #ff9f00;
}

#dental .service-intro-body > ul > li:nth-child(2) .services {
	background-color: #00a2cb;
}

#dental .service-intro-body > ul > li:nth-child(3) .services {
	background-color: #1ac093;
}

#dental .service-intro-body .services > a {
	display: block;
	padding: 15px 20px;
	border-radius: 32px;
	background-color: #fff;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
}

#dental .service-intro-body > ul > li:nth-child(1) .services > a {
	color: #ff9f00;
}

#dental .service-intro-body > ul > li:nth-child(2) .services > a {
	color: #00a2cb;
}

#dental .service-intro-body > ul > li:nth-child(3) .services > a {
	color: #1ac093;
}

#dental .service-intro-body .services ul {
	padding: 20px 10% 0;
}

#dental .service-intro-body .services li {
	padding-top: 10px;
}

#dental .service-intro-body .services li a {
	display: inline-block;
	position: relative;
	padding-left: 30px;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.4;
	text-decoration: none;
}

#dental .service-intro-body .services li a:hover,
#dental .service-intro-body .services li a:active {
	color: #fff;
	text-decoration: underline;
}

#dental .service-intro-body .services li a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	border: 1px solid #fff;
	border-radius: 9px;
}

#dental .service-intro-body .services li a::after {
	content: "";
	display: block;
	position: absolute;
	left: 6px;
	top: 8px;
	width: 5px;
	height: 5px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(45deg);
}

#dental .service-intro-body .arrow {
	position: absolute;
	width: 3vw;
	height: 3vw;
	background-color: #939393;
}

#dental .service-intro-body .arrow::before {
	content: "";
	position: absolute;
	left: -100%;
	top: -42%;
	width: 0;
	height: 0;
	border-top: 2.8vw solid transparent;
	border-right: 3.4vw solid #939393;
	border-bottom: 2.8vw solid transparent;
	border-left: 0 solid transparent;
}

#dental .service-intro-body .arrow::after {
	content: "";
	position: absolute;
	right: -100%;
	top: -42%;
	width: 0;
	height: 0;
	border-top: 2.8vw solid transparent;
	border-right: 0 solid transparent;
	border-bottom: 2.8vw solid transparent;
	border-left: 3.4vw solid #939393;
}

#dental .service-intro-body .arrow-1 {
	left: calc(33.3333% - 1.5vw);
	top: 10vw;
}

#dental .service-intro-body .arrow-2 {
	left: calc(66.6666% - 1.5vw);
	top: 10vw;
}

@media screen and (min-width: 1260px) {
	
	#dental .service-intro-body .arrow {
		width: 40px;
		height: 40px;
	}
	
	#dental .service-intro-body .arrow::before {
		left: -39px;
		top: -16px;
		border-top: 36px solid transparent;
		border-right: 40px solid #939393;
		border-bottom: 36px solid transparent;
		border-left: 0 solid transparent;
	}
	
	#dental .service-intro-body .arrow::after {
		right: -39px;
		top: -16px;
		border-top: 36px solid transparent;
		border-right: 0 solid transparent;
		border-bottom: 36px solid transparent;
		border-left: 40px solid #939393;
	}
	
	#dental .service-intro-body .arrow-1 {
		left: 380px;
		top: 130px;
	}
	
	#dental .service-intro-body .arrow-2 {
		left: 780px;
		top: 130px;
	}
  
}

.dentist-heading {
	position: relative;
	margin: 80px 0 0 30px;
	text-align: center;
}

.dentist-heading::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 100%;
	height: 5px;
	z-index: 0;
	background-image: linear-gradient(to right, #e6e6e6 0, #e6e6e6 6px, transparent 6px, transparent 12px);
	background-repeat: repeat-x;
	background-size: 12px 5px;
}

.dentist-heading span {
	display: block;
	font-size: 2.6rem;
	text-align: center;
}

.dentist-heading img {
	display: block;
	margin: 15px auto;
}

#patient.dentist-heading img { width: 139px; }
#dentist.dentist-heading img { width: 74px; }
#related-company.dentist-heading img { width: 69px; }

.dentist-heading strong {
	display: inline-block;
	position: relative;
	padding: 0 30px;
	z-index: 1;
	background-color: #fff;
	font-size: 4.4rem;
}

#patient.dentist-heading strong { color: #ff9f00; }
#dentist.dentist-heading strong { color: #00a2cb; }
#related-company.dentist-heading strong { color: #14b79f; }

.dentist-container {
	margin-top: 80px;
	padding-bottom: 40px;
}

.dentist-container.patient { background-color: #fcf8ef; }
.dentist-container.dentist { background-color: #eef7f8; }
.dentist-container.related-company { background-color: #eef9f7; }

.dentist-container .inner {
	max-width: 1260px;
	margin: 0 auto;
	padding-right: 30px;
	transform: translateY(-40px);
}

.dentist-container .row {
	margin-left: 30px;
	overflow: hidden;
}

.dentist-container .img-left .img,
.dentist-container .img-right .txt {
	float: left;
	width: 48%;
}

.dentist-container .img-right .img,
.dentist-container .img-left .txt {
	float: right;
	width: 48%;
}

.dentist-container .row .txt {
	padding-top: 90px;
}

.dentist-container .row .txt h3 {
	clear: none;
	margin: 0;
	font-size: 4rem;
	line-height: 1.3;
	text-align: left;
}

.dentist-container.patient .row .txt h3 { color: #ff9f00; }
.dentist-container.dentist .row .txt h3 { color: #00a2cb; }
.dentist-container.related-company .row .txt h3 { color: #14b79f; }

.dentist-container .row .txt p	{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 1.9;
}

.dentist-container .row .txt p.lead	{
	font-size: 2.5rem;
	line-height: 1.3;
}

.dentist-container .w25 {
	float: left;
	clear: none !important;
	width: calc(25% - 30px) !important;
}

.dentist-container .site-link .txt {
	background-color: #fff;
	font-size: 1.5rem;
}

#dentist-1 .clearfix .w25:last-child .site-link strong {
	font-size: 1.5rem;
}

.large-button.patient { background-color: #ff9f00; }
.large-button.patient:hover,
.large-button.patient:active { background-color: #dc8900; }

.large-button.dentist { background-color: #00a2cb; }
.large-button.dentist:hover,
.large-button.dentist:active { background-color: #0072a0; }

.large-button.related-company { background-color: #1ac093; }
.large-button.related-company:hover,
.large-button.related-company:active { background-color: #00927c; }

.dentist-container.patient + .dentist-container.patient {
	padding-bottom: 0;
}

.dentist-container.related-company {
	padding-bottom: 10px;
}

.dentist-container .box-text {
	margin: 60px 0 0 30px;
	padding: 60px 40px;
	background-color: #fff;
	box-shadow: 0 0 30px #d1e2e5;
}

.dentist-container .box-text .title {
	margin-bottom: 50px;
	font-size: 3.2rem;
}

.dentist-container .box-text p {
	text-align: center;
}

.dentist-container .box-text p img {
	width: 30%;
	margin: 0 20px;
}

.dentist-container .box-text .titleBlue {
    margin-bottom: 10px;
    color: #21ade5;
	font-size: 2.5rem;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-align: center;
}

.dentist-container .box-text .topicsBox {
    background-color: #eef7f8;
    margin-top: 50px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dentist-container .box-text .topicsBox figure {
    width: 30%;
    flex-shrink: 0;
}

.dentist-container .box-text .topicsBox .text {
    padding-right: 50px;
    text-align: left;
}

.dentist-container .box-text .topicsBox .text em {
    margin-bottom: 20px;
    color: #21ade5;
	font-size: 2.5rem;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
}

.related-company-figure {
	height: 0;
	margin: 50px 0 50px 30px;
	padding-bottom: 56.5%;
	background-image: url(../../service/dental/images/img_3_0_pc.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: contain;
}

.related-company-figure * {
	display: none;
}


/* ---- business ---- */

#business .page-title {
	background-color: #1a1f2a;
	background-image: url(../../service/business/images/bg_header.jpg), linear-gradient(to right, #7b8491 0%, #7b8491 50%, #1a1f2a 50%, #1a1f2a 100%);
}

#business .page-title h1 {
	top: 258px;
	color: #fff;
}

#business .page-title .icon {
	top: 102px;
}

#business .page-title .icon img {
	width: 135px;
}

#business .round-bottom-container .bg {
	background-image: url(../../service/business/images/bg_intro.jpg);
}

#business .round-bottom-container .contents {
	padding-bottom: 10px;
}

#business .service-intro-heading h2 {
	padding: 30px 60px;
}

#business .service-intro-heading h2 strong {
	color: #00a19f;
}

#business .service-intro-heading p {
	margin-top: 20px;
}

#business .service-intro-body {
	position: relative;
	height: 0;
	margin-top: -70px;
	padding-bottom: 62.5%;
	background-image: url(../../service/business/images/img_intro_pc.png);
	background-repeat: no-repeat;
	background-size: cover;
}

#business .service-intro-body p {
	display: none;
}

#business .service-intro-body a {
	display: block;
	position: absolute;
	left: 7.5%;
	width: 22%;
	padding: 3% 0;
	background-color: #21ade5;
	color: #fff;
	font-size: 1.8vw;
	text-align: center;
	text-decoration: none;
	transition: background-color .3s;
}

@media screen and (min-width: 1260px) {
	#business .service-intro-body a {
		font-size: 2.2rem;
	}
}

#business .service-intro-body a:hover,
#business .service-intro-body a:active {
	background-color: #004e76;
	color: #fff;
	text-decoration: none;
}

#business .service-intro-body a.production {
	top: 48%;
}

#business .service-intro-body a.marketing {
	top: 63%;
}

#business .service-intro-body a::after {
	content: "";
	display: block;
	position: absolute;
	width: 35%;
	height: 0;
	padding-bottom: 35%;
	background-repeat: no-repeat;
	background-size: contain;
}

#business .service-intro-body a.production::after {
	left: -25%;
	top: -20%;
	background-image: url(../../service/business/images/icon_production.png);
}

#business .service-intro-body a.marketing::after {
	right: -25%;
	bottom: -20%;
	background-image: url(../../service/business/images/icon_marketing.png);
}

#business .container h2:not([class]) {
	padding-bottom: 0;
	font-size: 4.4rem;
}

#business .container h2:not([class])::after {
	content: none;
}


/* ---- consumer ---- */

#consumer .page-title {
	background-color: #c9cdce;
	background-image: url(../../service/consumer/images/bg_header.jpg), linear-gradient(to right, #b8a48b 0%, #b8a48b 50%, #c9cdce 50%, #c9cdce 100%);
}

#consumer .page-title h1 {
	top: 264px;
	color: #fff;
}

#consumer .page-title .icon {
	top: 122px;
}

#consumer .page-title .icon img {
	width: 140px;
}

#consumer .round-bottom-container .bg {
	background-image: url(../../service/consumer/images/bg_intro_pc.jpg);
}

#consumer .round-bottom-container .contents {
	padding-bottom: 80px;
}

#consumer .service-intro-heading h2 {
	padding: 30px 70px;
}

#consumer .service-intro-heading h2 strong {
	color: #ff9f00;
}

#consumer .service-intro-heading p {
	margin-top: 20px;
}

#consumer .service-intro-body {
	position: relative;
	height: 0;
	margin-top: 30px;
	padding-bottom: 62%;
	background-image: url(../../service/consumer/images/img_intro_pc.png);
	background-repeat: no-repeat;
	background-size: cover;
}

#consumer .service-intro-body p {
	display: none;
}

#consumer .service-intro-body a {
	display: block;
	position: absolute;
	left: 7%;
	top: 53%;
	width: 22%;
	padding: 2% 0 7%;
	background-color: #21ade5;
	color: #fff;
	font-size: 1.8vw;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
	transition: background-color .3s;
}

@media screen and (min-width: 1260px) {
	#consumer .service-intro-body a {
		font-size: 2.2rem;
	}
}

#consumer .service-intro-body a:hover,
#consumer .service-intro-body a:active {
	background-color: #004e76;
	color: #fff;
	text-decoration: none;
}

#consumer .service-intro-body a::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -13%;
	z-index: 1;
	width: 35%;
	height: 0;
	padding-bottom: 35%;
	background-image: url(../../service/consumer/images/icon_sites.png);
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateX(-50%);
}

#consumer .service-intro-body a::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -11%;
	width: 15%;
	height: 0;
	padding-bottom: 15%;
	background-color: #21ade5;
	transform: translateX(-50%) rotate(45deg);
	transition: background-color .3s;
}

#consumer .service-intro-body a:hover::before,
#consumer .service-intro-body a:active::before {
	background-color: #004e76;
}

#consumer .service-intro-body a span {
	position: relative;
	z-index: 2;
}

#consumer .container h2:not([class]) {
	padding-bottom: 0;
	font-size: 4.4rem;
}

#consumer .container h2:not([class])::after {
	content: none;
}

#consumer .dentist-container {
	margin-top: 60px;
	padding: 70px 0 50px;
	background-color: #fcf8ef;
}

#consumer .dentist-container .inner {
	transform: none;
}

#consumer .dentist-container h3:not([class]) {
	margin: 0 0 0 30px;
	color: #ff9f00;
	font-size: 4rem;
	text-align: center;
}

#consumer .badge {
	display: block;
	width: 10rem;
	margin-bottom: 15px;
	padding: .4rem 0;
	border-radius: 1.4rem;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
}

#consumer .badge-b { background-color: #f98387; }
#consumer .badge-c { background-color: #f46a3f; }
#consumer .badge-m { background-color: #00bfab; }
#consumer .badge-l { background-color: #5db741; }

.dentist-container .w50 {
	float: left;
	clear: none !important;
	width: calc(50% - 30px) !important;
}

.dentist-container .w50 .site-link {
	box-shadow: none;
	transition: none;
	overflow: hidden;
	pointer-events: none;
}

.dentist-container .w50 .site-link .img {
	float: right;
	width: 47%;
	margin-top: 4px;
	pointer-events: auto;
}

.dentist-container .w50 .site-link .txt {
	float: left;
	width: 48%;
	padding: 0;
	background-color: transparent;
}

.dentist-container .w50:nth-child(2n) .site-link .txt {
	width: 47%;
	padding-left: 10px;
}

.dentist-container .w50 .site-link strong {
	float: left;
	width: 48%;
	margin-bottom: 15px;
	color: #222;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.3;
}

.dentist-container .w50:nth-child(2n) .site-link strong {
	width: 47%;
	padding-left: 10px;
}

.dentist-container .w50 .site-link:hover,
.dentist-container .w50 .site-link:active {
	box-shadow: none;
}


/* ---- portal ---- */

#dental-portal .page-title,
#dental-management .page-title {
	background-color: #f7f7f7;
	background-image: url(../../service/dental/images/bg_header_2.jpg);
}

#dental-portal .page-title h1,
#dental-management .page-title h1 {
	color: #222;
}

#dental-portal .breadcrumbs,
#dental-management .breadcrumbs {
	color: #222;
}

#dental-portal .breadcrumbs a,
#dental-management .breadcrumbs a {
	color: #222;
}

#dental-portal .breadcrumbs a:hover,
#dental-portal .breadcrumbs a:active,
#dental-management .breadcrumbs a:hover,
#dental-management .breadcrumbs a:active {
	color: #222;
}

#dental-portal .container + .container {
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px solid #ededed;
}

#dental-portal .container .col {
	margin-top: 0;
}

#dental-portal .container .col:first-child {
	padding-right: 25px;
}

#dental-portal .container .col:last-child {
	padding-left: 25px;
}

#dental-portal .container .col > a {
	display: inline-block;
	text-decoration: none;
}

#dental-portal .container .col > a strong {
	display: block;
	color: #ff9f00;
	font-size: 4rem;
	font-weight: bold;
}

#dental-portal .container .col > a span {
	display: block;
	margin-top: 15px;
	color: #21ade5;
	font-size: 1.6rem;
}

#dental-portal .container .col > a:hover span,
#dental-portal .container .col > a:active span {
	text-decoration: underline;
}

#dental-portal .container .col > p {
	margin-top: 20px;
	line-height: 1.75;
}

#dental-portal .container .col .box {
	margin-top: 30px;
	padding: 5% 2% 5% 5%;
	background-color: #fbfbfb;
}

#dental-portal .container .col .box p {
	font-size: 1.8rem;
	font-weight: bold;
}

#dental-portal .container .col .box dl {
	margin-top: 10px;
	overflow: hidden;
	line-height: 1.75;
}

#dental-portal .container .col .box dt {
	clear:left;
	float: left;
	width: 3.5em;
	white-space: nowrap;
}

#dental-portal .container .col .box dd {
	float: left;
	width: calc(100% - 3.5em);
}

#dental-portal .container .col .box li {
	display: inline-block;
	padding-right: 1em;
}

#dental-portal .container .col .box a {
	text-decoration: none;
}

#dental-portal .container .col .box a:hover,
#dental-portal .container .col .box a:active {
	text-decoration: underline;
}

#dental-portal .dentist-container {
	margin: 70px 0 -90px;
	padding: 70px 0 50px;
	background-color: #fcf8ef;
}


/* ---- management ---- */

.management-container {
	margin-top: 80px;
	background-color: #eef7f8;
}

.management-container .inner {
	max-width: 1260px;
	margin: 0 auto;
	padding-right: 30px;
	transform: translateY(-30px);
}

.management-container .row {
	margin-left: 30px;
	overflow: hidden;
}

.management-container .img-left .img,
.management-container .img-right .txt {
	float: left;
	width: 46%;
}

.management-container .img-right .img,
.management-container .img-left .txt {
	float: right;
	width: 46%;
}

.management-container .row .txt {
	padding-top: 80px;
}

.management-container .row .txt a {
	text-decoration: none;
}

.management-container .row .txt a:hover span,
.management-container .row .txt a:active span {
	text-decoration: underline;
}

.management-container .row .txt h3 {
	clear: none;
	margin: 0 0 10px 0;
	color: #00a2cb;
	font-size: 4rem;
	line-height: 1.2;
	text-align: left;
}

.management-container .row .txt p	{
	margin-top: 25px;
	line-height: 1.75;
}

.management-container.last .row .txt h3 {
	font-size: 3.5rem;
}

.management-container.last .row .txt p	{
	padding-bottom: 20px;
}

#dental-management .container h3 {
	margin: 50px 0 0 30px;
	font-size: 4rem;
}

.management-container2 {
	margin: 80px 0 -90px;
	padding: 80px 0 100px;
	background-color: #eef7f8;
}

.management-container2 h2 {
	margin-top: 0 !important;
}

.management-container2 .body-text img {
	width: 351px;
}

.denty-user {
	position: relative;
	width: 75%;
	margin: 0 auto;
	overflow: hidden;
}

.denty-user > div {
	position: relative;
	width: 48%;
	height: 0;
	padding-bottom: 48%;
	border-radius: 50%;
	background-color: #fff;
}

.denty-user img {
	width: 50%;
}

.denty-user .dentist {
	float: left;
}

.denty-user .user {
	float: right;
}

.denty-user .txt {
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 2.5vw;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.denty-user .dentist .txt {
	padding-top: 4%;
}

.denty-user .txt strong {
	font-size: 7.5vw;
}

.denty-user p {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 1.3vw;
}

@media screen and (min-width: 1200px) {
	
	.denty-user .txt {
		font-size: 3rem;
	}
	
	.denty-user .txt strong{
		font-size: 9rem;
	}
	
	.denty-user p {
		font-size: 1.6rem;
	}
  
}

#dental-management .w33 {
	margin-top: 40px;
}

#dental-management .w33 img {
	display: block;
}

#dental-management .w33 p {
	padding: 25px;
	background-color: #fff;
	font-size: 1.5rem;
	line-height: 1.6;
}

#dental-management .w33 p strong {
	display: block;
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
}




/*
--------------------------------
	ir
--------------------------------
*/


/* ---- header ---- */

.category-3 .page-title {
	background-color: #cabfac;
	background-image: url(../../ir/images/bg_header.jpg), linear-gradient(to right, #b7aa93 0%, #b7aa93 50%, #cfc7b8 50%, #cfc7b8 100%);
}

.category-3 .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}


/* ---- message ---- */

.category-3 .message-head {
	display: table;
	width: 100%;
	margin-top: -90px;
}

.category-3 .message-head .txt {
	display: table-cell;
	width: 50%;
	padding: 100px 90px 60px calc(50% - 600px);
	background: linear-gradient(to right, #dcdcda 0%, #f5f5f5 100%);
}

.category-3 .message-head .img {
	display: table-cell;
	width: 50%;
	background-color: #efefef;
	background-image: url(../../ir/images/img_1.jpg);
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.category-3 .message-head .img img {
	display: none;
}

.category-3 .message-head .txt h2 {
	margin: 0;
	padding-bottom: 0;
	font-size: 3rem;
	font-weight: normal;
	line-height: 1.5;
	text-align: left;
}

.category-3 .message-head .txt h2::after {
	content: none;
}

.category-3 .message-head .txt p {
	padding-top: 35px;
	font-size: 1.5rem;
	text-align: right;
}

.category-3 .message-head .txt p strong {
	display: inline-block;
	padding-left: 12px;
	transform: translateY(.2rem);
	font-size: 2.5rem;
	font-weight: normal;
}

.category-3 .message-body .body-text {
	margin: 60px 120px 0 150px;
}

.category-3 .message-body .body-text strong {
	display: inline-block;
	padding-left: 12px;
	transform: translateY(.2rem);
	font-size: 2.5rem;
	font-weight: normal;
}

.category-3 .message-body .body-text:last-child {
	margin-top: 30px;
	text-align: right;
}

@media screen and (max-width: 1260px) {
	
	.category-3 .message-head .txt {
		padding: 60px 30px 60px 30px;
	}
	
	.category-3 .message-body .body-text {
		margin: 60px 60px 0 90px;
	}
	
	.category-3 .message-head .img {
		background-position: 0 100%;
	}
  
}


/* ---- compliance ---- */

#ir-compliance table.no-border th {
	width: 25%;
}

#ir-benefit table.border th {
	width: 20%;
}


/* ---- library ---- */

#ir-library table.no-border {
	width: 640px;
	margin-left: auto;
	margin-right: auto;
}

#ir-library table.no-border th {
	padding-right: 50px;
}
.frame-wrapper__box {
  max-width: 960px;
  margin: 0 auto;
}
.frame-wrapper__video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.frame-wrapper__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}


.library-container {
	width: 640px;
	margin: 0 auto;
}

.library-container .col {
	margin: 60px 0 0 0;
}

.library-container .col .h4 {
	border-bottom: solid 1px #c5c5c5;
    padding-bottom: 10px;
}
/* ---- trend ---- */

#ir-trend .scrollable-table table.border th {
	padding: 20px 15px;
}

#ir-trend .scrollable-table table.border td {
	padding: 20px 15px;
}




/*
--------------------------------
	recruit
--------------------------------
*/


/* ---- header ---- */

.category-4 .page-title {
	background-color: #b0cc63;
	background-image: url(../../recruit/images/bg_header.jpg);
}

.category-4 .page-title.faq {
	background-color: #b0cc63;
	background-image: url(../../recruit/images/bg_faq_header.jpg);
}

.category-4 .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}


/* ---- top ---- */

.recruit-top-head {
/* 	min-height: 520px; */
	margin-top: -90px;
	padding: 0 30px;
	background-color: #b2dfff;
	background-image: url(../../recruit/images/bg_top_header.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
}

.recruit-top-head .inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.recruit-top-head .img {
	position: absolute;
	left: 0;
	top: 80px;
	width: 32%;
}

.recruit-top-head .txt {
	padding: 80px 0;
}

.recruit-top-head .txt h2 {
	margin: 0;
	padding-bottom: 30px;
	color: #222;
	font-size: 4rem;
	font-weight: normal;
	line-height: 1.3;
	text-align: left;
}

.recruit-top-head .txt h2::after {
	content: none;
}

.recruit-top-head .txt p {
	line-height: 1.75;
}

.recruit-top-head .txt p img {
	display: none;
}

.recruit-top-interview {
	margin-top: 80px;
	padding: 0 30px 10px;
	background-color: #f3fbe6;
}

.recruit-top-interview .inner {
	max-width: 1200px;
	margin: 0 auto;
}

.recruit-top-interview ul {
	width: 75%;
	margin: 0 auto;
	padding:50px 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.recruit-top-interview li {
	float: left;
	width: 50%;
}


.recruit-top-interview li .image-link {
	display: block;
}

.recruit-top-interview li .image-link img {
	width: 100%;
}

.recruit-top-interview li .image-link span {
	padding-bottom: 20px;
	font-size: 1.5vw;
	line-height: 1.6;
}

.recruit-top-interview li .image-link span em {
	font-size: 1.33em;
	font-style: normal;
}

@media screen and (min-width: 1400px) {
	
	.recruit-top-interview li .image-link span {
		font-size: 2.1rem;
	}
  
}

.recruit-top-environment {
	margin-top: 180px;
	padding: 0 30px 10px;
	background-color: #f3fbe6;
}

.recruit-top-environment .inner {
	max-width: 1200px;
	margin: 0 auto;
}

.recruit-top-environment ul {
	width: 84%;
	margin: 0 auto;
}

.recruit-top-environment li {
	float: left;
	width: 50%;
}

.recruit-top-environment li:nth-child(odd) { transform: translateY(-120px); }
.recruit-top-environment li:nth-child(even) { transform: translateY(-60px); }

.recruit-top-environment li .image-link {
	display: block;
}

.recruit-top-environment li .image-link img {
	width: 100%;
}

.recruit-top-environment li .image-link span {
	padding-bottom: 20px;
	font-size: 2vw;
	line-height: 1.6;
}

@media screen and (min-width: 1400px) {
	
	.recruit-top-environment li .image-link span {
		font-size: 2.8rem;
	}
  
}

.recruit-top-jobs {
	margin-bottom: -90px;
	padding: 1px 30px 90px;
	background-image: url(../../recruit/images/bg_top_footer.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

.recruit-top-jobs ul {
	margin: 70px 15% 0 calc(15% + 30px);
	/*
	margin: 70px 0 0 30px;
	*/
	overflow: hidden;
}

.recruit-top-jobs li {
	float: left;
	width: 50%;
	/*
	width: 33.3333%;
	*/
}

.recruit-top-jobs li.fresh {
	width: 100%;
	padding: 40px;
	text-align: center;
	background-color:#fff;
}
.recruit-top-jobs li.fresh a {
	text-decoration: none;
}

.recruit-top-jobs li:nth-child(2n) a {
	background-color: #f6f6f6;
}

.recruit-top-jobs li:nth-child(3) a {
	background-color: #f6f6f6;
}

.recruit-top-jobs li:nth-child(4) a {
	background-color: #fff;
}

.recruit-top-jobs div {
	margin: 70px auto;
}

/* ---- interview ---- */

.interview-header {
	margin: -90px 0 70px;
	padding: 0 30px;
	background-color: #f4fcea;
}

.interview-header .inner {
	display: table;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.interview-header .txt {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

.interview-header .txt p {
	font-size: 1.8rem;
	line-height: 1.55;
}

.interview-header .txt h2 {
	margin: 30px 0;
	color: #9c3;
	font-size: 4rem;
	font-weight: bold;
}

.interview-header .txt h2 span {
	display: block;
	margin-top: 10px;
	font-size: 2rem;
}

.interview-header .img {
	display: table-cell;
	width: 50%;
	min-width: 480px;
	vertical-align: middle;
}

.interview-body {
	margin: 30px 0 0 30px;
	overflow: hidden;
}

.interview-body img {
	width: calc(50% - 20px);
}

.interview-body.img-left img {
	float: left;
	margin: 0 40px 40px 0;
}

.interview-body.img-right img {
	float: right;
	margin: 0 0 40px 40px;
}

.interview-body h3.interview-question {
	margin-top: 30px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.7;
}

.interview-body img + h3.interview-question {
	margin-top: 0;
}

.interview-body p {
	margin-top: 30px;
	line-height: 1.9;
}

.interview-footer {
	margin: 90px 0 -90px;
}

.interview-footer .title {
	padding: 110px 30px 40px 30px;
	background-color: #f4fcea;
	background-image: url(../../recruit/interview/images/icon_interview.png);
	background-repeat: no-repeat;
	background-position: 50% 40px;
	background-size: 63px;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
}

.interview-footer ul {
	overflow: hidden;
}

.interview-footer li {
	float: left;
	width: 25%;
}

.interview-footer li.rookie {
	width: 25%;
}

.interview-footer li.rookie.c3 {
	width: 33.3%;
}

.interview-footer .image-link {
	display: block;
}

.interview-footer .image-link img {
	width: 100%;
}

.interview-footer .image-link span {
	padding-bottom: 20px;
	font-size: 1.5vw;
	line-height: 1.6;
}

.interview-footer .image-link span em {
	font-size: 1.33em;
	font-style: normal;
}

.interview-footer .image-link.current {
	cursor: default;
}

.interview-footer .image-link.current img {
	opacity: 1;
	transform: scale(1);
}

.interview-footer .image-link.current::before,
.interview-footer .image-link.current::after {
	content: none;
}

@media screen and (min-width: 1400px) {
	
	.interview-footer .image-link span {
		font-size: 2.1rem;
	}
  
}




/* ---- rookie ---- */
a.link_wrap:hover {
    opacity: .6;
    display: block;
}
a.link_wrap {
  text-decoration: none;
}
.p-index_link_profile {
  margin-bottom: 5px;
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
  color: #222;
  text-align: center;
  text-decoration: none;
}
.p-index_link_positon {
  line-height: 1;
  margin-bottom: 10px;
}
.p-index_link_name {
  line-height: 1;
  color: #9c3;
  font-weight: 700;
  font-size: 22px;
  font-size: 2.2rem;
}
.p-index_link_name small {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
}
.p-index_link_ttl {
  color: #222;
  line-height: 1.4;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
}





/* ---- recruit rookie tab ---- */
  .tab-list {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px; }
    .tab-list li {
      width: 100%; }
      .tab-list li a {
        display: block;
        text-align: center;
        line-height: 50px;
        width: 100%;
        background: #fff;
        color: #21ade5;
        font-weight: 600;
        border: #21ade5 solid 1px;
        box-sizing: border-box;
        text-decoration: none; }
        .tab-list li a:hover {
          background: #5ec4ec;
          color: #fff; }
    .tab-list li.active a {
      color: #fff;
      background: #21ade5; }
    .tab-list li + li a {
      border-left: 0; }



@media screen and (min-width: 1400px) {
	
  .tab-list {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 100px; }
    .tab-list li {
      width: 100%; }
      .tab-list li a {
        display: block;
        text-align: center;
        line-height: 50px;
        width: 100%;
        background: #fff;
        color: #21ade5;
        font-weight: 600;
        border: #21ade5 solid 1px;
        box-sizing: border-box; }
        .tab-list li a:hover {
          background: #5ec4ec;
          color: #fff; }
    .tab-list li.active a {
      color: #fff;
      background: #21ade5; }
    .tab-list li + li a {
      border-left: 0; }
  
}

.tab-contents-item {
  display: none;
}
.tab-contents-item.show {
  display: block;
}

/* ---- recruit faq ---- */
  .recruit-pageNav {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px; }
    .recruit-pageNav li {
      width: 100%; }
      .recruit-pageNav li a {
        display: block;
        text-align: center;
        line-height: 50px;
        width: 100%;
        background: #fff;
        color: #21ade5;
        font-weight: 600;
        border: #21ade5 solid 1px;
        box-sizing: border-box;
        text-decoration: none; }
        .recruit-pageNav li a:hover {
          background: #5ec4ec;
          color: #fff; }
    .recruit-pageNav li.current a {
      color: #fff;
      background: #21ade5; }
    .recruit-pageNav li + li a {
      border-left: 0; }
      
    .recruit-answerList li {
      list-style-type : none;
      padding:15px 0;
      border-bottom:1px solid #ccc; }

    .recruit-answerList li:first-child{
    padding-top:0;
    }

    .recruit-answerList li:last-child{
    border-bottom: none;
    }



@media screen and (min-width: 1400px) {
	
  .recruit-pageNav {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 100px; }
    .recruit-pageNav li {
      width: 100%; }
      .recruit-pageNav li a {
        display: block;
        text-align: center;
        line-height: 50px;
        width: 100%;
        background: #fff;
        color: #21ade5;
        font-weight: 600;
        border: #21ade5 solid 1px;
        box-sizing: border-box; }
        .recruit-pageNav li a:hover {
          background: #5ec4ec;
          color: #fff; }
    .recruit-pageNav li.current a {
      color: #fff;
      background: #21ade5; }
    .recruit-pageNav li + li a {
      border-left: 0; }
  
}


/*
--------------------------------
	about
--------------------------------
*/


/* ---- header ---- */

.category-5 .page-title {
	background-color: #fff;
	height: 90px;
	margin-bottom: 0;
}

#about.category-5 .page-title {
	margin-bottom: 90px;
}

.category-5 .page-title h1 {
	color: #222;
}


.category-5 .page-title.line-2 h1 {
	top: 45px;
}

/* ---- message ---- */

.category-5 .message-head {
	height: 360px;
	margin-top: -90px;
	background-color: #fff;
}

.category-5 .message-head .inner {
	position: relative;
	height: 360px;
	margin-right: 30px;
	background: url(../../about/images/img_1.jpg) no-repeat right bottom;
}

.category-5 .message-head .txt {
	position: absolute;
	left: 0;
	bottom: 50px;
	width: 100%;
	padding: 0 340px 0 30px;
}

.category-5 .message-head .txt h2 {
	display: inline-block;
	margin: 0;
	padding-bottom: 0;
	font-size: 3rem;
	font-weight: normal;
	line-height: 1.55;
	text-align: left;
}

.category-5 .message-head .txt h2::after {
	content: none;
}

.category-5 .message-head .txt h2 span {
	display: block;
	padding-top: 50px;
	font-size: 1.5rem;
	text-align: right;
}

.category-5 .message-head .txt h2 span strong {
	display: inline-block;
	padding-left: 12px;
	transform: translateY(.2rem);
	font-size: 2.5rem;
	font-weight: normal;
}

.category-5 .message-body .body-text {
	margin: 60px 120px 0 150px;
}

.category-5 .message-body .body-text:last-child {
	margin-top: 30px;
	text-align: right;
}

@media screen and (max-width: 1080px) {
	
	.category-5 .message-head .txt {
		padding: 0 360px 0 30px;
	}
	
	.category-5 .message-head .txt h2 {
		font-size: 2.4rem;
		line-height: 1.5;
	}
	
	.category-5 .message-head .txt h2 br {
		display: none;
	}
	
	.category-5 .message-body .body-text {
		margin: 60px 60px 0 90px;
	}
  
}


/* ---- corporate ---- */

#about-corporate .gmap {
	height: 40vw;
	margin: 80px 0 0 30px;
}

#about-corporate .gmap iframe {
	width: 100%;
	height: 100%;
	border: 0;
}


/* ---- officer ---- */

#about-officer .container h2:first-child {
	margin-top: 0;
}

#about-officer .w25-sp100 img {
	width: 70%;
}

#about-officer .w25-sp100 .title {
	margin-top: 20px;
	color: #a4a4a4;
	font-size: 1.3rem;
	line-height: 1.5;
}

#about-officer .w25-sp100 h3 {
	margin-top: 5px;
	color: #000;
}

#about-officer .w75 {
	padding-top: 24px;
}


/* ---- philosophy ---- */
#about-philosophy .container h2:not([class]) {
	font-size: 3rem;
	padding-bottom: 0;
}
#about-philosophy .container h2::after {
	content: none;
}
#about-philosophy h3 {
	margin-top: 40px;
	color: #222;
	line-height: 1.1;
	border-bottom: solid 3px #21ade5;
	display: inline-block;
}

#about-philosophy h3 span {
	font-size: 1.8rem;
	font-weight: normal;
	color: #d79240;
}

#about-philosophy .headline {
	font-size: 1.8rem;
	margin-top: 20px;
	text-align: left;
	font-weight: bold;
}

#about-philosophy .col {
	margin-top: 20px;
}

#about-philosophy dl {
	display: inline-block;
	overflow: hidden;
	text-align: left;
    font-size: 1.8rem;
}

#about-philosophy dt {
	clear: left;
	float: left;
	/*width: 8em;*/
	width: 8em;
	/*padding: 10px 0 10px 1em;*/
	padding: 10px 1.5em 10px 0;
	text-align:justify;
	text-align-last:justify;
	text-justify:inter-ideograph;
	/*background-image: url(../images/icon_list.png);
	background-repeat: no-repeat;
	background-position: 2px 50%;
	background-size: 6px 6px;*/
	display: flex;
	justify-content: space-between;
	font-weight: bold;
}

#about-philosophy dd {
	float: left;
	padding: 10px 0;
}


/* ---- logo ---- */

#about-logo em {
	color: #21ade5;
	font-weight: bold;
	font-style: normal;
}




/*
--------------------------------
	contact
--------------------------------
*/


/* ---- header ---- */

.category-6 .page-title {
	background-color: #989785;
	background-image: url(../../contact/images/bg_header.jpg);
}

.category-6 .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}

.category-7 .page-title {
	background-color: #989785;
	background-image: url(../../hp-update/images/headerbg.jpg);
}

.category-7 .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}

/* ---- top ---- */

.contact-faq-box {
	margin: 50px 0 0 30px;
	padding: 80px 0;
	background-color: #f7f7f7;
	text-align: center;
}

.contact-faq-heading {
	display: inline-block;
	padding: 10px 0 10px 130px;
	background: url(../../contact/images/icon_qa.png) no-repeat 0 50%;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
}

.contact-faq-box ul {
	margin: 50px 10% 20px;
	text-align: left;
}

.contact-faq-box ul li {
	display: table;
	width: 100%;
}

.contact-faq-box ul li span {
	display: table-cell;
	width: 85px;
	height: 85px;
	background-color: #21ade5;
	background-image: url(../../contact/images/icon_q.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 19px;
	text-indent: -9999px;
}

.contact-faq-box ul li a {
	display: table-cell;
	position: relative;
	height: 85px;
	padding: 0 100px 0 25px;
	background-color: #e6e6e6;
	color: #222;
	font-size: 1.7rem;
	line-height: 1.4;
	vertical-align: middle;
	text-decoration: none;
	transition: background-color .3s;
}

.contact-faq-box ul li a::before {
	content: "";
	display: block;
	position: absolute;
	right: 25px;
	top: 50%;
	width: 15px;
	height: 15px;
	margin-top: -8px;
	border-top: 2px solid #21ade5;
	border-right: 2px solid #21ade5;
	transform: rotate(45deg);
}

@media all and (-ms-high-contrast:none) {
	
	.contact-faq-box ul li a::before { /* IE10, 11 */
		top: 43px;
	}
	
}

.contact-faq-box ul li:nth-child(2n) span {
	background-color: #84cfed;
}

.contact-faq-box ul li:nth-child(2n) a {
	background-color: #f7f7f7;
}

.contact-faq-box ul li a:hover,
.contact-faq-box ul li a:active {
	background-color: #a5dbf1;
}

@media screen and (max-width: 960px) {
	
	.contact-faq-heading {
		font-size: 2rem;
	}
	
	.contact-faq-box ul {
		margin: 50px 5% 20px;
	}
	
}


/* ---- form links ---- */

.contact-form-links {
	display: table;
	width: calc(100% - 30px);
	margin: 60px 0 0 30px;
}

.contact-form-links a {
	display: table-cell;
	width: 33%;
	position: relative;
	padding: 45px 45px 45px 130px;
	background-repeat: no-repeat;
	background-position: 20px 50%;
	background-size: 90px;
	transition: background-color .3s;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.5;
	text-decoration: none;
	vertical-align: middle;
}

.contact-form-links a strong {
	display: block;
	margin-bottom: 10px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
}

.contact-form-links a strong span {
	white-space: nowrap;
}

.contact-form-links a::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 50px;
	height: 50px;
	transform: translateZ(0);
	transition: background-color .3s;
}

.contact-form-links a::after {
	content: "";
	display: block;
	position: absolute;
	right: 22px;
	bottom: 20px;
	z-index: 2;
	width: 11px;
	height: 11px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateZ(0);
}

.contact-form-links a:first-child {
	background-color: #0088bf;
	background-image: url(../../contact/images/icon_service.png);
}

.contact-form-links a:first-child:hover,
.contact-form-links a:first-child:active,
.contact-form-links a:first-child::before {
	background-color: #0072a0;
}

.contact-form-links a:nth-child(2) {
	background-color: #21ade5;
	background-image: url(../../contact/images/icon_ir.png);
}

.contact-form-links a:nth-child(2):hover,
.contact-form-links a:nth-child(2):active,
.contact-form-links a:nth-child(2)::before {
	background-color: #0d85b6;
}

.contact-form-links a:last-child {
	background-color: #2cb9be;
	background-image: url(../../contact/images/icon_others.png);
}

.contact-form-links a:last-child:hover,
.contact-form-links a:last-child:active,
.contact-form-links a:last-child::before {
	background-color: #02a1a7;
}

@media screen and (max-width: 960px) {
	
	.contact-form-links a {
		padding: 185px 30px 40px 30px;
		background-position: 50% 40px;
		text-align: center;
		vertical-align: top;
	}
	
	.contact-form-links a br {
		display: none;
	}
	
}


/* ---- form: table ---- */

table.contact-form {
	clear: left;
	width: calc(100% - 30px);
	margin: 0 0 0 30px;
}

.body-text + table.contact-form {
	margin-top: 60px;
}

table.contact-form th {
	width: 270px;
	padding: 62px 50px 0 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	vertical-align: top;
	white-space: nowrap;
}

table.contact-form th.line-2 {
	padding-top: 52px;
}

table.contact-form td {
	padding-top: 67px;
	vertical-align: top;
}

table.contact-form td > br {
	display: none;
}

table.contact-form.confirm td br {
	display: inline;
}

table.contact-form tr:first-child th,
table.contact-form tr:first-child td {
	padding-top: 17px;
}

table.contact-form th .required {
	display: inline-block;
	margin-left: 10px;
	padding: .38rem 1.2rem;
	background-color: #e7e7e7;
	border-radius: .98rem;
	color: #e60012;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	transform: translateY(-4px);
}

table.contact-form td .error {
	display: block;
	margin-top: 10px;
	color: #e60012;
	font-size: 1.2rem;
	line-height: 1.5;
}

table.contact-form td ul.remarks {
	margin-top: 18px;
	color: #999;
	font-size: 1.3rem;
}

table.contact-form table {
	width: 100%;
	margin-top: -17px;
}

table.contact-form table th {
	width: 100px;
	padding: 32px 30px 0 0;
	font-size: 1.6rem;
	font-weight: normal;
}

table.contact-form table td {
	padding-top: 32px;
}

table.contact-form.confirm th {
	padding-top: 50px;
	line-height: 1.4;
}

table.contact-form.confirm td {
	padding-top: 48px;
	line-height: 1.8;
}

table.contact-form.confirm table th {
	padding-top: 30px;
	font-weight: bold;
}

table.contact-form.confirm table td {
	padding-top: 26px;
}

table.contact-form.confirm tr:first-child th {
	padding-top: 20px;
}

table.contact-form.confirm tr:first-child td {
	padding-top: 16px;
}


/* ---- form: text ---- */

table.contact-form input[type="text"],
table.contact-form input[type="tel"],
table.contact-form input[type="email"] {
	width: 100%;
	margin-top: -17px;
	padding: 10px 20px;
	border: 1px solid #c2d9e5;
	border-radius: 10px;
	outline: none;
	font-size: 1.6rem;
	line-height: 1.6;
	transition: border-color .3s;
	-webkit-appearance: none;
}

table.contact-form input[type="text"]:focus,
table.contact-form input[type="tel"]:focus,
table.contact-form input[type="email"]:focus {
	border-color: #72bce4;
}

table.contact-form input[type="text"].short,
table.contact-form input[type="tel"].short,
table.contact-form input[type="email"].short {
	width: 32%;
	margin-right: 30px;
}

table.contact-form input[name="zip"] {
	width: 200px;
}

table.contact-form .imeoff {
	ime-mode: disabled;
}


/* ---- form: textarea ---- */

table.contact-form textarea {
	width: 100%;
	height: 160px;
	margin-top: -17px;
	padding: 10px 20px;
	border: 1px solid #c2d9e5;
	border-radius: 10px;
	outline: none;
	font-size: 1.6rem;
	line-height: 1.6;
	transition: border-color .3s;
	-webkit-appearance: none;
}

table.contact-form textarea:focus {
	border-color: #72bce4;
}


/* ---- form: select ---- */

.select-wrapper {
	display: inline-block;
	margin-top: -17px;
	border: 1px solid #c2d9e5;
	border-radius: 10px;
	background-color: #fff;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpiPHz4cD4DA8MEBtJAAROQmATEp0nQBFI7CaTxPxB7APE/IjT9g6r9zwQVeAfEgURoDISqZWBCEtwExBvwaNoAVcOArhEEIoH4ExZNn6ByDLg0/gBiFywaXaFyODXCQq0fiQ9in0JXxITDP6VA/BCKy7ApYMGh8S8QO0DZf7ApAAgwAP8+HPxURdH2AAAAAElFTkSuQmCC");
	background-repeat: no-repeat;
	background-position: 90% 50%;
	outline: none;
	overflow: hidden;
}

.select-wrapper select {
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
	box-sizing: content-box;
	width: 130%;
	margin: 0;
	padding: 10px 42px 10px 20px;
	border: 0;
	border-radius: 0;
	background: none transparent;
	color: inherit;
	outline: none;
	vertical-align: middle;
	font-size: 1.6rem;
	line-height: 1.6;
}

table.contact-form.confirm .select-wrapper {
	margin-top: 0;
	border-style: none;
	overflow: visible;
}

@media all and (-ms-high-contrast:none){
	
  .select-wrapper select { /* IE10 */
  		padding-right: 24px;
  }
  
}


/* form: radio */

input[type="radio"] {
	display: none;
}

input[type="radio"] + label {
	position: relative;
	display: inline-block;
	margin-top: -17px;
	padding: 17px 30px 17px 24px;
	font-size: 1.6rem;
	cursor: pointer;
}

input[type="radio"] + label::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	margin-top: -10px;
	border: 1px solid #c2d9e5;
	background-color: #fff;
	border-radius: 8px;
}

input[type="radio"]:checked + label::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 4px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border-radius: 5px;
	background-color: #21ade5;
}


/* form: checkbox */

input[type="checkbox"] {
	display: none;
}

input[type="checkbox"] + label {
	position: relative;
	display: inline-block;
	margin-top: -17px;
	padding: 17px 30px 17px 24px;
	font-size: 1.6rem;
	cursor: pointer;
}

input[type="checkbox"] + label::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 16px;
	height: 16px;
	margin-top: -9px;
	border: 1px solid #c2d9e5;
	background-color: #fff;
	border-radius: 4px;
}

input[type="checkbox"]:checked + label::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 2px;
	width: 15px;
	height: 8px;
	margin-top: -8px;
	border-left: 4px solid #21ade5;
	border-bottom: 3px solid #21ade5;
	transform: rotate(-45deg);
}


/* form: button */

.contact-form-buttons {
	margin: 50px 0 0 30px;
	text-align: center;
}

.contact-form-buttons input {
	display: inline-block;
	position: relative;
	height: 80px;
	margin: 0 15px;
	padding: 0 160px 0 180px;
	border-style: none;
	border-radius: 40px;
	background-color: #21ade5;
	background-image: url(../images/icon_arrow_white.png);
	background-position: 160px 50%;
	background-repeat: no-repeat;
	background-size: 10px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	transition: background-color .2s;
	cursor: pointer;
}

.contact-form-buttons input:hover,
.contact-form-buttons input:active {
	background-color: #00729f;
}

.contact-form-buttons input.prev,
.contact-form-buttons input.btn_back {
	padding: 0 40px 0 60px;
	background-color: #a0b1b9;
	background-position: 40px 50%;
}

.contact-form-buttons input.prev:hover,
.contact-form-buttons input.prev:active,
.contact-form-buttons input.btn_back:hover,
.contact-form-buttons input.btn_back:active {
	background-color: #677a84;
}




/*
--------------------------------
	news
--------------------------------
*/


/* ---- header ---- */

#news .page-title {
	background-color: #af9374;
	background-image: url(../../news/images/bg_header.jpg), linear-gradient(to right, #af9374 0%, #af9374 50%, #b69a7a 50%, #b69a7a 100%);
}

#news .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}

#news .page-title .ttl {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}


/* ---- list ---- */

.news-list + .news-list {
	display: none;
}

.news-list li {
	overflow: hidden;
}

.news-list li:nth-child(2n+1) {
	background-color: #fbfbfb;
}

.news-list a {
	display: block;
	text-decoration: none;
}

.news-list a:hover,
.news-list a:active {
	text-decoration: underline;
}

.news-list a.pdf,
.news-list a.newwin {
	display: block;
	padding: 0;
	background-image: none;
}

.news-list time {
	float: left;
	width: 130px;
	padding: 28px 0 28px 25px;
	color: #222;
	font-weight: bold;
	line-height: 1.6;
}

.news-list .label {
	float: left;
	width: 120px;
	margin-top: 30px;
	padding: 3px 0;
	border: 1px solid #929292;
	color: #222;
	font-size: 1.2rem;
	text-align: center;
}

.news-list p {
	margin-left: 265px;
	padding: 27px 30px 27px 40px;
	line-height: 1.6;
}

.news-list a.pdf p {
	background-image: url(../images/icon_pdf.png);
	background-repeat: no-repeat;
	background-position: 4px 31px;
	background-size: 15px 15px;
}

.news-list a.newwin p {
	background-image: url(../images/icon_newwin_aqua.png);
	background-repeat: no-repeat;
	background-position: 4px 31px;
	background-size: 18px 16px;
}

.news-list-years {
	padding-left: 30px;
}

.news-list-years li {
	margin-bottom: 12px;
	line-height: 1.6;	
}

.news-list-years li a {
	color: #222;
	text-decoration: none;
}

.news-list-years li a.current {
	color: #a8a8a8;
	cursor: default;
	pointer-events: none;
}

.news-list-years li a:hover,
.news-list-years li a:active {
	color: #21ade5;
	text-decoration: underline;
}

.news-list-years li a::after {
	margin-top: -4px;
}

.news-list-years li a.current::after {
	border-color: #a8a8a8;
}


/* ---- email news ---- */

#news .box-text ol.number {
	margin: 15px 0;
}


/* ---- news detail ---- */

#news .news-detail {
	max-width: 1080px;
	margin: 0 auto;
}

#news .news-detail .area-ttl {
	margin: 90px 0 0 30px;
    padding-bottom: 14px;
    border-bottom: solid 1px #e4e4e4;
}

#news .news-detail h1 {
	margin-top: 3px;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.5;
}

#news .news-detail img.border {
	border: solid 1px #ccc;
}




/*
--------------------------------
	faq
--------------------------------
*/


/* ---- header ---- */

#faq .page-title {
	background-color: #fafbfd;
	background-image: url(../../faq/images/bg_header.jpg);
}

#faq .page-title h1 {
	text-shadow: 0 0 16px rgba(52, 50, 42, .3);
}


/* ---- headlines ---- */

.faq-head p {
	margin: 50px 0 0 30px;
	text-align: center;
}

.faq-head p a {
	display: inline-block;
	position: relative;
	padding-right: 40px;
	font-size: 2.5rem;
	font-weight: bold;
	text-decoration: none;
}

.faq-head p a:hover,
.faq-head p a:active {
	text-decoration: underline;
}

.faq-head p a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 15px;
	height: 15px;
	margin-top: -12px;
	border-right: 3px solid #21ade5;
	border-bottom: 3px solid #21ade5;
	transform: rotate(45deg);
}

.faq-head ul {
	margin: 40px 0 0 30px;
}

.faq-head li {
	position: relative;
	padding: 16px 20px 16px 80px;
	background-color: #fbfbfb;
}

.faq-head li:nth-child(2n) {
	background-color: #fff;
}

.faq-head li::before {
	content: "Q";
	position: absolute;
	top: 50%;
	left: 30px;
	margin-top: -1.25rem;
	font-family: Arial, sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
}

.faq-head li a {
	line-height: 1.75;
	text-decoration: none;
}


.faq-head li a:hover,
.faq-head li a:active {
	text-decoration: underline;
}


/* ---- body ---- */

.faq-body {
	margin: 80px 0;
	padding: 80px 0;
	background-color: #fbfbfb;
}

.faq-body h2 {
	margin-top: 70px !important;
}

.faq-body .inner h2:first-child {
	margin-top: 0 !important;
}

.faq-body dl {
	margin: 0 0 0 30px;
}

.faq-body dt {
	position: relative;
	margin-top: 40px;
	padding: 22px 20px 22px 80px;
	background-color: #efefef;
	font-weight: bold;
	line-height: 1.75;
}

.faq-body dt::before {
	content: "Q";
	position: absolute;
	top: 15px;
	left: 30px;
	font-family: Arial, sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
}

.faq-body dd {
	position: relative;
	padding: 22px 20px 22px 80px;
	background-color: #fff;
	line-height: 1.75;
}

.faq-body dd::before {
	content: "A";
	position: absolute;
	top: 15px;
	left: 30px;
	color: #ff9f00;
	font-family: Arial, sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
}




/*
--------------------------------
	sitemap
--------------------------------
*/


ul.sitemap {
	margin: 60px 0 0 30px;
	line-height: 2;
}

ul.sitemap a {
	text-decoration: none;
}

ul.sitemap a:hover,
ul.sitemap a:active {
	text-decoration: underline;
}

ul.sitemap > li {
	padding: 20px 0;
	border-bottom: 1px solid #ededed;
}

ul.sitemap > li:first-child {
	padding-top: 0;
}

ul.sitemap > li > a {
	display: inline-block;
	position: relative;
	padding-left: 1.5em;
	font-size: 2.2rem;
	font-weight: bold;
}

ul.sitemap > li > a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 1em;
	height: 1em;
	margin-top: -.5em;
	border: 2px solid #21ade5;
	border-radius: .5em;
}

ul.sitemap > li > a::after {
	content: "";
	display: block;
	position: absolute;
	left: .25em;
	top: 50%;
	width: .3em;
	height: .3em;
	margin-top: -.1em;
	border-top: 1px solid #21ade5;
	border-right: 1px solid #21ade5;
	transform: rotate(45deg);
}

ul.sitemap > li > p {
	font-size: 2.2rem;
	font-weight: bold;
}

ul.sitemap > li > ul > li > a,
ul.sitemap > li > ul > li dt {
	font-size: 1.8rem;
	font-weight: bold;
}

ul.sitemap > li > ul > li {
	margin: 10px 0 0 40px;
}

ul.sitemap > li > ul > li > a,
ul.sitemap > li > ul > li dt a {
	display: inline-block;
	position: relative;
	padding-left: 1.5em;
}

ul.sitemap > li > ul > li > a::before,
ul.sitemap > li > ul > li dt a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 1em;
	height: 1em;
	margin-top: -.5em;
	border-radius: .5em;
	background-color: #21ade5;
}

ul.sitemap > li > ul > li > a::after,
ul.sitemap > li > ul > li dt a::after {
	content: "";
	display: block;
	position: absolute;
	left: .3em;
	top: 50%;
	width: .3em;
	height: .3em;
	margin-top: -.15em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

ul.sitemap > li > ul > li dd li {
	display: inline-block;
	position: relative;
	margin-left: 4em;
	padding-left: 1em;
	font-size: 1.6rem;
}

ul.sitemap > li > ul > li dd li::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: .4em;
	height: .4em;
	margin-top: -.25em;
	border-top: 1px solid #21ade5;
	border-right: 1px solid #21ade5;
	transform: rotate(45deg);
}




/*
--------------------------------
	basicpolicy
--------------------------------
*/


#basicpolicy ol.number li {
	padding-left: 2em;
}








/*
-------------------------------------------------------------------------------- width: 0px - 749px
*/


@media screen and (max-width: 749px) {




/*
--------------------------------
	basics
--------------------------------
*/


/* ---- font ---- */

body {
	font-size: 1.4rem;
}




/*
--------------------------------
	common
--------------------------------
*/


/* ---- header ---- */

.header {
	height: 132px;
	background-color: #fff;
	background-image: none;
	box-shadow: 0 0 10px 1px rgba(0, 0, 0, .2);
}

.header .site-id {
	left: 13px;
	top: 14px;
	width: 180px;
	transform: translateX(0);
}


/* ---- global navigation ---- */

.global-nav {
	left: 0;
	top: 64px;
	width: 100%;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	transform: translateX(0);
}

.global-nav li {
	width: 20%;
	margin-right: 0;
}

.global-nav li:nth-child(3) { margin-right: 0; }

.global-nav li::before {
	top: 0;
	height: 66px;
}

.global-nav li:nth-child(1)::before,
.global-nav li:nth-child(2)::before,
.global-nav li:nth-child(3)::before { left: auto; right: 0; }
.global-nav li:nth-child(4)::before { right: 0; }
.global-nav li:nth-child(5)::before { display: none; }

.global-nav li a {
	display: block;
	height: 66px;
	border-bottom: 3px solid transparent;
}

.global-nav li .txt {
	top: 42px;
	font-size: 1.1rem;
}

.global-nav li:nth-child(1) .img { top: 13px; }
.global-nav li:nth-child(1) .img img { width: 20px; }

.global-nav li:nth-child(2) .img { top: 15px; }
.global-nav li:nth-child(2) .img img { width: 23px; }

.global-nav li:nth-child(3) .img { top: 15px; }
.global-nav li:nth-child(3) .img img { width: 14px; }

.global-nav li:nth-child(4) .img { top: 13px; }
.global-nav li:nth-child(4) .img img { width: 15px; }

.global-nav li:nth-child(5) .img { top: 16px; }
.global-nav li:nth-child(5) .img img { width: 26px; }

.global-nav li:nth-child(6) {
	display: table;
	float: none;
	position: absolute;
	right: 13px;
	top: -48px;
	width: auto;
	height: 28px;
	border: 1px solid #dadada;
	border-radius: 14px;
	overflow: hidden;
}

.global-nav li:nth-child(6)::before { content: none; }

.global-nav li:nth-child(6) a {
	display: table-row;
	height: 28px;
	border-style: none;
	transition: background-color .3s;
}

.global-nav li:nth-child(6) a:hover,
.global-nav li:nth-child(6) a:active,
.global-nav li:nth-child(6) a.current {
	background-color: #fffbea;
}

.global-nav li:nth-child(6) .img {
	display: table-cell;
	position: static;
	width: 26px;
	text-align: right;
	vertical-align: middle;
}

.global-nav li:nth-child(6) .txt {
	display: table-cell;
	position: static;
	width: auto;
	padding: 1px 14px 0 4px;
	font-size: 1rem;
	vertical-align: middle;
}

.global-nav li:nth-child(6) .txt span {
	display: inline;
}

@media screen and (max-width: 349px) {
	
	.global-nav li:nth-child(6) .txt span {
		display: none;
	}
	
}

.global-nav li:nth-child(6) .img img { width: 12px; }


/* ---- megamenu ---- */

#megamenu {
	position: absolute;
	top: 132px;
	padding: 0;
	border-bottom-style: none;
	box-shadow: 0 0 10px rgba(48, 64, 68, .1);
}

#megamenu .inner {
	padding: 0 0 60px;
}

#megamenu .lower {
	margin-top: 0;
	padding-top: 0;
	border-top-style: none;
}

#megamenu .heading {
	padding: 25px 15px 0 15px;
	font-size: 1.3rem;
}

#megamenu a.image {
	display: table;
	width: 100%;
	border-bottom: 1px solid #eee;
}

#megamenu a.image .img {
	display: table-cell;
	width: 35%;
	padding: 20px 15px;
	vertical-align: middle;
}

#megamenu a.image .txt {
	display: table-cell;
	position: relative;
	width: 65%;
	margin-top: 0;
	padding: 20px 15px 20px 20px;
	font-size: 1.3rem;
	vertical-align: middle;
}

#megamenu a.image .txt::before {
	top: 50%;
	width: 15px;
	height: 15px;
	margin-top: -7.5px;
	border-radius: 7.5px;
}

#megamenu a.image .txt::after {
	left: 4px;
	top: 50%;
	width: 5px;
	height: 5px;
	margin-top: -3px;
}

#megamenu ul.image {
	margin-top: 0;
	padding: 0 15px 23px 30px;
	border-bottom: 1px solid #eee;
}

#megamenu ul.image li {
	float: none;
	padding-top: 20px;
}

#megamenu ul.image img {
	display: none;
}

#megamenu ul.image span {
	margin-top: 0;
	font-size: 1.3rem;
}

#megamenu ul.image span::before {
	top: .3em;
	width: 7px;
	height: 7px;
}

#megamenu ul.disk li {
	padding: 0;
	font-size: 1.3rem;
}

#megamenu ul.disk.inline li {
	display: block;
	padding: 0;
}

#megamenu ul.disk a {
	display: block;
	padding: 25px 15px 25px 36px;
	border-bottom: 1px solid #eee;
}

#megamenu ul.disk a::before {
	left: 15px;
	top: 50%;
	width: 15px;
	height: 15px;
	margin-top: -7.5px;
	border-radius: 7.5px;
}

#megamenu ul.disk a::after {
	left: 19px;
	top: 50%;
	width: 5px;
	height: 5px;
	margin-top: -3px;
}

#megamenu ul.arrow {
	margin-top: 0;
	padding: 0 15px 23px 30px;
	border-bottom: 1px solid #eee;
}

#megamenu ul.arrow li {
	padding: 20px 0 0 0;
	font-size: 1.3rem;
}

#megamenu ul.arrow li a {
	display: block;
	padding-left: 1em;
}

#megamenu ul.arrow.inline li {
	display: block;
}

#megamenu ul.arrow li::before {
	top: calc(20px + .3em);
	width: 7px;
	height: 7px;
}

#megamenu-close {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60px;
	background-color: #eee;
	border-bottom: 1px solid #e6e6e6;
	color: #555 !important;
	text-decoration: none;
	text-align: center;
}

#megamenu-close:hover,
#megamenu-close:active {
	color: #555;
	text-decoration: none;
}

#megamenu-close span {
	display: inline-block;
	position: relative;
	padding-left: 18px;
	font-size: 1.3rem;
	line-height: 60px;
}

#megamenu-close span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: calc(50% - 1px);
	width: 12px;
	height: 1px;
	background-color: #555;
	transform: rotate(45deg);
}

#megamenu-close span::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: calc(50% - 1px);
	width: 12px;
	height: 1px;
	background-color: #555;
	transform: rotate(-45deg);
}

/* service */

#megamenu-2 {
	padding-bottom: 0;
}

#megamenu-2 .row {
	width: auto;
}
#megamenu-2 .upper {
    display: block;
}
#megamenu-2 .upper .col {
	float: none;
	width: auto;
	margin-left: 0;
}

/* ir */

#megamenu-3 .row {
	width: auto;
}

#megamenu-3 .upper .col {
	float: none;
	width: auto;
	margin-left: 0;
}

#megamenu-3 .upper .col:first-child {
	width: auto;
	margin-right: 0;
}
#megamenu-3 .upper .col:first-child a {
	font-size: 1.3rem;
}


#megamenu-3 .lower .col {
	float: none;
	width: auto;
}

#megamenu-3 .lower .col:first-child {
	width: auto;
	margin-right: 0;
}
#megamenu-3 .lower .col:first-child a {
	font-size: 1.3rem;
}
#megamenu-3 .lower .col.bnr a {
	border: none;
}
#megamenu-3 .lower .col.bnr {
	padding: 0;
	margin-right: 2%;
}
#megamenu-3 .lower .col.bnr a.image .txt::before {
	top: calc(50% - 2em);
}

#megamenu-3 .lower .col.bnr a.image .txt::after {
	top: calc(50% - 2em);
}

#megamenu-3 .lower .col.bnr  a.image .img{
    padding: 15px 10px;
}

#megamenu-3 .lower .col.bnr  a.image .txt{
    padding: 15px 15px 15px 20px;;
}

#megamenu-3 ul.arrow li {
	padding-right: 0;
}
/* recruit */

#megamenu-4 .row {
	width: auto;
}

#megamenu-4 .upper .col:first-child {
	float: none;
	width: auto;
}

#megamenu-4 .upper .col:last-child {
	float: none;
	width: auto;
}

#megamenu-4 .lower .col:first-child {
	float: none;
	width: auto;
}

#megamenu-4 .lower .col:last-child {
	float: none;
	width: auto;
}

#megamenu-4 ul.image li {
	width: auto;
	margin-right: 0;
}

/*
#megamenu-4 ul.arrow li:nth-child(2),
#megamenu-4 ul.arrow li:nth-child(3) {
	display: none;
}
*/

/* about */

#megamenu-5 .row {
	width: auto;
}

#megamenu-5 .upper .col {
	float: none;
	width: auto;
	margin-left: 0;
}


/* ---- body container ---- */

.body {
	width: 100%;
	padding: 132px 0 50px;
}


/* ---- page title ---- */

.page-title {
	height: 150px;
	margin-bottom: 50px;
	padding: 0 15px;
	background-size: cover;
}

.page-title h1 {
	font-feature-settings: normal;
	white-space: normal;
}

.page-title .ttl {
	font-feature-settings: normal;
	white-space: normal;
}

.page-title.line-1 h1 {
	top: 75px;
	font-size: 2.4rem;
	transform: translateY(-50%);
}

.page-title.line-1 .ttl {
	top: 75px;
	font-size: 2.4rem;
	transform: translateY(-50%);
}

.page-title.line-2 h1 {
	top: 75px;
	font-size: 2.4rem;
	transform: translateY(-50%);
}

.page-title.line-2 h1 span {
	margin-bottom: 0;
	font-size: 1.6rem;
}

.page-title.large {
	height: 150px;
	background-size: auto 160px;
}

.page-title.large h1 {
	font-size: 2rem;
}


/* ---- breadcrumbs ---- */

.breadcrumbs {
	display: none;
	top: 12px;
	font-size: 1.1rem;
	line-height: 1.8;
}

.breadcrumbs li {
	display: inline-block;
	padding: 0 .7em 0 1.8em;
}

.breadcrumbs li::before {
	left: 0;
	margin-top: -.8em;
}

.breadcrumbs img {
	margin-top: .4em;
}

.anchor-link.libraryanchor a{
	font-size: 1.3rem;
}
.anchor-link.privacypolicy a{
	font-size: 1.3rem;
}

/* ---- footer links ---- */

.footer .links {
	padding: 10px 0 0;
}

.footer .links ul {
	padding-right: 0;
	padding-bottom: 10px;
	overflow: hidden;
	font-size: 1.2rem;
	line-height: 1.2;
}

.footer .links ul li {
	display: table;
	float: left;
	width: 50%;
	padding: 0;
}

/*
.footer .links ul li:nth-child(5) {
	width: 100%;
}
*/

@media screen and (max-width: 349px) {
	
	.footer .links ul li {
		width: 100%;
	}
	
}

.footer .links ul li::before {
	left: 15px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
}

.footer .links ul li a {
	display: table-cell;
	height: 36px;
	padding: 0 15px 0 26px;
	vertical-align: middle;
}

.footer .facebook {
	display: block;
	position: static;
	width: auto;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid #006d98;
	text-align: center;
	text-decoration: none;
}

.footer .facebook img {
	width: 20px;
	vertical-align: middle;
}

.footer .facebook::after {
	content: "Facebook";
	display: inline-block;
	padding-left: 8px;
	color: #fff;
	font-size: 1.6rem;
	transform: translateY(2px);
}

.footer .btn,
.footer a.btn {
	display: block;
	position: static;
	width: auto;
	margin: 0;
	padding: 12px 0;
	font-weight: normal;
	border-top: 1px solid #006d98;
	border-radius: 0;
	transition: none;
	text-align: center;
	text-decoration: none;
}

.footer .btn_en,
.footer a.btn_en {
  color: #fff;
  background-color: #007bab;
}

.footer .btn_en:hover,
.footer a.btn_en:hover {
  color: #fff;
  background-color: #007bab;
}

.footer .pagetop {
	position: static;
	width: 100%;
	height: 45px;
	border-radius: 0;
	background-color: #006d98;
	opacity: 1;
	transition: none;
}

.footer .pagetop::after {
	left: 50%;
	top: 20px;
	width: 12px;
	height: 12px;
	margin-left: -8.5px;
}

.footer .pagetop:hover,
.footer .pagetop:active {
	background-color: #006d98;
}

.footer .pagetop:hover::after,
.footer .pagetop:active::after {
	top: 16px;
}


/* ---- copyright ---- */

.footer .copyright {
	padding: 15px 15px;
	font-size: .9rem;
}




/*
--------------------------------
	parts
--------------------------------
*/


/* ---- container ---- */

.container > .inner {
	padding-right: 15px;
}


/* ---- utility ---- */

.col {
	margin: 30px 0 0 15px;
}

.container > .inner > .w75 {
	float: none;
	width: auto !important;
}

.container > .inner > .w40 {
	float: none;
	width: auto !important;
}

.container > .inner > .w60 {
	float: none;
	width: auto !important;
}

.container > .inner > .w50 {
	float: none;
	width: auto !important;
}

.container > .inner > .w33 {
	float: none;
	width: auto !important;
}

.container > .inner > .w25 {
	float: left;
	clear: none !important;
	width: calc(50% - 15px) !important;
}

.container > .inner > .w25-sp100 {
	float: none;
	width: auto !important;
}

.sp-left {
	text-align: left !important;
}

.pc-block { display: none !important; }
.pc-inline { display: none !important; }
.sp-block { display: block !important; }
.sp-inline { display: inline !important; }

.mt10 { margin-top: 5px !important; }
.mt20 { margin-top: 10px !important; }
.mt30 { margin-top: 15px !important; }
.mt40 { margin-top: 20px !important; }
.mt50 { margin-top: 25px !important; }
.mt60 { margin-top: 30px !important; }
.mt70 { margin-top: 35px !important; }
.mt80 { margin-top: 40px !important; }
.mt90 { margin-top: 45px !important; }
.mt100 { margin-top: 50px !important; }
.mt110 { margin-top: 55px !important; }
.mt120 { margin-top: 60px !important; }

.w10 { width: 100% !important; }
.w20 { width: 100% !important; }
.w30 { width: 100% !important; }
.w40 { width: 100% !important; }
.w50 { width: 100% !important; }
.w60 { width: 100% !important; }
.w70 { width: 100% !important; }
.w80 { width: 100% !important; }
.w90 { width: 100% !important; }


/* ---- parts list page ---- */

h2.parts-heading {
	margin: 50px 0 0 15px;
	padding: 8px 10px;
	border-radius: 5px;
	font-size: 1.8rem;
}

h3.parts-heading {
	margin: 30px 0 0 15px;
	padding: 6px 10px;
	font-size: 1.4rem;
}

.parts-code {
	display: none;
}

.parts-note {
	display: none;
}


/* ---- headings ---- */

.container h2:not([class]) {
	margin: 50px 0 0 15px;
	padding-bottom: 20px;
	font-size: 2.1rem;
}

.container h2:not([class])::after {
	width: 100px;
	margin-left: -50px;
}

.container h2:not([class]) span {
	font-size: 1.6rem;
}

.container h3:not([class]),
.container .h3 {
	margin: 40px 0 0 15px;
	font-size: 2.1rem;
}

.container .col h3:not([class]),
.container .col .h3 {
	font-size: 2.1rem;
}

.container h4:not([class]),
.container .h4 {
	margin: 30px 0 0 15px;
	font-size: 1.8rem;
	line-height: 1.4;
}

.container .col h4:not([class]),
.container .col .h4 {
	margin-top: 15px;
	font-size: 1.6rem;
}

.container h5:not([class]),
.container .h5 {
	margin: 15px 0 0 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}

.headline {
	margin: 30px 0 0 15px;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: left;
}


/* ---- body text ---- */

.body-text {
	margin: 30px 0 0 15px;
}

.body-text.center {
	text-align: left;
}

.col .body-text {
	margin-top: 15px;
}

.container h3:not([class]) + .body-text,
.container .h3 + .body-text {
	margin-top: 20px;
}

.container h4:not([class]) + .body-text,
.container .h4 + .body-text {
	margin-top: 15px;
}

.container h5:not([class]) + .body-text,
.container .h5 + .body-text {
	margin-top: 5px;
}

.body-note {
	margin: 20px 0 0 15px;
	font-size: 1.1rem;
}

.box-text {
	margin: 30px 0 0 15px;
	padding: 15px 20px 14px;
}

.box-text .title {
	margin-bottom: 12px;
	font-size: 1.6rem;
}

.box-text p {
	line-height: 1.75;
}

.box-text p .note {
	font-size: 1.1rem;
}


/* ---- list ---- */

ul.default {
	margin: 30px 0 0 15px;
}

.container h4:not([class]) + ul.default,
.container .h4 + ul.default,
.col ul.default {
	margin-top: 15px;
}

ul.default li ul {
	margin: 0 0 0 20px;
}

ol.number {
	margin: 30px 0 0 15px;
}

.container h4:not([class]) + ol.number,
.container .h4 + ol.number,
.col ol.number {
	margin-top: 15px;
}

ol.number li ol {
	margin: 0 0 0 20px;
}

ul.remarks {
	margin: 30px 0 0 15px;
}

.col ul.remarks {
	margin-top: 15px;
}

ul.remarks li ul {
	margin: 0 0 0 20px;
}

ul.remarks.small {
	margin: 10px 0 0 15px;
	font-size: 1.1rem;
}


/* ---- text link ---- */

a.newwin {
	background-position: 0 .2em;

}

a.pdf {
	background-position: 2px .2em;
}

/* ---- anchor link ---- */

.anchor-link {
	display: block;
	width: auto;
	height: auto;
	margin: 30px 0 0 15px;
	transition: none;
}

.anchor-link li {
	display: block;
	border-left-style: none;
	border-bottom: 1px solid #fff;
}

.anchor-link a {
	display: block;
	width: auto;
	height: auto;
	min-height: 0;
	padding: 12px 15px 12px 45px;
	font-size: 1.3rem;
}

.anchor-link a:hover,
.anchor-link a:active {
	background-color: #21ade5;
}

.anchor-link a::after {
	left: 20px;
	bottom: 50%;
	width: 7px;
	height: 7px;
	margin-left: 0;
	margin-bottom: -3px;
}

.anchor-link span {
	display: inline;
	height: auto;
	padding: 0;
}

.anchor-link br {
	display: none;
}


/* ---- image link ---- */

.image-link::before {
	width: 40px;
	height: 40px;
}

.image-link::after {
	right: 17px;
	bottom: 15px;
	width: 9px;
	height: 9px;
}

.image-link span {
	padding-bottom: 20px;
	font-size: 2rem;
}

.image-link span::after {
	width: 70px;
	margin-left: -35px;
}


/* ---- box link ---- */

.box-link {
	display: block;
	position: relative;
	height: 0;
	padding-bottom: 65%;
	background-color: #fff;
	overflow: hidden;
	text-decoration: none;
}

.box-link::before {
	width: 40px;
	height: 40px;
}

.box-link:hover::before,
.box-link:active::before,
.box-link.current::before {
	background-color: #00729f;
}

.box-link::after {
	right: 17px;
	bottom: 15px;
	width: 9px;
	height: 9px;
}

.box-link span {
	font-size: 1.2rem;
	line-height: 1.5;
}

.box-link span em,
.fresh span em {
	margin-bottom: 5px;
	font-size: 2rem;
	line-height: 1.3;
}


/* ---- button ---- */

.large-button {
	width: auto;
	height: 50px;
	margin: 20px auto 0;
	border-radius: 25px;
}

.large-button span {
	max-width: calc(100% - 40px);
	max-height: 50px;
	padding-left: 16px;
	font-size: 1.6rem;
}

.large-button span::after {
	left: -4px;
	top: 50%;
	width: 11px;
	height: 11px;
	margin-top: -6px;
}

.small-button {
	height: 30px;
	margin: 15px 5px 0;
	border-radius: 15px;
}

.small-button::after {
	left: 10px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
}

.small-button span {
	padding: 0 18px 0 25px;
	font-size: 1.4rem;
	line-height: 31px;
}


/* ---- image with caption ---- */

.w100 .image-caption {
	width: 100%;
}

.w100 .image-caption img {
	width: 100%;
}

.image-caption span {
	padding: 10px 10px;
	font-size: 1.2rem;
}


/* ---- site link ---- */

.site-link .img span {
	height: 40px;
	border-radius: 20px;
	padding: 0 10px 0 30px;
	background-position: 8px 50%;
	font-size: 1.2rem;
	line-height: 40px;
}

.site-link .txt {
	padding: 15px;
	font-size: 1.2rem;
}

.site-link .txt strong {
	margin-bottom: 8px;
	font-size: 1.4rem;
}

.site-link:hover,
.site-link:active {
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}


/* ---- table: border ---- */

table.border {
	display: block;
	border-bottom: 1px solid #e8e8e8;
	border-right: 1px solid #e8e8e8;
}

table.border.fit {
	width: auto;
}

table.border th {
	display: block;
	padding: 10px 10px;
	border-bottom-style: none;
	border-right-style: none;
	font-size: 1.3rem;
}

table.border td {
	display: block;
	padding: 15px 10px;
	border-bottom-style: none;
	border-right-style: none;
	font-size: 1.3rem;
}

table.border caption {
	padding-bottom: 5px;
	font-size: 1.1rem;
	text-align: left;
}

table.border thead,
table.border tbody,
table.border tr,
table.border caption {
	display: block;
}

.scrollable-table table.border th {
	padding: 10px 20px;
}

.scrollable-table table.border td {
	padding: 10px 20px;
}


/* ---- table: no border ---- */

table.no-border {
	display: block;
	width: auto;
	margin: 30px 0 0 15px;
}

table.no-border tr {
	display: block;
}

table.no-border th {
	display: block;
	width: auto;
	padding: 20px 0 0 0;
	white-space: normal;
}

table.no-border td {
	display: block;
	padding-top: 5px;
}

table.no-border tr:first-child td {
	padding-top: 5px;
}


/* ---- IR graph ---- */

.ir-graph {
	margin: 30px 0 0 15px;
}

.ir-graph .title {
	padding: 15px 10px;
}

.ir-graph .title span {
	padding-left: 3px;
	font-size: 1.1rem;
}

.ir-graph .img {
	margin-top: 10px;
}

.ir-graph .note {
	margin-top: 10px;
	text-align: left;
}


/* ---- plugin download ---- */

.plugin {
	display: block;
	margin: 30px 0 0 15px;
}

.plugin .img {
	display: block;
	padding: 15px 15px 10px 15px;
	text-align: center;
}

.plugin p {
	display: block;
	padding: 0 15px 15px 15px;
	font-size: 1.2rem;
	line-height: 1.4;
}


/* ---- recruit footer navigation ---- */

.recruit-footer-nav {
	margin: 45px 0 0 15px;
	padding-top: 45px;
}

.recruit-footer-nav .title {
	font-size: 1.8rem;
}

.recruit-footer-nav ul {
	margin-top: 10px;
	line-height: 2.2;
}

.recruit-footer-nav ul li::before {
	left: 0;
	width: 7px;
	height: 7px;
	margin-top: -4px;
}




/*
--------------------------------
	top page
--------------------------------
*/


/* ---- slide ---- */

#toppage .slide {
	height: 72vw;
}

#toppage .slide > a {
	height: 72vw;
}

#toppage .slide > a .img {
	height: 72vw;
}

#toppage .slide > a .txt {
	padding: 20vw 15px 0;
}

#toppage .slide > a#slide-2 .txt {
	padding-top: 16vw;
}

#toppage .slide > a .txt span {
	font-size: 3.2vw;
}

#toppage .slide > a .txt strong {
	margin-top: 8px;
	padding-right: 22px;
	font-size: 5.5vw;
	letter-spacing: .05em;
}

#toppage .slide > a .txt strong::before {
	width: 18px;
	height: 18px;
	margin-top: -9px;
	border-radius: 8px;
}

#toppage .slide > a .txt strong::after {
	right: 8px;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	transition: none;
}

#toppage .slide > a:hover .txt strong::after,
#toppage .slide > a:active .txt strong::after {
	right: 5px;
}

#toppage .slide .thmbnails {
	height: 23vw;
}

#toppage .slide .thmbnails li {
	height: 23vw;
}

#toppage .slide .thmbnails li:nth-child(1).current { background-color: #dd6656; }
#toppage .slide .thmbnails li:nth-child(2).current { background-color: #00b0dc; }
#toppage .slide .thmbnails li:nth-child(3).current { background-color: #00a19f; }

#toppage .slide .thmbnails li a {
	height: 23vw;
}

#toppage .slide .thmbnails li .img {
	height: 23vw;
	opacity: .5;
	transition: opacity .3s ease-out;
}

#toppage .slide .thmbnails li.current .img {
	opacity: 0;
}

#toppage .slide .thmbnails li:nth-child(1) .img { background-position: 60% 50% }
#toppage .slide .thmbnails li:nth-child(3) .img { background-position: 55% 50% }

#toppage .slide .thmbnails li a:hover .img,
#toppage .slide .thmbnails li a:active .img {
	opacity: .5;
	transform: scale(1);
}

#toppage .slide .thmbnails li .txt {
	bottom: 3.2vw;
	padding: 0 5px;
}

#toppage .slide .thmbnails li:nth-child(1) .txt { bottom: 5.3vw; }
#toppage .slide .thmbnails li:nth-child(2) .txt { bottom: 2.1vw; }

#toppage .slide .thmbnails li:nth-child(1) .txt img { width: 26px; }
#toppage .slide .thmbnails li:nth-child(2) .txt img { width: 20px; }
#toppage .slide .thmbnails li:nth-child(3) .txt img { width: 28px; }

#toppage .slide .thmbnails li .txt span {
	margin-top: 7px;
	font-size: 2.6vw;
}

#toppage .slide .thmbnails li:nth-child(1) .txt span { margin-top: 8px; }
#toppage .slide .thmbnails li:nth-child(2) .txt span { margin-top: 4px; }


/* ---- IR ---- */

#toppage .ir {
	padding: 25px 0 35px;
}

#toppage .ir h2 {
	padding-bottom: 13px;
	font-size: 2.5rem;
}

#toppage .ir h2::after {
	width: 70px;
	height: 2px;
	margin-left: -35px;
}

#toppage .ir h2 span {
	margin-bottom: 5px;
	font-size: 1.2rem;
}

#toppage .ir ul {
	margin: 25px 0 0 15px;
}

#toppage .ir li {
	float: none;
	width: auto;
	height: auto;
	margin: 10px 0 0;
	padding-bottom: 0;
}

#toppage .ir li:first-child {
	margin-top: 0;
}

#toppage .ir a {
	position: relative;
	display: block;
	width: auto;
	height: auto;
	padding: 22px 45px 22px 75px;
	background-repeat: no-repeat;
	background-position: 15px 50%;
	background-size: 40px;
	text-align: left;
	transition: none;
}

#toppage .ir li:nth-child(1) a { background-image: url(../../images/ir_1.png); }
#toppage .ir li:nth-child(2) a { background-image: url(../../images/ir_2.png); }
#toppage .ir li:nth-child(3) a { background-image: url(../../images/ir_3.png); }
#toppage .ir li:nth-child(4) a { background-image: url(../../images/ir_4.png); }
#toppage .ir li:nth-child(5) a { background-image: url(../../images/ir_5.png); }

#toppage .ir a:hover,
#toppage .ir a:active {
	background-color: #24c2bc;
}

#toppage .ir a img {
	display: none;
}

#toppage .ir a span {
	display: inline;
	margin-top: 0;
	font-size: 1.5rem;
}

#toppage .ir a span br {
	display: none;
}

#toppage .ir li:nth-child(5) span {
	margin-top: 0;
}

#toppage .ir a::before {
	content: none;
}

#toppage .ir a::after {
	right: 20px;
	bottom: 50%;
	width: 12px;
	height: 12px;
	margin-bottom: -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}


/* ---- recruit ---- */

#toppage .recruit {
	display: block;
}

#toppage .recruit .img {
	display: none;
}

#toppage .recruit .txt {
	display: block;
	width: auto;
	padding: 0 0 35px 0;
	text-align: left;
}

#toppage .recruit .txt div {
	padding: 8% 0;
	background-image: url(../../images/recruit_1_sp.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

#toppage .recruit h2 {
	padding-bottom: 13px;
	color: #fff;
	font-size: 2.5rem;
}

#toppage .recruit h2::after {
	width: 70px;
	height: 2px;
	margin-left: -35px;
}

#toppage .recruit h2 span {
	margin-bottom: 5px;
	font-size: 1.2rem;
}

#toppage .recruit h3 {
	text-align: center;
}

#toppage .recruit .txt p {
	margin-top: 0;
	padding: 25px 15px 0;
	line-height: 1.8;
}

#toppage .recruit .txt a.btn {
	display: block;
	height: 48px;
	margin: 30px 15px 0;
	padding: 0 20px 0 35px;
	border-radius: 24px;
	font-size: 3.4vw;
	line-height: 48px;
	text-align: center;
	transition: none;
}

#toppage .recruit .txt a.btn:hover,
#toppage .recruit .txt a.btn:active {
	background-color: #fff;
}

#toppage .recruit .txt a.btn::after {
	left: 22px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
}

#toppage .recruit span.bnr {
	display: block;
	text-align: center;;
	padding: 0 15px;
}


/* ---- interview ---- */

#toppage .interview {
	margin-bottom: 0;
	padding: 20px 15px 65px;
}

#toppage .interview .inner {
	transform: none;
}

#toppage .interview h3 {
	background-size: 35px;
	padding-top: 45px;
	font-size: 1.5rem;
}

#toppage .interview-footer {
	margin-top: 20px;
}

#toppage .interview-footer ul {
	overflow: visible;
}

#toppage .interview-footer li:nth-child(2),
#toppage .interview-footer li:nth-child(4) {
	transform: translateY(30px);
}

#toppage .interview-footer li {
	float: left;
	width: 50%;
	height: auto;
}

#toppage .interview-footer .image-link img {
	margin-top: 0;
}

#toppage .interview-footer .image-link span {
	padding-bottom: 8px;
	font-size: 3vw;
	transform: translate3d(0, -20%, 0);
}

#toppage .interview-footer .image-link span::after {
	width: 50px;
	height: 2px;
	margin-left: -25px;
}

#toppage .interview-footer .image-link span em {
	font-size: 1.33em;
	font-style: normal;
}

#toppage .interview-footer li:nth-child(4) em {
	letter-spacing: -.15em;
}




/* ---- rookie ---- */
.p-index_link_profile {
  margin-bottom: 7px;
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
  color: #222;
  text-align: center;
  text-decoration: none;
}
.p-index_link_positon {
  line-height: 1;
  margin-bottom: 10px;
}
.p-index_link_name {
  line-height: 1.2;
  font-size: 20px;
  font-size: 2.0rem;
}
.p-index_link_name small {
  font-size: 14px;
  font-size: 1.4rem;
}
.p-index_link_ttl {
  font-size: 16px;
  font-size: 1.6rem;
}

/* ---- about ---- */

#toppage .about {
	padding: 35px 15px 30px;
	background-image: url(../../images/bg_about_sp.jpg);
	background-position: 50% 100%;
}

#toppage .about h2 {
	padding-bottom: 13px;
	font-size: 2.5rem;
}

#toppage .about h2::after {
	width: 70px;
	height: 2px;
	margin-left: -35px;
}

#toppage .about h2 span {
	margin-bottom: 5px;
	font-size: 1.2rem;
}

#toppage .about ul {
	margin-top: 20px;
}

#toppage .about li {
	width: 50%;
	padding-bottom: 50%;
}

#toppage .about li a {
	left: 5%;
	top: 5%;
	width: 90%;
	height: 90%;
	padding-top: 40%;
	border-width: 1px;
	font-size: 4.2vw;
	transition: none;
}

#toppage .about li a:hover,
#toppage .about li a:active {
	border-color: #fff;
	background-color: rgba(215, 146, 64, 0);
}


/* ---- news ---- */

#toppage .news h2 {
	margin-top: 35px;
	padding-bottom: 13px;
	font-size: 2.5rem;
}

#toppage .news h2::after {
	width: 70px;
	height: 2px;
	margin-left: -35px;
}

#toppage .news h2 span {
	margin-bottom: 0;
	font-size: 1.2rem;
}

#toppage .news .mt40 {
	margin-top: 25px !important;
}

#toppage .news .small-button {
	height: 46px;
	margin: 0;
	border-radius: 23px;
}

#toppage .news .small-button::after {
	left: 60px;
}

#toppage .news .small-button span {
	padding-left: 80px;
	padding-right: 60px;
	line-height: 46px;
	letter-spacing: .1em;
}

#toppage .news h2 + .col {
	margin-top: 25px;
	padding: 0 15px;
}

#toppage .news li {
	padding: 15px 0;
	border-top: 1px solid #dcdcdc;
}

#toppage .news li:first-child {
	border-top-style: none;
}

#toppage .news li time {
	width: 70px;
	padding: 2px 0;
	line-height: 1;
}

#toppage .news li .label {
	width: 110px;
	margin-top: 0;
	padding: 2px 0;
	font-size: 1.1rem;
	line-height: 1;
}

#toppage .news li p {
	clear: left;
	margin: 0;
	padding: 10px 0 0 0;
	line-height: 1.4;
}

#toppage .news li a.pdf p {
	padding-left: 24px;
	background-position: 0 10px;
	background-size: 15px 15px;
}

#toppage .news li a.newwin p {
	padding-left: 24px;
	background-position: 0 10px;
	background-size: 18px 16px;
}




/*
--------------------------------
	strength
--------------------------------
*/


/* ---- common ---- */

html {
	overflow-y: auto;
}

#strength {
	background-image: none;
	overflow-x: auto;
	font-size: 1.4rem;
}

#strength .service-footer {
	margin: 0;
}

#strength .scene {
	height: auto;
	padding: 0 15px;
}

#strength .scene .contents {
	display: block;
	position: static;
	width: auto;
	height: auto;
	margin-left: 0;
}


/* ---- breadcrumbs ---- */

#strength .breadcrumbs-wrapper {
	display: none;
}


/* ---- backgrounds ---- */

#backgrounds {
	display: none;
}


/* ---- stake holders ---- */

#stake-holders {
	display: none;
}

#stake-holder-parts {
	display: none;
}


/* ---- scene-1 ---- */

#scene-1 {
	background-color: #eeeded;
	background-image: url(../../strength/images/sp/bg_1.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-1-txt {
	position: static;
	padding-bottom: 40px;
	transform: translate(0, 0);
}

#scene-1-txt h1 {
	padding-top: 9vw;
	font-size: 6.7vw;
	text-align: center;
}

#scene-1-txt h2 {
	margin-top: 92vw;
	font-size: 5vw;
	line-height: 1.4;
}

#scene-1-txt p {
	margin-top: 15px;
	font-size: 1.4rem;
	line-height: 1.8;
}

#scene-1-img {
	display: none;
}


/* ---- scene-2 ---- */

#scene-2 {
	background-color: #eeeded;
	background-image: url(../../strength/images/sp/bg_2.jpg);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: 100%;
}

#scene-2-txt {
	padding: 0 0 102vw;
}

#scene-2-txt h2 {
	font-size: 5vw;
	line-height: 1.4;
}

#scene-2-txt h2 span {
	margin-bottom: 8px;
	font-size: 3.4vw;
	font-weight: normal;
}


/* ---- scene-3 ---- */

#scene-3 {
	background-color: #f2e9d2;
	background-image: url(../../strength/images/sp/bg_3.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-3-txt {
	position: static;
	width: auto;
	padding: 69vw 0 12vw;
	background-image: none;
}

#scene-3-txt h2 {
	font-size: 5vw;
	line-height: 1.4;
}

#scene-3-txt p {
	margin-top: 20px;
	line-height: 1.8;
}


/* ---- scene-4 ---- */

#scene-4 {
	background-color: #ecf7f9;
	background-image: url(../../strength/images/sp/bg_4.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-4-txt {
	position: static;
	width: auto;
	max-width: none;
	padding: 69vw 0 12vw;
	background-image: none;
}

#scene-4-txt h2 {
	font-size: 5vw;
	line-height: 1.4;
}

#scene-4-txt h2 span {
	font-weight: bold;
}

#scene-4-txt p {
	margin-top: 20px;
	line-height: 1.8;
}


/* ---- scene-5 ---- */

#scene-5 {
	background-color: #f5fffd;
	background-image: url(../../strength/images/sp/bg_5.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-5-txt {
	position: static;
	width: auto;
	max-width: none;
	padding: 69vw 0 12vw;
	background-image: none;
}

#scene-5-txt h2 {
	font-size: 5vw;
	line-height: 1.4;
}

#scene-5-txt p {
	margin-top: 20px;
	line-height: 1.8;
}


/* ---- scene-6 ---- */

#scene-6 {
	background-color: #fff;
	background-image: url(../../strength/images/sp/bg_6.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-6-txt {
	position: static;
	width: auto;
	padding: 12vw 0 12vw;
	transform: none;
}

#scene-6-txt h2 {
	font-size: 5.2vw;
}

#scene-6-txt h2 + p {
	display: none;
}

#scene-6-txt h3 {
	margin-top: 46vw;
	font-size: 5vw;
	line-height: 1.3;
}

#scene-6-txt h3 + p {
	width: auto;
	margin: 20px 0 0;
	line-height: 1.8;
}

@media screen and (max-width: 350px) {
	
	#scene-6-txt h2 {
		font-size: 1.9rem;
	}
	
	#scene-6-txt h3 {
		font-size: 1.7rem;
	}
	
}


/* ---- scene-7 ---- */

#scene-7 {
	background-color: #000;
	background-image: url(../../strength/images/sp/bg_7.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100%;
}

#scene-7-txt {
	padding: 12vw 0 12vw;
}

#scene-7-txt h2 {
	margin-bottom: 25px;
	padding-bottom: 18px;
	font-size: 5vw;
	line-height: 1.4;
}

@media screen and (max-width: 350px) {
	#scene-7-txt h2 {
		font-size: 1.7rem;
	}
}

#scene-7-txt h2::after {
	width: 70px;
	height: 2px;
	margin-left: -35px;
}

#scene-7-txt p {
	margin-top: 20px;
	line-height: 1.8;
	text-align: left;
}




/*
--------------------------------
	service
--------------------------------
*/


/* ---- common ---- */

.round-bottom-container .bg {
	padding: 0 15px;
}

.round-bottom-container .contents {
	padding: 30px 0 60px;
}

.service-intro-heading h2 {
	padding: 8px 20px;
	font-size: 1.6rem;
}

.service-intro-heading h2::before {
	width: 25px;
	height: 25px;
}

.service-intro-heading h2::after {
	width: 25px;
	height: 25px;
}

.service-intro-heading p {
	margin-top: 20px;
	font-size: 1.4rem;
	font-weight: normal;
}

.service-intro-heading p br {
	display: none;
}


/* ---- footer links ---- */

.service-footer {
	margin: 40px 0 -50px;
}

.service-footer .title {
	padding: 65px 15px 20px 15px;
	background-position: 50% 20px;
	background-size: 30px;
	font-size: 1.6rem;
}

.service-footer li {
	float: none;
	width: auto;
	height: 40vw;
}

.service-footer .image-link {
	height: 100%;
	overflow: hidden;
}

.service-footer li:nth-child(2) .image-link img {
	margin-top: -10vw;
}

.service-footer .image-link span {
	padding-bottom: 15px;
	font-size: 1.8rem;
	line-height: 1.5;
	transform: translate3d(0, -50%, 0);
}

.service-footer .image-link span em {
	font-size: 2.4rem;
}


/* ---- dental ---- */

#dental .page-title h1 {
	top: 80px;
}

#dental .page-title .icon {
	top: 24px;
}

#dental .page-title .icon img {
	width: 32px;
}

#dental .service-intro-body {
	margin-bottom: 0;
}

#dental .service-intro-body h3 {
	position: static;
	width: auto;
	margin-top: 30px;
	padding: 12px 0;
	box-shadow: none;
	font-size: 4.7vw;
}

#dental .service-intro-body h3 img {
	width: 36px;
	margin-bottom: 5px;
}

#dental .service-intro-body > ul {
	margin-top: 20px;
}

#dental .service-intro-body > ul > li {
	position: relative;
	float: none;
	width: auto;
}

#dental .service-intro-body .target {
	position: absolute;
	right: 0;
	top: 0;
	width: 31%;
	height: 100%;
	padding-bottom: 0;
	background-position: 50% 50%;
	background-size: contain;
}

#dental .service-intro-body > ul > li:nth-child(1) .target {
	background-image: url(../../service/dental/images/target_1_sp.png);
}

#dental .service-intro-body > ul > li:nth-child(2) .target {
	background-image: url(../../service/dental/images/target_2_sp.png);
}

#dental .service-intro-body > ul > li:nth-child(3) .target {
	background-image: url(../../service/dental/images/target_3_sp.png);
}

#dental .service-intro-body .target::before {
	left: -25%;
	bottom: 50%;
	width: 11px;
	height: 24px;
	margin-left: 0;
	margin-bottom: -12px;
}

#dental .service-intro-body .target::after {
	left: calc(-25% + 10px);
	bottom: 50%;
	border-style: solid;
	border-width: 22px 0 22px 20px;
	margin-left: 0;
	margin-bottom: -22px;
}

#dental .service-intro-body > ul > li:nth-child(1) .target::after {
	border-color: transparent transparent transparent #ff9f00;
}

#dental .service-intro-body > ul > li:nth-child(2) .target::after {
	border-color: transparent transparent transparent #00a2cb;
}

#dental .service-intro-body > ul > li:nth-child(3) .target::after {
	border-color: transparent transparent transparent #1ac093;
}

#dental .service-intro-body .services {
	width: 62%;
	min-height: 210px;
	padding: 20px 15px 30px;
}

#dental .service-intro-body .services > a {
	padding: 6px;
	border-radius: 16px;
	font-size: 1.5rem;
}

#dental .service-intro-body .services ul {
	padding: 5px 0 0 0;
}

#dental .service-intro-body .services li {
	padding-top: 15px;
}

#dental .service-intro-body .services li a {
	display: block;
	padding-left: 20px;
	font-size: 1.3rem;
}

#dental .service-intro-body .services li a::before {
	top: 2px;
	width: 14px;
	height: 14px;
	border-radius: 7px;
}

#dental .service-intro-body .services li a::after {
	left: 5px;
	top: 6px;
	width: 4px;
	height: 4px;
}

#dental .service-intro-body .arrow {
	width: 20px;
	height: 13%;
}

#dental .service-intro-body .arrow::before {
	left: -8px;
	top: -19px;
	border-top: 0 solid transparent;
	border-right: 18px solid transparent;
	border-bottom: 20px solid #939393;
	border-left: 18px solid transparent;
}

#dental .service-intro-body .arrow::after {
	right: -8px;
	top: auto;
	bottom: -19px;
	border-top: 20px solid #939393;
	border-right: 18px solid transparent;
	border-bottom: 0 solid transparent;
	border-left: 18px solid transparent;
}

#dental .service-intro-body .arrow-1 {
	left: calc(85% - 12px);
	top: auto;
	bottom: calc(50% - 48px + 19vw);
}

#dental .service-intro-body .arrow-2 {
	left: calc(85% - 12px);
	top: calc(50% + 48px + 19vw);
}

.dentist-heading {
	margin: 40px 0 0 15px;
}

.dentist-heading::before {
	bottom: 10px;
	height: 3px;
	z-index: 0;
	background-image: linear-gradient(to right, #e6e6e6 0, #e6e6e6 3px, transparent 3px, transparent 6px);
	background-size: 6px 3px;
}

.dentist-heading span {
	font-size: 1.4rem;
}

.dentist-heading img {
	margin: 10px auto;
}

#patient.dentist-heading img { width: 70px; }
#dentist.dentist-heading img { width: 37px; }
#related-company.dentist-heading img { width: 35px; }

.dentist-heading strong {
	padding: 0 12px;
	font-size: 2.2rem;
}

.dentist-container {
	margin-top: 40px;
	padding-bottom: 20px;
}

.dentist-container .inner {
	padding-right: 15px;
	transform: translateY(-15px);
}

.dentist-container .row {
	margin-left: 15px;
}

.dentist-container .img-left .img,
.dentist-container .img-right .txt {
	float: none;
	width: auto;
}

.dentist-container .img-right .img,
.dentist-container .img-left .txt {
	float: none;
	width: auto;
}

.dentist-container .row .txt {
	padding-top: 15px;
}

.dentist-container .row .txt h3 {
	font-size: 2.1rem;
}

.dentist-container .row .txt p	{
	margin-top: 15px;
	font-size: 1.4rem;
	line-height: 1.7;
}

.dentist-container .row .txt p.lead	{
	font-size: 1.8rem;
}

.dentist-container .w25 {
	width: calc(50% - 15px) !important;
	margin-top: 15px !important;
}

.dentist-container .site-link .txt {
	font-size: 1.2rem;
}

#dentist-1 .clearfix .w25:last-child .site-link strong {
	font-size: 1.3rem;
}

.dentist-container .large-button span {
	font-size: 1.4rem;
}

.dentist-container .box-text {
	margin: 30px 0 0 15px;
	padding: 15px 10px;
	box-shadow: 0 0 15px #e4eff1;
}

.dentist-container .box-text .title {
	margin-bottom: 15px;
	font-size: 1.4rem;
}

.dentist-container .box-text p img {
	width: 45%;
	margin: 0 5px;
}

.dentist-container .box-text .topicsBox {
    display: block;
    margin-top: 20px;
    padding: 20px;
}

.dentist-container .box-text .topicsBox figure {
    width: 100%;
    flex-shrink: 0;
    display: block;
}

.dentist-container .box-text .topicsBox .text {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 20px;
}

.dentist-container .box-text .titleBlue {
	font-size: 1.4rem;
}

.dentist-container .box-text .topicsBox .text em {
	font-size: 1.4rem;
}

.dentist-container.patient + .dentist-container.patient,
.dentist-container.related-company {
	padding-bottom: 20px;
}

.related-company-figure {
	height: 0;
	margin: 25px 0 0 15px;
	padding-bottom: 128%;
	background-image: url(../../service/dental/images/img_3_0_sp.png);
}


/* ---- business ---- */

#business .page-title {
	background-color: #1a1f2a;
	background-image: url(../../service/business/images/bg_header.jpg), linear-gradient(to right, #7b8491 0%, #7b8491 50%, #1a1f2a 50%, #1a1f2a 100%);
}

#business .page-title h1 {
	top: 90px;
}

#business .page-title .icon {
	top: 30px;
}

#business .page-title .icon img {
	width: 48px;
}

#business .round-bottom-container .bg {
	background-size: 120%;
	background-position: 50% 100%;
}

#business .round-bottom-container .contents {
	padding-bottom: 0;
}

#business .service-intro-heading h2 {
	padding: 12px 10px;
}

#business .service-intro-heading p {
	margin-top: 20px;
}

#business .service-intro-body {
	margin: -30px -15px 0;
	padding-bottom: 77.6%;
	background-image: url(../../service/business/images/img_intro_sp.png);
}

#business .service-intro-body a {
	left: 8%;
	width: 24%;
	font-size: 2vw;
	transition: none;
}

#business .service-intro-body a:hover,
#business .service-intro-body a:active {
	background-color: #21ade5;
}

#business .service-intro-body a.production {
	top: 54%;
}

#business .service-intro-body a.marketing {
	top: 67%;
}

#business .service-intro-body a.marketing::after {
	bottom: -65%;
}

#business .container h2:not([class]) {
	font-size: 2.1rem;
}


/* ---- consumer ---- */

#consumer .page-title h1 {
	top: 90px;
}

#consumer .page-title .icon {
	top: 30px;
}

#consumer .page-title .icon img {
	width: 63px;
}

#consumer .round-bottom-container .bg {
	background-image: url(../../service/consumer/images/bg_intro_sp.jpg);
}

#consumer .round-bottom-container .contents {
	padding-bottom: 10px;
}

#consumer .service-intro-heading h2 {
	padding: 10px 25px;
	letter-spacing: .04em;
}

#consumer .service-intro-heading p {
	margin-top: 15px;
}

#consumer .service-intro-body {
	margin-top: -10px;
	padding-bottom: 75.2%;
	background-image: url(../../service/consumer/images/img_intro_sp.png);
}

#consumer .service-intro-body a {
	left: 6%;
	top: 53%;
	width: 28%;
	padding: 2% 0 7%;
	font-size: 2.4vw;
	transition: none;
}

#consumer .service-intro-body a:hover,
#consumer .service-intro-body a:active {
	background-color: #21ade5;
}

#consumer .service-intro-body a::after {
	bottom: -22%;
	width: 35%;
	height: 0;
	padding-bottom: 35%;
}

#consumer .service-intro-body a::before {
	top: -8%;
	width: 13%;
	height: 0;
	padding-bottom: 13%;
	transition: none;
}

#consumer .service-intro-body a:hover::before,
#consumer .service-intro-body a:active::before {
	background-color: #21ade5;
}

#consumer .container h2:not([class]) {
	font-size: 2.1rem;
}

#consumer .dentist-container {
	margin-top: 30px;
	padding: 30px 0;
}

#consumer .dentist-container h3:not([class]) {
	margin: 0 0 0 15px;
	font-size: 2.1rem;
	line-height: 1.4;
}

#consumer .badge {
	width: 9rem;
	margin-bottom: 15px;
	padding: .3rem 0;
	border-radius: 1.2rem;
	font-size: 1rem;
}

#consumer .dentist-container .w25 {
	margin-top: 30px !important;
}

.dentist-container .w50 {
	width: calc(100% - 15px) !important;
}

.dentist-container .w50.last {
	margin-bottom: 40px;
}

.dentist-container .w50 .site-link .img {
	float: right;
	width: 48%;
}

.dentist-container .w50 .site-link .txt {
	float: left;
	width: 48%;
}

.dentist-container .w50:nth-child(2n) .site-link .txt {
	width: 47%;
	padding-left: 0;
}

.dentist-container .w50 .site-link strong {
	display: block;
	float: none;
	width: auto;
	margin-bottom: 10px;
	font-size: 1.8rem;
}

.dentist-container .w50 .site-link strong br {
	display: none;
}

.dentist-container .w50:nth-child(2n) .site-link strong {
	width: auto;
	padding-left: 0;
}


/* ---- portal ---- */

#dental-portal .page-title,
#dental-management .page-title {
	background-position: 67% 0;
}

#dental-portal .page-title h1,
#dental-management .page-title h1 {
	text-shadow: 0 0 3px #fff;
}

#dental-portal .container + .container {
	margin-top: 30px;
	padding-top: 30px;
}

#dental-portal .container .col:first-child {
	padding-right: 0;
	text-align: center;
}

#dental-portal .container .col:first-child img {
	width: 80%;
}

#dental-portal .container .col:last-child {
	padding-left: 0;
}

#dental-portal .container .col > a strong {
	font-size: 2.1rem;
}

#dental-portal .container .col > a span {
	margin-top: 10px;
	font-size: 1.4rem;
}

#dental-portal .container .col .box {
	margin-top: 20px;
}

#dental-portal .container .col .box p {
	font-size: 1.6rem;
}

#dental-portal .dentist-container {
	margin: 40px 0 -50px;
	padding: 40px 0 30px;
}


/* ---- management ---- */

.management-container {
	margin-top: 40px;
}

.management-container .inner {
	padding-right: 15px;
	transform: translateY(-20px);
}

.management-container .row {
	margin-left: 15px;
	padding-bottom: 10px;
}

.management-container .img {
	text-align: center;
}

.management-container .img img {
	width: 80%;
}

.management-container .img-left .img,
.management-container .img-right .txt {
	float: none;
	width: auto;
}

.management-container .img-right .img,
.management-container .img-left .txt {
	float: none;
	width: auto;
}

.management-container .row .txt {
	padding-top: 0;
}

.management-container .row .txt h3 {
	margin: 0 0 5px 0;
	font-size: 2.1rem;
}

.management-container .row .txt p	{
	margin-top: 15px;
}

.management-container.last .row .txt h3 {
	font-size: 1.8rem;
}

.management-container.last .row .txt p	{
	padding-bottom: 0;
}

#dental-management .container h3 {
	margin: 30px 0 0 15px;
	font-size: 2.1rem;
}

.management-container2 {
	margin: 40px 0 -50px;
	padding: 40px 0 50px;
}

.management-container2 .body-text.mt50 {
	text-align: center !important;
}

.management-container2 .body-text img {
	width: 180px;
}

.denty-user {
	width: auto;
	padding-bottom: 15px;
}

.denty-user img {
	width: 56%;
}

.denty-user .txt {

	font-size: 4vw;
}

.denty-user .txt strong {
	font-size: 10vw;
}

.denty-user p {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 1.1rem;
}

#dental-management .w33 {
	margin-top: 20px;
}

#dental-management .w33 p {
	padding: 15px;
	font-size: 1.4rem;
}

#dental-management .w33 p strong {
	margin-bottom: 5px;
	font-size: 1.6rem;
}




/*
--------------------------------
	ir
--------------------------------
*/


/* ---- header ---- */

.category-3 .page-title {
	background-position: 35% 0;
}


/* ---- message ---- */

.category-3 .message-head {
	display: block;
	width: auto;
	margin-top: -50px;
}

.category-3 .message-head .txt {
	display: block;
	width: auto;
	padding: 50px 15px;
	background: #fff;
}

.category-3 .message-head .img {
	display: block;
	width: auto;
	background-image: none;
}

.category-3 .message-head .img img {
	display: block;
}

.category-3 .message-head .txt h2 {
	font-size: 1.8rem;
}

.category-3 .message-head .txt p {
	padding-top: 15px;
	font-size: 1.2rem;
}

.category-3 .message-head .txt p strong {
	padding-left: 8px;
	transform: translateY(.1rem);
	font-size: 1.6rem;
}

.category-3 .message-body .body-text {
	margin: 30px 0 0 15px;
}

.category-3 .message-body .body-text strong {
	padding-left: 8px;
	transform: translateY(.1rem);
	font-size: 1.6rem;
}

.category-3 .message-body .body-text:last-child span {
	font-size: 1.2rem;
}


/* ---- compliance ---- */

#ir-compliance table.no-border th {
	width: auto;
}

#ir-compliance table.no-border th br {
	display: none;
}

#ir-compliance ol.number li {
	margin-top: 5px;
}

#ir-benefit table.border th {
	width: auto;
}

#ir-benefit .col.w50.right {
	margin-top: 10px;
}


/* ---- library ---- */

#ir-library table.no-border {
	width: auto;
	margin-left: 15px;
}

#ir-library table.no-border th {
	padding-right: 0;
}


.library-container {
	width: auto;
	margin: 0;
}


.library-container .col .h4 {
	font-size: 1em;
}


.library-container .col {
	margin: 30px 0 0 15px;
}

/* ---- trend ---- */

#ir-trend .scrollable-table table.border th {
	padding: 10px 20px;
}

#ir-trend .scrollable-table table.border td {
	padding: 10px 20px;
}




/*
--------------------------------
	recruit
--------------------------------
*/


/* ---- header ---- */

.category-4 .page-title {
	background-position: 55% 0;
}


/* ---- top ---- */

.recruit-top-head {
	min-height: 0;
	margin-top: -50px;
	padding: 0 15px;
	background-position: 15% 0;
}

.recruit-top-head .img {
	display: none;
}

.recruit-top-head .txt {
	padding: 40px 0 30px;
}

.recruit-top-head .txt h2 {
	padding-bottom: 20px;
	font-size: 2.1rem;
	text-align: center;
}

.recruit-top-head .txt p img {
	display: inline;
	float: left;
	width: 40%;
	margin: 0 20px 10px 0;
}

.recruit-top-interview {
	margin-top: 30px;
	padding: 0;
}

.recruit-top-interview ul {
	width: auto;
	display: block;
}


.recruit-top-interview li {
	float: none;
	width: auto;
	height: 50vw;
}

.recruit-top-interview li:nth-child(odd) { transform: none; }
.recruit-top-interview li:nth-child(even) { transform: none; }

.recruit-top-interview li .image-link {
	height: 100%;
	overflow: hidden;
}

.recruit-top-interview li .image-link img {
	margin-top: -14vw;
}

.recruit-top-interview li .image-link span {
	padding-bottom: 15px;
	font-size: 1.6rem;
	line-height: 1.5;
	transform: translate3d(0, -50%, 0);
}

.recruit-top-interview li .image-link span em {
	font-size: 2rem;
}

.recruit-top-environment {
	margin-top: 30px;
	padding: 0;
}

.recruit-top-environment ul {
	width: auto;
}

.recruit-top-environment li {
	float: none;
	width: auto;
	height: 50vw;
}

.recruit-top-environment li:nth-child(odd) { transform: none; }
.recruit-top-environment li:nth-child(even) { transform: none; }

.recruit-top-environment li .image-link {
	height: 100%;
	overflow: hidden;
}

.recruit-top-environment li .image-link span {
	padding-bottom: 15px;
	font-size: 2rem;
	line-height: 1.5;
}

.recruit-top-jobs {
	margin-bottom: -50px;
	padding: 1px 0 50px;
}

.recruit-top-jobs ul {
	margin: 30px 0 0 15px;
	overflow: hidden;
}

.recruit-top-jobs li {
	float: none;
	width: auto;
}

.recruit-top-jobs li a {
	height: 100%;
	padding-bottom: 50%;
	overflow: hidden;
}

.recruit-top-jobs li:nth-child(3) a {
	background-color: #fff;
}

.recruit-top-jobs li:nth-child(4) a {
	background-color: #f6f6f6;
}


/* ---- interview ---- */

.interview-header {
	margin: -50px 0 0;
	padding: 25px 0 0;
}

.interview-header .inner {
	display: block;
	width: auto;
}

.interview-header .txt {
	display: block;
	width: auto;
	padding: 0 15px 25px;
}

.interview-header .txt p {
	font-size: 1.3rem;
	text-align: center;
}

.interview-header .txt h2 {
	margin: 15px 0;
	font-size: 2.8rem;
	text-align: center;
}

.interview-header .txt h2 span {
	margin-top: 5px;
	font-size: 1.6rem;
}

.interview-header .img {
	display: block;
	width: auto;
	min-width: 0;
}

.interview-body {
	margin: 20px 0 0 15px;
	text-align: center;
}

.interview-body img {
	width: 70%;
}

.interview-body:first-of-type img {
	display: none;
}

.interview-body.img-left img {
	float: none;
	margin: 0;
}

.interview-body.img-right img {
	float: none;
	margin: 0;
}

.interview-body h3.interview-question {
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: left;
}

.interview-body img + h3.interview-question {
	margin-top: 25px;
}

.interview-body p {
	margin-top: 20px;
	line-height: 1.7;
	text-align: left;
}

.interview-footer {
	margin: 40px 0 -50px;
}

.interview-footer .title {
	padding: 55px 15px 20px 15px;
	background-position: 50% 20px;
	background-size: 36px;
	font-size: 1.6rem;
}

.interview-footer li,
.interview-footer li.rookie,
.interview-footer li.rookie.c3 {
	float: none;
	width: auto;
	height: 50vw;
}

.interview-footer .image-link {
	height: 100%;
	overflow: hidden;
}

.interview-footer .image-link img {
	margin-top: -14vw;
}

.interview-footer .image-link span {
	padding-bottom: 15px;
	font-size: 1.6rem;
	line-height: 1.5;
	transform: translate3d(0, -50%, 0);
}

.interview-footer .image-link span em {
	font-size: 2rem;
}




/*
--------------------------------
	about
--------------------------------
*/


/* ---- header ---- */

.category-5 .page-title {
	background-position: 40% 0;
}

#about.category-5 .page-title {
	margin-bottom: 50px;
}

#about-corporate.category-5 .page-title {
	height: 60px;
}

#about-history.category-5 .page-title {
	height: 60px;
}


/* ---- message ---- */

.category-5 .message-head {
	height: auto;
	margin-top: -80px;
}

.category-5 .message-head .inner {
	height: auto;
	margin-right: 0;
	background-position: 115% 100%;
	background-size: 45vw;
}

.category-5 .message-head .txt {
	position: static;
	width: auto;
	padding: 25px 0 25px 15px;
}

.category-5 .message-head .txt h2 {
	font-size: 1.6rem;
	line-height: 1.5;
}

.category-5 .message-head .txt h2 br {
	display: inline;
}

.category-5 .message-head .txt h2 span {
	padding-top: 15px;
	font-size: 1.1rem;
	text-align: left;
}

.category-5 .message-head .txt h2 span strong {
	padding-left: 5px;
	transform: translateY(.1rem);
	font-size: 1.6rem;
}

.category-5 .message-body .body-text {
	margin: 30px 0 0 15px;
}


/* ---- corporate ---- */

#about-corporate .gmap {
	height: 80vw;
	margin: 40px 0 0 15px;
}


/* ---- officer ---- */

#about-officer .w25-sp100 {
	margin-top: 50px;
	text-align: center;
}

#about-officer .w25-sp100 img {
	width: 50%;
}

#about-officer .w25-sp100 .title {
	margin-top: 15px;
	font-size: 1.2rem;
}

#about-officer .w25-sp100 h3 {
	font-size: 1.8rem;
	text-align: center;
}

#about-officer .w75 {
	margin-top: 20px;
	padding-top: 0;
}


/* ---- philosophy ---- */
#about-philosophy .container h2:not([class]) {
	font-size: 2.1rem;
}
#about-philosophy h3 {
	margin-top: 40px !important;
	font-size: 2.4rem;
	line-height: 1.2;
	text-align: center;
	display: block;
	border-bottom: none;
}

#about-philosophy h3 span {
	font-size: 1.4rem;
}

#about-philosophy .headline {
	margin-top: 15px;
	font-size: 1.4rem;
	text-align:center;
}

#about-philosophy .col {
	margin-top: 0;
}

#about-philosophy dl {
	display: block;
	font-size: 1.4rem;
}

#about-philosophy dt {
	float: none;
	width: auto;
	margin-top: 15px;
	padding: 0 0 0 0;
	text-align:center;
	text-align-last:center;

    justify-content: center;
}

#about-philosophy dd {
	float: none;
	padding: 5px 0 0 0;
	line-height: 1.6;
	text-align:center;
	text-align-last:center;
}




/*
--------------------------------
	contact
--------------------------------
*/


/* ---- top ---- */

.contact-faq-box {
	margin: 30px 0 0 15px;
	padding: 30px 0 40px;
}

.contact-faq-heading {
	padding: 70px 15px 0;
	background-position: 50% 0;
	background-size: 90px;
	font-size: 1.6rem;
}

.contact-faq-box ul {
	margin: 20px 0 10px;
}

.contact-faq-box ul li span {
	width: 40px;
	height: auto;
	background-size: 12px;
}

.contact-faq-box ul li a {
	height: auto;
	padding: 10px 30px 10px 15px;
	font-size: 1.3rem;
	transition: none;
}

.contact-faq-box ul li a::before {
	right: 15px;
	width: 9px;
	height: 9px;
	margin-top: -5px;
}

@media all and (-ms-high-contrast:none){
	
  .contact-faq-box ul li a::before { /* IE10 */
  		top: 20px;
  }
  
}


/* ---- form links ---- */

.contact-form-links {
	display: block;
	width: auto;
	margin: 30px 0 0 15px;
}

.contact-form-links a {
	display: block;
	width: auto;
	padding: 90px 15px 25px 15px;
	background-position: 50% 20px;
	background-size: 60px;
	transition: none;
	font-size: 1.3rem;
}

.contact-form-links a br {
	display: inline;
}

.contact-form-links a strong {
	margin-bottom: 5px;
	font-size: 1.7rem;
}

.contact-form-links a::before {
	width: 40px;
	height: 40px;
	transition: none;
}

.contact-form-links a::after {
	right: 17px;
	bottom: 15px;
	width: 9px;
	height: 9px;
}


/* ---- form: table ---- */

table.contact-form {
	display: block;
	width: auto;
	margin: -20px 0 0 15px;
}

.body-text + table.contact-form {
	margin-top: 10px;
}

table.contact-form th {
	display: block;
	width: auto;
	padding: 20px 0 0 0;
	font-size: 1.6rem;
}

table.contact-form th.line-2 {
	padding-top: 20px;
}

table.contact-form td {
	display: block;
	padding-top: 10px;
}

table.contact-form tr:first-child th {
	padding-top: 20px;
}

table.contact-form tr:first-child td {
	padding-top: 10px;
}

table.contact-form th .required {
	padding: .3rem 1rem;
	border-radius: .9rem;
	transform: translateY(-2px);
}

table.contact-form td .error {
	margin-top: 5px;
}

table.contact-form td ul.remarks {
	margin-top: 15px;
	font-size: 1.2rem;
	line-height: 1.4;
}

table.contact-form table {
	display: block;
	width: auto;
	margin-top: 0;
}

table.contact-form table th {
	width: auto;
	padding: 20px 0 0 0;
	font-size: 1.4rem;
}

table.contact-form table td {
	padding-top: 10px;
}

table.contact-form.confirm th {
	padding-top: 20px;
	line-height: 1.6;
}

table.contact-form.confirm td {
	padding-top: 10px;
	line-height: 1.6;
}

table.contact-form.confirm tr:first-child th {
	padding-top: 20px;
}

table.contact-form.confirm tr:first-child td {
	padding-top: 10px;
}

table.contact-form.confirm table th {
	padding-top: 20px;
	padding-left: 20px;
}

table.contact-form.confirm table td {
	padding-top: 10px;
	padding-left: 20px;
}

table.contact-form.confirm table tr:first-child th {
	padding-top: 10px;
}


/* ---- form: text ---- */

table.contact-form input[type="text"],
table.contact-form input[type="tel"],
table.contact-form input[type="email"] {
	margin-top: 0;
}

table.contact-form input[type="text"].short,
table.contact-form input[type="tel"].short,
table.contact-form input[type="email"].short {
	width: 60%;
	margin-right: 0;
	margin-bottom: 10px;
}


/* ---- form: textarea ---- */

table.contact-form textarea {
	margin-top: 0;
}


/* ---- form: select ---- */

.select-wrapper {
	margin-top: 0;
	margin-bottom: 10px;
}


/* form: radio */

input[type="radio"] + label {
	margin-top: 0;
	padding: 12px 30px 12px 24px;
	font-size: 1.4rem;
}


/* form: checkbox */

input[type="checkbox"] + label {
	margin-top: 0;
	padding: 12px 30px 12px 24px;
	font-size: 1.4rem;
}


/* form: button */

.contact-form-buttons {
	margin: 30px 0 0 15px;
}

.contact-form-buttons input {
	height: 50px;
	margin: 0 5px;
	padding: 0 35px 0 45px;
	border-radius: 25px;
	background-position: 30px 50%;
	background-size: 8px 13px;
	font-size: 1.6rem;
}

.contact-form-buttons input.prev,
.contact-form-buttons input.btn_back {
	padding: 0 10px 0 25px;
	background-position: 10px 50%;
}




/*
--------------------------------
	news
--------------------------------
*/


/* ---- header ---- */

#news .page-title {
	background-position: 50% 0;
}


/* ---- list ---- */

#news-list-title {
	margin-bottom: 30px;
}

#news-list-title + .col + .col {
	float: none;
	width: auto !important;
	margin-top: 0;
}

.news-list time {
	width: auto;
	padding: 15px 20px 5px 10px;
	text-align: left;
}

.news-list .label {
	width: 100px;
	margin-top: 15px;
	font-size: 1.1rem;
}

.news-list p {
	clear: left;
	margin-left: 0;
	padding: 0 10px 10px 10px;
}

.news-list a.pdf p {
	padding: 0 15px 10px 35px;
	background-position: 10px 2px;
}

.news-list a.newwin p {
	padding: 0 15px 10px 35px;
	background-position: 10px 2px;
}

.news-list-years {
	padding-top: 20px;
	padding-left: 0;
}

.news-list-years li {
	margin-bottom: 0;
	border-top: 1px solid #fff;
}

.news-list-years li a {
	display: block;
	position: relative;
	padding: 12px 15px 12px 45px;
	background-color: #21ade5;
	background-image: none;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.4;
}

.news-list-years li a:hover,
.news-list-years li a:active,
.news-list-years li a.current {
	background-color: #00729f;
	color: #fff;
	text-decoration: none;
}

.news-list-years li a::after {
	left: 20px;
	width: 7px;
	height: 7px;
	margin-bottom: -3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.news-list-years li a.current::after {
	border-color: #fff;
}


/* ---- news detail ---- */

#news .news-detail .area-ttl {
	margin: 50px 0 0 15px;
}

#news .news-detail h1 {
    font-size: 2.1rem;
    line-height: 1.4;
}




/*
--------------------------------
	faq
--------------------------------
*/


/* ---- header ---- */

#faq .page-title {
	background-position: 50% 0;
}


/* ---- headlines ---- */

.faq-head p {
	margin: 30px 0 0 15px;
}

.faq-head p a {
	padding-right: 30px;
	font-size: 1.8rem;
}

.faq-head p a::after {
	width: 11px;
	height: 11px;
	margin-top: -9px;
	border-right: 2px solid #21ade5;
	border-bottom: 2px solid #21ade5;
}

.faq-head ul {
	margin: 20px 0 0 15px;
}

.faq-head li {
	padding: 0;
}

.faq-head li::before {
	left: 14px;
	margin-top: -.9rem;
	font-size: 1.8rem;
}

.faq-head li a {
	display: block;
	padding: 12px 20px 12px 40px;
	line-height: 1.6;
}


/* ---- body ---- */

.faq-body {
	margin: 40px 0;
	padding: 40px 0;
}

.faq-body h2 {
	margin-top: 35px !important;
}

.faq-body dl {
	margin: 0 0 0 15px;
	padding-top: 10px;
}

.faq-body dt {
	margin-top: 20px;
	padding: 15px 20px 15px 40px;
	line-height: 1.6;
}

.faq-body dt::before {
	top: 12px;
	left: 14px;
	font-size: 1.8rem;
}

.faq-body dd {
	padding: 15px 20px 15px 40px;
	line-height: 1.6;
}

.faq-body dd::before {
	top: 12px;
	left: 15px;
	color: #ff9f00;
	font-size: 1.8rem;
}




/*
--------------------------------
	sitemap
--------------------------------
*/


ul.sitemap {
	margin: -30px 0 0 15px;
	line-height: 1.4;
}

ul.sitemap > li {
	padding: 0;
}

ul.sitemap > li > a {
	display: block;
	padding: 20px 0 20px 1.5em;
	font-size: 1.8rem;
}

ul.sitemap > li > a + ul {
	margin-top: -20px;
}

ul.sitemap > li > p {
	padding-top: 20px;
	font-size: 1.8rem;
}

ul.sitemap > li > ul > li > a,
ul.sitemap > li > ul > li dt {
	font-size: 1.6rem;
}

ul.sitemap > li > ul > li > a,
ul.sitemap > li > ul > li dt {
	font-size: 1.6rem;
}

ul.sitemap > li > ul {
	padding-bottom: 20px;
}

ul.sitemap > li > ul > li {
	margin: 15px 0 0 20px;
}

ul.sitemap > li > ul > li dd li {
	display: block;
	margin-top: 15px;
	margin-left: 2em;
	font-size: 1.4rem;
}

.p-privacy ul.number{
	margin: 0;
}

.p-privacy ul.number-count > li{
	padding-left: 30px;
}


} /* @media screen and (max-width: 749px) */




/*
-------------------------------------------------------------------------------- print
*/


@media print {

body {
	width: 1260px;
	-webkit-print-color-adjust: exact;
}

.header {
	position: absolute;
	width: 1260px;
}

.body {
	width: 1260px;
	-webkit-print-color-adjust: exact;
}

.footer {
	width: 1260px;
}

} /* print */

/******** Hp-Update Thanks Page********/
.hp-upd-thanks .headline{
	font-size: 3.5rem;
}
.hp-upd-thanks .body-text{
	margin: 30px 0 0 16px;
}
.hp-upd-thanks .box-text{
	font-size: 2rem;
}
.pc{
	display: none;
}
@media screen and (max-width: 749px){
	.hp-upd-thanks .headline{
		font-size: 2.5rem;
	    text-align: center;
	}
	.hp-upd-thanks .box-text{
		font-size: 1.6rem;
	}
	.sp{
		display: block;
	}
	.body .hp-upd-page-title h1{
		font-size: 2.2rem;
	}
}