@charset "UTF-8";

/*
/* Mixin
/*
----------------------------------------------------------------- */

@font-face {
    font-family: "icon";
    src: url("../fonts/icon.eot");
    src: url("../fonts/icon.eot?#iefix") format("eot"), url("../fonts/icon.woff") format("woff"), url("../fonts/icon.ttf") format("truetype"), url("../fonts/icon.svg#icon") format("svg");
    font-weight: normal;
    font-style: normal;
}

.icon {
    display: inline-block;
    font-family: "icon";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-lg {
    font-size: 1.3333333333333333em;
    line-height: 0.75em;
    vertical-align: -15%;
}

.icon-2x {
    font-size: 2em;
}

.icon-3x {
    font-size: 3em;
}

.icon-4x {
    font-size: 4em;
}

.icon-5x {
    font-size: 5em;
}

.icon-fw {
    width: 1.2857142857142858em;
    text-align: center;
}

.icon-arrow-right:before {
    content: "\EA01";
}

.icon-check:before {
    content: "\EA02";
}

.icon-down:before {
    content: "\EA03";
}

.icon-external:before {
    content: "\EA04";
}


/* Slider */

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.common_animate_bg {
    position: relative;
    overflow: hidden;
    display: block;
}

.common_animate_bg_inner {
    opacity: 0;
    display: inline-block;
}

.common_animate_bg_img {
    opacity: 0;
}

.common_animate_bg_graph {
    opacity: 0;
}

.common_animate_bg_cover {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
}

.common_animate_bg_cover.gray {
    background-color: #e6e6e6;
}

.init .common_animate_bg_cover {
    -webkit-animation: show_bg_cover 0.6s linear forwards;
    animation: show_bg_cover 0.6s linear forwards;
}

.init .common_animate_bg_inner {
    -webkit-animation: show_bg_label 0.6s linear forwards;
    animation: show_bg_label 0.6s linear forwards;
    width: 100%;
}

.common_animate_bg_inner {}

.init .common_animate_bg_img {
    -webkit-animation: show_bg_img 0.6s linear forwards;
    animation: show_bg_img 0.6s linear forwards;
}

.init .common_animate_bg_top {
    -webkit-animation: show_bg_top 0.6s ease forwards;
    animation: show_bg_top 0.6s ease forwards;
}

.init .common_animate_bg_graph {
    -webkit-animation: show_bg_graph 0.2s linear forwards;
    animation: show_bg_graph 0.2s linear forwards;
}

.init .common_animate_bg_graph+.common_animate_bg_graph {
    -webkit-animation-delay: .4s;
    animation-delay: .4s;
}

@-webkit-keyframes show_bg_cover {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    33% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }
    66% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
}

@keyframes show_bg_cover {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    33% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }
    66% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
}

