@charset "UTF-8";

/*
Theme Name: Meiden Co., Ltd.
Author: LAB inc
Author URI: https://lab-inc.jp/
Version: 1.0
*/

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */

html {
    font-family: sans-serif;
    /* 1 */
        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio, canvas, progress, video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

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

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   */

[hidden] {
    display: none;
}

/**
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

template {
    display: none;
}

/* Links
   ========================================================================== */

/**
   * Remove the gray background color from active links in IE 10.
   */

a {
    background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active, a:hover {
    outline: 0;
}

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

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b, strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
    font-size: 2em;
    /* Set 1 unit of vertical rhythm on the top and bottom margins. */
    margin: 0.75em 0;
}

/**
   * Address styling not present in IE 8/9.
   */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

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

/**
   * Remove border when inside `a` element in IE 8/9/10.
   */

img {
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

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

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

/**
   * Address margin not present in IE 8/9 and Safari.
   */

figure {
    margin: 1.5em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

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

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

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
 * 5. Improve appearance and consistency with IE 6/7.
 */

button, input, optgroup, select, textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button, select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled], html input[disabled] {
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
    line-height: normal;
}

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   * 3. Remove excess padding in IE 7.
   *    Known issue: excess padding remains in IE 6.
   */

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    box-sizing: content-box;
    /* 2 *//**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
}

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
    font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

td, th {
    padding: 0;
}

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

body {
    font-family: 'Hiragino Kaku Gothic Pro', Meiryo, 'MS PGothic', sans-serif;
    line-height: 1.857;
    color: #000;
    font-size: 0.875em;
}

a:link, a:visited {
    color: #009be4;
    text-decoration: none;
}

a:hover, a:active, a:focus {
    color: #2a4198;
    text-decoration: underline;
}

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

p, ul, ol, dl, table {
    margin-bottom: 1.5em;
}

ul ul, ul ol, ol ol, ol ul, table p, table ul, table ol, table dl {
    margin-bottom: 0;
}

.nav-global, .page-footer .links, .list-u-01, .wysiwyg-01 ul, .list-o-01,
.wysiwyg-01 ol, .list-machine-01, .list-entries-01 {
    padding: 0;
    list-style: none;
}

/* -----------------------------------------------------------
   Layout
----------------------------------------------------------- */

.page-contents-container, .nav-global {
    position: relative;
    margin: 0 auto;
    width: 940px;
}

.page-header {
    position: relative;
}

.page-header .logo-ci {
    padding: 10px 0 0;
    text-align: center;
    margin: 0;
    font-size: 1em;
}

.page-header .logo-ci img {
    width: 202px;
    height: auto;
}

.page-header .logo-ci .business {
    display: block;
    margin-bottom: 8px;
    line-height: 1;
    font-size: 0.857em;
    font-weight: normal;
}

.page-header .logo-ci a {
    color: #000;
    text-decoration: none;
}

.page-header .utility-container .search {
    display: block;
    margin-bottom: 6px;
    text-align: right;
}

@media only screen and (max-width: 768px) {
  .page-header .utility-container .search {
    display: none;
    }
}

.page-header .utility-container .search label {
    vertical-align: middle;
}

.page-header .utility-container .search input {
    line-height: 1;
    font-size: 0.875rem;
    box-sizing: border-box;
    vertical-align: middle;
}

.page-header .utility-container .search input[type="search"] {
    padding: 0 10px;
    border: 1px solid #d5d5d5;
    border-right-width: 0;
    border-radius: 0;
    width: 220px;
    height: 26px;
    -webkit-appearance: none;
}

.page-header .utility-container .search input[type="submit"] {
    padding: 6px 15px;
    border-width: 0;
    border-radius: 0;
    background-color: #2a4198;
    color: #fff;
}

.page-header .utility-container .address-container {
    margin-bottom: 5px;
    line-height: 1.286;
    font-size: 0.857em;
    text-align: center;
}

.page-header .utility-container .address-container .address,
.page-header .utility-container .address-container .tel {
    display: inline-block;
}

.address-container .instagram {
    width: 34px;
    height: auto;
}

@media only screen and (max-width: 659px) {
    .address-container .instagram {

    }
}

.nav-global-container {
    position: relative;
    background-color: #2a4198;
}

.nav-global {
    padding: 5px 0;
    text-align: center;
    text-transform: uppercase;
}

.nav-global li {
    position: relative;
    display: inline-block;
    margin: 0 10px;
}

.nav-global li a, .nav-global li span {
    position: relative;
    display: block;
    margin-right: 1px;
    padding: 10px 8px;
    text-align: center;
    color: #fff;
    line-height: 1;
    font-size: 1.143em;
    text-decoration: none;
}

.nav-global li a:hover, .nav-global li a:active, .nav-global li a:focus,
.nav-global li span:hover, .nav-global li span:active, .nav-global li span:focus {
    background-color: #324eb3;
}

.nav-global li em {
    font-style: normal;
}

.nav-global li em a {
    border-color: #2a4198;
}

.page-contents {
    margin-bottom: 30px;
}

.page-contents-col2 {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

.page-contents-col2::after {
    clear: both;
    content: "";
    display: table;
}

.page-contents-col2 .page-main {
    margin-bottom: 30px;
    float: left;
    display: block;
    margin-right: 2.128%;
    width: 100%;
}

.page-contents-col2 .page-main:last-child {
    margin-right: 0;
}

.page-contents-col2 .page-sub {
    float: left;
    display: block;
    margin-right: 2.128%;
    width: 100%;
}

.page-contents-col2 .page-sub:last-child {
    margin-right: 0;
}

.page-footer .nav-pagetop-01 {
    text-align: right;
}

.page-footer .nav-pagetop-01 a {
    box-sizing: border-box;
    display: inline-block;
    padding: 10px;
    width: 140px;
    background-color: #e8e8e8;
    color: #000;
    text-align: center;
}

.page-footer .nav-pagetop-01 a .label {
    padding-left: 15px;
    background: url(images/blt_arrow_top_01.png) no-repeat left 0.3em;
}

.page-footer .page-footer-contents-01 {
    padding: 10px 0;
    background-color: #2a4198;
    color: #fff;
}

.page-footer .links {
    margin: 0;
    text-transform: uppercase;
}

.page-footer .links > li {
    float: left;
    padding-left: 15px;
    background: url(images/blt_arrow_right_01.png) no-repeat left 0.5em;
}

.page-footer .links > li:not(:last-child) {
    margin-right: 20px;
}

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

.page-footer .copyright {
    display: block;
    padding: 10px 0;
    font-size: 1em;
    text-align: center;
}

/* -----------------------------------------------------------
   Modules
----------------------------------------------------------- */

.article-01 {
    margin-bottom: 50px;
}

.lyt-image.image-R .image {
    float: right;
    margin-left: 20px;
}

.lyt-image.image-L .image {
    float: left;
    margin-right: 20px;
}

.lyt-image.image-parallel .text {
    overflow: hidden;
}

.lyt-column > .column {
    float: left;
    margin-right: 20px;
}

.lyt-column > .column:last-child {
    margin-right: 0;
}

.lyt-col-01 {
    margin: 30px 0;
}

.lyt-col-01 .col:not(:last-child) {
    margin-bottom: 30px;
}

.lyt-col-01 .size1of2 {
    float: left;
    display: block;
    margin-right: 2.128%;
    width: 100%;
}

.lyt-col-01 .size1of2:last-child {
    margin-right: 0;
}

.lyt-col-01 .size5of12 {
    float: left;
    display: block;
    margin-right: 2.128%;
    width: 100%;
}

.lyt-col-01 .size5of12:last-child {
    margin-right: 0;
}

.lyt-col-01 .size7of12 {
    float: left;
    display: block;
    margin-right: 2.128%;
    width: 100%;
}

.lyt-col-01 .size7of12:last-child {
    margin-right: 0;
}

.lyt-products-01 {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

.lyt-products-01::after {
    clear: both;
    content: "";
    display: table;
}

.lyt-products-01 .col {
    box-sizing: border-box;
    margin-bottom: 20px;
    padding: 20px 14px;
    border: 1px solid #e0e0e0;
}

.lyt-products-01 .col h3 {
    margin: 0 0 10px;
    padding: 0 0 0 12px;
    border-left: 4px solid #2a4198;
    background-color: #fff;
    font-size: 1.286em;
}

.lyt-products-01 .col .image {
    margin-bottom: 15px;
    text-align: center;
}

.lyt-machine-01 .col *:first-child {
    margin-top: 0;
}

.lyt-machine-01 .col *:last-child {
    margin-bottom: 0;
}

.hdg-l2-01, .wysiwyg-01 h2 {
    margin: 30px 0;
    padding: 10px 13px;
    border-width: 6px 0 1px;
    border-style: solid;
    border-color: #2a4198 transparent #ddd;
    line-height: 1.444;
    font-size: 1.286em;
}

.hdg-catchcopy-01, .wysiwyg-01 .hdg-catchcopy-01 {
    margin: 1em 0;
    padding: 0;
    border-width: 0;
    color: #2a4198;
    line-height: 1.444;
    font-size: 1.286em;
    font-weight: normal;
}

.hdg-l3-01, .wysiwyg-01 h3 {
    margin: 25px 0 20px;
    padding: 5px 18px;
    background-color: #e2e2e2;
    line-height: 1.444;
    font-size: 1.286em;
}

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

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

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

.list-u-01 > li, .wysiwyg-01 ul > li {
    padding-left: 30px;
    background: url(images/blt_square_01.png) no-repeat 10px 0.65em;
}

.list-u-01 > li:not(:last-child), .wysiwyg-01 ul > li:not(:last-child) {
    margin-bottom: 0.5em;
}

.list-o-01, .wysiwyg-01 ol {
    list-style: none;
}

.list-o-01 > li, .wysiwyg-01 ol > li {
    padding-left: 30px;
    background-position: 5px 0.25em;
    background-repeat: no-repeat;
}

.list-o-01 > li:not(:last-child), .wysiwyg-01 ol > li:not(:last-child) {
    margin-bottom: 0.5em;
}

.list-o-01 > li:nth-child(1), .wysiwyg-01 ol > li:nth-child(1) {
    background-image: url(images/num_01_1.png);
}

.list-o-01 > li:nth-child(2), .wysiwyg-01 ol > li:nth-child(2) {
    background-image: url(images/num_01_2.png);
}

.list-o-01 > li:nth-child(3), .wysiwyg-01 ol > li:nth-child(3) {
    background-image: url(images/num_01_3.png);
}

.list-o-01 > li:nth-child(4), .wysiwyg-01 ol > li:nth-child(4) {
    background-image: url(images/num_01_4.png);
}

.list-o-01 > li:nth-child(5), .wysiwyg-01 ol > li:nth-child(5) {
    background-image: url(images/num_01_5.png);
}

.list-machine-01 {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

.list-machine-01::after {
    clear: both;
    content: "";
    display: table;
}

.list-machine-01 > li {
    box-sizing: border-box;
    margin-bottom: 20px;
    padding: 9px;
    border: 1px solid #e0e0e0;
    float: left;
    display: block;
    margin-right: 3.226%;
    width: 48.387%;
}

.list-machine-01 > li:last-child {
    margin-right: 0;
}

.list-machine-01 > li:nth-child(2n) {
    margin-right: 0;
}

.list-machine-01 > li:nth-child(2n+1) {
    clear: left;
}

.list-machine-01 > li:nth-child(2n+1):nth-last-child(-n+2),
.list-machine-01 > li:nth-child(2n+1):nth-last-child(-n+2) ~ li {
    margin-bottom: 0;
}

.list-machine-01 a {
    color: #000;
    text-decoration: none;
}

.list-machine-01 .caption {
    font-weight: bold;
}

.list-machine-01 .caption .code {
    display: block;
    font-weight: normal;
}

.list-entries-01 > li {
    padding: 15px 19px;
}

.list-entries-01 > li:not(:last-child) {
    margin-bottom: 0.5em;
    border-bottom: 1px dotted #e0e0e0;
}

.list-entries-01 .date, .list-entries-01 .title {
    display: block;
}

.list-entries-01 .date {
    margin-bottom: 2px;
}

.list-companydata-01 {
    margin: 10px 0;
}

.list-companydata-01 dt {
    font-weight: bold;
}

.list-companydata-01 dd {
    margin-left: 0;
}

.list-banner-01 {
    display: flex;
    gap: 10px;
    padding-left: 0;
    list-style: none;
}

.tbl-01, .wysiwyg-01 table, .tbl-01 th, .wysiwyg-01 table th, .tbl-01 td,
.wysiwyg-01 table td {
    border-style: solid;
    border-color: #aaa;
}

.tbl-01, .wysiwyg-01 table {
    border-width: 1px 0 0 1px;
    width: 100%;
}

.tbl-01 th, .wysiwyg-01 table th, .tbl-01 td, .wysiwyg-01 table td {
    padding: 5px 15px;
    border-width: 0 1px 1px 0;
}

.tbl-01 th, .wysiwyg-01 table th {
    font-weight: normal;
}

.tbl-01 tbody th, .wysiwyg-01 table tbody th {
    background-color: #e5ecf6;
    text-align: left;
}

.tbl-02, .tbl-02 th, .tbl-02 td, .wysiwyg-01 .tbl-02, .wysiwyg-01 .tbl-02 th,
.wysiwyg-01 .tbl-02 td {
    border-style: solid;
    border-color: #aaa;
}

.tbl-02, .wysiwyg-01 .tbl-02 {
    border-width: 1px 0 0 1px;
    width: 100%;
}

.tbl-02 th, .tbl-02 td, .wysiwyg-01 .tbl-02 th, .wysiwyg-01 .tbl-02 td {
    padding: 5px 15px;
    border-width: 0 1px 1px 0;
}

.tbl-02 th, .wysiwyg-01 .tbl-02 th {
    font-weight: normal;
}

.tbl-02 thead th, .wysiwyg-01 .tbl-02 thead th {
    background-color: #e5ecf6;
}

.tbl-02 tbody th, .wysiwyg-01 .tbl-02 tbody th {
    background-color: #fff;
    text-align: left;
}

.tbl-form-01 th, .tbl-form-01 td, .contact-form table th, .contact-form table td {
    padding: 10px 15px;
}

.tbl-form-01 tr, .tbl-form-01 th, .tbl-form-01 td, .contact-form table tr,
.contact-form table th, .contact-form table td {
    display: block;
}

.tbl-machines-01 tbody th {
    width: 50%;
}

.tbl-machines-01 tbody td:nth-of-type(1) {
    width: 35%;
}

.tbl-machines-01 tbody td:nth-of-type(2) {
    width: 15%;
    text-align: center;
}

.tbl-data-01 th {
    width: 30%;
}

.tbl-data-02 th {
    width: 25%;
}

.tbl-history th {
    white-space: nowrap;
}

.box-01 {
    margin-bottom: 20px;
    border-top: 2px solid #c5c5c5;
}

.box-01 .box-01-hdg {
    position: relative;
    padding: 5px 20px;
    background-color: #e8e8e8;
}

.box-01 .box-01-content {
    border: 1px solid #e0e0e0;
    border-top-width: 0;
}

.box-01 .box-01-content-02 {
    padding: 10px;
}

.box-01 .box-01-content-02 > ul {
    margin-top: 0;
    margin-bottom: 0;
}

.box-01 .hdg {
    margin: 0;
    padding: 0 110px 0 22px;
    background: url(images/blt_arrow_right_02.png) no-repeat left 0.4em;
    font-size: 1.143em;
}

.box-01 .hdg.hdg-without-link {
    padding-right: 10px;
}

.box-01 .nav {
    position: absolute;
    top: 5px;
    right: 10px;
}

.box-01 .nav a {
    display: inline-block;
    padding: 5px 5px 5px 21px;
    background: #fff url(images/blt_arrow_right_03.png) no-repeat 10px center;
    line-height: 1;
    color: #000;
}

.box-certification-01 {
    margin-bottom: 20px;
}

.box-certification-01 .image {
    vertical-align: middle;
}

.form-01 input, .form-01 textarea, .contact-form input, .contact-form textarea {
    border: 1px solid #d5d5d5;
    font-size: 16px;
}

.form-01 .require, .contact-form .require {
    display: inline-block;
    margin-left: 5px;
    color: #e60012;
}

.form-01 .error, .contact-form .error {
    color: #e60012;
}

.form-01 .input-rule, .contact-form .input-rule {
    font-style: normal;
}

.form-01 .input-rule.required, .contact-form .input-rule.required {
    color: #e60012;
}

.form-01 label.label-name, .contact-form label.label-name {
    display: inline-block;
    margin-top: 20px;
    margin-right: 5px;
    width: 2.2em;
    text-align: right;
}

.form-01 .input-name, .contact-form .input-name {
    width: 160px;
}

.form-01 input[name="company"], .form-01 input[name="email"],
.form-01 input[name="tel"], .form-01 input[name^="element"],
.contact-form input[name="company"], .contact-form input[name="email"],
.contact-form input[name="tel"], .contact-form input[name^="element"] {
    box-sizing: border-box;
    width: 100%;
}

.form-01 textarea[name="content"], .form-01 textarea[name="element-5"],
.contact-form textarea[name="content"], .contact-form textarea[name="element-5"] {
    width: 100%;
    height: 10em;
}

.nav-contents-01 {
    margin: 30px 0;
    text-align: center;
}

.nav-contents-01 a {
    box-sizing: border-box;
    display: inline-block;
    padding: 7px 10px;
    min-width: 180px;
    box-shadow: 0 1px 0 #0b2175;
    background-color: #2a4198;
    color: #fff;
    text-decoration: none;
}

.nav-contents-01 a:hover, .nav-contents-01 a:active, .nav-contents-01 a:focus {
    background-color: #324eb3;
}

.nav-contents-02 {
    margin: 10px 0;
    text-align: right;
}

.nav-contents-02 a {
    padding-left: 22px;
    background: url(images/blt_arrow_right_02.png) no-repeat left center;
}

.nav-form-01, #trust-form .submit-container {
    margin: 30px 0;
    text-align: center;
}

.nav-form-01 .item, #trust-form .submit-container .item {
    display: block;
}

.nav-form-01 .item:not(:last-child),
#trust-form .submit-container .item:not(:last-child) {
    margin-bottom: 30px;
}

.nav-form-01 a, .nav-form-01 input[type="submit"],
#trust-form .submit-container a,
#trust-form .submit-container input[type="submit"] {
    border-width: 0;
}

.nav-form-01 .prev, .nav-form-01 .next,
.nav-form-01 input[name="return-to-input"],
.nav-form-01 input[name="send-to-confirm"],
.nav-form-01 input[name="send-to-finish"], #trust-form .submit-container .prev,
#trust-form .submit-container .next,
#trust-form .submit-container input[name="return-to-input"],
#trust-form .submit-container input[name="send-to-confirm"],
#trust-form .submit-container input[name="send-to-finish"] ,#trust-form .submit-container input[name="submitConfirm"]{
    padding: 10px 20px;
    line-height: 1;
    text-decoration: none;
}

