@import url("https://fonts.googleapis.com/css?family=Lato:400,700");

/* ---------------------------------------------------------
 normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css
--------------------------------------------------------- */

/* Document
   ====================================================== */

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/* Sections
   ====================================================== */

article,
aside,
footer,
header,
nav,
section {
	display: block;
}

h1 {
	font-size: 2em;
}

/* Grouping content
   ====================================================== */

figcaption,
figure,
main {
	display: block;
}

hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
   ====================================================== */

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}

b,
strong {
	font-weight: inherit;
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ====================================================== */

audio,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

img {
	border-style: none;
}

svg:not(:root) {
	overflow: hidden;
}

/* Forms
   ====================================================== */

button,
input,
optgroup,
select,
textarea {
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	-moz-appearance: none;
	appearance: none;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0; /* 3 */
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[hidden] {
	display: none;
}

/* ---------------------------------------------------------
  Reset
--------------------------------------------------------- */

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
a,
small,
strong,
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,
menu,
nav,
section {
	margin: 0;
}

html {
	line-height: 1.15;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	-webkit-tap-highlight-color: transparent;
}

/* elements
--------------------------------------------------------- */

*,
::before,
::after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

::before,
::after {
	text-decoration: inherit;
	vertical-align: inherit;
}

ul,
ol {
	padding: 0;
	list-style: none;
	list-style-type: none;
}

a {
	-webkit-text-decoration-skip: objects;
	color: inherit;
}

img {
	max-width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: bottom;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

b,
strong {
	font-weight: bolder;
}

/* forms
--------------------------------------------------------- */

input {
	border-radius: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
	cursor: pointer;
}

[disabled] {
	cursor: default;
}

[type="number"] {
	width: auto;
}

textarea {
	overflow: auto;
	resize: vertical;
}

button,
input,
optgroup,
textarea {
	font: inherit;
}

button,
input,
select,
textarea {
	color: inherit;
}

button {
	background-color: transparent;
	border-style: none;
}

select::-ms-value {
	color: currentColor;
}

/* まだ広くサポートされていない最新のプロパティもサポートします。
   初期値が最良ではないため、適した値を定義します。
*/

/* 一貫した行間隔を定義。 */

:root {
	line-sizing: normal;
}

/* CJK言語（中国語、日本語、韓国語）での句読点の間隔を変更。 */

:root {
	-ms-text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
	text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
}

/* ---------------------------------------------------------
 Base
--------------------------------------------------------- */

body {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100vh;
	line-height: 1.6;
	color: #222;
	font-family: "Lato", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "YuGothic Medium", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4em;
	word-break: normal;
	word-wrap: break-word;
	letter-spacing: 0;
}

footer {
	margin-top: auto;
}

body#top {
	display: block;
}

/* ---------------------------------------------------------
 Element style
--------------------------------------------------------- */

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

a[href]:not([class]) {
	color: #09097f;
	text-decoration: underline;
}

a[href]:not([class]):hover {
	color: #09097f;
	text-decoration: none;
	-webkit-transition: all .6s;
	transition: all .6s;
}

a[href][class] {
	color: #222;
	text-decoration: none;
}

a[href][class]:hover {
	color: #222;
	-webkit-transition: all .6s;
	transition: all .6s;
}

/* heading
--------------------------------------------------------- */

h1:not([class]) {
	font-size: 2.5rem;
}

h1,
h2,
h3 {
	clear: both;
}

h2:not([class]),
.hdg-main {
	position: relative;
	margin: 1.4em -20px 1.2em;
	padding: 0 20px 5px;
	border-bottom: 3px solid #ddd;
	font-size: 1.9rem;
}

h2:not([class])::after,
.hdg-main::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	display: block;
	width: 5em;
	height: 0;
	border-bottom: 3px solid #09097f;
}

h1:not([class]) + h2:not([class]),
h1:not([class]) +
.hdg-main {
	margin-top: 1em !important;
}

h3:not([class]),
.hdg-primary {
	margin: 1.8em 0 0.6em;
	padding: 0.2em 0.5em;
	border-left: 10px solid #090a80;
	font-size: 1.8rem;
}

h2:not([class]) + h3:not([class]),
h2:not([class]) +
.hdg-primary {
	margin-top: 1.4em;
}

h4:not([class]),
.hdg-secondary {
	margin: 1.4em 0 0.7em;
	color: #09097f;
	font-size: 1.6rem;
}

h3:not([class]) + h4:not([class]),
h3:not([class]) +
.hdg-secondary {
	margin-top: 1em !important;
}

h5:not([class]),
.hdg-tertiary {
	margin: 1.4em 0 0.7em;
	font-size: 1.5rem;
}

h4:not([class]) + h5:not([class]),
h4:not([class]) +
.hdg-tertiary {
	margin-top: 1em !important;
}

h6:not([class]) {
	margin: 1.1em 0 0.7em;
	font-size: 1em;
}

h5:not([class]) + h6:not([class]) {
	margin-top: 1em !important;
}

hr:not([class]) {
	height: 1px;
	margin-bottom: 1.5em;
	border: 0;
	background-color: #d6d6d6;
}

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

p:not([class]) {
	display: block;
	margin-top: 1.2em;
	line-height: 1.6;
}

h2 + p:not([class]),
h3 + p:not([class]),
h4 + p:not([class]),
h5 + p:not([class]),
h6 + p:not([class]) {
	margin-top: 0;
}

strong:not([class]) {
	font-weight: bold;
}

em:not([class]) {
	font-style: italic;
}

figure:not([class]) {
	margin: 2em 0;
	text-align: center;
}

figcaption:not([class]) {
	margin-top: 0.3em;
	font-size: 90%;
}

blockquote:not([class]) {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

/* list
--------------------------------------------------------- */

ul:not([class]),
ol:not([class]),
.list-main {
	margin-top: 1em;
}

ul:not([class]),
ol:not([class]),
.list-main,
dl:not([class]) {
	line-height: 1.6;
}

dl ul:not([class]),
dl ol:not([class]) {
	margin-top: 0;
}

.media__content ul:not([class]):nth-child(1),
.media__content ol:not([class]):nth-child(1),
.media__content dl:not([class]):nth-child(1) {
	margin-top: 0;
}

ul:not([class]) > li:not([class]),
.list-main li,
.advantage__list li,
.customer-list li {
	position: relative;
	padding-left: 1.1em;
}

ul:not([class]) > li:not([class])::before,
.list-main li::before,
.advantage__list li::before,
.customer-list li::before {
	position: absolute;
	top: 0;
	left: 0;
	margin-top: -0.3em;
	margin-left: -0.4em;
	content: '・';
	color: #ffbb00;
	font-size: 2em;
}

ul:not([class]) > li:not([class]) a,
.list-main li a {
	text-indent: 0;
}

ul:not([class]) > li:not([class]) + li:not([class]),
.list-main li + li {
	margin-top: 0.3em;
}

ol:not([class]) {
	counter-reset: my-counter;
}

ol:not([class]) li {
	position: relative;
	padding-left: 1.2em;
}

ol:not([class]) li::before {
	content: counter(my-counter) ".";
	counter-increment: my-counter;
	position: absolute;
	left: 0;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #09097f;
}

li > ul:not([class]),
li > ol:not([class]) {
	margin: 1em 0 1em 1.5em;
}

dt:not([class]) {
	margin: 1em 0 0.5em;
	padding-left: 0.8em;
	border-left: 5px solid #ffbb00;
	font-weight: 700;
}

dd:not([class]) + dt:not([class]) {
	margin-top: 1em;
}

/* table
--------------------------------------------------------- */

table:not([class]),
.table-default {
	margin-top: 1.5em;
	line-height: 1.4;
}

table:not([class]) th,
table:not([class]) td,
.table-default th,
.table-default td {
	padding: 0.8em 1.2em;
	border: 1px solid #ccc;
}

table:not([class]) th,
.table-default th {
	border-left: 1px solid #ccc;
	vertical-align: top;
}

table:not([class]) th[scope="col"],
.table-default th[scope="col"] {
	background-color: #ffecb7;
	text-align: center;
}

table:not([class]) th[scope="row"],
.table-default th[scope="row"] {
	background-color: #eee;
	text-align: left;
}

table:not([class]) td,
.table-default td {
	border-right: 1px solid #ccc;
	vertical-align: middle;
}

table:not([class]) p:nth-of-type(1),
.table-default p:nth-of-type(1) {
	margin-top: 0;
}

td > p:nth-child(1),
td > ul:nth-child(1),
td > ol:nth-child(1),
td > .list-main:nth-child(1),
td > dl:nth-child(1) dt {
	margin-top: 0;
}

/* form
--------------------------------------------------------- */

input,
textarea,
select,
button {
	font-size: 16px;
	vertical-align: middle;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"] {
	padding: 10px 15px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"],
textarea {
	border-radius: 2px;
	border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	outline: none;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: #333;
}

input[type="radio"],
input[type="checkbox"] {
	position: relative;
	top: -3px;
	margin-right: 0.4em;
	vertical-align: middle;
}

select {
	padding: 10px 25px;
	border: 1px solid #ccc;
	border-radius: 2px;
	background: #fff;
}

label {
	cursor: pointer;
}

textarea {
	overflow: auto;
}

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

h1,
h2,
h3,
h5,
h6,
h2:not([class]),
.hdg-main,
.page-title__text,
.intro__title,
.intro__text,
.sub-contents-list,
.t-grid__hdg,
.feature-list__icon,
.group-hdg__title,
.contents-list {
	position: relative;
	line-height: 1.4;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-weight: bold;
	letter-spacing: 0.08em;
}

.hdr-tel__num,
.contact-info__tel,
.feature-list__num {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
}

.philosophy-definition {
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", YuMincho, "Yu Mincho", "游明朝", "HG明朝E", serif;
}

ul:not([class]) > li:not([class])::before,
.list-main li::before,
.advantage__list li::before,
.customer-list li::before,
.external-link::after,
.icon-text-link::before,
.smap > .smap__item > .smap__link:before,
.smap-child > .smap-child__item > .smap-child__link:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.smap > .smap__item > .smap__link:hover,
.smap-child:hover {
	opacity: 0.8;
}

.site-logo__link::before,
.hdr-tel__num::before,
.contact-info__tel::before,
.form-contact-info__tel-num .icon-tel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
}

/* ---------------------------------------------------------
  Print
--------------------------------------------------------- */

/* print setting */

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

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

.l-header__inner {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto !important;
	padding: 20px 20px 20px;
}

/* site-logo
--------------------------------------------------------- */

.site-logo {
	line-height: 1;
	font-size: 1em;
}

.site-logo__link {
	position: relative;
	padding-left: 45px;
	font-size: 1rem;
}

.site-logo__link::before {
	top: -10px;
	width: 35px;
	height: 32px;
	background: url("../img/base/logo-mark.png") no-repeat 0 0;
	background-size: 35px 32px;
}

.site-logo__text {
	width: 140px;
	height: 16px;
}

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

.l-header-tel {
	padding: 15px 20px;
	background-color: rgba(255, 255, 255, 0.98);
}

.hdr-tel {
	color: #222;
	text-align: center;
}

.hdr-tel__num {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	line-height: 1;
	font-size: 21px;
}

.hdr-tel__num::before {
	top: 3px;
	width: 16px;
	height: 20px;
	background: url("../img/base/ico_tel.svg") no-repeat 0 0;
}

.hdr-tel__time {
	margin-top: 0.2em;
}

.hdr-contact {
	margin-top: 10px;
}

/* ---------------------------------------------------------
  Main navigation
--------------------------------------------------------- */

/* l-main-nav-wrap
--------------------------------------------------------- */

.l-main-nav-wrap {
	width: 100%;
	height: 100%;
	padding-bottom: 3em;
	background: #09097f;
	color: #fff;
	z-index: 5;
}

.l-main-nav-wrap__inner {
	height: 100%;
	padding: 20px;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}

/* main-nav
--------------------------------------------------------- */

.main-nav {
	margin-top: 30px;
}

.main-nav__item {
	position: relative;
	width: 100%;
	border-bottom: 1px solid #0e0ec6;
}

.main-nav__link[href][class] {
	display: block;
	width: 100%;
	padding: 10px 15px;
	color: #fff;
	font-weight: bold;
}

.main-nav__link[href][class]:hover {
	background-color: #f2f2f2;
}

/* current
--------------------------------------------------------- */

/* js-menu
--------------------------------------------------------- */

/* main-nav-toggle
--------------------------------------------------------- */

#main-nav-toggle {
	position: absolute;
	top: 3px;
	right: 15px;
	width: 55px;
	height: 50px;
	border-radius: 0.5em;
	color: #231815;
	text-align: center;
	z-index: 10;
}

#main-nav-toggle::after {
	position: absolute;
	bottom: 1px;
	content: 'メニュー';
	display: block;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}

