@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&family=Noto+Sans+JP:wght@400;700&display=swap');
:root {
    --text-color: #000;
    --green: #7ac943;
    --blue: #3fa9f5;
    --orange: #ff931e;
    --dark-gray: #4d4d4d;
    --link-color: #ff931e;
    --base-padding-y: 9rem; /*基本Ypadding */
    --base-padding-y-s: 6rem; /*小Ypadding*/
    --base-padding-x: calc((100% - 1100px) / 2); /*コンテンツ幅Xpadding */
    --content-width: 1200px;
    --global-header-height: 55px;
    --divider1: 1px solid #8995ab;
}
@media screen and (min-width: 320px), print {
    :root {
        --base-padding-y: 4rem; /*基本Ypadding */
        --base-padding-y-s: 2.7rem; /*小Ypadding*/
        --base-padding-x: 2.666666666666667vw; /*コンテンツ幅Xpadding */
        --content-width: 94.666666666666667vw;
        --global-header-height: 55px;
    }
}
@media screen and (min-width: 768px), print {
    :root {
        --base-padding-y: 9rem; /*基本Ypadding */
        --base-padding-y-s: 6rem; /*小Ypadding*/
        --base-padding-x: 1.953125vw; /*セクション左右-padding*/
        --content-width: 96.09375vw;
    }
}
@media screen and (min-width: 1132px), print {
    :root {
        --base-padding-x: calc((100% - 1100px) / 2); /*コンテンツ幅Xpadding */
        --content-width: 1100px;
        --global-header-height: 10rem;
    }
}


.slick-slide{
margin:0 1vw;
}


/* ============================== */
/*  BASE */
/* ============================== */
*, *::before, *::after {
    box-sizing: border-box;
}
html {
    word-break: break-word;
    font-size: 62.5%;
}
@media screen and (max-width: 374.98px) { /* 320pxSP */
    html {
        font-size: 53.333333333333333%;
    }
}
@media screen and (min-width:768px) and (max-width:1131.98px) {
    html {
        font-size: calc(10 / 11.32vw); /* 1232px→1rem=10px */
        font-size: 0.88339222614841vw;
    }
}
@media screen and (min-width: 1132px), print {
    html {
        font-size: 62.5%;
    }
}
::-moz-selection {
    background-color: #b3d4fc;
    color: #000000;
    text-shadow: none;
}
::selection {
    background-color: #b3d4fc;
    color: #000000;
    text-shadow: none;
}
body {
    font-size: 13px;
    line-height: 1.6;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: var(--text-color);
}
@media screen and (min-width: 1132px), print {
    body {
        font-size: 1.4rem;
    }
}
#page {
    width: 100%;
    overflow: hidden;
    max-width: 2000px;
    margin-left: auto;
    margin-right: auto;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 0.5em;
    font-feature-settings: "palt"1;
    letter-spacing: 0.02em;
}
p {
    margin: 0;
}
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border: none;
    border-top: 1px solid #ccc;
    margin: 1.5em 0;
    color: transparent;
}
ol, ul, li, dl, dt, dd {
    margin: 0;
    padding: 0;
}
ul {
    list-style-type: none;
}
table {
    border-collapse: collapse;
    width: 100%;
    margin: 0;
}
th, td {
    padding: 0.4em 1em;
    border: 1px solid #dcdcdc;
    text-align: left;
    vertical-align: middle;
}
th {
    font-weight: 700;
    background-color: #fafafa;
}
caption {
    padding-top: .75em;
    padding-bottom: .75em;
    color: #6c757d;
    text-align: left;
    caption-side: bottom;
}
img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
picture {
    width: 100%;
}
iframe {
    vertical-align: bottom;
}
figure {
    margin: 0;
}
address {
    margin: 0;
    font-style: normal;
    line-height: inherit;
}
strong, em {
    font-weight: 700;
}
sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}
sub {
    bottom: -.25em;
}
sup {
    top: -.5em;
}
a {
    outline: none;
    text-decoration: none;
    color: inherit;
}
a:focus {
    outline: none;
}
@media (hover: hover) {
    a {
        transition: opacity 200ms, background-color 200ms, color 200ms;
    }
}
/* BUTTON */
[type="submit"], [type="reset"], [type="button"], button {
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    color: #fff;
    padding: .5em 1em;
    border-radius: 0.3em;
    letter-spacing: .1em;
    text-indent: .1em;
}
[type="text"], [type="email"], [type="search"], [type="tel"], [type="url"], [type="password"], textarea {
    font-size: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #dfe1e5;
    border-radius: .2em;
    padding: .25em .5em;
    width: 100%;
    vertical-align: bottom;
    transition: 200ms;
    line-height: 1.3;
}
textarea {
    height: 180px;
    line-height: 1.5;
}
input:focus, textarea:focus {
    outline: none;
}
[type="text"]:focus, [type="email"]:focus, [type="search"]:focus, [type="tel"]:focus, [type="url"]:focus, [type="password"]:focus, textarea:focus {
    border-color: #2196f3;
    box-shadow: 0 0 0 2px rgba(33, 150, 243, .70);
    background-color: #ffffc4;
}
/* ============================== */
/*  LAYOUT */
/* ============================== */
.js-overlayer {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 100;
    display: none;
}
@media screen and (min-width: 1132px), print {
    .js-overlayer {
        display: none !important;
    }
}
@media screen and (max-width: 767.98px) {
    .only-pc {
        display: none;
    }
}
@media screen and (min-width: 768px), print {
    .only-sp {
        display: none;
    }
}
/* ============================== */
/*  GLOBAL-HEADER */
/* ============================== */
.global-header {
    position: fixed;
    z-index: 110;
    width: 100%;
    background: #fff;
    height: var(--global-header-height);
    top: 0;
    left: 0;
}
.page-content {
    padding-top: var(--global-header-height);
}
.site-id {
    margin: 0;
    line-height: 1;
    position: absolute;
    top: 0;
    left: var(--base-padding-x);
    height: 100%;
    font-size: 1.75rem;
    width: 140px;
}
.site-id a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    line-height: 1;
    padding-top: 7%;
}
@media screen and (min-width: 768px), print {
    .site-id {
        width: 24rem;
    }
}
.global-nav a {
    color: #fff;
}
.global-nav .cat-title::before {
    content: "・";
}
.global-nav .cat-title {
    color: var(--text-color);
}
/* ============================== */
/*  GLOBAL-NAV SP-ONLY */
/* ============================== */
@media screen and (max-width: 1131.98px) {
    #global-nav {
        position: fixed;
        top: var(--global-header-height);
        right: -280px;
        z-index: 130;
        height: calc(100vh - var(--global-header-height));
        overflow-y: scroll;
        background: rgba(255, 147, 30, 0.9);
        opacity: 0;
        transition: transform 250ms, opacity 450ms, right 1ms 450ms;
        transition: 200ms;
    }
    body.js-show-menu #global-nav {
        opacity: 1;
        right: 0;
        width: 280px;
    }
    .global-nav-inner {
        padding: 3rem 15px 130px;
    }
    .global-nav .primary {
        border-top: 1px solid rgba(255, 255, 255, 0.3);
    }
    .global-nav .primary > li {
        font-size: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        position: relative;
    }
	.global-nav .primary > li.nolink {
        display: block;
        padding: 1.0rem 0;
        position: relative;
		color:#fff;
    }
    .global-nav .primary > li > a {
        display: block;
        padding: 1.0rem 0;
        position: relative;
    }
    .global-nav .primary .collapse-button {
        position: absolute;
        top: 4.2px;
        right: 0;
        width: 34px;
        height: 34px;
        background: transparent;
        z-index: 135;
        display: block;
    }
    .global-nav .primary .collapse-button::after, .global-nav .primary .collapse-button::before {
        content: "";
        position: absolute;
        width: 14px;
        height: 2px;
        top: calc(50% - 1px);
        right: 10px;
        background: #fff;
    }
    .global-nav .primary .collapse-button::after {
        transform: rotate(90deg);
        transition: 250ms;
    }
    .global-nav .primary .collapse-button.js-show-dd::after {
        transform: rotate(0);
    }
    .global-nav .dropdown {
        font-size: 13px;
        padding: 1.2rem 0 1.4rem 0;
        display: none;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
    }
    .global-nav .cat-title {
        margin: 1.5em 0 0.5em;
    }
    .global-nav .category-list li:first-child .cat-title {
        margin-top: 0.5em;
    }
    .global-nav .secondary {
        margin-left: 1em;
    }
    .global-nav .secondary > li > a {
        padding: 0.5em 0 0.5em 1em;
        display: block;
        background: url("../images/common/arr_w-r.svg") no-repeat left center;
        background-size: 1em;
    }
    .global-nav .tertiary li {
        margin-right: 0;
        margin-left: 1em;
        color: #fff;
    }
    .global-nav .tertiary > li::before {
        content: "・";
    }
    .global-nav .tertiary > li > a {
        padding: 0.5em 0 0.5em 0;
        display: inline-block;
    }
}
/*  TOGGLE BUTTON */
#toggle-button {
    width: var(--global-header-height);
    height: var(--global-header-height);
    top: 0;
    right: 0;
    position: fixed;
    z-index: 140;
    display: flex;
    align-items: center;
    justify-content: center;
}
#toggle-button .menu-icon, #toggle-button .menu-icon::before, #toggle-button .menu-icon::after {
    width: 34px;
    height: 5px;
    background-color: var(--orange);
}
#toggle-button .menu-icon {
    position: relative;
    transition: 100ms;
}
#toggle-button .menu-icon::before, #toggle-button .menu-icon:after {
    content: "";
    position: absolute;
    transition: transform 100ms, top 100ms 100ms;
    left: 0;
    transform-origin: center;
}
#toggle-button .menu-icon::before {
    top: -11px;
}
#toggle-button .menu-icon::after {
    top: 11px;
}
/* TOGGLE BUTTON.js-clicked */
#toggle-button.js-clicked .menu-icon {
    background-color: rgba(255, 255, 255, 0);
}
#toggle-button.js-clicked .menu-icon::before, #toggle-button.js-clicked .menu-icon::after {
    transition: transform 300ms 100ms, top 100ms;
}
#toggle-button.js-clicked .menu-icon::before {
    top: 0;
    transform: rotate(45deg);
}
#toggle-button.js-clicked .menu-icon::after {
    top: 0;
    transform: rotate(-45deg);
}
@media screen and (min-width: 1132px), print {
    #toggle-button {
        display: none;
    }
}
/* ============================== */
/*  GLOBAL-NAV PC-ONLY */
/* ============================== */
@media screen and (min-width: 1132px), print {
    #global-nav {
        display: block !important;
        position: absolute;
        right: var(--base-padding-x);
        bottom: 0;
    }
    .global-nav .primary .collapse-button {
        display: none;
    }
    .global-nav .primary {
        display: flex;
    }
    .global-nav .primary > li {
        font-size: 1.4rem;
        margin-left: 2em;
        line-height: 1.5;
        position: relative;
    }
	.global-nav .primary > li.nolink {
        display: block;
        padding: 0.5em 0 2rem;
        position: relative;
    }
    .global-nav .primary > li > a {
        display: block;
        padding: 0.5em 0 2rem;
        position: relative;
        color: var(--text-color);
    }
    .global-nav .primary > li > a::after, .global-nav .primary > li::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: -0.5rem;
        width: calc(100% + 1rem);
        height: 0;
        background: transparent;
        transition: 250ms;
    }
    .global-nav .primary > li > a:hover::after, .global-nav .primary > li.hover::after {
        background: var(--orange);
        height: 0.4rem;
    }
    .global-nav .dropdown {
        font-size: 1.4rem;
        display: none;
        position: fixed;
        top: var(--global-header-height);
        left: 0;
        width: 100%;
        background: var(--orange);
        padding: 2rem var(--base-padding-x);
    }
    .global-nav .dropdown-inner {
        display: flex;
        justify-content: center;
    }
    .global-nav .category-list {
        display: flex;
    }
    .global-nav .category-list > li {
        margin: 0 2.5rem;
    }
    .global-nav .cat-title {
        margin: 0 0 0.5em 0;
    }
    .global-nav .bm-cat li:first-child .cat-title {
        margin-top: 0;
    }
    .global-nav .secondary {
        margin-left: 1em;
        display: flex;
        flex-wrap: wrap;
    }
    .global-nav .category-list .secondary {
        display: block;
    }
    .global-nav .secondary > li {
        margin: 0 2rem;
    }
    .global-nav .category-list .secondary > li {
        margin: 0;
    }
    .global-nav .secondary > li > a {
        padding: 0.8em 0 0.8em 1em;
        display: inline-block;
        background: url("../images/common/arr_w-r.svg") no-repeat left center;
        background-size: 1em;
    }
    .global-nav .category-list .secondary > li > a {
        padding-top: 0.25em;
        padding-bottom: 0.25em;
    }
    .global-nav .tertiary {
        display: flex;
        margin-top: -1rem;
    }
    .global-nav .tertiary li {
        margin-right: 0;
        margin-left: 1em;
        color: #fff;
    }
    .global-nav .tertiary > li::before {
        content: "・";
    }
    .global-nav .tertiary > li > a {
        padding: 0.6em 0 0.6em 0;
        display: inline-block;
    }
}
@media (hover: hover) and (min-width: 1132px) {
    .global-nav .secondary > li > a::after, .global-nav .tertiary > li > a::after {
        content: "";
        display: block;
        border-bottom: 1px solid transparent;
        box-sizing: content-box;
        width: 0;
        transition: 250ms;
    }
    .global-nav .secondary > li > a:hover::after, .global-nav .tertiary > li > a:hover::after {
        width: 100%;
        border-bottom-color: rgba(255,255,255,0.7);
    }
}
/* ============================== */
/*  BREADCRUMB-NAV */
/* ============================== */
nav.breadcrumb {
    margin: 1.5rem var(--base-padding-x) 2.5rem;
    font-size: 1.1rem;
}
nav.breadcrumb ol {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
nav.breadcrumb li {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}
nav.breadcrumb li:not(:first-child)::before {
    content: "";
    width: 0.5em;
    height: 0.5em;
    box-sizing: border-box;
    display: block;
    margin: 0 0.6em 0 0.35em;
    border: solid 1px;
    border-color: #555 #555 transparent transparent;
    transform: rotate(45deg);
    position: relative;
    top: 0.07em;
}
nav.breadcrumb a {
    color: inherit;
}
@media screen and (min-width: 768px), print {
    nav.breadcrumb {
        margin-top: 4rem;
        font-size: 1.4rem;
    }
}
@media (hover: hover) {
    nav.breadcrumb a:hover {
        color: var(--link-color);
    }
}
/* ============================== */
/*  GLOBAL FOOTER */
/* ============================== */
.global-footer {
    padding: 3rem 0 0;
    background: url("../images/common/bg_footer.jpg") no-repeat center top;
    background-size: cover;
}
@media screen and (min-width: 768px), print {
    .global-footer {
        padding: 4rem 0 0;
    }
}
/*  GO PAGETOP */
#go-pagetop a {
    position: fixed;
    z-index: 80;
    text-indent: -100vw;
    overflow: hidden;
    transition: 200ms ease;
    background-color: rgba(0, 0, 0, 0.4);
    width: 4.4rem;
    height: 4.4rem;
    bottom: 2rem;
    right: var(--base-padding-x);
    display: block;
}
#go-pagetop a::before {
    content: "";
    position: absolute;
    display: block;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff;
    transform: rotate(45deg);
    left: calc(50% - 0.5rem);
    top: calc(50% - 0.4rem);
    width: 1rem;
    height: 1rem;
}
@media screen and (min-width: 768px), print {
    #go-pagetop a {
        width: 7rem;
        height: 7rem;
        bottom: 4rem;
        right: 4rem;
    }
    #go-pagetop a::before {
        width: 1.6rem;
        height: 1.6rem;
        left: calc(50% - 0.8rem);
        top: calc(50% - 0.6rem);
    }
}
.footer-wrapper {
    padding: 0 var(--base-padding-x) 4rem;
}
@media screen and (min-width: 768px), print {
    .footer-wrapper {
        display: flex;
        padding: 0 var(--base-padding-x) 6rem;
    }
}
/* FOOTER-ADDRESS */
.footer-address {
    color: var(--dark-gray);
}
.footer-address .logo {
    width: 140px;
}
.footer-address h3 {
    font-size: 1.5rem;
}
.footer-address p {
    font-size: 1.3rem;
}
/*.footer-address p a {
    border-bottom: 1px dashed #999;
}
*/
@media screen and (min-width: 1032px), print {
    .footer-address {
        margin: 0 4rem 0 0;
    }
    .footer-address .logo {
        font-size: 3.0;
        width: 24rem;
        margin: 0 0 1.2em;
    }
    .footer-address h3 {
        font-size: 1.8rem;
    }
    .footer-address p {
        font-size: 1.4rem;
    }
}
/* FOOTER-LINK */
.footer-link {
    display: none;
}
@media screen and (min-width: 1032px), print {
    .footer-link {
        display: flex;
        font-size: 1.6rem;
        line-height: 1.625;
    }
    .footer-link a {
        color: var(--dark-gray);
    }
    .footer-link .column {
        margin: 0 0 0 2.5rem;
    }
    .footer-link h4 {
        font-size: inherit;
        margin: 0;
        line-height: 1.625;
    }
    .footer-link h4::before {
        content: "■";
        padding-right: 0.25em;
        color: var(--orange);
    }
    .footer-link h4 a {
        color: var(--orange);
    }
    .footer-link h5 {
        font-size: 1.2rem;
        margin: 0.4rem 0 0;
    }
    .footer-link h5::before {
        content: "・";
    }
    .footer-link h5 + .secondary {
        padding-left: 1em;
    }
    .footer-link .secondary > li > a {
        padding-left: 1em;
        background: url("../images/common/arr_b-r.svg") no-repeat left center;
        background-size: 1em;
    }
    .footer-link .tertiary > li {
        padding-left: 1em;
    }
    .footer-link .tertiary > li::before {
        content: "・";
    }
    .footer-link .primary li:not(:first-child) {
        margin-top: 0.15em;
    }
}
@media (hover: hover) {
    .footer-link a:hover {
        text-decoration: underline;
    }
}
.copyright {
    font-size: 1.3rem;
    line-height: 1.5;
    background: var(--orange);
    color: #fff;
    text-align: center;
    padding: 2.107142857142857em 0;
}
.copyright small {
    font-size: inherit;
}
@media screen and (min-width: 768px), print {
    .copyright {
        font-size: 1.4rem;
        padding: 2.821428571428571em 0;
    }
}
/* ============================== */
/*  REPEATABLE */
/* ============================== */
.major-section {
    padding: 0 var(--base-padding-x);
    margin: var(--base-padding-y) 0;
	color: var(--dark-gray);
}
@media screen and (min-width: 768px), print {
    .major-section {
        padding: 0 var(--base-padding-x);
        margin: var(--base-padding-y) 0;
    }
}
.show-detail.cl1 a {
    background: #8995ab;
    height: 3.8em;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0 0;
    padding: 0.25em 1em;
}
@media screen and (min-width: 768px), print {
    .show-detail.cl1 a {
        height: 5em;
        width: 20em;
        margin: 6.5rem auto 0;
        font-size: 14px;
    }
}
@media screen and (min-width: 1132px), print {
    .show-detail.cl1 a {
        font-size: 1.6rem;
    }
}
@media (hover: hover) {
    .show-detail.cl1 a:hover {
        background-color: #73819b;
    }
}
.show-detail.cl2 a {
    background: var(--orange);
    height: 3.3em;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0 0;
    padding: 0.25em 1em;
}
@media screen and (min-width: 768px), print {
    .show-detail.cl2 a {
        height: 4em;
        width: 20em;
        margin: 6.5rem auto 0;
        font-size: 14px;
    }
}
@media screen and (min-width: 1132px), print {
    .show-detail.cl2 a {
        height: 5em;
        font-size: 1.6rem;
    }
}
@media (hover: hover) {
    .show-detail.cl2 a:hover {
        background-color: #f67900;
    }
}
/* オリジナル開発製品*/
.our-product {
    border-top: var(--divider1);
    padding: 3rem var(--base-padding-x);
    margin: 0;
}
.our-product h3 {
    color: #575757;
    font-size: 1.5rem;
    margin: 0 0 0.25em;
}
.our-product .product-list li:not(:first-child) {
    margin-top: 2rem;
}
@media screen and (min-width: 768px), print {
    .our-product h3 {
        font-size: 1.8rem;
    }
    .our-product .product-list {
        display: flex;
        justify-content: space-between;
    }
    .our-product .product-list li {
        width: 540px;
    }
    .our-product .product-list li:not(:first-child) {
        margin-top: 0;
    }
}
@media (hover: hover) {
    .our-product .product-list li a:hover {
        opacity: 0.8;
    }
}
/* エンジニアブログ */
.engineer-blog {
    padding: 3rem var(--base-padding-x);
    border-top: var(--divider1);
    border-bottom: var(--divider1);
}
.our-product + .engineer-blog {
    border-top: none;
    padding-top: 0;
}
.engineer-blog a {
    display: block;
    position: relative;
}
.engineer-blog .text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.engineer-blog .text img {
    width: 50%;
}
@media screen and (min-width: 768px), print {
    .engineer-blog a {
        display: flex;
        flex-direction: row-reverse;
    }
    .engineer-blog .text {
        position: relative;
        height: auto;
        background: var(--orange);
        width: 50%;
        padding-top: 1.5%;
    }
    .engineer-blog .image {
        width: 50%;
    }
}
@media (hover: hover) {
    .engineer-blog a:hover {
        opacity: 0.8;
    }
}
/* 認定*/
.certifications {
    border-top: var(--divider1);
    padding: 3rem var(--base-padding-x);
}
.engineer-blog + .certifications {
    border-top: none;
}
.certifications ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 88%;
    margin: 0 auto;
}
.certifications li {
    width: 29%;
}
.certifications li:nth-child(n + 4) {
    margin-top: 5vw;
}
.certifications li a {
    transition: 0.3s;
}
.certifications li a:hover {
    opacity: 0.8;
}
@media screen and (min-width: 768px), print {
    .certifications ul {
        width: 66.181818181818182%;
    }
    .certifications li {
        width: 12.087912087912088%;
    }
    .certifications li:nth-child(n + 4) {
        margin-top: 0;
    }
}
/* ============================== */
/*  TOP PAGE */
/* ============================== */
.toppage-hero {
    position: relative;
}
.toppage-hero .image img {
    width: 100%;
}
.toppage-hero .text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    color: #fff;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
.toppage-hero h2 {
    line-height: 1.1;
    margin: 0;
    font-size: 4.5rem;
}
.toppage-hero p {
    font-weight: 700;
    margin-top: 1.5em;
    font-size: 1.5rem;
}
@media screen and (min-width: 768px), print {
    .toppage-hero h2 {
        font-size: 9.0rem;
    }
    .toppage-hero p {
        font-size: 2.4rem;
    }
}
/* セクション見出し */
.section-heading.cl1 {
    line-height: 1.0;
    color: #808080;
    text-align: center;
    margin: 0 0 1em;
    font-size: 2.4rem;
    letter-spacing: 0;
}
.section-heading.cl1 .en {
    display: block;
}
.section-heading.cl1 .en .fl {
    font-size: 166.666666666666667%;
    font-family: Arial, Helvetica, "sans-serif";
    font-weight: bold;
    color: var(--orange);
    position: relative;
    top: 0.12em;
}
.section-heading.cl1 .ja {
    font-size: 1.25rem;
    margin: 0.5em 0 0;
    display: block;
    font-weight: 400;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl1 {
        font-size: 3.6rem;
    }
    .section-heading.cl1 .ja {
        font-size: 1.6rem;
    }
}
.section-heading.cl2 {
    color: var(--orange);
    font-size: 2rem;
    margin: 0 0 1em;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl2 {
        font-size: 2rem;
    }
}
/* ※セクション見出し */
.section-heading.cl3 {
    font-size: 1.9rem;
    color: var(--dark-gray);
    line-height: 1.3;
    margin: 0 0 0.8em;
}
.section-heading.cl3 strong {
    color: var(--orange);
}
.section-heading.cl3 span {
    font-size: 80%;
}
.section-heading.cl4 {
    font-size: 1.9rem;
    color: var(--dark-gray);
    line-height: 1.3;
    margin: 0 0 0.8em;
    text-align: center;
}
.section-heading.cl4 em {
    font-size: 166.666666666666667%;
    font-style: normal;
    position: relative;
    top: 0.15em;
    padding: 0 0.2em;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl3 {
        font-size: 3.6rem;
    }
    .section-heading.cl4 {
        font-size: 3.6rem;
    }
}
.section-heading.cl5 {
    color: #3c4852;
    font-size: 2.2rem;
    text-align: center;
    margin: 0 0 1.2em;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl5 {
        font-size: 4.8rem;
    }
}
.section-heading.cl6 {
    color: var(--orange);
    font-size: 1.6rem;
    margin: 0 0 1em;
	font-weight: 400;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl6 {
        font-size: 2.4rem;
    }
}
.section-heading.cl7 {
    color: var(--dark-gray);
    font-size: 1.6rem;
    margin: 0 0 1em;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl7 {
        font-size: 2.4rem;
    }
}
.section-heading.cl8 {
    color: var(--orange);
    font-size: 1.6rem;
    margin: 0 0 1em;
}
@media screen and (min-width: 768px), print {
    .section-heading.cl8 {
        font-size: 2.4rem;
    }
}
.section-heading.cl9 {
    color: #ffffff;
    font-size: 1.3rem;
    margin: 0 0 2em;
	padding: 20px 10px 20px 100px;
	background: url("../images/eddy/icon_edd1.png") no-repeat left 20px center / auto 80%, var(--dark-gray);
}
@media screen and (min-width: 768px), print {
    .section-heading.cl9 {
        font-size: 2.1rem;
		background: url("../images/eddy/icon_edd1.png") no-repeat left 20px center / auto auto, var(--dark-gray);
    }
}
.section-heading.cl10 {
    margin: 0;
    padding: 15px 20px;
    color: #ffffff;
    font-size: 1.8rem;
    background: var(--dark-gray);
}
.section-heading.cl11 {
	margin-bottom: 3rem;
	font-size: 4rem;
	text-align: center;
	line-height: 1.4;
}
.section-heading.cl11 strong {
	color: var(--orange);
}
.section-heading.cl11 span {
	display: block;
	font-size: 2.1rem;
	font-weight: 400;
}
@media screen and (min-width: 768px), print {
	.section-heading.cl11 {
		margin-bottom: 5rem;
		font-size: 6rem;
	}
	.section-heading.cl11 span {
		font-size: 1.8rem;
	}
}
.section-heading.cl12 {
	margin-bottom: 5rem;
	font-size: 6rem;
	text-align: center;
	line-height: 1.4;
}
.section-heading.cl12 strong {
	color: #3fa1ed;
}
.section-heading.cl12 span {
	display: block;
	font-size: 2.1rem;
	font-weight: 400;
}
@media screen and (min-width: 768px), print {
	.section-heading.cl12 {
		font-size: 6rem;
	}
	.section-heading.cl12 span {
		font-size: 1.8rem;
	}
}