@-webkit-keyframes show_bg_label {
    0% {
        opacity: 0;
    }
    49% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes show_bg_label {
    0% {
        opacity: 0;
    }
    49% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes show_bg_img {
    0% {
        opacity: 0;
        -webkit-transform: translateX(20px);
        transform: translateX(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
    }
}

@keyframes show_bg_img {
    0% {
        opacity: 0;
        -webkit-transform: translateX(20px);
        transform: translateX(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
    }
}

@-webkit-keyframes show_bg_top {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@keyframes show_bg_top {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@-webkit-keyframes show_bg_graph {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@keyframes show_bg_graph {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

.common_banner_area {
    padding-top: 100px;
    padding-bottom: 100px;
    margin: 200px calc(-50vw - -480px) 0;
}

@media screen and (max-width: 1000px) {
    .common_banner_area {
        margin: 200px 0 0;
    }
}

.common_banner_area_inner {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.common_layout_fit+.common_banner_area {
    margin-top: -140px;
}

.common_banner_area+.common_inquiry {
    margin-top: 0;
}

.common_box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
}

.common_box_title {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 2rem;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 15px;
}

.common_box.has_desc .common_box_title {
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.common_box_title.has_category {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.common_box_title_inner {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.common_box_title_category {
    margin-left: 15px;
    position: relative;
    margin-bottom: -20px;
}

.common_box_title_category.laser {
    top: 8px;
}

.common_box_title_category.analysis {
    top: 1px;
}

.common_box_title_category.filter {
    top: 8px;
}

.common_box_title_category.polarization {
    top: -6px;
}

.common_box_desc {
    margin-bottom: 30px;
    line-height: 1.8;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}


/*
/* Button
/*
----------------------------------------------------------------- */

.common_btn {
    position: relative;
}

.common_row+.common_btn {
    margin-top: 50px;
}

.common_title_center+.common_btn {
    margin-top: 60px;
}

.common_btn+.common_btn {
    margin-top: 10px;
}

.common_btn a,
button.common_btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #808080;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 44px;
    width: 100%;
    height: 100%;
    padding: 10px 24px 11px;
    box-sizing: border-box;
    text-decoration: none;
    background: none;
    border: none;
    max-width: 200px;
    font-size: 1.4rem;
    margin-left: auto;
    margin-right: auto;
    -webkit-transition: color .3s ease, border-color .3s ease, background-color .3s ease;
    transition: color .3s ease, border-color .3s ease, background-color .3s ease;
    cursor: pointer;
    border: 1px solid #a6a6a6;
}

.common_btn a:hover,
button.common_btn:hover {
    border-color: #ed1c25;
    color: #ed1c25;
}

.common_btn a:hover::after,
button.common_btn:hover::after {
    color: #ed1c25;
}

.common_btn.transparent a,
button.common_btn.transparent {
    background: none;
}

.common_btn.red a,
button.common_btn.red {
    background: #ed1c25;
    color: #fff;
    border-color: #ed1c25;
}

.common_btn.red a:hover,
button.common_btn.red:hover {
    background-color: transparent;
    color: #ed1c25;
}

.common_btn.gray a,
button.common_btn.gray {
    background: #a6a6a6;
    color: #fff;
    border-color: #a6a6a6;
}

.common_btn.gray a:hover,
button.common_btn.gray:hover {
    background-color: transparent;
    color: #a6a6a6;
}

.common_btn.white a,
button.common_btn.white {
    background: #fff;
    color: #231815;
    border: none;
}

.common_btn.white a:hover,
button.common_btn.white:hover {
    color: #ed1c25;
}

.common_btn.down {
    height: 100%;
}

.common_btn.down a,
button.common_btn.down {
    position: relative;
}

.common_btn.down a::after,
button.common_btn.down::after {
    font-family: 'icon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    position: absolute;
    z-index: 1;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.common_btn.fit a,
button.common_btn.fit {
    max-width: none;
    outline: none;
}

.common_btn.lg a,
button.common_btn.lg {
    max-width: 320px;
}

.common_btn.left a,
button.common_btn.left {
    margin-left: 0;
}

.common_btn.flex a {
    max-width: none;
}

.common_btn.big a {
    font-size: 1.8rem;
}

.common_center {
    text-align: center;
}

.common_container {
    overflow: hidden;
}

body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    -webkit-transition-duration: inherit;
    transition-duration: inherit;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
    transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .25s ease, visibility 0s ease .25s;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-caption .fancybox-caption,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-nav .fancybox-navigation .fancybox-button,
.fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    -webkit-transition: opacity .25s ease 0s, visibility 0s ease 0s;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image:before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
}

.fancybox-can-pan .fancybox-content,
.fancybox-can-swipe .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--iframe .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-iframe,
.fancybox-video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    -webkit-transition: color .2s;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
    color: #ccc;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--fsenter svg:nth-child(2),
.fancybox-button--fsexit svg:first-child,
.fancybox-button--pause svg:first-child,
.fancybox-button--play svg:nth-child(2) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    z-index: 99998;
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-caption {
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, transparent);
    background: linear-gradient(0deg, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, transparent);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

.fancybox-loading {
    -webkit-animation: a 1s linear infinite;
    animation: a 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@-webkit-keyframes a {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}

@keyframes a {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}

.fancybox-animated {
    -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
    transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: scale3d(1.5, 1.5, 1.5);
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: rotate(-1turn);
    -ms-transform: rotate(-1turn);
    transform: rotate(-1turn);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: rotate(1turn);
    -ms-transform: rotate(1turn);
    transform: rotate(1turn);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: scaleX(1) translateZ(0);
    transform: scaleX(1) translateZ(0);
}

.fancybox-fx-tube.fancybox-slide--previous {
    -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
    transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
    transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    -webkit-transform: translateZ(0) scale(1);
    transform: translateZ(0) scale(1);
}

@media (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }
    .fancybox-slide--image {
        padding: 6px 0;
    }
    .fancybox-close-small {
        right: -6px;
    }
    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }
    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:link,
.fancybox-share__button:visited {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a:before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus:before {
    opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
    opacity: 1;
}

@media (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }
    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }
    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}

.common_footer {
    background-color: #ccc;
    padding: 0 20px;
    margin-top: 200px;
}

.common_page.policy+.common_footer {
    margin-top: 0;
}

.common_footer_inner {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
}

.common_footer_header {
    padding: 50px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.common_footer_columns {
    border-left: 1px solid #a6a6a6;
    padding-left: 10px;
    padding-right: 10px;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.common_footer_nav_item>a,
.common_footer_nav_item>span {
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
}

.common_footer_nav_item>a:hover {
    color: #ed1c25;
}

.common_footer_nav_child_wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.common_footer_nav_child_group {
    margin-left: 32px;
}

.common_footer_nav_child_group:first-child {
    margin-left: 0;
}

.common_footer_nav_child_title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-top: 16px;
}

.common_footer_nav_child_title a {
    text-decoration: none;
}

.common_footer_nav_child_title a:hover {
    color: #ed1c25;
}

.common_footer_nav_child_item {
    margin-top: 8px;
}

.common_footer_nav_child_item>a {
    font-size: 1.2rem;
    text-decoration: none;
}

.common_footer_nav_child_item>a:hover {
    color: #ed1c25;
}

.common_footer_body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-top: 1px solid #a6a6a6;
    padding: 20px 0 40px;
}

.common_footer_link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.common_footer_link_item {
    position: relative;
    padding-right: 20px;
    margin-right: 20px;
}

.common_footer_link_item::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    width: 1px;
    height: 12px;
    background-color: #231815;
}

.common_footer_link_item a {
    font-size: 1.2rem;
    text-decoration: none;
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}

.common_footer_link_item a:hover {
    opacity: 0.8;
}

.common_footer_copyright {
    font-size: 1.2rem;
}

.common_form {
    margin-top: 80px;
    margin-bottom: 40px;
}

.common_form_item {
    border-bottom: 1px solid #e6e6e6;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.common_form_item_header {
    position: relative;
    background-color: #ccc;
    width: 250px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 20px 0 20px 90px;
    box-sizing: border-box;
}

.common_form_item_body {
    background-color: #f8f8f8;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 20px 20px 20px 45px;
}

.common_form_item_title {
    font-weight: bold;
}

.common_form_item_notes {
    position: absolute;
    left: 24px;
    top: 21px;
    color: #fff;
    background-color: #0000a0;
    font-size: 1.2rem;
    padding: 0 5px;
    border-radius: 3px;
    font-weight: bold;
}

.common_form_item_notes.require {
    background-color: #ed1c25;
}

.common_graph {
    margin-top: 50px;
    margin-bottom: 70px;
}

.common_graph:hover .common_graph_item_inner {
    opacity: 0.15;
}

.common_graph:hover .common_graph_item_inner.on {
    opacity: 0;
}

.common_graph_item a {
    display: block;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    height: 0;
    padding-bottom: 17.5%;
    position: relative;
    overflow: hidden;
}

.common_graph_item a:hover {
    opacity: 1 !important;
}

.common_graph_item a img {
    width: 100%;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.common_graph_item_inner {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.common_graph_item_inner.off {
    opacity: 1;
}

.common_graph_item_inner.on {
    opacity: 0;
}

.common_graph_item a:hover .common_graph_item_inner.on {
    opacity: 1;
    visibility: visible;
}

.common_graph_item_inner.on img {
    opacity: 1 !important;
}

.common_graphlist {
    border-bottom: 1px solid #e6e6e6;
    margin-top: 30px;
    margin-bottom: 30px;
}

.common_graphlist li {
    border-top: 1px solid #e6e6e6;
}

.common_graphlist li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/common_ico_graph01.png) 30px 20px no-repeat;
    text-decoration: none;
    min-height: 70px;
    padding: 10px 0 10px 80px;
    font-size: 1.3rem;
    box-sizing: border-box;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 1.4;
}

.common_graphlist li a:hover {
    color: #ed1c25;
}

.common_header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    box-sizing: border-box;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    background-color: #f8f8f8;
}

.hd_inner {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 60px;
}

.hd_logo {
    position: relative;
    padding-left: 60px;
}

@media screen and (max-width: 1050px) {
    .hd_logo {
        padding-left: 20px;
    }
}

.hd_logo a {
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}

.hd_logo a:hover {
    opacity: 0.8;
}

.hd_body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
}

.hd_nav {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    box-sizing: border-box;
}

@media screen and (min-width: 769px) {
    .hd_nav_toggle {
        display: none;
    }
}

.hd_nav_btn {
    display: none;
}

.hd_nav_btn.open::before,
.hd_nav_btn.open::after {
    -webkit-transition: top .6s ease .3s, box-shadow .3s ease, -webkit-transform .6s ease .3s;
    transition: top .6s ease .3s, box-shadow .3s ease, -webkit-transform .6s ease .3s;
    transition: transform .6s ease .3s, top .6s ease .3s, box-shadow .3s ease;
    transition: transform .6s ease .3s, top .6s ease .3s, box-shadow .3s ease, -webkit-transform .6s ease .3s;
}

.hd_nav_item {
    margin: 0 2%;
}

.hd_nav_item>a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px;
    position: relative;
    color: #4d4d4d;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: bold;
}

@media screen and (max-width: 1000px) {
    .hd_nav_item>a {
        font-size: 1.2rem;
    }
}

.hd_nav_item>a:hover {
    color: #ed1c25;
}

.hd_nav_item>a:hover+.hd_nav_child {
    opacity: 1;
    visibility: visible;
    max-height: calc(100vh - 60px);
}

.hd_nav_item.main_current a::after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
}

.hd_nav_links {
    position: relative;
    width: 33.333%;
    box-sizing: border-box;
    padding: 50px 30px 0;
}

@media screen and (max-width: 1270px) {
    .hd_nav_links {
        padding: 50px 15px 0;
    }
}

.hd_nav_links_thumb img {
    max-width: 100%;
    height: auto;
}

.hd_nav_links_index {
    margin-top: 15px;
    margin-bottom: 5px;
}

.hd_nav_links_index a {
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: -0.04em;
}

.hd_nav_links_index a:hover {
    color: #ed1c25;
}

.hd_nav_links_index a::after {
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    top: 50px;
    bottom: 0;
}

.hd_nav_links_list {
    position: relative;
    z-index: 1;
}

.hd_nav_links_list.two_columns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.hd_nav_links_list.two_columns li {
    width: 50%;
}

.hd_nav_links_list_item a {
    display: block;
    padding-top: 2px;
    padding-bottom: 2px;
    font-weight: normal;
    text-decoration: none;
}

.hd_nav_links_list_item a:hover {
    color: #ed1c25;
}

.hd_nav_child {
    overflow-y: scroll;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s ease, visibility .3s ease, max-height 1s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, visibility .3s ease, max-height 1s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease, max-height 1s ease;
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease, max-height 1s ease, -webkit-transform .3s ease;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 0;
    background: -webkit-linear-gradient(45deg, #fff, #ccd1d4);
    background: linear-gradient(45deg, #fff, #ccd1d4);
    padding: 50px 20px;
    box-sizing: border-box;
}

.hd_nav_child:hover {
    opacity: 1;
    visibility: visible;
    max-height: calc(100vh - 60px);
}

.hd_nav_child.open {
    height: auto;
    max-height: none;
    visibility: visible;
    opacity: 1;
}

.hd_nav_child_inner {
    overflow: hidden;
    max-width: 1270px;
    margin-left: auto;
    margin-right: auto;
}

.hd_nav_child_header {
    width: 30%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    float: left;
}

.hd_nav_child_body {
    float: right;
    width: 70%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: -50px -30px 0;
}

@media screen and (max-width: 1270px) {
    .hd_nav_child_body {
        padding: -50px -15px 0;
    }
}

.hd_nav_child_title {
    font-size: 5.5rem;
    font-weight: bold;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
    color: #808080;
}

.hd_nav_child_ruby {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 10px;
}

.hd_nav_child_btn {
    margin-top: 30px;
}

.hd_nav_child_btn a {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    width: 200px;
    height: 46px;
    border: 1px solid #a6a6a6;
    box-sizing: border-box;
    -webkit-transition: color .3s ease, border-color .3s ease;
    transition: color .3s ease, border-color .3s ease;
}

.hd_nav_child_btn a::after {
    content: '';
    position: absolute;
    right: -23px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 2px;
    width: 46px;
    background-color: #ed1c25;
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
}

.hd_nav_child_btn a:hover {
    border-color: #ed1c25;
    color: #ed1c25;
}

.hd_nav_child_btn a:hover::after {
    right: -30px;
}

.hd_lang {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 50px;
    height: 60px;
}

@media screen and (max-width: 1270px) {
    .hd_lang {
        padding: 0 30px;
    }
}

@media screen and (max-width: 1000px) {
    .hd_lang {
        padding: 0 10px;
    }
}

.hd_lang_item a {
    position: relative;
    color: #4d4d4d;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 12px;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
}

@media screen and (max-width: 1160px) {
    .hd_lang_item a {
        font-size: 1.3rem;
    }
}

.hd_lang_item a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    height: 6px;
    width: 1px;
    background-color: #231815;
}

.hd_lang_item a:hover {
    color: #ed1c25;
}

.hd_lang_item:first-child a {
    padding-left: 0;
}

.hd_lang_item:first-child a::before {
    content: none;
}

.hd_lang_item.current a {
    color: #ed1c25;
}

.hd_recruit a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 18px;
    font-weight: bold;
    height: 60px;
    background-color: #ed1c25;
    color: #fff;
    text-decoration: none;
    -webkit-transition: color .3s ease, background-color .3s ease;
    transition: color .3s ease, background-color .3s ease;
}

@media screen and (max-width: 1000px) {
    .hd_recruit a {
        padding: 0 10px;
    }
}

.hd_recruit a:hover {
    color: #ed1c25;
    background-color: #fff;
}

.common_icon a[href*=".pdf"] {
    display: inline-block;
    padding-left: 20px;
    background: url(../image/common_ico_pdf01.png) 3px 5px no-repeat;
    background-size: 12px 16px;
}

.input_agree {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 40px;
}

.input_checkbox {
    cursor: pointer;
}

.input_checkbox_input {
    display: none;
}

.input_checkbox_input:checked+.input_checkbox_item::after {
    opacity: 1;
}

.input_checkbox_item {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.3rem;
    padding-left: 30px;
    height: 48px;
}

.input_checkbox_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background: transparent;
    border: 2px solid #ccc;
    box-sizing: border-box;
    font-size: 22.4px;
    font-size: 1.4rem;
}

.input_checkbox_item::after {
    font-family: 'icon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #231815;
    position: absolute;
    left: 0;
    top: 12px;
    font-size: 38.4px;
    font-size: 2.4rem;
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.common_inquiry_careers {
    padding: 70px 20px;
    margin: 200px calc(-50vw - -50px) -200px;
    background: -webkit-linear-gradient(45deg, #fff, #ccd1d4);
    background: linear-gradient(45deg, #fff, #ccd1d4);
    border-top: 1px solid #e6e6e6;
}

@media screen and (max-width: 1040px) {
    .common_inquiry_careers {
        margin: 200px -20px -200px;
    }
}

.ci_bg+.common_inquiry_careers {
    margin-top: 0;
}

.common_inquiry_careers_title {
    font-size: 2.7rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
    color: #ed1c25;
}

.common_inquiry_careers_desc {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 40px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.common_inquiry_careers_btns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.common_inquiry_careers_btn {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 200px;
    padding: 0 15px;
}

.common_layout_fit {
    background: -webkit-linear-gradient(45deg, #fff, #ccd1d4);
    background: linear-gradient(45deg, #fff, #ccd1d4);
    margin: 140px calc(-50vw - -500px);
    padding: 0 20px;
    padding-top: 140px;
    padding-bottom: 140px;
}

@media screen and (max-width: 1040px) {
    .common_layout_fit {
        margin: 140px -20px;
    }
}

.common_layout_fit:last-child {
    margin-bottom: -200px;
}

.common_layout_fit.sm {
    padding-top: 75px;
    padding-bottom: 85px;
}

.common_layout_fit.mb0 {
    margin-bottom: 0;
}

.common_visual+.common_layout_fit {
    margin-top: -140px;
}

.common_layout_fit_inner {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.common_layout_fit+.common_promotion,
.common_layout_fit+.common_promotion.white,
.common_layout_fit+.common_inquiry {
    margin-top: -140px;
}

.common_layout_sm {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.common_lead {
    font-size: 3rem;
    font-weight: bold;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
    color: #4c4c4e;
}

.common_lead_caption {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-top: 10px;
    margin-bottom: 50px;
}

.common_lead.mb {
    margin-bottom: 80px;
}

.common_more {
    position: relative;
    top: -60px;
    margin-top: -1em;
    text-align: right;
}

.common_more a {
    color: #a6a6a6;
    font-size: 1.5rem;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
}

.common_more a:hover {
    color: #ed1c25;
    text-decoration: underline;
}

.common_more.md {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.common_movie {
    margin-top: 60px;
    margin-top: 60px;
    text-align: center;
}

.common_movie video {
    width: 640px;
    max-width: 100%;
    height: auto;
}

.common_news {
    background-color: #fff;
    padding: 120px 20px 100px;
}

.common_news_header {
    position: relative;
}

.common_news_body {
    margin-top: 0;
    margin-bottom: 0;
}

.common_news_title {
    font-size: 4rem;
    color: #b3b3b3;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
    font-weight: bold;
    margin-bottom: 40px;
}

.common_news_title_ruby {
    font-size: 1.6rem;
}

.common_news_more {
    position: absolute;
    right: 0;
    top: 50%;
    font-size: 1.5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.common_news_more a {
    color: #b3b3b3;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
}

.common_news_more a:hover {
    color: #ed1c25;
    text-decoration: underline;
}

.common_news_content {
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e6e6e6;
}

.common_news_content dl {
    position: relative;
    padding: 20px 0;
    border-top: 1px solid #e6e6e6;
}

.common_news_tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
}

.common_news_tab_item {
    width: 33.333%;
    box-sizing: border-box;
    border-left: 1px solid #e6e6e6;
}

.common_news_tab_item:first-child {
    border-left: none;
}

.common_news_tab_item.current a {
    background-color: #e6e6e6;
}

.common_news_tab_item a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 40px;
    text-decoration: none;
}

.common_news_tab_item a:hover {
    color: #ed1c25;
}

.common_news_tab.style_radio {
    background-color: #E6E6E6;
    margin-bottom: 40px;
}

.common_news_tab.style_radio a {
    color: #000;
    font-size: 14px;
    position: relative;
    text-align: left;
    width: auto;
    justify-content: flex-start;
    padding-left: 40px;
}

.common_news_tab.style_radio.top_tab_wrapper a {
    color: #000;
}

.common_news_tab.style_radio.top_tab_wrapper {
    background: linear-gradient(to right, #CDD2D5, #E3E6E7);
}

.common_news_tab.style_radio.top_tab_wrapper .common_tab_item a:hover {
    color: #fff;
}

.common_news_tab.style_radio a::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    left: 0;
    top: 14px;
}

.common_news_tab.style_radio .common_tab_item {
    border: none;
    width: auto;
    margin-left: 35px;
}

.common_news_tab.style_radio .common_tab_item.current a {
    background-color: transparent;
}

.common_news_tab.style_radio .common_tab_item.current a::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #707070;
    border-radius: 50%;
    left: 6px;
    top: 20px;
}

.common_news_tab.style_radio .common_tab_item a:hover {
    color: #707070;
}

.common_not_link>a {
    text-decoration: none;
    color: #231815;
}

.common_office_content {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 60px;
    padding-bottom: 60px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #e6e6e6;
}

.common_office_content.lab {
    margin-top: 80px;
}

.common_office_content_body {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.common_office_content_thumb {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 40px;
}

.common_office_content_title {
    font-weight: bold;
    font-size: 1.8rem;
}

.common_office_gmap {
    margin-top: 40px;
    margin-bottom: 80px;
}

.common_office_gmap iframe,
.common_office_gmap iframe:not([class]) {
    width: 100%;
    margin: 0;
}

.common_page_body {
    padding-left: 20px;
    padding-right: 20px;
}

.common_page_content {
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: block;
}

.common_page_locator {
    position: absolute;
    left: 0;
    right: 0;
    top: 380px;
    padding: 10px 20px;
    z-index: 1;
}

.common_page.careers .common_page_locator {
    top: 560px;
}

.common_page_locator #locator {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    font-size: 1.3rem;
}

.common_page {
    position: relative;
    padding-top: 60px;
}

.common_page.policy {
    background: -webkit-linear-gradient(left, #fafafa, #e5eaed);
    background: linear-gradient(to right, #fafafa, #e5eaed);
    padding-bottom: 120px;
}

.common_pdf {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.common_pdf a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/common_ico_pdf01.png) 30px 20px no-repeat;
    text-decoration: none;
    min-height: 70px;
    padding-left: 80px;
    box-sizing: border-box;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 1.8;
}

@media all and (-ms-high-contrast: none) {
    .common_pdf a {
        height: 70px;
    }
}

.common_pdf a:hover {
    color: #ed1c25;
}

.common_pdflink {
    margin-top: 24px;
    margin-bottom: 24px;
}

.common_pdflink:first-child {
    margin-top: 0;
}

.common_pdflink:last-child {
    margin-bottom: 0;
}

td>.common_pdflink {
    margin: 0 0 10px;
}

.common_pdflink a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/common_ico_pdf01.png) 5px 0 no-repeat;
    text-decoration: none;
    padding: 7px 0 7px 40px;
    font-size: 1.3rem;
    box-sizing: border-box;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 1.4;
}

@media all and (-ms-high-contrast: none) {
    .common_pdflink a {
        height: 70px;
    }
}

.common_pdflink a:hover {
    color: #ed1c25;
}

.common_pdflist {
    border-bottom: 1px solid #e6e6e6;
    margin-top: 30px;
    margin-bottom: 30px;
}

.common_pdflist li {
    border-top: 1px solid #e6e6e6;
}

.common_pdflist li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/common_ico_pdf01.png) 30px 20px no-repeat;
    text-decoration: none;
    height: 70px;
    padding: 10px 0 10px 80px;
    font-size: 1.3rem;
    box-sizing: border-box;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 1.4;
}

.common_pdflist li a:hover {
    color: #ed1c25;
}

.common_pdftable li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/common_ico_pdf01.png) 30px 20px no-repeat;
    text-decoration: none;
    min-height: 70px;
    padding: 10px 0 10px 80px;
    font-size: 1.3rem;
    box-sizing: border-box;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    line-height: 1.4;
}

.common_pdftable li a:hover {
    color: #ed1c25;
}

.common_permalink {
    cursor: pointer;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease;
}

.common_permalink:hover {
    opacity: 0.8;
}

.common_permalink:hover .top_products_item_thumb img,
.common_permalink:hover .common_box_thumb img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
}

.common_permalink:hover .common_btn a {
    color: #ed1c25;
    border-color: #ed1c25;
}

.common_permalink .top_products_item_thumb,
.common_permalink .common_box_thumb {
    overflow: hidden;
}

.common_permalink .top_products_item_thumb img,
.common_permalink .common_box_thumb img {
    width: 100%;
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease;
}

.common_promotion {
    padding: 70px 20px;
    margin: 200px calc(-50vw - -50px) -200px;
    background: -webkit-linear-gradient(45deg, #fff, #ccd1d4);
    background: linear-gradient(45deg, #fff, #ccd1d4);
    border-top: 1px solid #e6e6e6;
}

@media screen and (max-width: 1040px) {
    .common_promotion {
        margin: 200px -20px -200px;
    }
}

.common_promotion.white {
    background: #fff;
    border-top: 0;
    margin-top: 0;
}

.common_promotion_title {
    font-size: 2.7rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
}

.common_promotion_desc {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 40px;
}

.common_banner_area+.common_promotion {
    margin-top: 0;
}

.rss_data {
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
}

.rss_title {
    padding-left: 135px;
    margin-left: 110px !important;
    font-size: 1.3rem;
}

.rss_title .icon {
    position: absolute;
    left: 110px;
    top: 18px;
    width: 105px;
    height: 28px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #a6a6a6;
    box-sizing: border-box;
    color: #231815;
    font-size: 1rem;
}

.rss_title a {
    display: block;
    text-decoration: none;
}

.rss_title a:hover {
    color: #ed1c25;
}

.rss_title a:hover .icon {
    color: #231815;
}

.rss_contents {
    padding-left: 95px;
    font-size: 1.3rem;
}

.common_summary {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 140px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.common_summary.lg {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}

.common_swipe_container {
    position: relative;
    margin-top: 32px;
    margin-bottom: 32px;
}

.common_swipe_container.table {
    margin-top: 20px;
    margin-bottom: 50px;
}

.common_swipe_container.image {
    margin-top: 50px;
    margin-bottom: 50px;
}

.common_swipe_container_icon {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: font(13);
    padding: 0.75rem 10px;
    text-align: center;
    background: rgba(0, 0, 0, .5);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.5s, visibility 0.5s;
    transition: opacity 0.5s, visibility 0.5s;
}

.common_swipe_container_icon.visible {
    opacity: 1;
    visibility: visible;
}

.common_swipe_container_contents {
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
}

.common_swipe_container_contents> :first-child {
    margin-top: 0;
}

.common_swipe_container_contents> :last-child {
    margin-bottom: 0;
}

.common_swipe> :first-child {
    margin-top: 0;
}

.common_swipe> :last-child {
    margin-bottom: 0;
}


/*
/* tab
/*
----------------------------------------------------------------- */

.common_tab {
    margin-top: 20px;
    margin-bottom: 50px;
}

.common_tab_nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.common_tab_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    border-left: 1px solid #e6e6e6;
}

.common_tab_item:first-child {
    border-left: none;
}

.common_tab_item.current a {
    background-color: #e6e6e6;
}

.common_tab_item a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    padding: 5px 15px;
    height: 50px;
    text-decoration: none;
    box-sizing: border-box;
    outline: none;
}

.common_tab_item a:hover {
    color: #ed1c25;
}

.common_tab_item.col_1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.333%;
    -ms-flex: 0 0 8.333%;
    flex: 0 0 8.333%;
    max-width: 8.333%;
}

.common_tab_item.col_2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.667%;
    -ms-flex: 0 0 16.667%;
    flex: 0 0 16.667%;
    max-width: 16.667%;
}

.common_tab_item.col_2-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.common_tab_item.col_3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.common_tab_item.col_4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.333%;
    -ms-flex: 0 0 33.333%;
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.common_tab_item.col_5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.667%;
    -ms-flex: 0 0 41.667%;
    flex: 0 0 41.667%;
    max-width: 41.667%;
}

.common_tab_item.col_6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.common_tab_item.col_7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.333%;
    -ms-flex: 0 0 58.333%;
    flex: 0 0 58.333%;
    max-width: 58.333%;
}

.common_tab_item.col_8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.667%;
    -ms-flex: 0 0 66.667%;
    flex: 0 0 66.667%;
    max-width: 66.667%;
}