#main-nav-toggle.active::after {
	content: '閉じる';
	color: #fff;
}

/* main-nav-trigger
--------------------------------------------------------- */

.main-nav-trigger {
	position: relative;
	width: 28px;
	height: 19px;
}

.main-nav-trigger,
.main-nav-trigger span {
	display: inline-block;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.main-nav-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	height: 2px;
	background-color: #222;
	border-radius: 4px;
}

.main-nav-trigger span:nth-of-type(1) {
	top: -4px;
}

.main-nav-trigger span:nth-of-type(2) {
	top: 2px;
}

.main-nav-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	height: 2px;
	background-color: #222;
	border-radius: 4px;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.main-nav-trigger span:nth-of-type(3) {
	bottom: 8px;
}

.main-nav-trigger p {
	padding-top: 10px;
	font-size: 11px;
	text-align: center;
}

#main-nav-toggle.active .main-nav-trigger span {
	background-color: #fff;
}

#main-nav-toggle.active .main-nav-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(8px) scale(0);
	transform: translateY(8px) scale(0);
}

#main-nav-toggle.active .main-nav-trigger span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#main-nav-toggle.active .main-nav-trigger span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	background-color: #fff;
}

#main-nav-toggle.active .main-nav-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) scale(0);
	transform: translateY(-8px) scale(0);
}

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

/* l-wrapper
--------------------------------------------------------- */

.l-wrapper {
	overflow-x: hidden;
}

/* l-main
--------------------------------------------------------- */

.l-main {
	width: 100%;
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 20px;
}

#contact .l-main {
	padding-bottom: 40px;
}

/* ---------------------------------------------------------
  Site footer
--------------------------------------------------------- */

/* ftr-contact
--------------------------------------------------------- */

.ftr-contact {
	margin: 80px -20px 20px;
	padding: 30px 20px;
	background: url("../img/base/bg_contact.jpg") no-repeat 0 0;
	background-size: cover;
	text-align: center;
}

.ftr-contact.entry {
	margin: 40px -20px 20px;
}

.ftr-contact__tit-en {
	position: relative;
	width: 163px;
	margin: 0 auto;
}

.ftr-contact__tit-en::before {
	content: '';
	position: absolute;
	top: -60px;
	left: 50%;
	display: block;
	width: 1px;
	height: 50px;
	margin-left: -0.5px;
	border-left: 1px solid #000;
}

.ftr-contact__tit {
	margin-bottom: 24px;
	font-size: 1.8rem;
}

.ftr-contact__message {
	margin-bottom: 20px;
	line-height: 1.8;
	font-weight: bold;
}

.ftr-contact .btn-wrap {
	margin-top: 0;
}

.contact-info__item {
	margin: 0 10px;
}

.contact-info__tel {
	position: relative;
	display: inline-block;
	padding-left: 28px;
	line-height: 1;
	font-size: 2.5rem;
}

.contact-info__tel::before {
	top: 6px;
	width: 24px;
	height: 31px;
	background: url("../img/base/ico_tel.svg") no-repeat 0 0;
}

/* l-footer
--------------------------------------------------------- */

.l-footer {
	clear: both;
	position: relative;
}

.l-footer__inner {
	clear: both;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto !important;
	padding: 20px 20px;
}

.l-footer__group {
	width: 100%;
}