#toppage-advantage .text {
    background: var(--orange);
    padding: 1.2rem;
    color: #fff;
}
#toppage-advantage h3 {
    font-size: 2.2rem;
    line-height: 1.4;
    margin: 0 0 0.4em;
}
#toppage-advantage p {
    font-size: 1.35rem;
}
#toppage-advantage .show-detail a {
    font-size: 1.4rem;
    background: #fff;
    color: var(--orange);
    height: 3.6em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.5em;
    border: 2px solid #fff;
}
@media screen and (min-width: 768px), print {
    #toppage-advantage {
        margin-bottom: 0;
    }
    #toppage-advantage .section-body {
        display: flex;
    }
    #toppage-advantage .section-body > * {
        width: 50%;
    }
    #toppage-advantage .text {
        padding: 7rem;
        position: relative;
    }
    #toppage-advantage h3 {
        font-size: 4.4rem;
        text-align: center;
        letter-spacing: 0.02em;
    }
    #toppage-advantage p {
        font-size: 1.6rem
    }
    #toppage-advantage .show-detail a {
        font-size: 1.6rem;
        position: absolute;
        bottom: 5rem;
        width: 20em;
        left: calc(50% - 10em);
    }
}
@media (hover: hover) {
    #toppage-advantage .show-detail a:hover {
        background: var(--orange);
        color: #fff;
    }
}
#toppage-industry {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#toppage-industry .text {
    width: calc(47% - 1rem);
    text-align: center;
}
#toppage-industry .figure-wrapper {
    width: 53%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#toppage-industry figure {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