.nav-form-01 .prev, .nav-form-01 input[name="return-to-input"],
#trust-form .submit-container .prev,
#trust-form .submit-container input[name="return-to-input"] {
    border: 1px solid #999;
    color: #000;
}

.nav-form-01 .prev:hover, .nav-form-01 .prev:active, .nav-form-01 .prev:focus,
.nav-form-01 input[name="return-to-input"]:hover,
.nav-form-01 input[name="return-to-input"]:active,
.nav-form-01 input[name="return-to-input"]:focus,
#trust-form .submit-container .prev:hover,
#trust-form .submit-container .prev:active,
#trust-form .submit-container .prev:focus,
#trust-form .submit-container input[name="return-to-input"]:hover,
#trust-form .submit-container input[name="return-to-input"]:active,
#trust-form .submit-container input[name="return-to-input"]:focus {
    background-color: #efefef;
}

.nav-form-01 .next, .nav-form-01 input[name="send-to-confirm"],
.nav-form-01 input[name="send-to-finish"], #trust-form .submit-container .next,
#trust-form .submit-container input[name="send-to-confirm"],
#trust-form .submit-container input[name="send-to-finish"] ,#trust-form .submit-container input[name="submitConfirm"]{
    box-shadow: 0 1px 0 #0b2175;
    background-color: #2a4198;
    color: #fff;
}