.common_tab_item.col_9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.common_tab_item.col_10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.333%;
    -ms-flex: 0 0 83.333%;
    flex: 0 0 83.333%;
    max-width: 83.333%;
}

.common_tab_item.col_11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.667%;
    -ms-flex: 0 0 91.667%;
    flex: 0 0 91.667%;
    max-width: 91.667%;
}

.common_tab_item.col_12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.common_tab_content {
    padding: 30px;
    border: 1px solid #e6e6e6;
}

.common_tab_content>*:first-child {
    margin-top: 0;
}

.common_tab_content>*:last-child {
    margin-bottom: 0;
}

.common_table_border {
    width: 100%;
    border-bottom: 1px solid #e6e6e6;
}

.common_table_border tr {
    border-top: 1px solid #e6e6e6;
}

.common_table_border th,
.common_table_border td {
    padding: 30px 0;
    line-height: 1.8;
}

.common_table_border th {
    font-size: 1.5rem;
    font-weight: bold;
    width: 180px;
    text-align: left;
}

.common_table_border.pdftable th {
    width: 80px;
    padding: 0;
}

.common_table_border.pdftable td {
    padding: 0;
}

.common_table_border.downloads th {
    width: 40%;
    padding: 15px 0;
}

.common_table_border.downloads td {
    padding: 15px 0;
}