.l-footer__group.f-menu {
	margin-top: 20px;
	text-align: center;
}

/* f-company
--------------------------------------------------------- */

.f-company__text {
	font-size: 1.3rem;
}

.f-company__text a {
	color: #fff !important;
}

.f-company__list {
	margin-top: 20px;
}

/* footer-nav
--------------------------------------------------------- */

.f-nav {
	margin: 0 -20px;
	border-top: 1px solid #d2d2d2;
}

.f-nav__item {
	width: 50%;
	border-bottom: 1px solid #d2d2d2;
	font-size: 1.3rem;
}

.f-nav__item:nth-of-type(odd) {
	border-right: 1px solid #d2d2d2;
}

.f-nav__link {
	display: block;
	padding: 10px 20px;
	text-decoration: none;
	-webkit-transition: color .6s;
	transition: color .6s;
}

.f-nav__link:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

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

.copyright {
	margin-top: 20px;
}

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

.page-top {
	position: fixed;
	bottom: 6%;
	right: 5%;
	display: none;
	line-height: 1.3;
	text-align: center;
}

.page-top__link {
	position: relative;
	display: none;
	padding-top: 2.2em;
	font-size: 13px;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
}

.page-top__link:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

.page-top__link::before {
	position: absolute;
	top: -5px;
	left: 50%;
	display: block;
	width: 1px;
	height: 2.2em;
	content: '';
	border-top: 2.2em solid #09097f;
	z-index: 3;
}

.page-top__link:hover:before {
	top: -10px;
}

/* ---------------------------------------------------------
  Grid
--------------------------------------------------------- */

/* Flexbox Grid base
--------------------------------------------------------- */

.f-nav,
.smap-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.l-footer__inner,
.grid2,
.grid3,
.grid4,
.sub-contents-list,
.btn-wrap.col-2,
.t-grid,
.t-recruit__wrap,
.onestop-detail,
.onestop-detail__item,
.service-list,
.vehicle-list,
.contents-list,
.rep-message,
.customer-list,
.customer-list__item,
.interview-list,
.input-field__item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#main-nav-toggle {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.advantage,
.feature-list__item,
.interview-hdg {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.page-title {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.contact-info,
.philosophy-definition {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.line-hdg,
.sign {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.l-main-nav-wrap__inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.grid__col.center {
	text-align: center;
}

/* Two grid
--------------------------------------------------------- */

.grid2 .grid__col {
	width: 100%;
	margin-top: 20px;
}

.grid2.align-center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.grid2 > .grid2 .grid__col:first-child {
	margin-top: 0;
}

/* Three grid
--------------------------------------------------------- */

.grid3 .grid__col {
	margin-top: 20px;
}

/* Four grid
--------------------------------------------------------- */

.grid4 {
	margin-top: -1em;
}

.grid4 + .grid4 {
	margin-top: 0.2em;
}

.grid4 .grid__col {
	width: calc((100% - 20px) / 2);
	margin-top: 1em;
}

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

.page-title {
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 125px;
	margin: 0 -20px 20px;
	padding: 20px;
	background: url("../img/service/bg_title_service.jpg") no-repeat top center;
	background-size: cover;
	color: #fff;
}

.page-title__text {
	font-size: 2rem;
}

#about .page-title {
	background-image: url("../img/about/bg_title_about.jpg");
}

#company .page-title {
	background-image: url("../img/company/bg_title_company.jpg");
}

#contact .page-title {
	background-image: url("../img/contact/bg_title_contact.jpg");
}

#about .page-title,
#company .page-title {
	color: #222;
}

/* Breadcrumb
--------------------------------------------------------- */

.breadcrumb {
	position: relative;
	margin-bottom: 30px;
	font-size: 11px;
	line-height: 1;
	color: #222;
}

.breadcrumb__item {
	display: inline-block;
}

.breadcrumb__item:first-child {
	position: relative;
}

.breadcrumb__item + .breadcrumb__item::before {
	margin-right: 0.2em;
	content: '>';
}

.breadcrumb__link {
	color: #222 !important;
}

.breadcrumb__link:hover {
	opacity: 0.8;
}

/* ---------------------------------------------------------
  Module
--------------------------------------------------------- */

/* intro
--------------------------------------------------------- */

.intro {
	margin-bottom: 30px;
}

.intro.mt {
	margin-top: 30px;
}

.intro__title {
	margin-bottom: 20px;
	font-size: 2rem;
	text-align: center;
}

.intro__text {
	line-height: 1.6;
}

/* sub-contents-list
--------------------------------------------------------- */

.sub-contents-list {
	margin-top: 40px;
}

.sub-contents-list__item {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

.sub-contents-list__link {
	position: relative;
	display: -ms-grid;
	display: grid;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 20px 40px 20px 20px;
	border: 2px solid #222;
	vertical-align: middle;
	text-align: center;
}

.sub-contents-list__link::before {
	right: 16px;
	z-index: 3;
}

.sub-contents-list__link::after {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
	background-color: #ffbb00;
	content: '';
	z-index: 1;
}

.sub-contents-list__link:hover {
	background-color: #ffbb00;
}

.line-hdg + .sub-contents-list {
	margin-top: 20px;
}

/* stretched-link
--------------------------------------------------------- */

.stretched-link::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: auto;
	content: '';
	background-color: rgba(0, 0, 0, 0);
}

.graph {
	margin: 40px auto;
	text-align: center;
}

/* line-hdg
--------------------------------------------------------- */

.line-hdg {
	width: 100%;
	margin-bottom: 1.2em;
	font-size: 1.8rem;
	text-align: center;
}

.line-hdg.mt {
	margin: 2.5em 0 1.2em;
}

.line-hdg::before,
.line-hdg::after {
	content: '';
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	border-bottom: 1px solid #333;
}

.line-hdg::before {
	margin-right: 20px;
	padding-left: 15px;
}

.line-hdg::after {
	margin-left: 20px;
	padding-right: 15px;
}

/* phone-call
--------------------------------------------------------- */

.phone-call-box a[href^="tel:"],
.phone-call {
	color: #09097f !important;
}

p.phone-call-box {
	margin-top: 1.2em;
}

/* ---------------------------------------------------------
  Icon
--------------------------------------------------------- */

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

.external-link {
	color: #666 !important;
}

.external-link::after {
	content: '\f35d';
	margin-left: 0.3em;
	color: #666 !important;
}

.icon-text-link {
	color: #666 !important;
}

.icon-text-link::before {
	content: '\f138';
	margin-right: 0.3em;
	color: #666 !important;
}

.text-link-more {
	position: relative;
	padding-right: 3em;
	line-height: 1;
	color: #09097f !important;
}

.text-link-more::before {
	position: absolute;
	top: 50%;
	right: 0;
	width: 2em;
	height: 1px;
	content: '';
	border-top: 1px solid #09097f;
}

.text-link-more:hover:before {
	right: -5px;
}

/* ---------------------------------------------------------
  List
--------------------------------------------------------- */

/* notes
--------------------------------------------------------- */

.notes {
	margin: 1.5em 0 0;
	line-height: 1.7;
}

.notes li,
.notes__item,
.notes-single {
	padding-left: 1.2em;
	font-size: 14px;
	text-indent: -1.2em;
}

.notes li::before,
.notes__item::before,
.notes-single::before {
	content: "\00203b";
	padding-right: 0.6em;
	color: #f13000;
}

.notes li + .notes li,
.notes__item + .notes li,
.notes-single + .notes li,
.notes li +
.notes__item,
.notes__item +
.notes__item,
.notes-single +
.notes__item,
.notes li +
.notes-single,
.notes__item +
.notes-single,
.notes-single +
.notes-single {
	margin-top: 0.4em;
}

.notes li a,
.notes__item a,
.notes-single a {
	text-indent: 0;
}

.notes-single {
	margin-top: 20px;
}

/* dl-info
--------------------------------------------------------- */

.dl-info {
	margin-top: 20px;
}

.dl-info.credit-card {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px dashed #ccc;
}

.dl-info__tit {
	margin-bottom: 10px;
	color: #09097f;
}

/* numbered-list
--------------------------------------------------------- */