.nav-form-01 .next:hover, .nav-form-01 .next:active, .nav-form-01 .next:focus,
.nav-form-01 input[name="send-to-confirm"]:hover,
.nav-form-01 input[name="send-to-confirm"]:active,
.nav-form-01 input[name="send-to-confirm"]:focus,
.nav-form-01 input[name="send-to-finish"]:hover,
.nav-form-01 input[name="send-to-finish"]:active,
.nav-form-01 input[name="send-to-finish"]:focus,
#trust-form .submit-container .next:hover,
#trust-form .submit-container .next:active,
#trust-form .submit-container .next:focus,
#trust-form .submit-container input[name="send-to-confirm"]:hover,
#trust-form .submit-container input[name="send-to-confirm"]:active,
#trust-form .submit-container input[name="send-to-confirm"]:focus,
#trust-form .submit-container input[name="send-to-finish"]:hover,
#trust-form .submit-container input[name="send-to-finish"]:active,
#trust-form .submit-container input[name="send-to-finish"]:focus {
    background-color: #324eb3;
}

.mod-mb-non {
    margin-bottom: 0 !important;
}

.mod-m-non {
    margin-top: 0;
    margin-bottom: 0;
}

.mod-contact-01 .number-container {
    color: #2a4198;
    font-size: 1.286em;
    font-weight: bold;
}