.common_table_border_btn {
    width: 220px;
}

.common_table_spec {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 50px;
    border-bottom: 1px solid #e6e6e6;
    box-sizing: border-box;
}

.common_table_spec tr {
    border-top: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
}

.common_table_spec th,
.common_table_spec td {
    line-height: 1.8;
}

.common_table_spec th> :first-child,
.common_table_spec td> :first-child {
    margin-top: 0;
}

.common_table_spec th> :last-child,
.common_table_spec td> :last-child {
    margin-bottom: 0;
}

.common_table_spec th {
    padding: 15px 0;
    background-color: #f8f8f8;
    border-right: 1px solid #e6e6e6;
}

.common_table_spec td {
    padding: 15px 10px;
    border-right: 1px solid #e6e6e6;
    box-sizing: border;
    text-align: center;
}

.common_table_spec td:last-child {
    border-right: none;
}

.common_swipe_container+.common_table_spec_caution,
table+.common_table_spec_caution {
    margin-top: -25px;
}

.common_table {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 50px;
    border-bottom: 1px solid #e6e6e6;
    box-sizing: border;
}

.common_table tr {
    border-top: 1px solid #e6e6e6;
}

.common_table th,
.common_table td {
    line-height: 1.8;
}

.common_table th> :first-child,
.common_table td> :first-child {
    margin-top: 0;
}