#toppage-industry .link-list li {
    position: absolute;
    font-size: 1.2rem;
    width: 54%;
    font-feature-settings: "palt"1;
    text-align: center;
}
#toppage-industry .link-list li:first-child {
    bottom: 55.431635388739946%;
    left: 22.5%;
}
#toppage-industry .link-list li:nth-child(2) {
    bottom: 12%;
    left: 0%;
}
#toppage-industry .link-list li:nth-child(3) {
    bottom: 12%;
    left: 46%;
}
#toppage-industry .link-list li a {
    color: var(--orange);
    display: block;
}
#toppage-industry .link-list li a::after {
    content: "";
    color: #000;
    padding-left: 0.25em;
}
#toppage-industry h2 {
    font-size: 2.2rem;
    line-height: 1.4;
    margin: 0 0 0.4em;
}
#toppage-industry p {
    font-size: 1.2rem;
}
@media screen and (min-width: 768px), print {
    #toppage-industry {
        background: url("../images/top/bg_top1.jpg") no-repeat left top;
        background-size: auto 100%;
        padding-top: var(--base-padding-y);
        padding-bottom: var(--base-padding-y);
        margin-top: 0;
    }
    #toppage-industry .text {
        width: 50%;
    }
    #toppage-industry .figure-wrapper {
        width: 50%;
    }
    #toppage-industry figure {
        width: 72%;
    }
    #toppage-industry .link-list li {
        font-size: 2.4rem;
    }
    #toppage-industry h2 {
        font-size: 4.5rem;
    }
    #toppage-industry p {
        font-size: 2.4rem
    }
}
#toppage-business-model {
    padding-left: 0;
    padding-right: 0;
}
#toppage-business-model .bm-list li {
    position: relative;
    margin-top: 1.5rem;
}
#toppage-business-model .bm-list li:first-child {
    margin-top: 0;
}
#toppage-business-model .bm-list li a {
    display: block;
}
#toppage-business-model .bm-list li .text {
    position: absolute;
    top: 50%;
    left: 15%;
    width: 70%;
    transform: translateY(-50%);
    padding: 2rem 1.3rem;
    font-size: 1.4rem;
    color: #fff;
}
#toppage-business-model .bm-list li h3 {
    font-size: 3.2rem;
    text-align: center;
    line-height: 1;
    margin: 0 0 0.5em;
}
#toppage-business-model .bm-list li.technical-support .text {
    background: var(--blue);
    left: 0;
}
@media screen and (min-width: 768px), print {
    #toppage-business-model .section-body {
        margin: 0 calc((100% - 219.0rem) / 2);
        width: 219.0rem;
    }
    #toppage-business-model .bm-list li, #toppage-business-model .bm-list li:first-child {
        margin-top: 0;
        padding: 0 1.75rem;
    }
    #toppage-business-model .bm-list li .text {
        left: 26%;
        width: 48%;
        padding: 3rem 1.3em;
        font-size: 1.8rem;
    }
    #toppage-business-model .bm-list li.technical-support .text {
        left: 26%;
    }
    #toppage-business-model .bm-list li h3 {
        font-size: 4.8rem;
    }
}
@media (hover: hover) {
    .bm-list a:hover {
        opacity: 0.8;
    }
}
/* SLIDER ARROW */
.slide-arrow {
    z-index: 2;
    width: 7.0rem;
    height: 7.0rem;
    position: absolute;
    top: calc(50% - 3.5rem);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    cursor: pointer;
}
.slide-arrow.prev-arrow {
    left: 28%;
    background: #fff url("../images/top/arr_sl-or-l.svg") no-repeat center;
    background-size: 42.857142857142857%;
}
.slide-arrow.next-arrow {
    right: 28%;
    background: #fff url("../images/top/arr_sl-or-r.svg") no-repeat center;
    background-size: 42.857142857142857%;
}
.bm-list .slick-dots {
    bottom: -4rem;
}
.bm-list .slick-dots li {
    padding: 0 !important;
    margin: 0 5px !important;
}
.bm-list .slick-dots li button::before {
    font-size: 10px;
}
.bm-list .slick-dots li.slick-active button::before {
    color: var(--orange);
    opacity: 1;
}
.bm-list .slick-dots li button::before {
    opacity: 0.5;
}
@media (hover: hover) {
    .slide-arrow {
        transition: 200ms;
    }
    .slide-arrow:hover {
        background-color: var(--orange);
    }
    .slide-arrow.prev-arrow:hover {
        background-image: url("../images/top/arr_sl-w-l.svg");
    }
    .slide-arrow.next-arrow:hover {
        background-image: url("../images/top/arr_sl-w-r.svg");
    }
}
#toppage-field {
    padding-left: 0;
    padding-right: 0;
}
#toppage-field .field-list {
    margin-left: -1.6rem;
    display: flex;
    flex-wrap: wrap;
    padding-left: var(--base-padding-x);
    padding-right: var(--base-padding-x);
}
#toppage-field .field-list li {
    width: calc(50% - 1.6rem);
    margin-left: 1.6rem;
    position: relative;
    overflow: hidden;
}
#toppage-field .field-list li:nth-child(n + 3) {
    margin-top: 1.6rem;
}
.field-list h3 {
    color: #fff;
    font-size: 1.4rem;
    position: absolute;
    top: 0.8em;
    left: 0.9rem;
}
.field-list .image::before {
    content: "";
    width: 70%;
    height: 150%;
    background: rgba(77, 77, 77, 0.8);
    transform: rotate(45.5deg);
    display: block;
    position: absolute;
    bottom: 0;
    left: -70%;
    transform-origin: bottom right;
    transition: 200ms;
}
@media screen and (min-width: 768px), print {
    #toppage-field {
        padding-left: 0;
        padding-right: 0;
    }
    #toppage-field .field-list {
        margin-left: -2.7rem;
        padding: 3rem var(--base-padding-x);
        background: url("../images/top/bg_top2.jpg") no-repeat right center;
        background-size: auto 100%;
        margin-top: -3rem;
        margin-bottom: -3rem;
    }
    #toppage-field .field-list li {
        width: calc(33.33333333% - 2.7rem);
        margin-left: 2.7rem;
    }
    #toppage-field .field-list li:nth-child(n + 3) {
        margin-top: 0;
    }
    #toppage-field .field-list li:nth-child(n + 4) {
        margin-top: 2.7rem;
    }
    .field-list h3 {
        font-size: 2.8rem;
        top: 0.8em;
        left: 0.9rem;
    }
}
@media (hover: hover) {
    .field-list li a:hover .image::before {
        background: rgba(255, 147, 30, 0.8);
    }
}
#toppage-recruit {
    padding-left: 0;
    padding-right: 0;
}
#toppage-recruit .section-body {
    overflow-x: hidden;
    text-align: center;
    margin: 0 -0.6rem;
}
.rec-photo-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
.rec-photo-list li {
    width: 33.33333333%;
    padding: 0.6rem;
}
@media screen and (max-width: 767.98px) {
    .rec-photo-list li:first-child, .rec-photo-list li:nth-child(2), .rec-photo-list li:nth-child(6), .rec-photo-list li:nth-child(7), .rec-photo-list li:nth-child(8), .rec-photo-list li:nth-child(9), .rec-photo-list li:nth-child(11), .rec-photo-list li:nth-child(12), .rec-photo-list li:nth-child(13), .rec-photo-list li:nth-child(14), .rec-photo-list li:nth-child(18), .rec-photo-list li:nth-child(19) {
        display: none;
    }
}
.rec-photo-list li.text-panel {
    width: 100%;
    text-align: center;
}
.rec-photo-list li.text-panel a {
    background: var(--orange);
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 1em;
    flex-direction: column;
    color: #fff;
    font-size: 1.6rem;
}
.rec-photo-list li.text-panel .sub-copy {
    font-size: 1.4rem;
    margin-top: 1em;
}
@media screen and (min-width: 768px), print {
    #toppage-recruit .section-body {
        margin: 0 calc((100% - 185.7rem) / 2);
        width: 185.7rem;
    }
    .rec-photo-list li {
        width: 14.285714285714286%;
        padding: 0.6rem;
    }
    .rec-photo-list li.text-panel {
        width: 42.857142857142857%;
    }
    .rec-photo-list li.text-panel a {
        font-size: 2.8rem;
    }
    .rec-photo-list li.text-panel .sub-copy {
        font-size: 1.6rem;
    }
}
@media screen and (min-width: 1132px), print {
    #toppage-recruit .section-body {
        margin: 0 calc((100% - 217.0rem) / 2);
        width: 217.0rem;
    }
}
@media (hover: hover) {
    .rec-photo-list li.text-panel a:hover {
        opacity: 0.8;
    }
}
#toppage-information {
    padding-left: 0;
    padding-right: 0;
}
.info-list {
    padding-left: var(--base-padding-x);
    padding-right: var(--base-padding-x);
margin-bottom:50px;
}
.info-list li {
    border-bottom: var(--divider1);
    font-size: 1.2rem;
}
.info-list li a {
    padding: 1em 2.5em 1em 0.5em;
    position: relative;
    display: block;
}
.info-list li a::after {
    content: "";
    width: 0.7em;
    height: 0.7em;
    border-top: 2px solid #8995ab;
    border-right: 2px solid #8995ab;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: calc(50% - 0.35em);
    right: 1em;
}
.info-list li p.date {
    display: inline-block;
font-size:1.3em;
    width: 8em;
    margin: 0;
    line-height: 1.6;
}
.info-list li p.category {
    color: #fff;
    background: #aaa;
    width: 9em;
    text-align: center;
    padding: 0 0.5em;
    line-height: 1.6;
font-size:1.3em;
    display: inline-block;
    margin: 0 3em 0 0;
}
.info-list li p.category.announce {
    background: var(--green);
}
.info-list li p.category.event {
    background: var(--orange);
}
.info-list li h3 {
    font-weight: 400;
    font-size: 1.3em;
    line-height: 1.5;
    padding: 0;
    margin: 0.5em 0 0 0;
    font-feature-settings: normal;
}
@media screen and (min-width: 768px), print {
    .info-list li {
        font-size: 1.788617886178862rem;
    }
    .info-list li a {
        display: flex;
        align-items: flex-start;
        padding-top: 2em;
        padding-bottom: 2em;
    }
    .info-list li h3 {
        margin: 0;
    }
}
@media screen and (min-width: 1132px), print {
    .info-list li {
        font-size: 1.2rem;
    }
}
@media (hover: hover) {
    .info-list li a:hover {
        background-color: #fafafa;
    }
}
/* ============================== */
/*  下層ページ 共通 */
/* ============================== */
.hero {
    position: relative;
}
.hero .image img {
    width: 100%;
    height: 20vw;
    object-fit: cover;
    margin: 0 auto;
}
.hero-heading {
    font-size: 1.4rem;
    margin: 0;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}
.hero-heading strong {
    font-weight: inherit;
    color: var(--orange);
}
@media screen and (min-width: 768px), print {
    .hero .image img {
        height: auto;
		max-height:240px;
        object-fit: cover;
    }
    .hero-heading {
        font-size: 2.8rem;
    }
}
.page-title {
    color: #666666;
    font-size: 1.5rem;
    border-bottom: 1px solid #c9c9c9;
    margin: 0 var(--base-padding-x);
    font-weight: 400;
}
@media screen and (min-width: 768px), print {
    .page-title {
        font-size: 2.4rem;
    }
}
.body-copy {
    font-size: 1.35rem;
    line-height: 1.8;
    margin: 0.5em 0;
}
@media screen and (min-width: 768px), print {
    .body-copy {
        font-size: 1.8rem;
    }
}
.fig-cl1 {
    margin: 2rem 0;
}
.fig-cl1 figcaption {
    font-size: 1.4rem;
    color: var(--dark-gray);
    margin-top: 4rem;
    text-align: center;
}
.fig-cl1 figcaption strong {
    font-weight: inherit;
    color: var(--orange);
}
@media screen and (min-width: 768px), print {
    .fig-cl1 {
        margin: 6.5rem 0;
    }
    .fig-cl1 figcaption {
        font-size: 1.8rem;
    }
}
/* ※リスト 「強み」で使用 */
.section-heading + .list-cl1 {
    margin-top: var(--base-padding-y-s);
}
.list-cl1 li:not(:first-child) {
    margin-top: 3rem;
}
.list-cl1 h3 {
    font-size: 1.8rem;
    color: var(--blue);
    line-height: 1.333333333333333;
    font-weight: 400;
}
.list-cl1 .num {
    color: #bdccd4;
    font-size: 4rem;
    line-height: 1;
    margin: -0.15em 0 0.3em;
}
.list-cl1 .text {
    margin-top: 2rem;
}
@media screen and (min-width: 768px), print {
    .list-cl1 li {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .list-cl1 li:nth-child(even) {
        flex-direction: row-reverse;
    }
    .list-cl1 li:not(:first-child) {
        margin-top: 8rem;
    }
    .list-cl1 .text, .list-cl1 .image {
        width: 48.181818181818182%;
    }
    .list-cl1 h3 {
        font-size: 3.6rem;
    }
    .list-cl1 .num {
        font-size: 7.2rem;
    }
}

/* ============================== */
/*  事業案内 */
/* ============================== */
#page .major-section.index {
	margin-bottom: 0;
}
#page .major-section.index:not(:first-of-type) {
	margin-top: 0;
}
#page .index-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
#page .index-list li {
	width: 48%;
	margin-bottom: 8rem;
}
#page .index-list li a {
	display: block;
	color: var(--dark-gray);
}
#page .index-list li a:hover {
	opacity: 0.8;
}
#page .index-list li .image {
	margin-bottom: 25px;
}
#page .index-list li .image img {
	width: 100%;
}
#page .index-list li h3 {
	font-size: 1.8rem;
}
#page .index-list li h3::before {
	content: ">";
}
#page .index-list li p {
	font-size: 1.0rem;
	line-height: 1.2;
}
#page .major-section.index .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page .major-section.index .column3 .inner {
	width: 48%;
}
#page .major-section.index .column3 .inner li {
	width: 100%;
}
@media screen and (min-width: 768px), print {
    #page .index-list li {
		width: 30%;
    }
	#page .index-list::after {
		content: "";
		display: block;
		width: 30%;
		height: 0;
	}
    #page .index-list li h3 {
	font-size: 2.1rem;
    }
    #page .index-list li p {
	font-size: 1.2rem;
    }
#page .major-section.index .column3 .inner {
	width: 30%;
}
}
#page #respond-bnr .image {
	width: 100%;
}
#page #respond-bnr .image a:hover {
	opacity: 0.8;
}