.mod-contact-01 .number {
    display: inline-block;
}

.mod-pagehdg-01 {
    box-sizing: border-box;
    margin-top: 20px;
    margin-bottom: 30px;
    padding: 10px 0;
    background-image: url(images/bg_pagehdg_01.jpg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 50% auto;
}

.mod-pagehdg-01 .hdg {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding-left: 8.511%;
    height: 100%;
    line-height: 1.364;
    font-size: 1.571em;
    font-weight: normal;
}

.mod-pagehdg-01 .hdg .text {
    background-color: rgba(255, 255, 255, 0.5);
}

.mod-embedcontent {
    position: relative;
    overflow: hidden;
    padding-bottom: 56%;
    height: 0;
}

.mod-embedcontent iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.page_navi {
    text-align: center;
}

.page_navi > li {
    display: inline-block;
    margin: 0 5px 10px;
}

.page_navi > li a, .page_navi > li span {
    display: block;
    padding: 7px 5px;
    border: 1px solid #aaa;
    width: 1.2em;
    line-height: 1;
    text-align: center;
}

.page_navi > li span {
    background-color: #e5ecf6;
}

.page_navi > li a {
    text-decoration: none;
}

.page_navi > li a:hover, .page_navi > li a:active, .page_navi > li a:focus {
    background-color: #324eb3;
    color: #fff;
}

/* -----------------------------------------------------------
   Home
----------------------------------------------------------- */

.mod-kv {
    margin-bottom: 30px;
    text-align: center;
}

/* -----------------------------------------------------------
   Content
----------------------------------------------------------- */

.page-header .page-contents-container, .page-header .nav-global, .nav-global,
.page-footer .links, .lyt-image, .lyt-column, .box-certification-01, .wysiwyg-01 {
    /* フロートの解除 */
}

/*.page-header .page-contents-container:after, */
.page-header .nav-global:after,
.nav-global:after, .page-footer .links:after, .lyt-image:after,
.lyt-column:after, .box-certification-01:after, .wysiwyg-01:after {
    clear: both;
    display: block;
    content: "";
}

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

@media only screen and (max-width: 959px) {
    .page-contents-container, .nav-global {
        margin-right: 10px;
        margin-left: 10px;
        width: auto;
    }
}
@media screen and (min-width: 768px) {
    .page-header .logo-ci {
       float: none;
        padding: 10px 0;
        text-align: left;
    }
}
@media screen and (min-width: 660px) {

    .page-header .utility-container {
		/*float: right;*/
        padding: 8px 0 10px;
    }

    .page-header .utility-container .search {
    }

    .page-header .utility-container .address-container {
        margin-bottom: 0;
        font-size: inherit;
        text-align: right;
    }

    .page-header .utility-container .address-container .address {
        display: block;
    }
}

@media screen and (min-width: 700px) {
    .page-header .utility-container .address-container {
        text-align: left;
		align-items: center;
    }

    .page-header .utility-container .address-container .address,
    .page-header .utility-container .address-container .tel {
        display: inline;
    }
}

@media screen and (min-width: 560px) {
    .nav-global {
        padding: 0;
        text-align: inherit;
    }

    .nav-global li {
        margin: 0;
        float: left;
        width: 20%;
        vertical-align: top;
        background: url(images/bg_gnav.png) no-repeat right center;
    }

    .nav-global li:first-child {
        background: url(images/bg_gnav.png) no-repeat right center,
                    url(images/bg_gnav.png) no-repeat left center;
    }

    .nav-global li:first-child a {
        margin-left: 1px;
    }

    .nav-global li a, .nav-global li span {
        padding: 14px 5px;
    }
}

@media screen and (min-width: 768px) {
    .page-contents-col2 .page-main {
        margin-bottom: 0;
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 65.957%;
    }

    .page-contents-col2 .page-main:last-child {
        margin-right: 0;
    }

    .page-contents-col2 .page-sub {
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 31.915%;
    }

    .page-contents-col2 .page-sub:last-child {
        margin-right: 0;
    }

    .lyt-col-01 .col:not(:last-child) {
        margin-bottom: 0;
    }

    .lyt-col-01 .size1of2 {
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 48.936%;
    }

    .lyt-col-01 .size1of2:last-child {
        margin-right: 0;
    }

    .lyt-col-01 .size5of12 {
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 40.426%;
    }

    .lyt-col-01 .size5of12:last-child {
        margin-right: 0;
    }

    .lyt-col-01 .size7of12 {
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 57.447%;
    }

    .lyt-col-01 .size7of12:last-child {
        margin-right: 0;
    }

    .tbl-form-01 tr, .contact-form table tr {
        display: table-row;
    }

    .tbl-form-01 th, .tbl-form-01 td, .contact-form table th,
    .contact-form table td {
        display: table-cell;
    }

    .tbl-form-01 th, .contact-form table th {
        width: 23%;
    }

    .form-01 label.label-name[for*="lastname"],
    .contact-form label.label-name[for*="lastname"] {
        margin-left: 10px;
    }

    .form-01 .screen-small, .contact-form .screen-small {
        display: none;
    }
}

@media screen and (min-width: 480px) {
    .lyt-products-01 .col {
        float: left;
        display: block;
        margin-right: 2.128%;
        width: 48.936%;
    }

    .lyt-products-01 .col:last-child {
        margin-right: 0;
    }

    .lyt-products-01 .col:nth-child(2n) {
        margin-right: 0;
    }

    .lyt-products-01 .col:nth-child(2n+1) {
        clear: left;
    }

    .lyt-products-01 .col:nth-child(2n+1):nth-last-child(-n+2),
    .lyt-products-01 .col:nth-child(2n+1):nth-last-child(-n+2) ~ .col {
        margin-bottom: 0;
    }

    .form-01 input[name="company"], .form-01 input[name="email"],
    .form-01 input[name="tel"], .form-01 input[name^="element"],
    .contact-form input[name="company"], .contact-form input[name="email"],
    .contact-form input[name="tel"], .contact-form input[name^="element"] {
        width: 380px;
    }

    .nav-form-01 .item, #trust-form .submit-container .item {
        display: inline-block;
        margin: 0 15px;
    }
}