.common_table th> :last-child,
.common_table td> :last-child {
    margin-bottom: 0;
}

.common_table th {
    width: 120px;
    padding: 15px 0;
    background-color: #f8f8f8;
}

.common_table td {
    padding: 15px 30px;
}

.common_table.middle th,
.common_table.middle td {
    vertical-align: middle;
}

.common_swipe_container+.common_table_caution,
table+.common_table_caution {
    margin-top: -25px;
}

.common_table:first-child {
    margin-top: 0;
}

.common_table:last-child {
    margin-bottom: 0;
}

.common_text {
    font-size: 1.5rem;
    line-height: 1.8;
    margin-top: 1em;
    margin-bottom: 1em;
}

.common_text:first-child {
    margin-top: 0;
    margin-bottom: 0;
}

.common_text.center {
    text-align: center;
}

.common_text.right {
    text-align: right;
}

.common_text.small {
    font-size: 1.3rem;
}

.common_text.hang_small {
    font-size: 1.3rem;
    padding-left: 1em;
}

.common_text.no_margin {
    margin-top: 0;
    margin-bottom: 0;
}

.common_text.lead_margin {
    margin-top: 40px;
    margin-bottom: 40px;
}

.common_text.lead {
    font-size: 2rem;
    font-weight: bold;
}