#page #advanced-skills .body-copy,
#page #project-team .body-copy {
	margin: 1.5em 0;
}
#page #main-business ul {
	margin: 0;
	padding: 0;
}
#page #main-business ul li {
	padding: 15px;
	font-size: 1.35rem;
	border-top: 1px solid #c9c9c9;
}
#page #main-business ul li:last-child {
	border-bottom: 1px solid #c9c9c9;
}
#page #main-business .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #main-business .column2 ul {
	width: 46%;
}
@media screen and (min-width: 768px), print {
	#page #main-business ul li {
		font-size: 1.6rem;
	}
}
#page #correspondence-field ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
#page #correspondence-field li {
	width: 100%;
}
#page #correspondence-field li:not(:first-child) {
	margin-top: 2rem;
}
@media screen and (min-width: 768px), print {
    #page #correspondence-field li {
	width: 31.818181818181818%;
    }
	#page #correspondence-field li:not(:first-child) {
		margin-top: 0;
	}
}
#page #correspondence-field li a {
	display: block;
	min-height: 125px;
	padding: 30px 85px 10px 30px;
}
#page #correspondence-field li a:hover {
	opacity: 0.8;
}
#page #correspondence-field li a:nth-child(1) {
	background: url("../images/business/icon_bis1.png") no-repeat top 8px right 12px, #2e3944;
}
#page #correspondence-field li a:nth-child(2) {
	background: url("../images/business/icon_bis2.png") no-repeat top 8px right 12px, #2e3944;
}
#page #correspondence-field li a:nth-child(3) {
	background: url("../images/business/icon_bis3.png") no-repeat top 8px right 12px, #2e3944;
}
#page #correspondence-field li a h3 {
	margin: 0;
	color: var(--orange);
	font-size: 2.4rem;
}
#page #correspondence-field li a p {
	color: #dddddd;
	font-size: 1.2rem;
	line-height: 1.4;
}
@media screen and (min-width: 768px), print {
    #page #correspondence-field li a h3 {
	font-size: 2.0rem;
	}
	#page #correspondence-field li a p {
	font-size: 1.5rem;
	}
}
#page #robot-development .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #robot-development .fig-cl1 {
	margin: 1rem 0;
}
#page #robot-development .column3 .fig-cl1 {
	width: 48%;
}
#page #robot-development .fig-cl1 figcaption {
	margin-top: 1rem;
	text-align: left;
	font-size: 1.35rem;
}
@media screen and (min-width: 768px), print {
	#page #robot-development .fig-cl1 {
		margin: 30px 0;
	}
	#page #robot-development .column3 .fig-cl1 {
		width: 33%;
	}
	#page #robot-development .fig-cl1 figcaption {
		font-size: 1.7rem;
	}
}
#page #field .title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#page #field .title .text {
	width: 100%;
	padding: 60px 10px 10px 30px;
}
#page #field .title.machine .text {
	background: url("../images/machine/icon_mac.png") no-repeat top 10px right 10px, #2e3944;
}
#page #field .title.electronics .text {
	background: url("../images/electronics/icon_ele.png") no-repeat top 10px right 10px, #2e3944;
}
#page #field .title.software .text {
	background: url("../images/software/icon_sof.png") no-repeat top 10px right 10px, #2e3944;
}
#page #field .title .text h2 {
	margin: 0;
	color: var(--orange);
	font-size: 4.8rem;
}
#page #field .title .text p {
	margin: 0;
	color: #ffffff;
	font-size: 2.4rem;
	font-weight: 700;
}
#page #field .title .image {
	width: 100%;
}
#page #field .title .image img {
	width: 100%;
}
@media screen and (min-width: 768px), print {
	#page #field .title .text {
		width: 50%;
	}
	#page #field .title .image {
		width: 50%;
	}
}
#page #field .point h3 {
	margin-top: 50px;
	color: var(--orange);
	font-size: 2.4rem;
	border-bottom: 1px solid var(--orange);
}
#page #field .point ul {
	font-size: 1.8rem;
}
#page #field .point .em {
	font-size: 2.4rem;
}
#page #field .point .column2,
#page #field .point .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #field .point .column2 ul,
#page #field .point .column3 ul {
	width:100%; 
}
#page #field .point li::before {
	content: "・";
	color: var(--orange);
}
#page #field .point .dsp-il li {
	display: block;
	padding-right: 0px;
}
#page #field .point .dsp-il li:last-child {
	padding-right: 0;
}
@media screen and (min-width: 768px), print {
	#page #field .point .column2 ul {
		width:48%; 
	}
	#page #field .point .column3 ul {
		width:30%; 
	}
	#page #field .point .dsp-il li {
		display: inline-block;
		padding-right: 40px;
	}
}
#page #development-products .product-img {
	position: static;
	margin-bottom: 40px;
}
#page #development-products .product-img figcaption {
	position: static;
	margin: 0;
	padding: 2rem;
	color: #ffffff;
	font-size: 2.6rem;
	font-weight: 700;
	background: var(--orange);
}
#page #development-products .product-img figcaption.e-n {
	bottom: 0;
	padding: 2rem;
	font-size: 4.0rem;
}
#page #development-products .product-img figcaption span {
	display: block;
	font-size: 1.6rem;
}
@media screen and (min-width: 768px), print {
	#page #development-products .product-img {
		position: relative;
		margin-bottom: 100px;
	}
	#page #development-products .product-img figcaption {
		position: absolute;
		left: 0;
		bottom: -5rem;
		padding: 6rem;
		color: #ffffff;
		font-size: 2.6rem;
		font-weight: 700;
		background: var(--orange);
	}
	#page #development-products .product-img figcaption {
		font-size: 3.6rem;
	}
	#page #development-products .product-img figcaption.e-n {
		padding: 4rem 12rem;
		font-size: 6.0rem;
	}
	#page #development-products .product-img figcaption span {
		font-size: 1.8rem;
	}
}
#page #development-products .cl8 {
	margin: 0;
}
#page #development-products .body-copy {
	margin: 0;
}
#page #development-products .column2,
#page #development-products .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #development-products .column2 figure:nth-child(1) {
	width: 65.50%;
}
#page #development-products .column2 figure:nth-child(2) {
	width: 32.5%;
}
#page #development-products .column3 figure {
	width: 33%;
}
#page #development-products .list {
	margin-bottom: 60px;
}
#page #development-products .list li {
	font-size: 1.4rem;
}
#page #development-products .list li::before {
	content: "";
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	margin-right: 0.5rem;
	border-radius: 50%;
	background: var(--orange);
}
#page #development-products .table tr {
	border-bottom: 1px solid var(--dark-gray);
}
#page #development-products .table th,
#page #development-products .table td {
	padding: 12px;
	font-size: 1.5rem;
	font-weight: 400;
	border: none;
}
@media screen and (min-width: 768px), print {
	#page #development-products .list li {
		font-size: 2.1rem;
	}
	#page #development-products .list li::before {
		width: 1.8rem;
		height: 1.8rem;
	}
	#page #development-products .table th,
	#page #development-products .table td {
		font-size: 1.8rem;
	}
}
#page #problem-solving .problem-solving-heading {
	margin: 0;
	padding: 20px;
	color: #ffffff;
	font-size: 2.0rem;
	text-align: center;
	background: var(--orange);	
}
#page #problem-solving .bg-eddy {
	background: url("../images/eddy/bg_edd1.jpg") no-repeat left top / 100% auto;	
}
#page #problem-solving .bg-e-neiro {
	background: url("../images/e-neiro/bg_e-n1.jpg") no-repeat left top / 100% auto;	
}
#page #problem-solving .bg-eden {
	background: url("../images/eden/bg_eden1.jpg") no-repeat left top / 100% auto;	
}
#page #problem-solving .major-section {
	margin-top: 0;
	padding-top: 5rem;
}
#page #problem-solving .article {
	margin: 0 0 30px;	
}
#page #problem-solving .article ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #problem-solving .article li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 48%;
	margin-bottom: 2rem;
	padding: 20px 5px;
	font-weight: 700;
	line-height: 1.5;
}
#page #problem-solving .art-eddy1 {
	padding-bottom: 100px;
	background: url("../images/eddy/arr_edd1.png") no-repeat bottom center;
}
#page #problem-solving .art-eddy1 li {
	color: #ffffff;
	font-size: 2.1rem;
	background: var(--dark-gray);
}
#page #problem-solving .art-eddy2 {
	padding-bottom: 100px;
	background: url("../images/eddy/arr_edd1.png") no-repeat bottom center;
}
#page #problem-solving .art-eddy2 li {
	font-size: 2.1rem;
	background: #fac51d;
	border: 3px solid var(--dark-gray);
}
#page #problem-solving .art-eddy3 ul {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
#page #problem-solving .art-eddy3 li {
	padding: 0;
	height: 46vw;
	max-height: 252px;
	max-width: 252px;
	font-size: 2.8rem;
	color: #603813;
	text-align: center;
	background: url("../images/eddy/bg_edd2.png") no-repeat top center / 100% auto;
}
#page #problem-solving .art-e-neiro1 {
	padding-bottom: 80px;
	background: url("../images/eddy/arr_edd1.png") no-repeat bottom center;
}
#page #problem-solving .art-e-neiro1 ul {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
#page #problem-solving .art-e-neiro1 li {
	width: 48%;
	color: #ffffff;
	font-size: 1.6rem;
	background: var(--dark-gray);
}
#page #problem-solving .art-e-neiro2 {
	padding-bottom: 100px;
	background: url("../images/eddy/arr_edd1.png") no-repeat bottom center;
}
#page #problem-solving .art-e-neiro2 ul {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
#page #problem-solving .art-e-neiro2 li {
	width: 48%;
	color: #ffffff;
	font-size: 1.6rem;
	background: #fac51d;
}
#page #problem-solving .art-e-neiro3 li {
	width: 48%;
	color: #ffffff;
	font-size: 2.1rem;
	background: var(--orange);
}
#page #problem-solving .art-eden1 .award h3 {
	font-size: 1.6rem;
}
#page #problem-solving .art-eden1 .award p {
	font-size: 1.4rem;
}
@media screen and (min-width: 768px), print {
	#page #problem-solving .problem-solving-heading {
		font-size: 2.4rem;
	}
	#page #problem-solving .major-section {
		padding-top: 120px;
	}
	#page #problem-solving .art-eddy3 li {
		height: 23vw;
		font-size: 3.2rem;
	}
	#page #problem-solving .article li {
		width: 23%;
	}
	#page #problem-solving .art-e-neiro1 ul,
	#page #problem-solving .art-e-neiro2 ul,
	#page #problem-solving .art-e-neiro3 ul {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#page #problem-solving .art-e-neiro1 li {
		width: 30%;
		font-size: 2.1rem;
	}
	#page #problem-solving .art-e-neiro2 li {
		width: 30%;
		font-size: 2.1rem;
	}
	#page #problem-solving .art-e-neiro3 li {
		width: 48%;
		font-size: 2.1rem;
	}
	#page #problem-solving .art-eden1 .award h3 {
		font-size: 2.4rem;
	}
	#page #problem-solving .art-eden1 .award p {
		font-size: 2.1rem;
	}
}
#page #attention .body-copy {
	margin-bottom: 5rem;
}
#page #attention .column2,
#page #attention .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 3rem;
}
#page #attention .column2 .text {
	-webkit-box-flex: auto;
	-ms-flex: auto;
	flex: auto;
	width: 100%;
	padding-right: 0;
}
#page #attention .column2 .movie {
	width: 100%;
	margin-bottom: 20px;
}
#page #attention .column2 .movie .inner {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
#page #attention .column2 .movie .inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#page #attention .column2 figure,
#page #attention .column3 figure {
	margin: auto;
}
#page #attention .column2.fig figure {
	width: 48%;
	max-width: 525px;
	margin: 0;
}
#page #attention .column3.fig figure {
	width: 48%;
	max-width: 340px;
	margin: 0 0 2rem;
}
#page #attention .column2.fig figcaption,
#page #attention .column3.fig figcaption {
	margin-top: 15px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
}
#page #attention .lead {
	width: 100%;
	margin: 5rem 0;
	font-size: 2.0rem;
	font-weight: 700;
}
#page #attention .column2 .table,
#page #attention .column2 .box {
	width: 100%;
	margin-bottom: 20px;
}
#page #attention .column2 .table h3,
#page #attention .column2 .box h3 {
	margin: 0;
	padding: 15px 20px;
	color: #ffffff;
	font-size: 1.8rem;
	background: var(--dark-gray);
}
#page #attention .column2 .table tr {
	border-bottom: 1px solid var(--dark-gray);
}
#page #attention .column2 .table th,
#page #attention .column2 .table td {
	padding: 12px;
	font-weight: 400;
	border: none;
}
#page #attention .column2 .table th {
	text-align: right;
}
#page #attention .column2 .box .inner {
	padding: 20px 25px;
	background: #ffebdb;
	border: 1px solid var(--dark-gray);
}
#page #attention .column2 .box .inner h4 a {
	padding: 10px 0 10px 75px;
	font-size: 2.0rem;
	background: url("../images/eddy/icon_edd2.png") no-repeat left center;
	transition: 0.3s;
}
#page #attention .column2 .box .inner h4 a:hover {
	opacity: 0.8;
}
#page #attention .column2 .box .inner p {
	font-size: 1.4rem;
}
#page #attention .column2.purchase {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
#page #attention .column2.purchase .img {
	width: 100%;
	max-width: 520px;
	margin-bottom: 3rem;
}
#page #attention .column2.purchase .img figcaption {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
#page #attention .column2.purchase .details {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}
#page #attention .column2.purchase .details figure {
	width: 50%;
	max-width: 255px;
	margin: 0;
}
#page #attention .column2.purchase .details .inner {
	width: 48%;
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	padding-left: 3rem;
}
#page #attention .column2.purchase .details .inner p {
	font-size: 2.4rem;
	font-weight: bold;
}
#page #attention .column2.purchase .details .inner p span {
	display: block;
	font-size: 1.4rem;
}
#page #attention .column2.purchase .details .inner .pdf {
	margin: 15px 0 40px;
}
#page #attention .column2.purchase .details .inner .pdf a {
	display: block;
	padding: 15px 10px 15px 65px;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: bold;
	background: url("../images/e-neiro/icon_pdf.png") no-repeat left 10px center, var(--dark-gray);
	transition: 0.3s;
}
#page #attention .column2.purchase .details .inner .pdf a:hover {
	opacity: 0.8;
}
#page #attention .column2.purchase .details .inner .shop p {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
#page #attention .column2.purchase .details .inner .shop a {
	display: block;
	margin-top: 10px;
}
#page #attention .column2.purchase .details .inner .shop img {
	border: 1px solid #cbcbcb;
}
#page #attention .column2 .price {
	width: 100%;
	margin: 20px;
	font-size: 1.8rem;
	text-align: center;
}
#page #attention .column2 .btn {
	width: 100%;
}
#page #attention .column2 .btn a {
	display: block;
	width: 100%;
	max-width: 355px;
	margin: auto;
	padding: 25px 55px 25px 30px;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: bold;
	background: url("../images/e-neiro/arr_e-n1.png") no-repeat right 15px center, var(--orange);
}
#page #attention .column2 .btn a:hover {
	opacity: 0.8;
}
@media screen and (min-width: 768px), print {
	#page #attention .lead {
		margin: 8rem 0;
		font-size: 2.4rem;
	}
	#page #attention .column2 .box .inner h4 a {
		font-size: 2.4rem;
	}
	#page #attention .column2 .box .inner p {
		font-size: 1.8rem;
	}
	#page #attention .column2,
	#page #attention .column3 {
		margin-bottom: 8rem;
	}
	#page #attention .column2.fig figcaption,
	#page #attention .column3.fig figcaption {
		font-size: 2.4rem;
	}
	#page #attention .column3.fig figure {
		width: 32%;
		margin: 0;
	}
	#page #attention .column2 .text {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		padding-right: 10px;
	}
	#page #attention .column2 .table,
	#page #attention .column2 .box {
		width: 48%;
	}
	#page #attention .column2 .movie {
		width: 48%;
		margin-bottom: 0;
	}
	#page #attention .column2.purchase {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#page #attention .column2.purchase .img {
		width: 48%;
		margin-bottom: 0;
	}
	#page #attention .column2.purchase .img figcaption {
		font-size: 2.4rem;
	}
	#page #attention .column2.purchase .details {
		width: 48%;
	}
	#page #attention .column2.purchase .details .inner {
		width: 48%;
	}
}
#page #learning-kit .table {
	margin-bottom: 20px;
}
#page #learning-kit .table tr {
	border-bottom: 1px solid var(--dark-gray);
}
#page #learning-kit .table th,
#page #learning-kit .table td {
	padding: 12px;
	font-size: 1.8rem;
	font-weight: 400;
	border: none;
}
#page #learning-kit .note {
	font-size: 1.8rem;
}
#page #delivery-record .list li {
	padding: 12px;
	font-size: 1.8rem;
	border-bottom: 1px solid var(--dark-gray);
}
#page #contact-link a {
	display: block;
	padding: 30px 70px 30px 30px;
	color:  var(--orange);
	font-size: 2.0rem;
	font-weight: 700;
	border: 5px solid var(--orange);
	background: url("../images/eddy/arr_edd2.png") no-repeat right 30px center;
	transition: 0.3s;
}
#page #contact-link a:hover {
	opacity: 0.8;
}
#page #contact-link .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #contact-link .column2 a {
	width: 100%;
	margin-bottom: 20px;
	padding: 20px 70px 20px 10px;
	font-size: 2.0rem;
	background: url("../images/eddy/arr_edd2.png") no-repeat right 20px center / 30px 30px;
}
#page #contact-link .bnr {
	margin-top: 65px;
	text-align: center;
}
#page #contact-link .bnr a {
	padding: 0;
	background: none;
	border: none;
}
#page #contact-link .bnr img {
	width: auto;
	max-width: 100%;
}
@media screen and (min-width: 768px), print {
	#page #contact-link a {
		font-size: 2.8rem;
	}
	#page #contact-link .column2 a {
		width: 48%;
		margin-bottom: 0;
		font-size: 2.0rem;
	}
}
#page #respond_intro .em {
	color: var(--orange);
}
#page #respond_intro .img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 50px;
}
#page #respond_intro .img figure {
	margin-bottom: 0.6rem;
}
#page #respond_intro .img .inner1 {
	width: 66%;
	max-width: 730px;
}
#page #respond_intro .img .inner2 {
	width: 33%;
	max-width: 360px;
}
#page #respond_list {
	padding: 60px var(--base-padding-x);
	background: rgba(255,146,30,0.1);
}
#page #respond_list ol {
	width: 100%;
	max-width: 1100px;
	margin: auto;
	list-style: none;
}
#page #respond_list li {
	padding: 30px 15px;
	border: 1px solid var(--orange);
	background: #ffffff;
}
#page #respond_list li:not(:first-child) {
	margin-top: 25px;
}
#page #respond_list h2 {
	color: var(--orange);
	font-size: 2.4rem;
}
#page #itinerary .lead {
	font-size: 1.6rem;
}
#page #itinerary .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #itinerary .column2 .img,
#page #itinerary .column2 .text {
	width: 48%;
	max-width: 525px;
	margin-top: 50px;
}
#page #itinerary .column2 .text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#page #itinerary .column2 .text h3 {
	color: var(--orange);
	font-size: 2.0rem;
}
#page #itinerary .column2 .text li {
	font-size: 1.6rem;
}
#page #itinerary .column2 .text li::before {
	content: "■";
}
#page #service-flow {
	background: #f1f1f1;
}
#page #service-flow .service-flow-heading {
	margin: 0;
	padding: 20px;
	color: #ffffff;
	font-size: 2.0rem;
	text-align: center;
	background: var(--orange);	
}
#page #service-flow .major-section {
	margin-bottom: 0;
	padding-bottom: 130px;	
}
@media screen and (min-width: 768px), print {
	#page #itinerary .lead {
		font-size: 2.1rem;
	}
	#page #itinerary .column2 .text h3 {
		font-size: 2.4rem;
	}
	#page #itinerary .column2 .text li {
		font-size: 2.1rem;
	}
	#page #service-flow .service-flow-heading {
		font-size: 2.4rem;
	}
}