.numbered-list {
	counter-reset: my-counter;
}

.numbered-list > li {
	position: relative;
}

.numbered-list > li::before {
	content: counter(my-counter) ".";
	counter-increment: my-counter;
	position: absolute;
	left: 0;
	color: #09097f;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.numbered-list {
	margin: 20px 0;
}

.numbered-list > li {
	padding-left: 1.8em;
	font-size: 1.6rem;
}

.numbered-list > li::before {
	top: 0.1em;
	font-size: 1.7rem;
}

.numbered-list li + li {
	margin-top: 1em;
}

/* ---------------------------------------------------------
 Table
--------------------------------------------------------- */

/* table-default
--------------------------------------------------------- */

.table-default.fixed {
	table-layout: fixed;
}

.bg-alternately tr:nth-of-type(even) th,
.bg-alternately tr:nth-of-type(even) td {
	background-color: #fff7e0;
}

/* table
--------------------------------------------------------- */

.table-main {
	margin-top: 1em;
	border: 2px solid #ccc;
	line-height: 1.4;
}

.table-main th,
.table-main td {
	padding: 1em 1.2em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.table-main th {
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	vertical-align: top;
}

.table-main th[scope="col"] {
	background-color: #ffecb7;
	text-align: center;
}

.table-main th[scope="row"] {
	background-color: #eee;
	text-align: left;
}

.table-main td {
	border-right: 1px solid #ccc;
	background-color: #fff;
	vertical-align: middle;
}

/* ---------------------------------------------------------
  Button-wrap
--------------------------------------------------------- */

/* One column
--------------------------------------------------------- */

.btn-wrap {
	clear: both;
	margin-top: 30px;
	text-align: center;
}

.btn-wrap.mini {
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}

/* Two column
--------------------------------------------------------- */

.btn-wrap__item {
	width: 100%;
}

.btn-wrap__item + .btn-wrap__item {
	margin-top: 20px;
}

/* Two column
--------------------------------------------------------- */

.btn-more-wrap {
	margin: 20px 40px 0;
}

.btn-more-wrap.center {
	text-align: center;
}

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

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

.btn-main,
.btn-hdr-contact,
.btn-email,
.btn-primary,
.btn-secondary,
.btn-back {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 1em 2em;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
}

.btn-main:hover,
.btn-hdr-contact:hover,
.btn-email:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-back:hover {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	background-color: #000;
	color: #fff !important;
}

.btn-main:hover::before,
.btn-hdr-contact:hover::before,
.btn-email:hover::before,
.btn-primary:hover::before,
.btn-secondary:hover::before,
.btn-back:hover::before {
	border-top-color: #fff;
	border-right-color: #fff;
}

.btn-main img,
.btn-hdr-contact img,
.btn-email img,
.btn-primary img,
.btn-secondary img,
.btn-back img {
	line-height: 1;
	vertical-align: middle;
}

.sub-contents-list__link::before,
.btn-main::before,
.btn-primary::before,
.btn-secondary::before,
.contents-list__link::before,
.interview-list__info::before {
	position: absolute;
	top: 50%;
	right: 20px;
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.btn-back::before {
	position: absolute;
	top: 50%;
	left: 20px;
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

/* button main, btn-hdr-contact
--------------------------------------------------------- */

.btn-main,
.btn-hdr-contact {
	background-color: #ffbb00;
}

.btn-main:hover,
.btn-hdr-contact:hover {
	background-color: #000;
}

.btn-main:hover::before,
.btn-hdr-contact:hover::before {
	border-top-color: #fff;
	border-right-color: #fff;
}

.btn-email {
	background-color: #fff;
}

/* btn-primary
--------------------------------------------------------- */

.btn-primary {
	background-color: #ffbb00;
	color: #222 !important;
}

.btn-primary::before {
	border-top-color: #222;
}

.btn-primary::after {
	border-top-color: #222;
}

.btn-form {
	font-size: 1.6rem;
}

/* btn-secondary
--------------------------------------------------------- */

.btn-secondary {
	background-color: #fff !important;
	color: #222 !important;
}

.btn-secondary:hover {
	background-color: #222 !important;
}

.btn-secondary::before {
	border-top-color: #222;
}

.btn-secondary::after {
	border-top-color: #222;
}

/* btn-back
--------------------------------------------------------- */

.btn-back {
	background-color: #eee;
	color: #222 !important;
}

.btn-back::before {
	border-top-color: #222;
}

.btn-back::after {
	border-top-color: #222;
}

.btn-form {
	font-size: 1.6rem;
}

.mt0 {
	margin-top: 0px !important;
}

.mt-0 {
	margin-top: 0px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt-5 {
	margin-top: -5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt-10 {
	margin-top: -10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt-15 {
	margin-top: -15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt-20 {
	margin-top: -20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt-25 {
	margin-top: -25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt-30 {
	margin-top: -30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt-35 {
	margin-top: -35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt-40 {
	margin-top: -40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt-45 {
	margin-top: -45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt-50 {
	margin-top: -50px !important;
}

.mt0 {
	margin-top: 0 !important;
}

/* Font size
--------------------------------------------------------- */

.font-tiny {
	font-size: 80% !important;
}

.font-small {
	font-size: 90% !important;
}

.font-middle {
	font-size: 1.6rem !important;
}

.font-large {
	font-size: 120% !important;
}

.font-huge {
	font-size: 22px !important;
}

.font-italic {
	font-style: italic;
}

/* Text align
--------------------------------------------------------- */

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.text-left {
	text-align: left !important;
}

.text-middle {
	vertical-align: middle !important;
}

.text-line-through {
	text-decoration: line-through;
}

/* Text color
--------------------------------------------------------- */

.text-color-emphasis {
	color: #f13000;
}

.text-color-main {
	color: #0094d1;
}

.text-color-primary {
	color: #4fb6d9;
}

.text-color-default {
	color: #222;
}

.text-color-pink {
	color: #f282a4;
}

.text-color-white {
	color: #fff;
}

/* marker
--------------------------------------------------------- */

.marker {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(255, 249, 88, 0)), color-stop(50%, #fff958));
	background: -webkit-linear-gradient(rgba(255, 249, 88, 0) 50%, #fff958 50%);
	background: linear-gradient(rgba(255, 249, 88, 0) 50%, #fff958 50%);
}

/* New line
--------------------------------------------------------- */

/* ---------------------------------------------------------
  Top
--------------------------------------------------------- */

/* main-visual
--------------------------------------------------------- */

.t-mainv {
	padding: 0;
	line-height: 1;
	text-align: center;
}

.t-mainv img {
	vertical-align: top;
}

/* t-section
--------------------------------------------------------- */

.t-section {
	margin-top: 30px;
}

/* t-grid
--------------------------------------------------------- */

.t-grid {
	margin-top: 30px;
}

.t-grid:nth-child(odd) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.t-grid__item {
	width: 100%;
}

.t-grid__item.pic {
	max-width: 420px;
	margin: 30px auto;
	text-align: center;
}

.t-grid__hdg {
	position: relative;
	margin-bottom: 20px;
	font-size: 1.8rem;
}

.t-grid__hdg-en {
	width: 61px;
	height: 13px;
	margin-left: 10px;
	vertical-align: middle;
}

.t-grid__text {
	line-height: 2;
	text-align: justify;
	text-justify: inter-ideograph;
}

.t-grid__btn {
	max-width: 380px;
	margin: 20px auto 0;
}

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

.t-recruit__wrap {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 30px;
	background-color: #ffbb00;
}

.t-recruit__btn {
	margin-top: 20px;
}

.t-recruit__btn .btn-secondary {
	min-width: 220px;
}

.t-recruit__en img {
	width: 152px;
	height: 39px;
}

.t-recruit__hdg {
	margin: 0.2em 0 0.5em;
	font-size: 1.8rem;
}

.t-recruit__text {
	font-weight: bold;
}

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

.information-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 1.5em;
}

.newsheader {
	padding: 0.5em 0.8em;
	background-color: #ffbb00;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
}

.information-item__content {
	border: 1px solid #ccc;
	width: 50%;
}

.information-item__awards {
	width: 30%;
	text-align: center;
}

.information-item__news {
	width: 20%;
	text-align: center;
}

.awards__img {
	height: 250px;
	margin: auto;
}

.news__img {
	margin: auto;
}

.newslist {
	border-bottom: 1px solid #ccc;
}

.newslist ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.newslist li {
	margin-left: 1em;
	width: 100%;
}

.newslist-button {
	text-align: center;
	font-size: 0.7em;
	margin: 1em 1em;
	padding: 0.5em 0.3em;
	border: 1px solid #ccc;
	width: 10em;
}

.newslist-button a {
	text-decoration: none !important;
	color: #222 !important;
}

/* ---------------------------------------------------------
  About
--------------------------------------------------------- */

/* onestop-detail
--------------------------------------------------------- */

.onestop-detail__item {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

.onestop-detail__pic {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}

.onestop-detail__title {
	margin-bottom: 0.3em;
}

/* advantage
--------------------------------------------------------- */

.advantage {
	max-width: 960px;
	margin: 40px auto;
}

.advantage__img {
	width: 100%;
	text-align: center;
}

.advantage__list {
	font-size: 1.6rem;
}

.advantage__list li + li {
	margin-top: 0.3em;
}

/* feature-list
--------------------------------------------------------- */

.feature-list {
	max-width: 960px;
	margin: 40px auto 0;
}

.feature-list__item + .feature-list__item {
	margin-top: 20px;
}

.feature-list__icon {
	width: 100px;
	font-size: 18px;
}

.feature-list__num {
	display: inline-block;
	width: 53px;
	height: 53px;
	margin-left: 0.2em;
	border-radius: 50%;
	background: #ffbb00;
	line-height: 53px;
	font-size: 24px;
	text-align: center;
	vertical-align: middle;
}

.feature-list__text {
	width: calc(100% - 120px);
}

/* ---------------------------------------------------------
  Service
--------------------------------------------------------- */

/* group-hdg
--------------------------------------------------------- */

.group-hdg {
	margin-top: 30px;
}

.group-hdg__title {
	position: relative;
	padding-bottom: 5px;
	border-bottom: 3px solid #ddd;
	font-size: 1.8rem;
}

.group-hdg__title::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	display: block;
	width: 5em;
	height: 0;
	border-bottom: 3px solid #09097f;
}

.group-hdg__text {
	margin: 15px 0 20px;
}

/* group-hdg
--------------------------------------------------------- */

.service-list__item {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

.service-list__name {
	padding: 20px;
	background-color: #e9e9e9;
	text-align: center;
}

/* vehicle-listv
--------------------------------------------------------- */

.vehicle-list__tit {
	position: relative;
	margin-left: -20px;
	padding: 8px 26px 8px 52px;
	border-bottom: solid 3px #09097f;
	background: #f2f2f2;
	line-height: 1.3;
	color: #2d2d2d;
	font-size: 1.7em;
	z-index: -2;
}

.vehicle-list__tit::before,
.vehicle-list__tit::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: none;
	z-index: -1;
}

.vehicle-list__tit::before {
	left: -2px;
	top: -2px;
	border-left: solid 27px white;
	border-bottom: solid 66px transparent;
}

.vehicle-list__tit::after {
	right: -3px;
	top: -7px;
	width: 0;
	height: 0;
	border-left: solid 27px transparent;
	border-bottom: solid 66px white;
}

.vehicle-list__pic {
	margin: 0;
}

/* ---------------------------------------------------------
  Company
--------------------------------------------------------- */

/* contents-list
--------------------------------------------------------- */

.contents-list {
	margin-top: -20px;
}

.contents-list__item {
	position: relative;
	margin-top: 20px;
}

.contents-list__pic {
	text-align: center;
}

.contents-list__pic:hover {
	opacity: 0.8;
}

.contents-list__title {
	margin: 15px 0;
	font-size: 2rem;
}

.contents-list__en {
	margin-left: 0.5em;
	font-size: 1.4rem;
}

.contents-list__link {
	position: relative;
	display: block;
	margin-top: 20px;
	padding-right: 20px;
	text-align: right;
}

.contents-list__link::before {
	right: 0;
}

.contents-list__link:hover {
	opacity: 0.8;
}

/* president message
--------------------------------------------------------- */

.rep-message__pic {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}

.rep-message__content {
	width: 100%;
}

.rep-message__content p:nth-of-type(1) {
	margin-top: 0;
}

.sign {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	margin-top: 25px;
}

.sign__name {
	margin-left: 10px;
}

.sign__name img {
	width: 170px;
}

/* philosophy
--------------------------------------------------------- */

.compliance,
.mission {
	margin: 4em calc(50% - 50vw);
	padding: 4em calc(50vw - 50%);
	background-color: #f5f5f5;
}

.philosophy-definition + .philosophy-definition {
	margin-top: 1.4em;
}

.philosophy-definition__hdg {
	width: 100%;
	margin-bottom: 0.3em;
	font-size: 2.4rem;
	text-align: center;
}

.philosophy-definition__text {
	width: 100%;
}

.compliance__text {
	text-align: center;
}

.compliance__text + .compliance__text {
	margin-top: 1em;
}

.vision__text + .vision__text,
.mission__text + .vision__text,
.vision__text +
.mission__text,
.mission__text +
.mission__text {
	margin-top: 1em;
}

.vision {
	padding-bottom: 4em;
}

.mission {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.mission__title {
	margin: 2em 0 1em;
	font-size: 1.4em;
}

.full-img {
	margin: 0 calc(50% - 50vw);
}

.full-img img {
	width: 100%;
	height: auto;
}

/* outline
--------------------------------------------------------- */

.cell-size-company {
	width: 35%;
}

/* history
--------------------------------------------------------- */

.history-wrap {
	margin: 0 -20px;
}

.history-table {
	border-top: 1px solid #dfdfdf;
}

.history-table th,
.history-table td {
	padding: 0.5em;
	border-bottom: 1px solid #dfdfdf;
}

.history-table th:nth-of-type(1) {
	width: 4em;
	border-right: 1px solid #fff;
	background-color: #f2f2f2;
}

.history-table th:nth-of-type(2) {
	width: 3em;
	background-color: #f7f7f7;
}

.history-table td {
	padding-left: 1em !important;
}

/* customer-list
--------------------------------------------------------- */

.customer-list {
	margin-top: -20px;
}

.customer-list__item {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

/* membership-list
--------------------------------------------------------- */

.membership-list {
	margin-top: -20px;
}

.membership-list__item {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

/* licenses
--------------------------------------------------------- */

.licenses-brackets {
	position: relative;
	width: 600px;
	margin: 1% 30% 3% 5%;
	padding: 5px 15px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.licenses-brackets::before,
.licenses-brackets::after {
	position: absolute;
	top: 0;
	content: "";
	width: 20px;
	height: 100%;
	border-top: 1px solid #555;
	border-bottom: 1px solid #555;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.licenses-brackets::before {
	left: 0;
	border-left: 1px solid #555;
}

.licenses-brackets::after {
	right: 0;
	border-right: 1px solid #555;
}

/* ---------------------------------------------------------
  Recruit
--------------------------------------------------------- */

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

.interview-list::after {
	content: '';
	display: block;
	width: calc((100% - 40px) / 3);
}

.interview-list__item {
	position: relative;
	background-color: #fff;
	width: calc((100% - 20px) / 2);
	margin-top: 20px;
}

.interview-list__link:hover .interview-list__info {
	background-color: #222;
	background-color: rgba(0, 0, 0, 0.8);
	color: #fff;
}

.interview-list__link:hover .interview-list__info::before {
	border-top-color: #fff;
	border-right-color: #fff;
}

.interview-list__info {
	position: relative;
	width: 100%;
	padding: 15px 20px 13px;
	background-color: rgba(255, 186, 0, 0.8);
}

.interview-list__info:hover {
	color: #fff;
}

.interview-list__job {
	font-weight: bold;
}

.interview-list__name {
	font-weight: bold;
	font-size: 1.5rem;
}

.interview-list__years::before {
	content: '\3010\5165\793E\6B74\3011';
}

.interview-list.sub {
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
}

.interview-list.sub .interview-list__info {
	position: relative;
}

.interview-list.sub .interview-list__info:hover {
	background-color: #222;
}

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

.interview-hdg {
	padding: 20px;
	background-color: #f2f2f2;
}

.interview-hdg__pic {
	width: 100%;
	text-align: center;
}

.interview-hdg__name {
	font-size: 2rem;
}

.interview-hdg__job {
	font-weight: bold;
}

.interview-hdg__year {
	margin-top: 0.2em;
}

/* requirements
--------------------------------------------------------- */

.cell-size-requirements {
	width: 35%;
}

/* ---------------------------------------------------------
  Message
--------------------------------------------------------- */

/* message-content
--------------------------------------------------------- */

/* ---------------------------------------------------------
  Contact
--------------------------------------------------------- */

/* l-form-container
--------------------------------------------------------- */

.l-form-container {
	max-width: 860px;
	margin: 0 auto;
}

/* form-intro
--------------------------------------------------------- */

.form-intro {
	position: relative;
	margin-bottom: 1.5em;
	line-height: 1.8;
}

.form-intro__text + .form-intro__text {
	margin-top: 1em;
}

/* form-contact-info
--------------------------------------------------------- */

.form-contact-info {
	margin-bottom: 30px;
	padding: 20px 0 0;
	border-top: 1px solid #ccc;
	text-align: center;
}

.form-contact-info__tit {
	font-weight: bold;
}

.form-contact-info__tel-num {
	font-size: 2.8rem;
}

.form-contact-info__tel-num .icon-tel {
	position: relative;
	padding-left: 0.7em;
}

.form-contact-info__tel-num .icon-tel::before {
	top: 10px;
	left: 0;
	width: 26px;
	height: 40px;
	background: url("../img/base/ico_tel.svg") no-repeat 0 0;
}

.form-contact-info__time {
	margin-top: -0.2em;
}

/* input-field
--------------------------------------------------------- */

.input-field {
	margin: 0 -20px;
	border-bottom: 1px solid #dbdbdb;
}

.input-field__item {
	width: 100%;
	padding: 15px 20px;
	border-top: 1px solid #dbdbdb;
}

.input-field__tit {
	width: 100%;
	margin-bottom: 0.5em;
	font-size: 1.6rem;
	font-weight: bold;
}

.input-field__input {
	width: 100%;
}

/* form-policy
--------------------------------------------------------- */

.form-policy {
	margin-top: 3em;
	padding: 20px 25px;
	border: 1px solid #ccc;
}

.form-policy__title {
	margin-bottom: 1em;
	font-size: 1.6rem;
}

.form-policy__sub-title {
	margin: 2em 0 0.5em;
	font-size: 16px;
}

.form-policy p {
	margin-top: 0.2em;
}

.form-policy p:nth-of-type(1) {
	margin-top: 0;
}

/* required-icon
--------------------------------------------------------- */

.required-icon {
	position: relative;
	display: inline-block;
	margin-left: 14px;
	padding: 0.2em 0.6em;
	border-radius: 0.3em;
	background: #ffbb00;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.1em;
	vertical-align: middle;
	-webkit-transform: translateY(-2px);
	transform: translateY(-2px);
}

.required-icon.any {
	background-color: #222;
}

/* priacy-agree-check
--------------------------------------------------------- */

.priacy-agree-check {
	margin-top: 2em;
	padding: 20px;
	background-color: #fff3d1;
	text-align: center;
}

.priacy-agree-check input {
	margin-right: 0.5em;
}

/* form-message
--------------------------------------------------------- */

.form-message__title {
	margin-bottom: 1em;
	font-size: 1.45em;
}

.form-message__text + .form-message__text {
	margin-top: 1.5em;
}

.form-select__item + .form-select__item {
	margin-top: 0.2em;
}

/* input-size
--------------------------------------------------------- */

.input-size-max {
	width: 100%;
}

.input-size-l {
	width: 100%;
}

.input-size-m {
	width: 100%;
}

.input-size-s {
	width: 40%;
}

.input-size-xs {
	width: 40%;
}

/* ---------------------------------------------------------
  Sitemap
--------------------------------------------------------- */

/* sitemap-wrap
--------------------------------------------------------- */

.smap-wrap {
	margin: 0 -20px;
}

.smap {
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.smap + .smap .smap__item:first-child {
	border-top: none;
}

.smap__item {
	width: 100%;
	border-top: 1px solid #ccc;
}

.smap__link {
	position: relative;
	display: block;
	width: 100%;
	padding: 1em;
	line-height: 1;
}

.smap > .smap__item > .smap__link {
	padding-left: 2.4em;
	font-weight: bold;
}

.smap > .smap__item > .smap__link:before {
	position: absolute;
	top: 50%;
	left: 1em;
	margin-top: -0.45em;
	content: '\f138';
}

.smap-child {
	padding-bottom: 0.5em;
}

.smap-child__link {
	position: relative;
	display: block;
	width: 100%;
	padding: 0.5em 1em;
	line-height: 1;
}

.smap-child > .smap-child__item > .smap-child__link {
	padding-left: 3em;
}

.smap-child > .smap-child__item > .smap-child__link:before {
	position: absolute;
	top: 50%;
	left: 2em;
	margin-top: -0.45em;
	content: '\f0da';
}

@media all and (-ms-high-contrast: none) {

.page-title__text {
	display: table-cell;
	width: 100%;
	min-height: 205px;
	text-align: center;
	vertical-align: middle;
}

.page-title__summary {
	margin-top: -80px !important;
}

}

@media screen and (min-width: 576px) {

.grid4::before {
	content: '';
	display: block;
	width: calc((100% - 40px) / 3);
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.grid4::after {
	content: '';
	display: block;
	width: calc((100% - 40px) / 3);
}

.grid4 .grid__col {
	width: calc((100% - 40px) / 3);
}

.sub-contents-list__item {
	width: calc((100% - 20px) / 2);
}

.onestop-detail__pic {
	width: 30%;
}

.onestop-detail__box {
	width: 65%;
}

.service-list__item {
	width: calc((100% - 20px) / 2);
}

.contents-list__item {
	width: calc((100% - 20px) / 2);
}

.input-field__tit {
	width: 11em;
	font-size: 1.7rem;
}

.input-field__input {
	width: calc( 100% - 16.5em);
}

}

@media print, screen and (min-width: 768px) {

body {
	font-size: 1.6em;
}

h2:not([class]),
.hdg-main {
	margin: 1.4em 0 1.2em;
	padding: 0 0 5px;
	font-size: 2.6rem;
}

h3:not([class]),
.hdg-primary {
	font-size: 2.4rem;
}

h4:not([class]),
.hdg-secondary {
	font-size: 2.2rem;
}

h5:not([class]),
.hdg-tertiary {
	font-size: 1.8rem;
}

p:not([class]) {
	line-height: 2;
}

ul:not([class]),
ol:not([class]),
.list-main,
dl:not([class]) {
	line-height: 2;
}

table:not([class]) th,
table:not([class]) td,
.table-default th,
.table-default td {
	padding: 0.8em 1.5em;
	line-height: 1.6;
}

.l-header__inner {
	padding: 20px 20px 10px;
}

.site-logo {
	margin-bottom: 45px;
	font-size: 2em;
}

.site-logo__link {
	padding-left: 70px;
}

.site-logo__link::before {
	top: -21px;
	width: 55px;
	height: 52px;
	background-size: 55px 52px;
}

.l-header-tel {
	position: absolute;
	top: 20px;
	right: 20px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
}

.hdr-tel {
	margin-right: 20px;
	padding: 0;
}

.hdr-tel__time {
	font-size: 13px;
}

.hdr-contact {
	margin-top: 0;
}

.l-main-nav-wrap {
	margin-top: 0;
	padding-bottom: 0;
	background-color: #fff;
	color: #222;
}

.l-main-nav-wrap__inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}

.main-nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-justify-content: space-around;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 0;
	margin-bottom: 13px;
}

.main-nav__item {
	padding: 0 5px;
	border-bottom: none;
	border-left: 1px solid #d2d2d2;
	text-align: center;
}

.main-nav__item:last-child {
	border-right: 1px solid #d2d2d2;
}

.main-nav__link[href][class] {
	position: relative;
	padding: 10px 12px;
	line-height: 1;
	color: #222;
	font-size: 16px;
}

.main-nav__new-line {
	display: block;
	line-height: 1.2;
}

#about .main-nav__link[href][class].main-nav02,
#service .main-nav__link[href][class].main-nav03,
#company .main-nav__link[href][class].main-nav04,
#recruit .main-nav__link[href][class].main-nav05 {
	background-color: #f2f2f2;
}

#main-nav-toggle {
	display: none !important;
}

.ftr-contact {
	margin: 140px 0 40px;
	padding: 50px;
}

.ftr-contact.entry {
	margin: 80px 0 40px;
}

.ftr-contact__tit-en::before {
	top: -90px;
	height: 80px;
}

.ftr-contact__tit {
	margin-bottom: 34px;
	font-size: 2.7rem;
}

.ftr-contact__message {
	margin-bottom: 40px;
	font-size: 1.7rem;
}

.contact-info__tel {
	font-size: 3.2rem;
}

.l-footer__inner {
	padding: 60px 20px;
}

.l-footer__group.f-company {
	width: 30%;
}

.l-footer__group.f-menu {
	width: 68%;
	margin-top: 0;
	text-align: right;
}

.f-company__text {
	line-height: 1.8;
	font-size: 15px;
}

.f-company__text {
	font-size: 15px;
}

.f-nav {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	margin: 0;
	border: none;
}

.f-nav__item {
	width: auto;
	font-size: 1.6rem;
	border: none !important;
}

.f-nav__item + .f-nav__item {
	margin: 0 0 27px 34px;
}

.f-nav__link {
	padding: 0;
	border: none;
}

.copyright small {
	font-size: 14px;
}

.page-top {
	display: block;
}

.grid__col h2:nth-child(1),
.grid__col h3:nth-child(1),
.grid__col h4:nth-child(1),
.grid__col h5:nth-child(1),
.grid__col h6:nth-child(1),
.grid__col p:nth-child(1),
.grid__col dl:nth-child(1),
.grid__col ul:nth-child(1),
.grid__col ol:nth-child(1) {
	margin-top: 0 !important;
}

.grid2 .grid__col {
	width: calc((100% - 40px) / 2);
}

.grid2 .grid2 .grid__col {
	width: calc((100% - 20px) / 2);
}

.grid2 > .grid2 .grid__col {
	margin-top: 0;
}

.grid3::after {
	content: '';
	display: block;
	width: calc((100% - 40px) / 3);
}

.grid3 .grid__col {
	width: calc((100% - 40px) / 3);
}

.grid4::before {
	content: '';
	display: block;
	width: calc((100% - 60px) / 4);
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.grid4::after {
	content: '';
	display: block;
	width: calc((100% - 60px) / 4);
}

.grid4 .grid__col {
	width: calc((100% - 60px) / 4);
}

.page-title {
	min-height: 260px;
	margin: 0 0 20px;
}

.page-title__text {
	font-size: 3.6rem;
}

.breadcrumb {
	font-size: 14px;
}

.intro.mt {
	margin-top: 60px;
}

.intro__title {
	margin-bottom: 30px;
	font-size: 2.4rem;
}

.intro__text {
	line-height: 2;
	font-size: 1.7rem;
	text-align: center;
}

.sub-contents-list__link {
	min-height: 120px;
	font-size: 1.8rem;
}

.graph {
	margin: 60px auto;
}

.phone-call-box a[href^="tel:"],
.phone-call {
	pointer-events: none;
	color: #222 !important;
	text-decoration: none !important;
}

.notes-single.mt-minus {
	margin-top: -20px;
}

.numbered-list > li::before {
	top: 0;
}

.numbered-list > li {
	font-size: 1.7rem;
}

.numbered-list > li::before {
	top: -0.2em;
	font-size: 2rem;
}

.table-main th,
.table-main td {
	padding: 1.2em 1.5em;
}

.btn-wrap {
	margin-top: 50px;
}

.btn-wrap__item {
	width: 48%;
	text-align: left;
}

.btn-wrap__item + .btn-wrap__item {
	margin-top: 0;
}

.btn-wrap__item:first-child {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
	text-align: right;
}

.btn-more-wrap {
	margin: 25px 0 0;
}

.btn-main,
.btn-hdr-contact,
.btn-email,
.btn-primary,
.btn-secondary,
.btn-back {
	width: auto;
	padding: 1.2em 2em;
	font-size: 15px;
}

.btn-main {
	min-width: 240px;
}

.btn-hdr-contact {
	min-width: 180px;
}

.btn-form {
	min-width: 320px;
	font-size: 1.8rem;
}

.btn-form {
	min-width: 320px;
	font-size: 1.8rem;
}

.mtpc0 {
	margin-top: 0px !important;
}

.mtpc-0 {
	margin-top: 0px !important;
}

.mtpc5 {
	margin-top: 5px !important;
}

.mtpc-5 {
	margin-top: -5px !important;
}

.mtpc10 {
	margin-top: 10px !important;
}

.mtpc-10 {
	margin-top: -10px !important;
}

.mtpc15 {
	margin-top: 15px !important;
}

.mtpc-15 {
	margin-top: -15px !important;
}

.mtpc20 {
	margin-top: 20px !important;
}

.mtpc-20 {
	margin-top: -20px !important;
}

.mtpc25 {
	margin-top: 25px !important;
}

.mtpc-25 {
	margin-top: -25px !important;
}

.mtpc30 {
	margin-top: 30px !important;
}

.mtpc-30 {
	margin-top: -30px !important;
}

.mtpc35 {
	margin-top: 35px !important;
}

.mtpc-35 {
	margin-top: -35px !important;
}

.mtpc40 {
	margin-top: 40px !important;
}

.mtpc-40 {
	margin-top: -40px !important;
}

.mtpc45 {
	margin-top: 45px !important;
}

.mtpc-45 {
	margin-top: -45px !important;
}

.mtpc50 {
	margin-top: 50px !important;
}

.mtpc-50 {
	margin-top: -50px !important;
}

.font-tiny {
	font-size: 13px !important;
}

.font-small {
	font-size: 14px !important;
}

.font-middle {
	font-size: 18px !important;
}

.font-large {
	font-size: 26px !important;
}

.font-huge {
	font-size: 28px !important;
}

.text-center-only-l {
	text-align: center !important;
}

.new-line {
	display: block;
}

.t-section {
	margin-top: 100px;
}

.t-grid {
	margin-top: 60px;
}

.t-grid:nth-child(odd) .t-grid__item.content {
	padding-left: 30px;
}

.t-grid:nth-child(even) .t-grid__item.content {
	padding-right: 30px;
}

.t-grid__item.content {
	width: 56%;
}

.t-grid__item.pic {
	width: 44%;
	max-width: 100%;
	margin: 0;
}

.t-grid__hdg {
	margin-bottom: 30px;
	font-size: 2.7rem;
}

.t-grid__btn {
	margin: 30px 0 0;
}

.t-recruit__content {
	width: 68%;
}

.t-recruit__btn {
	width: 30%;
	margin-top: 0;
}

.t-recruit__hdg {
	font-size: 2.6rem;
}

.t-recruit__text {
	line-height: 1.8;
}

.onestop-detail__item {
	width: calc((100% - 40px) / 2);
}

.onestop-detail__title {
	font-size: 2.2rem;
}

.group-hdg__title {
	font-size: 2.6rem;
}

.service-list::after {
	content: '';
	display: block;
	width: calc((100% - 40px) / 3);
}

.service-list__item {
	width: calc((100% - 40px) / 3);
}

.vehicle-list {
	margin-top: -60px;
}

.vehicle-list__item {
	width: calc((100% - 60px) / 2);
	margin-top: 60px;
}

.vehicle-list__tit {
	font-size: 2rem;
}

.contents-list__title {
	margin: 20px 0 15px;
	font-size: 2.4rem;
}

.rep-message__pic {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
	width: 40%;
	margin-bottom: 0;
}

.rep-message__content {
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
	width: 58%;
}

.philosophy-definition__hdg {
	width: 5em;
	margin-bottom: 0;
	font-size: 2.8rem;
}

.philosophy-definition__text {
	width: calc(100% - 8.4em);
	line-height: 2;
	font-size: 1.7rem;
}

.compliance__text {
	font-size: 1.7rem;
}

.vision__text,
.mission__text {
	line-height: 2;
	font-size: 1.7rem;
}

.cell-size-company {
	width: 20%;
}

.history-wrap {
	margin: 0;
}

.history-table th,
.history-table td {
	padding: 1em 0;
}

.history-table th:nth-of-type(1) {
	width: 7em;
}

.history-table th:nth-of-type(2) {
	width: 4em;
}

.customer-list__item {
	width: calc((100% - 20px) / 2);
}

.membership__item {
	width: calc((100% - 20px) / 2);
}

.interview-list__info {
	position: absolute;
	bottom: 0;
	left: 0;
}

.interview-list__name {
	font-size: 1.7rem;
}

.interview-list.sub {
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
}

.interview-hdg {
	padding: 40px 40px 40px 60px;
}

.interview-hdg__info {
	width: 58%;
}

.interview-hdg__pic {
	width: 40%;
}

.cell-size-requirements {
	width: 16%;
}

.form-intro {
	font-size: 1.7rem;
}

.form-contact-info__tel-num {
	width: auto;
	font-size: 3.6rem;
}

.input-field {
	margin: 0;
}

.input-field__item {
	padding: 25px 20px;
}

.form-policy {
	font-size: 14px;
}

.form-policy__title {
	font-size: 18px;
}

.form-message {
	width: 40em;
	margin-right: auto;
	margin-left: auto;
	line-height: 1.7;
}

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

.form-message.error .form-message__text {
	text-align: center;
}

.input-size-l {
	width: 70%;
}

.input-size-m {
	width: 50%;
}

.input-size-s {
	width: 35%;
}

.input-size-xs {
	width: 80px;
}

.smap-wrap {
	margin: 0 auto;
}

.smap {
	width: 48%;
	border-bottom: none;
}

.smap__item {
	border-top: none;
}

}

@media screen and (min-width: 1000px) {

html {
	overflow-y: scroll;
}

}

@media print, screen and (min-width: 1160px) {

.site-logo__text {
	width: 173px;
	height: 20px;
}

.main-nav__link[href][class] {
	padding: 10px 30px;
}

.main-nav__new-line {
	display: inline-block;
}

.l-footer__group.f-menu {
	width: 58%;
}

.f-company__text {
	font-size: 17px;
}

.page-top {
	bottom: 33%;
}

.breadcrumb {
	margin-bottom: 70px;
}

.intro {
	margin-bottom: 80px;
}

.intro.mt {
	margin-top: 80px;
}

.intro__title {
	font-size: 3.6rem;
}

.sub-contents-list {
	margin-top: 80px;
}

.sub-contents-list::after {
	content: '';
	display: block;
	width: 370px;
}

.sub-contents-list__item {
	width: 370px;
}

.line-hdg + .sub-contents-list {
	margin-top: 30px;
}

.line-hdg {
	font-size: 2.8rem;
}

.t-grid {
	margin-top: 100px;
}

.t-grid:nth-child(odd) .t-grid__item.content {
	padding: 0 80px 45px;
	text-align: right;
}

.t-grid:nth-child(odd) .t-grid__hdg::before {
	right: -80px;
}

.t-grid:nth-child(even) .t-grid__item.content {
	padding: 0 45px 0 80px;
}

.t-grid:nth-child(even) .t-grid__hdg::before {
	left: -80px;
}

.t-grid__item.content {
	width: calc(100% - (580px));
}

.t-grid__item.pic {
	width: 580px;
}

.t-grid__hdg::before {
	content: "";
	position: absolute;
	top: 20px;
	display: block;
	width: 60px;
	height: 0;
	border-top: 1px solid #000;
}

.t-recruit__wrap {
	padding: 50px;
}

.onestop-detail__pic {
	width: 195px;
}

.onestop-detail__box {
	width: calc(100% - (195px + 20px));
}

.advantage__img {
	width: 484px;
}

.advantage__list {
	width: calc(100% - (484px + 30px));
	font-size: 1.7rem;
}

.feature-list {
	margin-top: 60px;
}

.group-hdg {
	margin-top: 80px;
}

.service-list::before {
	content: '';
	display: block;
	width: 266px;
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.service-list::after {
	content: '';
	display: block;
	width: 266px;
}

.service-list__item {
	width: 266px;
}

.contents-list {
	margin-top: -40px;
}

.contents-list__item {
	width: 560px;
	margin-top: 40px;
}

.contents-list__title {
	margin: 20px 0 15px;
	font-size: 3.6rem;
}

.rep-message__pic {
	width: 520px;
}

.rep-message__content {
	width: calc(100% - (520px + 30px));
}

.compliance,
.mission {
	margin: 5em calc(50% - 50vw);
	padding: 5em calc(50vw - 50%);
}

.philosophy-definition {
	max-width: 860px;
	margin: 0 auto;
}

.vision__title,
.vision__text,
.mission__title,
.mission__text {
	max-width: 860px;
	margin-right: auto;
	margin-left: auto;
}

.vision {
	padding-bottom: 5em;
}

.customer-list__item {
	width: calc((100% - 40px) / 3);
}

.membership__item {
	width: calc((100% - 40px) / 3);
}

.interview-list__item {
	width: 370px;
}

.interview-hdg__info {
	width: calc(100% - (650px + 30px));
}

.interview-hdg__pic {
	width: 650px;
}

.interview-hdg__name {
	font-size: 3rem;
}

.interview-hdg__job {
	font-size: 1.8rem;
}

.interview-hdg__year {
	font-size: 1.7rem;
}

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

.form-contact-info {
	margin-bottom: 30px;
}

.form-select {
	font-size: 1.7rem;
}

}

@media print, screen and (min-width: 1320px) {

.page-title {
	margin: 0 -80px 20px;
}

.t-mainv {
	margin: 0 -80px;
}

.group-hdg__text {
	margin: -2.4em 0 0 8em;
	padding-bottom: 2.4em;
}

}

@media screen and (max-width: 768px) {

.information-item {
	margin-top: 1em;
	margin-left: auto;
	margin-right: auto;
}

.information-item__content {
	width: 100%;
}

.information-item__news {
	margin: auto;
	width: 80%;
}

.information-item__awards {
	margin: auto;
	width: 70%;
}

.newslist {
	width: 100%;
}

.newslist-button {
	margin: auto;
	padding: 1em 0.5em;
	border: 1px solid #ccc;
	width: 150px;
}

}

@media print, screen and (max-width: 768px) {

.licenses-brackets {
	width: 80%;
}

}

@media screen and (max-width: 767px) {

.l-main-nav-wrap {
	position: fixed;
	top: 0;
	left: 0;
}

.l-main-nav-wrap__inner {
	position: relative;
}

.main-nav-hide {
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
}

.main-nav-animation {
	-webkit-transition-property: opacity, visibility;
	transition-property: opacity, visibility;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}

html.main-nav-no-scroll,
html.main-nav-no-scroll body {
	position: fixed;
	width: 100%;
	height: 100%;
}

.new-line-only-st {
	display: block;
}

}

@media screen and (max-width: 640px) {

.newslist ul {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-flow: column nowrap;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
}

.newslist li {
	margin-left: 1em;
	width: 90%;
}

.newslist li {
	border-left: none;
}

}

@media screen and (max-width: 575px) {

.table-main {
	border-bottom-width: 1px;
}

.table-main th,
.table-main td {
	display: block;
	border-right: none;
}

.table-main th {
	border: none;
}

}

@media screen and (max-width: 420px) {

.new-line-only-s {
	display: block;
}

}

@media print {

html {
	width: 1260px;
	height: auto;
	-webkit-transform: scale(0.72);
	transform: scale(0.72);
	-webkit-transform-origin: 20% 0;
	transform-origin: 20% 0;
}

}