.common_thumb {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.common_thumb:first-child {
    margin-top: 0;
}

.common_thumb:last-child {
    margin-bottom: 0;
}

.common_thumb img {
    max-width: 100%;
    height: auto;
}

.common_thumb.fit img {
    max-width: none;
    width: 100%;
    height: auto;
}

.common_time {
    display: inline-block;
    margin-right: 3rem;
}

.common_title_assort {
    color: #ed1c25;
    font-size: 2.8rem;
    font-weight: bold;
}

.common_title_border {
    font-size: 3rem;
    font-weight: bold;
    margin-top: 120px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #b3b3b3;
}

.common_title_border:first-child {
    margin-top: 0;
}

.common_title_border:last-child {
    margin-bottom: 0;
}

.common_title_center {
    font-size: 3.6rem;
    font-weight: bold;
    margin-top: 120px;
    margin-bottom: 20px;
    text-align: center;
}

.common_title_center:first-child {
    margin-top: 0;
}

.common_title_center:last-child {
    margin-bottom: 0;
}

.common_title_center_inner {
    line-height: 1.9;
    border-bottom: 3px solid #231815;
    padding-bottom: 2px;
}

.common_title_center+.common_row {
    margin-top: 40px;
}

.common_visual {
    position: relative;
    background: #000 no-repeat 50% 50%;
    background-size: cover;
    margin: 0 calc(-50vw - -500px) 100px;
    padding: 0 20px;
}

@media screen and (max-width: 1040px) {
    .common_visual {
        margin: 0 -20px 100px;
    }
}

.common_visual_inner {
    position: relative;
    width: 100%;
    height: 320px;
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
}

.common_visual_label {
    position: absolute;
    bottom: 30px;
    left: 0;
    font-size: 2.4rem;
    color: #fff;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, Helvetica, Geneva, sans-serif;
    font-weight: bold;
}

.common_visual_products_instruments_tunablelaser .common_visual_label {
    color: #231815;
}

.common_visual_title {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 4.5rem;
    font-weight: bold;
    color: #fff;
}

.common_visual_about {
    background-image: url(../image/common_img_visual_about01.jpg);
}

.common_visual_about_innovation {
    background-image: url(../image/common_img_visual_about_innovation01.jpg);
}

.common_visual_ir_shareholders {
    background-image: url(../image/common_img_visual_ir_shareholders01.jpg);
}

.common_visual_ir_business {
    background-image: url(../image/common_img_visual_ir_business01.jpg);
}

.common_visual_ir_announce {
    background-image: url(../image/common_img_visual_ir_announce01.jpg);
}

.common_visual_ir_financial {
    background-image: url(../image/common_img_visual_ir_financial01.jpg);
}

.common_visual_ir_reports {
    background-image: url(../image/common_img_visual_ir_reports01.jpg);
}

.common_visual_ir_irpolicy {
    background-image: url(../image/common_img_visual_ir_irpolicy01.jpg);
}

.common_visual_ir_ircalendar {
    background-image: url(../image/common_img_visual_ir_ircalendar01.jpg);
}

.common_visual_ir_irfaq {
    background-image: url(../image/common_img_visual_ir_irfaq01.jpg);
}

.common_visual_support {
    background-image: url(../image/common_img_visual_support01.jpg);
}

.common_visual_support_manual {
    background-image: url(../image/common_img_visual_support_manual01.jpg);
}

.common_visual_support_catalog {
    background-image: url(../image/common_img_visual_support_catalog01.jpg);
}

.common_visual_support_downloads {
    background-image: url(../image/common_img_visual_support_downloads01.jpg);
}

.common_visual_support_maintenance {
    background-image: url(../image/common_img_visual_support_maintenance01.jpg);
}

.common_visual_support_discontinuations-and-support {
    background-image: url(../image/common_img_visual_support_discontinuations-and-support01.jpg);
}

.common_visual_support_attention {
    background-image: url(../image/common_img_visual_support_discontinuations-and-support01.jpg);
}

.common_visual_support_precautions-for-transporting {
    background-image: url(../image/common_img_visual_support_discontinuations-and-support01.jpg);
}

.common_visual_products {
    background-image: url(../image/common_img_visual_products01.jpg);
}

.common_visual_careers_employment-information {
    background-image: url(../image/common_img_visual_careers_employment-information01.jpg);
}

@media screen and (min-width: 769px) {
    .common_visual_careers_employment-information .common_visual_inner {
        height: 500px;
    }
}

.common_visual_news {
    background-image: url(../image/common_img_visual_news01.jpg);
}

.common_visual_products_instruments {
    background-image: url(../image/common_img_visual_products_instruments01.jpg);
}

.common_visual_products_instruments_tunablelaser {
    background-image: url(../image/common_img_visual_products_instruments_tunablelaser01.jpg);
}

.common_visual_products_components {
    background-image: url(../image/common_img_visual_products_components01.jpg);
}

.common_visual_products_oct {
    background-image: url(../image/common_img_visual_products_oct01.jpg);
}

.common_visual_inquiry,
.common_visual_policy,
.common_visual_sitemap {
    background-image: url(../image/common_img_visual_inquiry01.jpg);
}


/* BowNow --------*/

.bn_2block {
    display: flex;
    background: #F4F1EA;
    padding: 3em 2em 2em;
    border-radius: 10px;
}

.bnL {
    flex: 1;
    margin-bottom: 40px;
}

.bnR {
    width: 38%;
    margin-left: 5%;
}

.bnL .inn,
.bnR .inn {
    background-color: #F4F1EA;
    padding: 5em 3em 3em;
    border-radius: 10px;
}

.bnL iframe:not([class]),
.bnR iframe:not([class]) {
    margin-top: 0;
    margin-bottom: 0;
}

.bn_2block .HTitl {
    position: relative;
    line-height: 1.2em;
    padding-bottom: .5em;
    border-bottom: 2px solid;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.bn_2block .HTitl::before {
    content: "";
    display: block;
    width: 3em;
    background-color: #ed1c25;
    height: 2px;
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 1;
}

.bn_tel_block {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 20px;
}

iframe[id$="_bownow_iframe_sid_e8015977c7ee1a1f7d63"],
iframe[id$="_bownow_iframe_sid_fd0f7560faf4dde94698"] {
    height: 460px;
}

@media only screen and (max-width: 979px) {
    .bn_2block {
        display: block;
    }
    .bnL,
    .bnR {
        width: 100%;
    }
    .bnL {
        flex: inherit;
        margin-bottom: 80px;
    }
    .bnR {
        margin-left: 0;
    }
    .bnL .inn,
    .bnR .inn {
        padding: 2.4em;
    }
}


/*pagetop*/


/*================================*/

#topcontrol {
    z-index: 100000;
}

.pagetop {
    position: relative;
    width: 60px;
    height: 60px;
    background-color: #999;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagetop::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: solid #FFF;
    border-width: 2px 0 0 2px;
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    position: relative;
    top: 3px;
}

@media only screen and (max-width: 690px) {
    .pagetop {
        width: 50px;
        height: 50px;
    }
}


/* button to contact */

.button_contact {
    width: 220px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ED1C25;
    border: 1px solid #ED1C25;
    transition: .3s;
    margin-bottom: 50px;
}

.button_contact a {
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    transition: .3s;
}

.button_contact:hover {
    background-color: transparent;
}

.button_contact:hover a {
    color: #ED1C25;
}


/* 製品一覧 */

.product_table .bg_gray {
    background-color: #E6E6E6;
    width: 185px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.product_table td {
    font-size: 28px;
    padding: 25px 30px;
    vertical-align: middle;
}

.product_table .model {
    text-align: center;
    vertical-align: middle;
}

.product_table {
    border-top: 2px solid #ED1C25;
    border-bottom: 2px solid #ED1C25;
}

.product_table tr {
    border-bottom: 1px solid #ED1C25;
}

.product_table .bob2px {
    border-bottom: 2px solid #ED1C25;
}

.product_table .button.red {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 220px;
}

.product_table .button.red a {
    text-decoration: none;
    font-size: 16px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.product_table .button.invalid {
    height: 40px;
    width: 220px;
    text-align: center;
    font-size: 16px;
    background-color: #666;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 50px;
}
.spec_table td {
    border: 2px solid #fff;
    vertical-align: middle;
    text-align: center
}

.spec_table .head td {
    background-color: #ED1C25;
    color: #fff;
}

.spec_table .body td {
    background-color: #D4D4D4;
}

.spec_table .body td:first-of-type {
    background-color: #ED1C25;
    color: #fff;
}

@media screen and (max-width: 768px) {
    table .spec_table,
    table .spec_table th,
    table .spec_table td {
        display: table-cell!important;
    }
    .products_detail table .spec_table th,
    .products_detail table .spec_table td {
        padding: 5px;
    } 
    .products_detail table {
        width: 100%!important;
    }
    .product_table .button.red,
    .product_table .button.invalid {
        margin: 0 auto;
    }
}
@media screen and (max-width: 420px) {
    .product_table .bg_gray {
        width: auto;
    }
    .product_table .button.red,
    .product_table .button.invalid {
        width: 50%;
    }
    .overf_x {
        overflow-x: scroll;
    }
}


/* order_list */

.cart_list01 table {
    border-collapse: separate;
}

#order_list td {
    border-left: 5px solid #fff;
    border-bottom: 5px solid #fff;
    text-align: center;
    vertical-align: middle;
}

#order_list tr>td:first-of-type {
    border-left: none;
}

#order_list .head {
    background-color: #ED1C25;
    border-bottom: 5px solid #fff
}