/* ============================== */
/*  企業情報 */
/* ============================== */
#page #message .headline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #e1e3e1;
	margin-bottom: 4.5rem;
}
#page #message .headline .text {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	padding: 0 5vw;
}
#page #message .headline .text h2 {
	font-size: 4vw;
}
#page #message .headline .text h2 span {
	color: var(--orange);
}
#page #message .headline .text div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
#page #message .headline .text p {
	font-size: 2.5vw;
	font-weight: 700;
}
#page #message .headline .text p span {
	display: block;
	font-size: 2vw;
}
#page #message .body-copy {
	margin: 2.5rem 0;
}
#page #message .section-heading {
	margin-top: 4.5rem;
}
@media screen and (min-width: 768px), print {
	#page #message .headline {
		margin-bottom: 9rem;
	}
	#page #message .headline .text {
		padding: 0 7rem;
	}
	#page #message .headline .text h2 {
		font-size: 4.5rem;
	}
	#page #message .headline .text p {
		font-size: 2.5rem;
	}
	#page #message .headline .text p span {
		font-size: 1.6rem;
	}
	#page #message .body-copy {
		margin: 4.5rem 0;
	}
	#page #message .section-heading {
		margin-top: 9rem;
	}
}
#page #founding-spirit p {
	margin-top: 3.5rem;
	padding: 5rem 1rem;
	color: var(--orange);
	font-size: 5.5vw;
	font-weight: 700;
	text-align: center;
	border: 5px solid var(--orange);
}
#page #management-Philosophy h3 {
	margin-top: 4rem;
	font-size: 4vw;
	font-weight: 700;
}
#page #management-Philosophy h3 span {
	color: var(--orange);
	font-size: 6vw;
}
#page #management-Philosophy p {
	padding: 2.5rem 3.5rem;
	font-size: 1.4rem;
	border: 1px solid var(--orange);
	border-radius: 10px;
}
#page #management-guidelines ul {
	margin-top: 3.5rem;
}
#page #management-guidelines li {
	margin-top: 10px;
	padding: 1.5rem 3rem;
	font-size: 1.6rem;
}
#page #management-guidelines li:nth-child(odd) {
	background: #deedff;
}
#page #management-guidelines li:nth-child(even) {
	background: #e6ebc4;
}
#page #management-vision .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#page #management-vision .column2 .img,
#page #management-vision .column2 .text {
	width: 100%;
}
#page #management-vision .column2 .img figure {
	text-align: center;
}
#page #management-vision .column2 .img img {
	width: 50%;
}
#page #management-vision .column2 .text h3 {
	margin-bottom: 2.5rem;
	color: var(--orange);
	font-size: 2.4rem;
	font-weight: 700;
}
#page #management-vision .column2 .text h3:not(:first-of-type) {
	margin-top: 3.5rem;
}
#page #management-vision .column2 .text p {
	margin-bottom: 1em;
	font-size: 1.4rem;
}
#page #overview table {
	border: 1px solid #c9c9c9;
}
#page #overview table tr {
	border-bottom: 1px solid #c9c9c9;
}
#page #overview table th,
#page #overview table td {
	padding: 1rem 0.5rem;
	border: none;
	font-size: 1.6rem;
}
#page #overview table th {
	font-weight: 400;
	background: #f2f2f2;
}
#page #overview table table {
	width: auto;
	border: none;
}
#page #overview table table th,
#page #overview table table td {
	padding: 0.5rem;
	border: 1px solid #c9c9c9;
}
#page #overview table table th {
	text-align: center;
	background: none;
}
#page #overview table .nobdr {
	border: none;
}
@media screen and (min-width: 768px), print {
	#page #overview table th,
	#page #overview table td {
		padding: 3rem;
	}
}
#page #access .map {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px solid #c9c9c9;
}
 
#page #access .map iframe,
#page #access .map object,
#page #access .map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#page #access dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 25px;
	font-size: 1.6rem;
}
#page #access dt,
#page #access dd {
}
@media screen and (min-width: 768px), print {
	#page #founding-spirit p {
		font-size: 4.8rem;
	}
	#page #management-Philosophy h3 {
		font-size: 2.4rem;
	}
	#page #management-Philosophy h3 span {
		font-size: 4.8rem;
	}
	#page #management-Philosophy p {
		font-size: 1.6rem;
	}
	#page #management-guidelines ul {
		margin-top: 3.5rem;
	}
	#page #management-guidelines li {
		padding: 1.5rem 10rem;
		font-size: 2.1rem;
	}
	#page #management-vision .column2 .img,
	#page #management-vision .column2 .text {
		width: 48%;
	}
	#page #management-vision .column2 .img img {
		width: 100%;
	}
	#page #management-vision .column2 .text h3 {
		font-size: 2.8rem;
	}
	#page #management-vision .column2 .text h3:not(:first-of-type) {
		margin-top: 8.5rem;
	}
	#page #management-vision .column2 .text p {
		font-size: 1.4rem;
	}
}
/* ============================== */
/*  実績紹介 */
/* ============================== */
#page #field-details .field-headling {
	position: relative;
	padding: 4rem 2rem;
	color: #ffffff;
	font-size: 2.6rem;
	background: var(--orange);
}
#page #field-details .field-headling span {
	position: absolute;
	top: 2vw;
	right: 2vw;
	color: rgba(255,255,255,0.5);
	font-size: 2.6rem;
}
#page #field-details .field-subheadling {
	font-size: 2.6rem;
}
#page #field-details .bg_lo .field-subheadling {
	color: var(--orange);
}
#page #field-details .field-list {
	padding: 1rem 3rem;
	list-style: disc;
	font-size: 2.2rem;
	font-weight: 700;
}
#page #field-details .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#page #field-details .column2 .box1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 2.5rem 0.5rem;
	width: 100%;
	max-width: 100%;
	text-align: center;
}
#page #field-details .column2 .img {
	padding: 1rem;
	background: var(--blue);
}
#page #field-details .column2 .img img {
	max-width: 50%;
	margin: auto;
}
#page #field-details .column2 .bg_dg {
	color: #ffffff;
	font-size: 2.6rem;
	font-weight: 700;
	background: var(--dark-gray);
}
#page #field-details .column2 .bg_o {
	color: #ffffff;
	font-size: 2.6rem;
	font-weight: 700;
	background: var(--orange);
}
#page #field-details .column2 .arr {
	padding: 1rem 0;
	width: 33%;
	max-width: 300px;
	text-align: center;
}
#page #field-details .column2 .arr img {
	max-width: 95px;
}
#page #field-details .column2 .box2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 2.5rem;
}
#page #field-details .column2 .inner {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 2.5rem 0;
}
#page #field-details .column2 .bg_lb {
	background: #def1fe;
}
#page #field-details .column2 .bg_lg {
	background: #e6e6e6;
}
#page #field-details .column2 .bg_lo {
	background: #fffae6;
}
#page #field-details .column2 .box2 p {
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
}
#page #field-details .column2 .box2 li {
	margin-left: 1em;
	text-indent: -1em;
	font-size: 2.2rem;
}
#page #field-details .column2 .bg_lb li::first-letter {
	color: var(--blue);
}
#page #field-details .column2 .bg_lo li::first-letter {
	color: var(--orange);
}
#page #field-details .task-clear .arr {
	padding: 1rem 0;
	width: 100%;
	max-width: 100%;
	text-align: center;
}
#page #field-details .task-clear .arr img {
	max-width: 95px;
}
#page #field-details .task-clear .box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 1rem;
	width: 100%;
	max-width: 100%;
	text-align: center;
	background: var(--blue);
}
#page #field-details .task-clear .clear-img {
	position: relative;
}
#page #field-details .task-clear .clear-img .box {
	position: static;
}
#page #field-details .task-clear .clear-img .box img {
	max-width: 50%;
	margin: auto;
}
#page #field-details .task-clear .clear-img figure {
	padding: 0;
}
#page #field-details .task-clear .clear-img .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
	padding: 2rem 0 0 0;
}
#page #field-details .task-clear .clear-img .column2 figure {
	width: 48%;
	padding: 0;
}
#page #field-details .task-clear .clear-img .column2 .arrow {
	width: 4%;
	background: url("../images/field/arr_fie3.png") no-repeat center center / 90% auto;
}
@media screen and (min-width: 768px), print {
#page #field-details .field-headling {
	padding: 8rem 5rem;
	font-size: 6rem;
}
#page #field-details .field-headling span {
	top: 2.5rem;
	right: 2.5rem;
	font-size: 6rem;
}
#page #field-details .field-subheadling {
	font-size: 3.6rem;
}
#page #field-details .field-list {
	padding: 3rem;
	font-size: 2.8rem;
}
#page #field-details .column2 .box1 {
	width: 33%;
	max-width: 300px;
}
#page #field-details .column2 .box1.full {
	width: 100%;
	max-width: 100%;
}
#page #field-details .column2 .img {
	padding: 2.5rem;
}
#page #field-details .column2 .img img {
	max-width: 258px;
}
#page #field-details .column2 .bg_dg {
	font-size: 3.0rem;
}
#page #field-details .column2 .bg_o {
	font-size: 3.0rem;
}
#page #field-details .column2 .arr {
	padding: 2.5rem 0;
	width: 33%;
	max-width: 300px;
}
#page #field-details .column2 .box2 li {
	font-size: 2.8rem;
}
#page #field-details .task-clear .arr {
	padding: 2.5rem 0;
	width: 33%;
	max-width: 300px;
}
#page #field-details .task-clear .box {
	padding: 2.5rem;
	width: 33%;
	max-width: 300px;
}
#page #field-details .task-clear .clear-img .box {
	position: absolute;
	left: 0;
	top: 0;
}
#page #field-details .task-clear .clear-img .box img {
	max-width: 258px;
}
#page #field-details .task-clear .clear-img figure {
	padding: 7rem 0 0 15rem;
}
#page #field-details .task-clear .clear-img .column2 {
	padding: 2rem 0 0 15rem;
}
}