@media screen and (min-width: 500px) {
    .hdg-catchcopy-01, .wysiwyg-01 .hdg-catchcopy-01 {
        line-height: 1.4;
        font-size: 1.429em;
    }

    .mod-pagehdg-01 {
        margin-top: 0;
        padding: 20px 0;
        height: 160px;
        background-size: auto 100%;
    }

    .mod-pagehdg-01 .hdg {
        line-height: 1.286;
        font-size: 2em;
    }
}

@media print {
    .page-header .utility-container, .nav-global-container,
    .page-footer .nav-pagetop-01, .page-footer .page-footer-contents-01 {
        display: none;
    }

    .page-contents-container, .nav-global {
        margin: 0;
        width: auto;
    }

    .page-contents-col2 .page-main, .page-contents-col2 .page-sub {
        float: none;
        width: auto;
    }

    .list-u-01, .wysiwyg-01 ul {
        list-style: disc outside;
    }

    .list-u-01 > li, .wysiwyg-01 ul > li {
        margin-left: 30px;
        padding-left: 0;
        background: none;
    }

    .list-o-01, .wysiwyg-01 ol {
        list-style: decimal outside;
    }

    .list-o-01 > li, .wysiwyg-01 ol > li {
        margin-left: 30px;
        padding-left: 0;
        background: none;
    }
}