#order_list .head * {
    color: #fff;
    text-align: center;
    font-size: 20px;
}

#order_list .body td {
    color: #0D0B0B;
    text-align: center;
    font-size: 16px;
    background-color: #D4D4D4;
    padding: 30px;
    height: 35px;
    text-align: left;
}

#order_list select {
    margin-right: 20px;
    width: 100px;
    height: 30px;
    font-size: 20px;
}

#order_list .button {
    font-size: 20px;
    background-color: #D4D4D4;
    width: 300px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
    padding: 10px;
}

button.accept.button.red {
    width: 300px;
    padding: 10px;
    display: block;
    margin: 0 auto;
}

#order_list .button.red,
.accept.button.red {
    background-color: transparent;
}

#order_list .button:hover {
    opacity: .5;
}

.button.red,
.accept.button.red {
    background-color: transparent;
    border: 1px solid #ED1C25;
    margin-left: 50px;
}

.button.red a,
.accept.button.red {
    color: #ED1C25;
    transition: .3s;
}

.button.red:hover,
.accept.button.red:hover {
    background-color: #ED1C25;
    opacity: 1;
}

#order_list .button.red:hover {
    background-color: #ED1C25;
    opacity: 1;
}

#order_list .total_all td {
    background-color: #D4D4D4;
    border-left: none;
    font-size: 20px;
    padding: 10px 20px;
    text-align: right;
}