/* ============================== */
/*  リクルートページ */
/* ============================== */
#page.recruit-page {}
.hero.recruit .hero-heading {
    height: 33vw;
}
.hero.recruit .hero-heading img {
    width: 30%;
    padding-bottom: 1rem;
}
.hero.recruit .hero-heading img {
    width: 30%;
    padding-bottom: 6rem;
}
.hero.recruit .page-title {
    margin-top: -1rem;
    margin-left: var(--base-padding-x);
    background: #fff;
    font-size: 3.4rem;
    padding: 0.4em 0.5em 0.15em 0.5em;
    color: #333333;
    display: inline-flex;
    align-items: center;
    border-bottom: none;
}
.hero.recruit .page-title .en {
    line-height: 1;
    font-weight: 700;
    margin-right: 0.65em;
    letter-spacing: 0;
}
.hero.recruit .page-title .en:first-letter {
    color: var(--orange);
    margin: 0;
}
.hero.recruit .page-title .ja {
    font-size: 42.424242424242424%;
    line-height: 1.3;
    font-weight: 700;
    padding-top: 0.2em;
}
.hero.recruit .page-title .corp {
    font-size: 10px;
    display: block;
    font-weight: 400;
}
@media screen and (min-width: 768px), print {
    .hero.recruit .hero-heading {
        height: 100%;
    }
    .hero.recruit .hero-heading img {
        max-width: 230px;
        padding-bottom: 6vw;
    }
    .hero.recruit .page-title {
        position: absolute;
        bottom: 0;
        margin-left: 0;
        left: var(--base-padding-x);
        font-size: 6.6rem;
        padding: 0.4em 2em 0.15em 1.2em;
    }
    .hero.recruit .page-title .corp {
        font-size: 57.142857142857143%;
    }
}
#info-session-movie {
    border-top: var(--divider1);
    border-bottom: var(--divider1);
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin: 4rem 0 0;
}
#info-session-movie .movie {
    width: 100%;
    max-width: 410px;
    margin: 0 auto;
}
#info-session-movie .movie {
    width: 100%;
    max-width: 410px;
    margin: 0 auto;
}
#info-session-movie .movie .inner {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
#info-session-movie .movie .inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#info-session-movie .text {
    font-size: 1.6rem;
    color: var(--dark-gray);
    text-align: center;
    margin-top: 0.5em;
}
@media screen and (min-width: 768px), print {
    #info-session-movie {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
        margin: 7.4rem 0 0;
        display: flex;
justify-content:space-between;
    }
    #info-session-movie .movie {
        width: 41rem;
        max-width: none;
        margin: 0;
    }
    #info-session-movie .text {
        font-size: 2.7rem;
        margin-left: 2em;
        margin-top: 0;
    }
}
#rec-message {
    display: flex;
    justify-content: space-between;
    position: relative;
}
#rec-message::before {
    content: "";
    display: block;
    background: rgba(252, 238, 33, 0.1);
    width: 57%;
    height: calc(100% - 7rem);
    position: absolute;
    top: 2rem;
    left: 0;
}
#rec-message .text {
    width: 60%;
    position: relative;
}
#rec-message .text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4rem;
    height: 4rem;
    background: rgba(217, 224, 33, 0.5);
    z-index: 1;
}
#rec-message .show-detail {
    position: absolute;
    bottom: 0;
    left: 0;
}
#rec-message h2 {
    margin: 7.5vw 0 0;
    text-align: right;
    position: relative;
    z-index: 1;
}
#rec-message h2 img {
    width: 85%;
    margin-right: 2rem;
}
#rec-message .image {
    width: 40%;
}
@media screen and (min-width: 768px), print {
    #rec-message {
        display: flex;
        justify-content: space-between;
        position: relative;
    }
    #rec-message::before {
        width: 50%;
        height: calc(100% - 15rem);
        top: 5rem;
        left: 0;
    }
    #rec-message .text {
        width: 50%;
    }
    #rec-message .text::before {
        width: 10rem;
        height: 10rem;
    }
    #rec-message h2 {
        margin: 12rem 0 0;
        text-align: right;
    }
    #rec-message h2 img {
        width: 76%;
        margin-right: 4rem;
    }
    #rec-message .image {
        width: 45.454545454545455%;
    }
}
#rec-interview {
    position: relative;
}
#rec-interview::before {
    content: "";
    display: block;
    width: 100%;
    height: 120%;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../images/recruit/bg_rec-top.svg") center top no-repeat;
    background-size: auto 100%;
    z-index: -1;
}
#rec-interview .section-header {
    position: relative;
    z-index: 3;
}
#rec-interview .section-heading {}
#rec-interview .section-header .lead-copy {
    width: 70%;
    margin: 0 auto 3rem;
}
@media screen and (min-width: 768px), print {
    #rec-interview {
        margin-top: 14rem;
    }
    #rec-interview::before {
        width: 100%;
        height: 130%;
        background-position: left top;
    }
    #rec-interview .section-header {
        position: absolute;
        top: 0;
        left: var(--base-padding-x);
    }
    #rec-interview .section-heading {
        text-align: left;
        font-size: 7.2rem;
        margin-bottom: 1em;
    }
    #rec-interview .section-header .lead-copy {
        width: 59.4rem;
        margin: 0 0 0 3rem;
    }
}
.workers-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1rem;
    position: relative;
    z-index: 2;
    margin-top: -3em;
}
.workers-list li {
    width: 50%;
    padding-left: 1rem;
    margin-top: 3rem;
}
.workers-list li a {
    display: flex;
    flex-direction: column;
}
@media screen and (min-width: 768px), print {
    .workers-list {
        margin-left: -1.6rem;
        margin-top: 0;
    }
    .workers-list li {
        width: 33.33333333%;
        padding-left: 1.6rem;
        margin-top: 9.4rem;
    }
    .workers-list li:first-child {
        margin-left: 66.66666666%;
        margin-top: 0;
    }
}
.workers-list h3 {
    font-size: 1.45rem;
    margin: 0;
    padding: 0.24em 0.9rem;
    background: var(--blue);
    color: #fff;
}
.workers-list .info {
    background: #fff;
    font-size: 1.2rem;
    display: flex;
    padding: 0.25em 0.9rem;
    justify-content: center;
    flex-direction: column;
    height: 5.5em;
    line-height: 1.4;
}
.workers-list .joined {
    font-size: 1.35rem;
}
.workers-list .name {
    font-size: 1.8rem;
}
.workers-list .name::after {
    content: "→";
    padding-left: 0.6em;
    font-size: 64.285714285714286%;
    position: relative;
    top: -0.1em;
}
@media screen and (min-width: 768px), print {
    .workers-list h3 {
        font-size: 2.4rem;
        padding: 0.24em 1.5rem;
    }
    .workers-list .info {
        font-size: 2.4rem;
        padding: 0.25em 1.5rem;
        height: 4.166666666666667em;
    }
    .workers-list .joined {
        font-size: 1.8rem;
    }
    .workers-list .name {
        font-size: 2.8rem;
    }
}
@media (hover: hover) {
    .workers-list .image {
        overflow: hidden;
    }
    .workers-list .image img {
        transform: scale(1);
        transition: 300ms;
    }
    .workers-list a:hover .image img {
        transform: scale(1.15);
        opacity: 0.8;
    }
}
#environment h2 {
    width: 89.727272727272727%;
    margin: 0 auto 3rem;
}
@media screen and (min-width: 768px), print {
    #environment {
        margin-top: 33rem;
    }
    #environment h2 {
        width: 89.727272727272727%;
        margin: 0 0 6rem;
    }
}
.env-list {
    display: flex;
    justify-content: space-between;
}
.env-list li {
    width: 32%;
}
.env-list .image {
    border: 2px solid #999999;
    padding: 1rem 9%
}
.env-list p {
    font-size: 1.4rem;
    line-height: 1.35;
    justify-content: center;
    align-items: center;
    display: flex;
    margin: 0.4em 0 0;
    color: #3c4852;
}
.env-list p::after {
    content: "";
    width: 1em;
    height: 1em;
    margin-top: 0.1em;
    background: url("../images/common/arr_or-r.svg") center no-repeat;
    background-size: 100%;
    margin-left: 0.5em;
}
@media screen and (min-width: 768px), print {
    .env-list li {
        width: 30%;
    }
    .env-list .image {
        border-width: 3px;
        padding: 3.25rem 17.592592592592593%
    }
    .env-list p {
        font-size: 2.8rem;
    }
}
@media (hover: hover) {
    .env-list a:hover .image {
        background: #f6f6f6;
    }
    .env-list .image {
        transition: 200ms;
    }
    .env-list a:hover .image {
        transform: scale(1.1);
    }
}
#internship-voice {
    padding-left: 0;
    padding-right: 0;
}
#internship-voice a {
    display: flex;
}
#internship-voice .image {
    width: 45%;
}
#internship-voice .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
#internship-voice .text {
    width: 55%;
    background: #f6f7cf;
    font-size: 1.9rem;
    color: var(--dark-gray);
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#internship-voice .text .logo {
    width: 6.66em;
}
#internship-voice .text h2 {
    margin: 0.1em 0 0;
    letter-spacing: 0;
    font-size: inherit;
    font-weight: 400;
    line-height: 1.7;
}
#internship-voice .text .section-heading .ja {
    font-size: 56.25%;
    display: block;
}
@media screen and (min-width: 768px), print {
    #internship-voice .image {
        width: 50%;
    }
    #internship-voice .text {
        width: 50%;
        font-size: 4.8rem;
        padding: 5rem 3rem;
    }
    #internship-voice .text .logo {
        width: 6.66em;
    }
    #internship-voice .text h2 {
        font-size: inherit;
    }
}
@media (hover: hover) {
    #internship-voice a .image {
        overflow: hidden;
    }
    #internship-voice a .image img {
        transition: 200ms;
    }
    #internship-voice a:hover .image img {
        transform: scale(1.1);
        opacity: 0.9;
    }
}
#rec-info {
    padding-left: 0;
    padding-right: 0;
}
.rikunabi-link {
    width: 17rem;
    margin: 3rem auto 0;
}
@media screen and (min-width: 768px), print {
    .rikunabi-link {
        width: 35rem;
        margin: 13.5rem auto 0;
    }
}
#job-description {
    background: #d7d7d7;
    padding: var(--base-padding-y) var(--base-padding-x);
}
.job-desc-list {}
.job-desc-list li:not(:first-child) {
    margin-top: 1.2rem;
}
.job-desc-list li a {
    border: 2px solid #999999;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    color: #3c4852;
    background: #fff;
    height: 4.7rem;
}
.job-desc-list li a::after {
    content: "";
    width: 1em;
    height: 1em;
    margin-top: 0.1em;
    background: url("../images/common/arr_gr-r.svg") center no-repeat;
    background-size: 100%;
    margin-left: 0.5em;
}
@media screen and (min-width: 768px), print {
    #job-description {}
    .job-desc-list {
        display: flex;
        flex-wrap: wrap;
    }
    .job-desc-list li {
        width: 46.363636363636364%;
    }
    .job-desc-list li:not(:first-child) {
        margin-top: 0;
    }
    .job-desc-list li:nth-child(even) {
        margin-left: 7.272727272727273%;
    }
    .job-desc-list li:nth-child(n +3) {
        margin-top: 6rem;
    }
    .job-desc-list li a {
        border-width: 3px;
        font-size: 3.6rem;
        height: 20rem;
    }
}
@media (hover: hover) {
    .job-desc-list li a:hover {
        background: var(--orange);
        color: #fff;
        border-color: var(--orange)
    }
    .job-desc-list li a:hover::after {
        background-image: url("../images/common/arr_w-r.svg");
    }
}

#in-charge {
	margin-bottom: 0;
	padding-bottom: 5rem;
    background: url("../images/recruit/bg_rec-top.svg") center top 30rem no-repeat;
	background-size: 100% auto;
}
#in-charge .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
	padding: 0 0 2rem 0;
}
#in-charge .column2 .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 2rem 0 0 0;
}
#in-charge .column2 .text .name {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
#in-charge .column2 .text .name p {
	font-size: 1.6rem;
	width: 20rem;
}
#in-charge .column2 .text .name p span {
	display: block;
	font-size: 2.5rem;
}
#in-charge .body-copy {
	padding-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
    #in-charge {
        margin-top: 14rem;
		padding-bottom: 15rem;
    }
	.column2 {
		padding: 0 0 6rem 0;
	}
	#in-charge .column2 .text {
		padding: 0 0 0 4rem;
	}
}

#corporate-data .column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
	padding: 0 0 2rem 0;
}
#corporate-data .column2 .inner {
	margin-bottom: 2rem;
	padding: 2rem;
	width: 100%;
	max-width: 520px;
	border: 1px solid #b5c4cc;
}
#corporate-data .column2 .inner h3 {
	margin-bottom: 2rem;
	font-size: 3rem;
}
#corporate-data .column2 .inner .img {
	text-align: center;
}
#corporate-data .column2 .inner .img img {
	width: auto;
	max-width: 100%;
}
#corporate-data .column2 .inner p {
	margin: 0;
	font-size: 4.8rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
#corporate-data .column2 .inner p span {
	color: var(--orange);
	font-size: 10rem;
}
#corporate-data .column2 .inner p span strong {
	font-size: 15rem;
}
#corporate-data .column2 .inner p span.small {
	display: block;
	color: var(--dark-gray);
	font-size: 2.4rem;
	font-weight: 400;
}
#corporate-data .column2 .inner.box3 {
	background: url("../images/rec-about/fig-rec-abo3.png") no-repeat center center;
}
@media screen and (min-width: 768px), print {
	#corporate-data .column2 .inner {
		margin-bottom: 6rem;
		padding: 3rem;
		width: 49%;
	}
	#corporate-data .column2 .inner h3 {
		margin-bottom: 5rem;
		font-size: 3.2rem;
	}	
}
#private-data {
	padding-top: 4rem;
	border-top: 1px solid var(--dark-gray);
}
#private-data .inner {
	margin-bottom: 2rem;
	padding: 2rem;
	border: 1px solid #b5c4cc;
}
#private-data .column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
}
#private-data .inner h3 {
	color: #3fa1ed;
	font-size: 3rem;
}
#private-data .inner h3 span {
	color: var(--dark-gray);
}
#private-data .inner .img {
	text-align: center;
}
#private-data .inner .img img {
	width: auto;
	max-width: 100%;
}
#private-data .box1 .inbox1 {
	width: 100%;
	max-width: 100%;
	margin-bottom: 4rem;
}
#private-data .box1 .inbox1 .img {
	position: relative;
}
#private-data .box1 .inbox1 .img p {
	font-size: 6vw;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
#private-data .box1 .inbox1 .img p span {
	font-size: 10vw;
}
#private-data .box1 .inbox1 .img p span strong {
	font-size: 15vw;
}
#private-data .box1 .inbox1 .img .no1,
#private-data .box1 .inbox1 .img .no2,
#private-data .box1 .inbox1 .img .no3 {
	position: absolute;
}
#private-data .box1 .inbox1 .img .no1 {
	top: 0;
	left: 0;
}
#private-data .box1 .inbox1 .img .no2 {
	top: -15vw;
	right: 0;
}
#private-data .box1 .inbox1 .img .no3 {
	bottom: 0;
	right: 15vw;
}
#private-data .box1 .inbox2 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding-left: 0;
}
#private-data .box1 .inbox2 ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
}
#private-data .box1 .inbox2 li {
	width: 45%;
	font-size: 2.4rem;
	text-align: center;
	border-bottom: 1px solid #b5c4cc;
}
#private-data .box2 .inbox1 {
	width: 100%;
	max-width: 100%;
	margin-bottom: 4rem;
}
#private-data .box2 .inbox1 .img {
	position: relative;
}
#private-data .box2 .inbox1 .img p {
	font-size: 2.1rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}