/* AED バナーに関するCSS */

.AED_banner{
	display: block;
}

/* ロゴ 健康経営優良法人に関する CSS */
.address-logo-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.address-logo-container figure.img-logoBox {
	margin: 0px;
	padding: 0 0.5rem;
}
.address-logo-container figure.img-logoBox img {
    height: 2.5rem;
}
@media screen and (max-width: 768px) {
  .address-logo-container figure.img-logoBox {
  height: 2.5rem;
  }
}

.page-header .utility-container .address-logo-container span.address,
.page-header .utility-container .address-logo-container span.tel {
	line-height: 1.5;
	display: block
}

.address-textBox{
	text-align: left;
  line-height: 1.4;
    max-width: 12rem;
}

@media screen and (max-width: 768px) {
  .address-textBox{
  	text-align: center;
    max-width: 100%;
  }
  .address-textBox br {
  display:none;
  }
}

.mod-gmaps-container iframe{
	width: 100%;
}

.sp_display_content{
	display: block;
}

.page-contents-container{
	display: block;
}

@media screen and (max-width: 768px) {
  .address-logo-container {
	display: block;
  }
}
@media screen and (min-width: 768px) {
  .page-contents-container{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	    padding-bottom: 5px;
}

}

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

.page-header .utility-container .address-logo-container span.address,
.page-header .utility-container .address-logo-container span.tel {
	line-height: 1.5;
	display: inline-block;
}

}