.button.red:hover a,
.accept.button.red:hover {
    color: #fff;
}

.button .jp {
    font-size: 14px;
}

#dcms_layoutPageBlock .title_jp {
    margin-top: -100px;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
}

#order_list .button a,
.accept.button {
    text-decoration: none;
    font-size: 20px;
    text-align: center;
}

#order_list .cart_formatarea01 {
    display: flex;
    justify-content: center;
    margin-top: 50px
}

#order_list select.order_number {
    font-size: 20px;
    height: 45px;
    vertical-align: middle;
}

#order_list td.order_number {
    height: 100%;
    display: table-cell;
    text-align: center;
    padding: 10px;
}

#order_list td.order_number .button a {
    font-size: 16px;
    width: 100%;
    height: 100%;
}

#order_list .order_number .button {
    width: 35px;
    height: 28px;
    border-radius: 5px;
    display: inline-flex;
    background-image: url(/dcms_media/image/icon_trash2.png);
    background-size: 100%;
}

#order_list .order_number .button a {
    color: #fff;
}

#submit_button.order_submit input {
    color: #ED1C21;
    background-color: #fff;
    transition: .3s;
}

#submit_button.order_submit:hover input {
    background-color: #ED1C21;
    color: #fff;
}

#order_list .button.center {
    margin: 20px auto 50px;
}

.error_jp {
    font-size: 13px;
}

@media screen and (max-width: 750px) {
    #order_list .cart_formatarea01 {
        flex-wrap: wrap;
    }
    #order_list .button.red {
        margin-left: auto;
        margin-right: auto;
    }
}

.order_form_privacy {
    padding-left: 32%;
}

@media only screen and (max-width: 690px) {
    .order_form_privacy {
        padding-left: 0;
    }
}
.itemOverAttention {
    color: #f00;
    font-weight: bold;
} 
.selectOver {
    color: #f00;
}

/* サンクスページ */

.finish_title {
    text-align: center;
    font-size: 32px;
    margin-bottom: 70px;
}

.finish_title .jp {
    font-size: 20px;
    text-align: center;
}

.finish_text {
    font-size: 16px;
    margin-bottom: 15px;
}

/* top_inquiry button & promotion button */
.top_inquiry .common_btn a {
    background: #ed1c25;
    color: #fff;
    border-color: #ed1c25;
}

.top_inquiry .common_btn a:hover {
    background-color: transparent;
    color: #ed1c25;
}

.common_promotion:not(.common_promotion_return) .common_btn a {
    background: #ed1c25;
    color: #fff;
    border-color: #ed1c25;
}

.common_promotion:not(.common_promotion_return) .common_btn a:hover {
    background-color: transparent;
    color: #ed1c25;
}