#private-data .box2 .inbox1 .img p span {
	font-size: 4.2rem;
}
#private-data .box2 .inbox1 .img .no1,
#private-data .box2 .inbox1 .img .no2,
#private-data .box2 .inbox1 .img .fig1,
#private-data .box2 .inbox1 .img .fig2 {
	position: absolute;
}
#private-data .box2 .inbox1 .img .no1 {
	top: 20vw;
	left: 7vw;
	color: #ffffff;
}
#private-data .box2 .inbox1 .img .no2 {
	bottom: 22vw;
	right: 5vw;
	color: #ffffff;
}
#private-data .box2 .inbox1 .img .fig1 {
	bottom: 0;
	left: 0;
	width: 60%;
	max-width: 388px;
}
#private-data .box2 .inbox1 .img .fig2 {
	top: 0;
	right: 0;
	width: 40%;
	max-width: 274px;
}
#private-data .box2 .inbox2 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding-left: 0;
}
#private-data .box2 .inbox2 li {
	font-size: 2.4rem;
	border-bottom: 1px solid #b5c4cc;
}
#private-data .box3 .img {
	position: relative;
	padding-left: 0;
}
#private-data .box3 .img .fig1 {
	position: absolute;
}
#private-data .box3 .img .fig1 {
	display: none;
}
#private-data .box4 .img {
	position: relative;
}
#private-data .box4 .img p {
	font-size: 4vw;
	font-weight: 700;
	line-height: 1;
}
#private-data .box4 .img p span {
	font-size: 8vw;
}
#private-data .box4 .img .no1,
#private-data .box4 .img .no2,
#private-data .box4 .img .no3,
#private-data .box4 .img .no4,
#private-data .box4 .img .no5,
#private-data .box4 .img .no6 {
	position: absolute;
}
#private-data .box4 .img .no1 {
	bottom: 0;
	left: 0;
}
#private-data .box4 .img .no1 span {
	font-size: 10vw;
}
#private-data .box4 .img .no2 {
	top: 5vw;
	left: 30vw;
}
#private-data .box4 .img .no2 span {
	font-size: 9vw;
}
#private-data .box4 .img .no3 {
	bottom: 30vw;
	right: 25vw;
}
#private-data .box4 .img .no4 {
	top: 25vw;
	right: 25vw;
}
#private-data .box4 .img .no5 {
	top: -5vw;
	right: 0;
}
#private-data .box4 .img .no6 {
	bottom: 0;
	right: 0;
}
#private-data .box5 .inbox1,
#private-data .box5 .inbox2,
#private-data .box5 .inbox3 {
	padding: 0 1%;
}
#private-data .box5 .inbox1 {
	width: 100%;
	margin-bottom: 4rem;
}
#private-data .box5 .inbox2 {
	width: 100%;
	margin-bottom: 4rem;
	border-left: none;
	border-right: none;
}
#private-data .box5 .inbox3 {
	width: 100%;
}
#private-data .box5 .img {
	margin-bottom: 1.5rem;
}
#private-data .box5 h4 {
	margin-bottom: 1rem;
	color: #3fa1ed;
	font-size: 4.5rem;
	line-height: 1;
}
#private-data .box5 h4 span {
	color: var(--dark-gray);
	display: block;
	font-size: 1.8rem;
}
#private-data .box6 .img {
	position: relative;
	padding-top: 10vw;
	padding-bottom: 15vw;
}
#private-data .box6 .img p {
	font-size: 5vw;
	font-weight: 700;
	line-height: 1;
}
#private-data .box6 .img p span {
	font-size: 8vw;
}
#private-data .box6 .img .no1,
#private-data .box6 .img .no2,
#private-data .box6 .img .no3,
#private-data .box6 .img .no4,
#private-data .box6 .img .fig1,
#private-data .box6 .img .fig2 {
	position: absolute;
}
#private-data .box6 .img .no1 {
	top: 30vw;
	left: 15vw;
	color: var(--dark-gray);
}
#private-data .box6 .img .no2 {
	top: -2vw;
	right: 15vw;
	font-size: 4vw;
}
#private-data .box6 .img .no3 {
	top: 25vw;
	right: 15vw;
	font-size: 4vw;
}
#private-data .box6 .img .no2::after,
#private-data .box6 .img .no3::after {
	content: none;
}
#private-data .box6 .img .no2 span,
#private-data .box6 .img .no3 span {
	font-size: 2.4rem
}
#private-data .box6 .img .no4 {
	top: 30vw;
	right: -3vw;
	color: var(--dark-gray);
}
#private-data .box6 .img .fig1 {
	top: 13vw;
	left: 10vw;
	width: 30%;
	max-width: 220px;
}
#private-data .box6 .img .fig2 {
	top: 13vw;
	right: 25vw;
	width: 10%;
	max-width: 86px;
}
#private-data .box7 .img {
	position: relative;
	padding: 0 0 20vw;
}
#private-data .box7 .img p {
	font-size: 4vw;
	font-weight: 700;
	line-height: 1;
}
#private-data .box7 .img p span {
	font-size: 10vw;
}
#private-data .box7 .img .no1,
#private-data .box7 .img .no2,
#private-data .box7 .img .fig1,
#private-data .box7 .img .fig2 {
	position: absolute;
}
#private-data .box7 .img .no1 {
	top: 45vw;
	left: 0;
}
#private-data .box7 .img .no2 {
	top: 45vw;
	right: 0;
}
#private-data .box7 .img .fig1 {
	top: 10vw;
	left: 5vw;
	width: 25%;
	max-width: 162px;
}
#private-data .box7 .img .fig2 {
	top: 10vw;
	right: 15vw;
	width: 30%;
	max-width: 228px;
}
@media screen and (min-width: 768px), print {
	#private-data {
		padding-top: 8rem;
	}
	#private-data .inner {
		margin-bottom: 6rem;
		padding: 3rem;
	}
	#private-data .box1 .inbox1 {
		width: 70%;
		max-width: 625px;
		margin-bottom: 0;
	}
	#private-data .box1 .inbox1 .img p {
		font-size: 2.4rem;
	}
	#private-data .box1 .inbox1 .img p span {
		font-size: 5.8rem;
	}
	#private-data .box1 .inbox1 .img p span strong {
		font-size: 8.7rem;
	}	
	#private-data .box1 .inbox1 .img .no1 {
		top: 15rem;
		left: 22rem;
	}
	#private-data .box1 .inbox1 .img .no2 {
		top: 7rem;
		right: 0;
	}
	#private-data .box1 .inbox1 .img .no3 {
		bottom: 3rem;
		right: 10rem;
	}
	#private-data .box1 .inbox2 {
		padding-left: 7rem;
	}	
	#private-data .box2 .inbox1 {
		width: 70%;
		max-width: 625px;
		margin-bottom: 0;
	}
	#private-data .box2 .inbox1 .img .no1 {
		top: 6rem;
		left: 22rem;
	}
	#private-data .box2 .inbox1 .img .no2 {
		bottom: 15rem;
		right: 15rem;
	}
	#private-data .box2 .inbox2 {
		padding-left: 7rem;
	}
	#private-data .inner h3 {
		font-size: 3.2rem;
	}
	#private-data .box3 .img {
		position: relative;
		padding-left: 10rem;
	}
	#private-data .box3 .img .fig1 {
		display: block;
		top: 10rem;
		left: 0;
		width: 18%;
		max-width: 188px;
	}	
	#private-data .box4 .img p {
		font-size: 3.5rem;
	}
	#private-data .box4 .img p span {
		font-size: 6rem;
	}
	#private-data .box4 .img .no1 {
		bottom: 0;
		left: 5rem;
	}
	#private-data .box4 .img .no1 span {
		font-size: 8.8rem;
	}
	#private-data .box4 .img .no2 {
		top: 3rem;
		left: 40rem;
	}
	#private-data .box4 .img .no2 span {
		font-size: 7rem;
	}
	#private-data .box4 .img .no3 {
		bottom: 5rem;
		right: 38rem;
	}
	#private-data .box4 .img .no4 {
		top: 8rem;
		right: 23rem;
	}
	#private-data .box4 .img .no5 {
		top: -5rem;
		right: 15rem;
	}
	#private-data .box4 .img .no6 {
		bottom: 5rem;
		right: 8rem;
	}	
	#private-data .box5 .inbox1 {
		width: 39%;
		margin-bottom: 0;
	}
	#private-data .box5 .inbox2 {
		width: 33%;
		margin-bottom: 0;
		border-left: 1px solid #b5c4cc;
		border-right: 1px solid #b5c4cc;
	}
	#private-data .box5 .inbox3 {
		width: 28%;
		margin-bottom: 0;
	}
	#private-data .box6 .img {
		padding-top: 0;
		padding-bottom: 0;
	}
	#private-data .box6 .img p {
		font-size: 3.5rem;
	}
	#private-data .box6 .img p span {
		font-size: 4.8rem;
	}
	#private-data .box6 .img .no1 {
		top: 3rem;
		left: 34rem;
		color: #ffffff;
	}
	#private-data .box6 .img .no2 {
		top: -8rem;
		right: 35rem;
		font-size: 2.4rem;
	}
	#private-data .box6 .img .no3 {
		top: -8rem;
		right: 23rem;
		font-size: 2.4rem;
	}
	#private-data .box6 .img .no2::after,
	#private-data .box6 .img .no3::after {
		content: "";
		display: block;
		width: 1px;
		height: 8rem;
		margin: auto;
		background: var(--dark-gray);
	}
	#private-data .box6 .img .no2 span,
	#private-data .box6 .img .no3 span {
		font-size: 2.4rem
	}
	#private-data .box6 .img .no4 {
		top: 3rem;
		right: 10rem;
		color: #ffffff;
	}
	#private-data .box6 .img .fig1 {
		top: 3rem;
		left: calc( 33rem - 220px );
		width: 30%;
		max-width: 220px;
	}
	#private-data .box6 .img .fig2 {
		top: 3rem;
		right: 33rem;
		width: 20%;
		max-width: 86px;
	}	
	#private-data .box7 .img {
		padding: 0;
	}
	#private-data .box7 .img p {
		font-size: 2.4rem;
	}
	#private-data .box7 .img p span {
		font-size: 8.8rem;
	}
	#private-data .box7 .img .no1 {
		top: 10rem;
		left: 0;
	}
	#private-data .box7 .img .no2 {
		top: 10rem;
		right: 0;
	}
	#private-data .box7 .img .fig1 {
		top: 3rem;
		left: 23rem;
		width: 30%;
		max-width: 162px;
	}
	#private-data .box7 .img .fig2 {
		top: 3rem;
		right: 29rem;
		width: 30%;
		max-width: 228px;
	}

}
#interview-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#interview-list li {
	width: 33.3%;
	padding: 0 0.3rem;
}
#interview-list li .img {
	margin-bottom: 1rem;
}
#interview-list li p {
	font-size: 1.4rem;
}
#interview-list li p span {
	display: block;
	font-size: 1.2rem;
}
#interview-details {
	margin-bottom: 0;
	padding-bottom: 4rem;
    background: url("../images/recruit/bg_rec-top.svg") center top 90rem no-repeat;
	background-size: 100% auto;
}
#interview-details .title {
	padding: 0 0 0 0;
	text-align: center;
}
#interview-details .title img {
	width: auto;
	max-width: 100%;
}
#interview-details article {
	display: -wbkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 3rem 0;
}
#interview-details article:not(:first-of-type) {
	border-top: 1px solid var(--dark-gray);
}
.symposium#interview-details article:not(:first-of-type) {
	border-top: 1px solid var(--blue);
}
#interview-details article:first-of-type {
	padding-top: 4rem;
}
#interview-details .headline-img {
	position: relative;
	margin-bottom: 4rem;
}
#interview-details .headline-img figcaption {
	position: static;
    padding: 2rem;
    color: #ffffff;
    font-size: 2.6rem;
    font-weight: 700;
    background: var(--blue);
}
#interview-details .headline-img figcaption.name2 {
	left: 50%;
}
#interview-details .headline-img figcaption.name3 {
	left: auto;
	right: 0;
}
#interview-details .headline-img figcaption span {
	display: block;
	font-size: 1.6rem;
}
#interview-details .lead-text {
	margin-top: 4rem;
	font-size: 2.6rem;
	font-weight: 700;
}
#interview-details .headline {
	width: 100%;
	max-width: 350px;
}
#interview-details article .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 0 0 0;
}
#interview-details article .text h4,
#interview-details .headline h4 {
	margin-bottom: 2.4rem;
	color: var(--blue);
	font-size: 2.4rem;
}
#interview-details article:nth-of-type(even) .text {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
	padding: 0 0 0 0;
}
#interview-details article:nth-of-type(even) .img {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}
#interview-details article .dialogue {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 0 0 0;
}
#interview-details article .dialogue dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 1.6rem;
}
#interview-details article .dialogue dl:not(:first-child) {
	margin-top: 30px;
}
#interview-details article .dialogue dt {
	padding-right: 3rem;
	color: #0071bc;
}
#interview-details article .dialogue dd {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
#interview-details.symposium .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#interview-details.symposium .column3 figure {
	width: 30%;
}
#interview-details .dialogue-img {
	margin-top: 6rem;
	text-align: center;
}
#interview-details .dialogue-img img {
	width: auto;
	max-width: 100%;
}
@media screen and (min-width: 768px), print {
	#interview-list li {
		width: 16.6%;
		padding: 0 1rem;
	}
	#interview-details .headline-img figcaption {
		position: absolute;
		left: 0;
		bottom: -5rem;
	}
	#interview-details .title {
		padding: 9rem 0 0 0;
	}
	#interview-details article:first-of-type {
		padding-top: 9rem;
	}
	#interview-details article .text {
		padding: 0 5rem 0 0;
	}
	#interview-details article:nth-of-type(even) .text {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
		padding: 0 0 0 5rem;
	}
	#interview-details article:nth-of-type(even) .img {
		-webkit-box-ordinal-group: 1;
		-ms-flex-order: 0;
		order: 0;
	}
	#interview-details {
		padding-bottom: 9rem;
	}
	#interview-details .lead-text {
		margin-top: 10rem;
		font-size: 3.2rem;
	}	
	#interview-details article .dialogue {
		padding: 0 0 0 5rem;
	}	
}

#internship-details article {
	display: block;
	margin-top: 4rem;
}
#internship-details article h3 {
	margin-bottom: 2rem;
	margin-left: 1.6em;
	text-indent: -1.6em;
	font-size: 2.8rem;
	font-weight: 400;
}
#internship-details article h3 span {
	color: var(--orange);
}
#internship-details article ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#internship-details article li {
	position: relative;
	margin-bottom: 2rem;
	width: 100%;
	padding: 3rem 3rem;
	font-size: 1.8rem;
	border: 1px solid var(--orange);
}
#internship-details article li::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    content: "";
    border-bottom: 2em solid transparent;
    border-left: 2em solid var(--orange);
}
#internship-details article .img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0;
}
#internship-details article .img div {
	width: 100%;
	max-width: 100%;
}
#internship-details article .img figcaption {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 2rem 0 0 0;
}
@media screen and (min-width: 768px), print {
	#internship-details article {
		margin-top: 9rem;
	}
	#internship-details article h3 {
		margin-bottom: 6rem;
		margin-left: 1.6em;
		text-indent: -1.6em;
		font-size: 4.6rem;
	}
	#internship-details article li {
		margin-bottom: 5rem;
		width: 48%;
		padding: 5rem 3.5rem;
		font-size: 2.1rem;
	}
	#internship-details article .img {
		padding: 0 10rem;
	}	
	#internship-details article .img div {
		width: 70%;
		max-width: 600px;
	}
#internship-details article .img figcaption {
	padding: 14rem 0 0 3rem;
}
}

#rookie-training {
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--dark-gray);
}
#rookie-training .lead-copy {
	margin-bottom: 2rem;
	font-size: 2rem;
	text-align: center;
}
#rookie-training h2 {
	margin-bottom: 2rem;
	padding: 1rem;
	color: var(--orange);
	font-size: 2.4rem;
	font-weight: 400;
	text-align: center;
	border: 1px solid var(--orange);
}
#rookie-training .lead-text {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
}
#rookie-training .column2,
#rookie-training .column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0;
}
#rookie-training .column2 > figure {
	width: 100%;
	margin-bottom: 3rem;
}
#rookie-training .column2 figure img,
#rookie-training .column3 figure img {
	width: auto;
	max-width: 100%;
}
#rookie-training .column2 figure figcaption,
#rookie-training .column3 figure figcaption {
	margin-bottom: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
}
#rookie-training .inner {
	width: 100%;
	margin-bottom: 3rem;
}
#rookie-training .inner .title {
	position: relative;
	margin-bottom: 2rem;
}
#rookie-training .inner h3 {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	margin: auto;
	color: #ffffff;
	font-size: 10vw;
	text-align: center;
}
#rookie-training .inner h4 {
	font-size: 2.2rem;
	font-weight: 400;
}
#rookie-training .inner p {
	font-size: 1.4rem;
}
#rookie-training .inner ul {
	font-size: 1.6rem;
}
#rookie-training .inner li::before {
	content: "■";
}
#rookie-training .inner a {
	display: block;
	color: #0071bc;
	font-size: 1.6rem;
	margin-right: 0;
}
#rookie-training .inner a::before {
	content: "■";
}
#rookie-training article .work {
	margin-bottom: 5rem;
}
#rookie-training article h3 {
	margin-bottom: 3rem;
	color: var(--blue);
	font-size: 3.6rem;
	text-align: center;
}
#rookie-training article .training-title {
	margin-bottom: 3rem;
	padding: 1.5rem 2rem;
	color: #ffffff;
	font-size: 2.8rem;
	background: var(--blue);
}
#rookie-training article .intro-text {
	font-size: 2.0rem;
}
#rookie-training article .column2 .img {
	width: 100%;
	margin-bottom: 5rem;
}
#rookie-training article .column2 .img .movie {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	margin-bottom: 3rem;
}
#rookie-training article .column2 .img .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#rookie-training article .column2 .details {
	width: 100%;
}
#rookie-training article .column2 .details h5 {
	font-size: 2.4rem;
}
#rookie-training article .column2 .details h5 span {
	display: block;
	font-size: 1.4rem;
}
#rookie-training article .column2 .details dl {
	padding: 2rem 0;
	border-top: 1px solid #cccccc;
}
#rookie-training article .column2 .details dt {
	color: var(--blue);
	font-size: 1.6rem;
}
#rookie-training article .column2 .details dd {
	padding: 0 3rem;
}
#rookie-training article .column2 .details figure img {
	width: auto;
	max-width: 100%;
}
#rookie-training article .column3 {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	padding-top: 2rem;
	border-top: 1px solid #cccccc;
}
#rookie-training article .column3 figure:not(:last-child) {
	margin-bottom: 3rem;
	padding-right: 0;
	background: none;
}
#rookie-training article .support {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#rookie-training article .support div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;	
	width: 100%;
	margin-bottom: 3rem;
}
#rookie-training article .support .support-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;	
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	min-height: auto;
	margin-bottom: 2rem;
	padding: 1rem;
	color: var(--orange);
	font-size: 2.4rem;
	font-weight: 400;
	text-align: center;
	border: 1px solid var(--orange);
}
#rookie-training article .support .support-title span {
	display: block;
	font-size: 1.8rem;
}
#rookie-training article .support p {
	margin-bottom: 2rem;
	font-size: 1.8rem;
}
#rookie-training article .support ul {
	margin-bottom: 2rem;
}
#rookie-training article .support li {
	font-size: 1.6rem;
}
#rookie-training article .support li::before {
	content: "■";
}
#rookie-training article .support figure {
	margin-top: auto;
}
@media screen and (min-width: 768px), print {
	#rookie-training {
		padding-bottom: 9rem;
	}
	#rookie-training .lead-copy {
		margin-bottom: 4rem;
		font-size: 2.4rem;
	}
	#rookie-training .lead-text {
		margin-bottom: 2.5rem;
		font-size: 2.1rem;
	}	
	#rookie-training h2 {
		margin-bottom: 4rem;
		padding: 3rem;
		font-size: 3.6rem;
	}
	#rookie-training .inner {
		width: 48%;
		margin-bottom: 6rem;
	}
	#rookie-training .inner h3 {
		font-size: 4.8rem;
	}	
	#rookie-training .inner h4 {
		font-size: 2.4rem;
	}	
	#rookie-training .inner a {
		display: inline-block;
		font-size: 1.6rem;
		margin-right: 2em;
	}
	#rookie-training article .intro-text {
		margin-bottom: 3rem;
		font-size: 2.4rem;
	}
	#rookie-training article .work {
		margin-bottom: 10rem;
	}	
	#rookie-training article .column2 .img {
		width: 48%;
		margin-bottom: 5rem;
	}
	#rookie-training article .column2 .details {
		width: 48%;
	}	
	#rookie-training article .column3 figure:not(:last-child) {
		margin-bottom: 0;
		padding-right: 6.6rem;
		background: url("../images/training/fig_tra1.png") no-repeat right 1.5rem center;
	}
	#rookie-training .column2 > figure {
		width: 48%;
		margin-bottom: 0;
	}
	#rookie-training article .support div {
		width: 31%;
		margin-bottom: 0;
	}
	#rookie-training article .support .support-title {
		min-height: 11rem;
		margin-bottom: 2rem;
		padding: 2rem;
	}
	
}