@media screen and (min-width: 840px) {
	.sp_display_content{
	display: none;
}
}


/*追加*/
.p-head_bnr {
    display: flex;
    align-items: center;
    line-height:1;
}
@media screen and (max-width: 768px) {
  .p-head_bnr {
  justify-content: center;
  margin:0.8rem 0;
  }
}

/* -----------------------------------------------------------
   企業理念 principle
----------------------------------------------------------- */
.principle .page-contents-col2 {
    margin: 0;
    width: 100%;
}
.principle .page-contents-inr {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.principle .page-contents-col2 .page-main {
    float: none;
    width: calc(100% - 190px);
    max-width: 730px;
    margin: 0;
}
.principle_list {
    list-style: none;
    padding: 0;
}
.principle_list li {
    padding: 40px 0 0;
    display: flex;
    flex-direction: column;
}
.principle_list li:nth-child(odd) {
    background: #d3edfb;
}
.principle_list h2 {
    line-height: 100%;
    background: #008cd6;
    color: #fff;
    padding: 10px 20px;
    max-width: 270px;
    box-sizing: border-box;
    border-radius: 0 20px 20px 0;
}
.principle_list h3 {
    font-size: 1.5em;
    line-height: 100%;
    padding-left: 20px;
    margin: 30px 0 20px;
}
.principle_list h3 span {
    text-indent: -10px;
    display: inline-block;
}
.principle_list h4 {
    font-size: 1.2em;
    color: #2b429a;
    padding-left: 20px;
}
.principle_list p {
    padding: 0 20px;
}
.principle_list li div:last-child {
    display: flex;
    justify-content: flex-end;
}

.principle .page-contents-col2 .page-sub {
    float: none;
    width: 100%;
    max-width: 176px;
	position: relative;
}
.page-sub .page-sub-inr {
    position: sticky;
    top: 40px;
}
.principle .page-contents-col2 .page-sub h3 {
    background: #2a4098;
    color: #fff;
    font-weight: normal;
    line-height: 100%;
    text-align: center;
    margin: 0;
    padding: 0.25em 0 0.2em;
}
.principle .page-contents-col2 .page-sub ul {
    list-style: none;
    padding: 0;
}
.principle .page-contents-col2 .page-sub ul li {
    border-bottom: 1px solid #2b419a;
}
.principle .page-contents-col2 .page-sub ul li a {
    display: block;
    line-height: 100%;
    color: #000;
    padding: 10px 26px 10px 10px;
    position: relative;
}
.principle .page-contents-col2 .page-sub ul li a:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #2b429a;
    border-bottom: 1px solid #2b429a;
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.sp-only { display: none; }

@media screen and (max-width: 640px) {
	.principle.page-contents-container {
		margin: 0;
	}
	.principle .mod-pagehdg-01 {
		margin: 20px 10px 30px;
	}

	.principle .page-contents-inr {
		flex-direction: column-reverse;
		position: relative;
	}

	.principle .page-contents-col2 .page-main {
		width: 100%;
	}
	.principle_list li {
        margin-top: 40px;
    }
	.principle_list li div:last-child {
		justify-content: center;
		position: relative;
	}
    .principle_list li div:last-child a {
        position: absolute;
        right: 0;
        bottom: -40px;
        box-sizing: border-box;
        display: inline-block;
        padding: 7px 10px;
        width: 70px;
        background-color: #e8e8e8;
        color: #000;
        text-align: center;
    }
	.principle_list li div:last-child a span {
		padding-left: 15px;
		background: url(images/blt_arrow_top_01.png) no-repeat left 0.3em;
	}

	.principle .page-contents-col2 .page-sub {
		max-width: inherit;
		/* position: sticky; */
		/* top: 10px; */
	}
	.page-sub .page-sub-inr {
		position: inherit;
		top: 0;
	}
	.principle .page-contents-col2 .page-sub ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(7, auto);
		gap: 0 6px;
		margin: 0 auto 30px;
	}
}