#career-training .lead-copy {
	margin-bottom: 2rem;
	font-size: 2rem;
	text-align: center;
}
#career-training .lead-text {
	margin-top: 3rem;
	margin-bottom: 2.5rem;
	font-size: 1.8rem;
}
#career-training .career-course,
#career-training .career-system {
	margin: 4rem 0 7.5rem;
	border: none;
}
#career-training .career-course th,
#career-training .career-system th,
#career-training .career-course td,
#career-training .career-system td {
	max-width: 100%;
	padding: 1rem;
	border: none;
	border-bottom: 5px solid #ffffff;
}
#career-training .career-course th,
#career-training .career-system th {
	display: block;
	width: 100%;
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: 700;
	text-align: center;
}
#career-training .career-course td,
#career-training .career-system td {
	display: block;
	width: 100%;
	font-size: 1.8rem;
	background: #f2f2f2;
}
#career-training .career-course tr:nth-child(1) th {
	background: var(--green);
}
#career-training .career-course tr:nth-child(2) th {
	background: #1ebebe;
}
#career-training .career-course tr:nth-child(3) th {
	background: var(--blue);
}
#career-training .career-system tr:nth-child(1) th {
	background: #f15a24;
}
#career-training .career-system tr:nth-child(2) th {
	background: var(--orange);
}
#career-training .career-system tr:nth-child(3) th {
	background: #fbb03b;
}
@media screen and (min-width: 768px), print {
	#career-training {
		padding-bottom: 9rem;
	}
	#career-training .lead-copy {
		margin-bottom: 4rem;
		font-size: 2.4rem;
	}
	#career-training .lead-text {
		margin-top: 0;
		margin-bottom: 2.5rem;
		font-size: 2.1rem;
	}	
	#career-training .career-course th,
	#career-training .career-system th,
	#career-training .career-course td,
	#career-training .career-system td {
		padding: 3rem;
		border: none;
		border-bottom: 5px solid #ffffff;
	}
	#career-training .career-course th,
	#career-training .career-system th {
		display: table-cell;
		width: 30%;
	}
	#career-training .career-course td,
	#career-training .career-system td {
		display: table-cell;
		width: 70%;
	}
}

#health-support,
#work-life,
#uij-turn {
	margin-bottom: 5rem;
}
#health-support .lead-copy,
#work-life .lead-copy,
#uij-turn .lead-copy {
	margin-bottom: 2rem;
	font-size: 2rem;
	text-align: center;
}
#health-support .title,
#work-life .title,
#uij-turn .title,
#welfare-other .title {
	position: relative;
	margin-bottom: 2rem;
}
#health-support .title h2,
#work-life .title h2,
#uij-turn .title h2,
#welfare-other .title h2 {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	margin: auto;
	padding: 0 1rem;
	color: #ffffff;
	font-size: 2.2rem;
}
#health-support .title h2 {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
#uij-turn .title h2 {
	-ms-flex-line-pack: center;
	align-content: center;
}
#welfare-other .title h2 {
	text-shadow: 3px 3px 3px rgba(0,0,0,0.6);
}
#health-support .title h2 span,
#work-life .title h2 span,
#uij-turn .title h2 span {
	display: block;
	width: 100%;
	font-size: 1.8rem;
}
#health-support .lead-text,
#work-life .lead-text {
	margin: 3rem 0 2.5rem;
	font-size: 1.6rem;
}
#health-support h3,
#work-life h3,
#uij-turn h3 {
	margin-bottom: 3rem;
	padding: 1rem;
	font-size: 2rem;
	font-weight: 400;
	text-align: center;
}
#health-support h3 {
	color: #f15a24;
	border: 1px solid #f15a24;
}
#work-life h3 {
	color: #d4145a;
	border: 1px solid #d4145a;
}
#uij-turn h3 {
	color: var(--blue);
	border: 1px solid var(--blue);
}
#health-support .column,
#work-life .column,
#uij-turn .column,
#welfare-other .column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 3rem;
}
#health-support .column .img,
#work-life .column .img,
#uij-turn .column .img {
	width: 100%;
	margin-bottom: 2rem;
}
#health-support .column .text,
#work-life .column .text,
#uij-turn .column .text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding-left: 0;
}
#health-support .column .text dt {
	color: #f15a24;
}
#work-life .column .text dt {
	color: #d4145a;
}
#uij-turn .column .text dt {
	color: var(--blue);
}
#health-support .column .text dt::before,
#work-life .column .text dt::before,
#uij-turn .column .text dt::before {
	content: "■";
}
#work-life .list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;	
	margin-bottom: 2rem;
}
#work-life .list li {
	width: 100%;
	margin-bottom: 2.5rem;
	padding-right: 1rem;
}
#work-life .list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;	
	width: 100%;
}
#work-life .list li .icon {
	width: 85px;
	margin-right: 0.5rem;
}
#work-life .list li .bnr {
	width: 100%;
	max-width: 280px;
}
#welfare-other .list {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin-top: 4rem;
}
#welfare-other .list ul {
	margin: 0;
	padding-right: 0;
	width: 100%;
}
#welfare-other .list li {
	color: #39b54a;
}
#welfare-other .list li::before {
	content: "■";
}
@media screen and (min-width: 768px), print {
	#health-support,
	#work-life,
	#uij-turn {
		margin-bottom: 20rem;
	}
	#health-support .lead-copy,
	#work-life .lead-copy,
	#uij-turn .lead-copy {
		margin-bottom: 4rem;
		font-size: 2.4rem;
	}
	#health-support .lead-text,
	#work-life .lead-text {
		margin: 3rem 0 2.5rem;
		font-size: 1.8rem;
	}
	#health-support .title,
	#work-life .title,
	#uij-turn .title {
		margin-bottom: 4rem;
	}
	#health-support .title h2,
	#work-life .title h2,
	#uij-turn .title h2,
	#welfare-other .title h2 {
		padding: 0 5rem;
		font-size: 5rem;
	}
	#health-support .title h2 span,
	#work-life .title h2 span,
	#uij-turn .title h2 span {
		font-size: 3.6rem;
	}
	#health-support .lead-text,
	#work-life .lead-text,
	#uij-turn .lead-text {
		margin: 0 0 4rem;
		font-size: 2.1rem;
	}
	#health-support h3,
	#work-life h3,
	#uij-turn h3 {
		margin-bottom: 5rem;
		padding: 1.5rem;
		font-size: 2.4rem;
	}
	#health-support .column,
	#work-life .column,
	#uij-turn .column {
		margin-bottom: 7rem;
	}
	#health-support .column .img,
	#work-life .column .img,
	#uij-turn .column .img {
		width: 50%;
		margin-bottom: 0;
	}
	#health-support .column .text,
	#work-life .column .text,
	#uij-turn .column .text {
		padding-left: 5rem;
	}
	#work-life .list li {
		width: 33.3%;
	}
	#welfare-other .list ul {
		padding-right: 2rem;
		width: 40%;
	}
}
#requirements .link-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#requirements .link-list li {
	width: 100%;
	margin-bottom: 3rem;
}
#requirements .link-list li a {
	display: block;
	padding: 1rem;
	font-size: 2.8rem;
	text-align: left;
}
#requirements .link-list li:first-child a {
	color: var(--orange);
	border: 5px solid var(--orange);
	background: url("../images/requirements/arr1.png") no-repeat center right 1rem;
}
#requirements .link-list li:last-child a {
	color: var(--blue);
	border: 5px solid var(--blue);
	background: url("../images/requirements/arr2.png") no-repeat center right 1rem;
}
#requirements .link-list li:first-child a:hover {
	color: #ffffff;
	text-decoration: none;
	background: url("../images/requirements/arr3.png") no-repeat center right 1rem, var(--orange);
}
#requirements .link-list li:last-child a:hover {
	color: #ffffff;
	text-decoration: none;
	background: url("../images/requirements/arr3.png") no-repeat center right 1rem, var(--blue);
}
#requirements .link-list li:first-child.on a {
	color: #ffffff;
	background: var(--orange);
}
#requirements .link-list li:last-child.on a {
	color: #ffffff;
	background: var(--blue);
}
#requirements table {
	margin-bottom: 15rem;
	font-size: 1.6rem;
}
#requirements table th,
#requirements table td {
	padding: 1rem;
	vertical-align: top;
	border: 1px solid #b3b3b3;
}
#requirements table th {
	display: block;
	width: 100%;
	font-weight: 400;
	border-right: 1px solid #b3b3b3;
	background: #f2f2f2;
}
#requirements table td {
	display: block;
	width: 100%;
	border-left: 1px solid #b3b3b3;
}
#requirements table ul li {
	margin-left: 1.5em;
	text-indent: -1.5em;
}
#requirements table ul li::before {
	content: "●";
	margin-right: 0.5em;
}
#requirements table .list-point li::before {
	content: "・";
	margin-right: 0.5em;
}
#requirements table .dl-column1,
#requirements table .dl-column2,
#requirements table .dl-column3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#requirements table .dl-column1 dt {
	width: 100%;
	padding-right: 0;
}
#requirements table .dl-column1 dd {
	width: 100%;
}
#requirements table .dl-column2 dt {
	width: 100%;
	padding-right: 0;
}
#requirements table .dl-column3 dt {
	width: 100%;
	padding-right: 0;
}
#requirements table .dl-disc dt::before {
	content: "●";
	margin-right: 0.5em;
}
#requirements table p.note,
#requirements table ul.note li {
	margin-left: 1em;
	text-indent: -1em;
}
#requirements table p.note::before,
#requirements table ul.note li::before {
	content: "※";
}
#requirements table .job-shinsotsu dt,
#requirements table .job-career dt {
	font-size: 1.8rem;
	font-weight: 700;
}
#requirements table .job-shinsotsu dt {
	color: var(--orange);
}
#requirements table .job-career dt {
	color: var(--blue);
}
#requirements table .job-shinsotsu dd,
#requirements table .job-career dd {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}
#requirements table .job-shinsotsu dd:not(:last-of-type),
#requirements table .job-career dd:not(:last-of-type) {
	border-bottom: 1px solid #b3b3b3;
}
#requirements table ol {
	list-style: none;
}
#requirements table .link {
	display: inline-block;
	margin-top: 1rem;
	border: 1px solid #4d4d4d;
}
#requirements table .link a {
	display: inline-block;
	padding: 1rem 2.5rem;
}
#requirements table .link a::after {
	content: "→";
	margin-left: 1em;
}
#requirements table .link:hover a {
	color: var(--link-color);
}
#requirements .entry-shinsotsu-link a {
	display: block;
	margin-bottom: 8rem;
	padding: 4rem;
	color: var(--orange);
	font-size: 4.8rem;
	text-align: center;
	border: 5px solid var(--orange);
}
#requirements .entry-shinsotsu-link a:hover {
	color: #ffffff;
	background: var(--orange);
}
#requirements .entry-career-link a {
	display: block;
	margin-bottom: 8rem;
	padding: 4rem;
	color: var(--blue);
	font-size: 4.8rem;
	text-align: center;
	border: 5px solid var(--blue);
}
#requirements .entry-career-link a:hover {
	color: #ffffff;
	background: var(--blue);
}
#requirements .bnr-link {
	text-align: center;
}
#requirements .bnr-link img {
	width: auto;
	max-width: 100%;
}
@media screen and (min-width: 768px), print {
	#requirements .link-list li {
		width: 48%;
		margin-bottom: 10rem;
	}
	#requirements .link-list li a {
		padding: 2rem;
		font-size: 4.8rem;
		text-align: center;
	}
	#requirements .link-list li:first-child a {
		background: url("../images/requirements/arr1.png") no-repeat center right 5rem;
	}
	#requirements .link-list li:last-child a {
		background: url("../images/requirements/arr2.png") no-repeat center right 5rem;
	}
	#requirements .link-list li:first-child a:hover {
		background: url("../images/requirements/arr3.png") no-repeat center right 5rem, var(--orange);
	}
	#requirements .link-list li:last-child a:hover {
		background: url("../images/requirements/arr3.png") no-repeat center right 5rem, var(--blue);
	}
	#requirements table th,
	#requirements table td {
		padding: 2.5rem;
	}	
	#requirements table th {
		display: table-cell;
		width: 20%;
		max-width: 20%;
	}
	#requirements table td {
		display: table-cell;
		width: 80%;
		max-width: 80%;
	}
	#requirements table .dl-column1 dt {
		width: 20%;
		padding-right: 4rem;
	}
	#requirements table .dl-column1 dd {
		width: 80%;
	}
	#requirements table .dl-column2 dt {
		width: 70%;
		padding-right: 4rem;
	}
	#requirements table .dl-column3 dt {
		width: 30%;
		padding-right: 4rem;
	}
}

#security-policy p,
#privacy-policy p {
	font-size: 1.6rem;
	line-height: 2;
}
#security-policy h2,
#privacy-policy h2 {
	font-size: 2.8rem;
}
#security-policy ol,
#privacy-policy ol {
	padding: 3rem 0 0 3rem;
	font-size: 2.1rem;
	line-height: 2;
}
#security-policy li,
#privacy-policy li {
	margin-bottom: 2rem;
}
#security-policy .record,
#privacy-policy .record {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;	
		padding: 3rem 0 0 3rem;
}
@media screen and (min-width: 768px), print {
	#security-policy ol,
	#privacy-policy ol {
		padding: 7rem 5rem;
		font-size: 2.1rem;
	}
	#security-policy li,
	#privacy-policy li {
		margin-bottom: 3rem;
	}
	#security-policy .record,
	#privacy-policy .record {
		padding: 0 5rem;
	}
}


/* ============================== */
/*  PRINT.CSS */
/* ============================== */
@media print {
    html {
        font-size: 42%;
    }
    .global-header {
        position: relative;
    }
    .page-content {
        padding-top: 0;
    }
    :root {
        --base-padding-y: 40px;
        --base-padding-x: 20px;
    }
}

.movText{
text-align:center;
font-size:18px;
line-height:40px;
margin-bottom:10px;
}
.mynaviLink{
width:92vw;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.mynaviLink li{
width:45vw;
}

.extLink{
padding: 0 var(--base-padding-x) 3rem;
margin: 0;
display:flex;
flex-wrap:wrap;
}
.extLink li{
width:100%;
margin-bottom:2rem;
}
.extLink li:last-child{
margin:0;
}

@media screen and (min-width: 768px){
.mynaviLink{
width:720px;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.mynaviLink li{
width:350px;
}

.extLink{
    padding: 0 var(--base-padding-x) 3rem;
    margin: 0;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
.extLink li{
width:540px;
margin:0;
}
.extLink li img{
transition:all .2s;
}
.extLink li:hover img{
opacity:.8;
}


}


