@charset "UTF-8";

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

fieldset,
img {
    border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-weight: 400;
    font-style: normal;
}

li {
    list-style: none;
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

q:after,
q:before {
    content: "";
}

abbr,
acronym {
    font-variant: normal;
    border: 0;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

legend {
    color: #000;
}

body,
html {
    zoom: 1;
    width: 100%;
    height: 100%;
}

table {
    font: 100%;
    font-size: inherit;
}

code,
kbd,
pre,
samp,
tt {
    font-family: monospace;
    line-height: 100%;
}

#yui3-css-stamp.cssfonts {
    display: none;
}

img {
    vertical-align: bottom;
}

code,
kbd,
pre,
samp,
tt {
    font-family: monospace;
    line-height: 100%;
}

a {
    text-decoration: none;
}

table {
    width: 100%;
    font: 100%;
    font-size: inherit;
    border-collapse: collapse;
}

.abs {
    position: absolute;
}

.hide {
    visibility: hidden;
}

.show {
    visibility: visible;
}

.displayNone {
    display: none;
}

.displayBlock {
    display: block;
}

.clear {
    clear: both;
}

.left {
    float: left;
}

.right {
    float: right;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.alignCenter {
    margin: 0 auto;
}

.margin_reset {
    margin: 0;
}

.padding_reset {
    padding: 0;
}

.btn {
    cursor: pointer;
}

.ta_left {
    text-align: left;
}

.ta_right {
    text-align: right;
}

.ta_center {
    text-align: center;
}

.attentionMark {
    margin-left: 1em;
    text-indent: -1em;
}

.attentionMark2 {
    margin-left: 2em;
    text-indent: -2em;
}

.f_bold {
    font-weight: 700;
}

#__bs_notify__ {
    display: none !important;
}

.pc-indent p,
.pc-indent span {
    display: block;
    margin-left: 0;
}

.sp-indent p,
.sp-indent span {
    display: inline;
}

.clearfix:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: ".";
}

.clearfix {
    display: inline-block;
}

*html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

.float {
    display: block;
}

.float:after,
.float:before {
    display: table;
    content: " ";
}

.float:after {
    clear: both;
}

.float {
    zoom: 1;
}

.flexbox {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -js-display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexbox {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flexbox li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.flexbox .box {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.flexbox.between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

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

::-ms-backdrop {
    font-family: "メイリオ", meiryo, verdana, "ヒラギノ角ゴ Pro W3", hirakakupro-w3, "ＭＳ Ｐゴシック", "ms pgothic", sans-serif !important
}

.trans {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.table-cell {
    display: table;
}

.table-cell .cell {
    display: table-cell;
}

.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}

.btn-disabled {
    cursor: default;
    pointer-events: none;
}

.inline-group {
    display: block;
}

.inline-group .inline {
    display: inline-block;
}

.pcshow {
    display: block;
}

.spshow {
    display: none;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

body,
html {
    position: relative;
    width: 100%;
    min-width: 1280px;
    height: auto
}

body {
    position: relative;
    min-width: 980px;
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
    -webkit-print-color-adjust: exact;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}


.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

header {
    overflow: hidden;
    /* height:85px; */
    /* height: calc(3.625rem + (80 - 58) * ((100vw - 768px) / (1920 - 768))); */
    /* border-bottom:1px solid #d7d7d7; */
}

header #logo {
    padding: 15px 0 0 0;
}

header #pcmenu {
    width: 710px;
    padding: 30px 0 0 0;
}

header #pcmenu li {
    width: 20%;
    border-right: 1px solid #0097e0;
}

header #pcmenu li:nth-of-type(1) {
    border-left: 1px solid #0097e0;
}

header #pcmenu li a {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .2em;
}

header #pcmenu li a:after {
    position: absolute;
    right: 0;
    bottom: -13px;
    left: 0;
    width: 0;
    height: 3px;
    margin: auto;
    content: "";
    -webkit-transition: all .15s ease;
    transition: all .15s ease;
    background: #0097e0;
}

header #pcmenu li a:hover:after {
    width: 75%;
}

#wrapper.top header {
    /* height:70px; */
    /* height: calc(4.375rem + (80 - 70) * ((100vw - 768px) / (1920 - 768))); */
    /* height: calc(3.95rem + (80 - 58) * ((100vw - 768px) / (1920 - 768))); */
}

/* #wrapper.top header .inner1110{
  width:1200px;
} */
#wrapper.top header #logo {
    padding: 12px 0 0 0;
}

#wrapper.top header #pcmenu {
    /* padding:22px 0 0 0; */
    padding: calc(1.2rem + (22 - 12) * ((100vw - 768px) / (1920 - 768))) 0 0 0;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

footer #footer-pagetop a {
    position: absolute;
    z-index: 999;
    top: -40px;
    right: 0;
    display: inline-block;
    overflow: hidden;
    height: 40px;
    padding: 5px 20px;
    color: #fff;
    font-weight: 700;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border-top: 1px solid #d7d7d7;
    border-right: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
    background: #0097e0;
}

footer #footer-pagetop a:hover {
    opacity: .8;
}

footer #footer-links {
    padding: 40px 0 20px 0;
    color: #fff;
    /* border-top:1px solid #d7d7d7; */
    background: #0097e0;
}


footer #footer-links a,
footer #footer-links p {
    color: #fff;
    font-size: 12px;
}

footer #footer-links .box {
    float: left;
}

footer #footer-links .box:nth-of-type(1) {
    width: 15%;
}

footer #footer-links .box:nth-of-type(2) {
    width: 70%;
}

footer #footer-links .box:nth-of-type(3) {
    width: 15%;
}

footer #footer-links .box .flexbox li:nth-of-type(1) {
    margin: 0;
}

footer #footer-links .box .flexbox li:nth-of-type(2) {
    margin: 4em 0 0 50px;
}

footer #footer-links .box .flexbox li:nth-of-type(3) {
    margin: 1.75em 0 0 50px;
}

footer #footer-links .box .flexbox li:nth-of-type(1) p {
    margin: 0 0 0 10px;
}

footer #footer-links .box .flexbox li:nth-of-type(1) a.child {
    margin: 0 0 0 15px;
}

footer #footer-links .box .flexbox li:nth-of-type(3) a.child {
    margin: 0 0 0 5px;
}

footer #footer-links .banners {
    position: relative;
    width: 490px;
    margin: 45px auto 0;
}

/* footer #footer-links .banners:after{ */
/*position:absolute;right:-330px;bottom:0;
  width:94px;height:44px;content:"";
  background:url(../img/common/footer_logo.png) no-repeat 0 0;
  background-size:94px auto*/
/* } */
footer #footer-links .banners li {
    background: #fff;
}

footer #footer-links .banners li a {
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
}

footer #footer-links .banners li a:hover {
    opacity: .7;
}

footer #footer-copyright {
    /* padding:20px 0; */
    padding: calc(1.25rem + (30 - 20) * ((100vw - 768px) / (1920 - 768))) 0;
    text-align: center;
}

footer #footer-copyright p {
    font-size: 10px;
    line-height: 1em;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

#wrapper.top #pagetop {
    position: fixed;
    z-index: 100;
    right: 0;
    bottom: 84px;
    left: 0;
    display: none;
    width: 80px;
    margin: auto;
}

#pagetop {
    position: fixed;
    z-index: 100;
    right: 30px;
    bottom: 84px;
    display: none;
    width: 80px;
}

#pagetop img {
    width: 100%;
}

[class*=inner] {
    position: relative;
    margin: 0 auto;
}

.inner960 {
    width: 960px;
}

.inner1110 {
    width: 1110px;
}

.inner1200 {
    width: 1200px;
}

a {
    position: relative;
    color: #0097e0;
}

a.cs {
    opacity: .5;
    cursor: default;
}

.alphahover:hover {
    opacity: .7;
}

.icon {
    position: relative;
}

.icon:after,
.icon:before {
    position: absolute;
    margin: auto;
}

.alighright {
    text-align: right;
}

#wrapper {
    position: relative;
    width: 100%;
    min-width: 980px;
    height: auto;
}

#wrapper #mainbody {
    position: relative;
    width: auto;
    padding: 0 0 100px 0;
    overflow: hidden;
}

#wrapper #mainbody.single-col {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

#wrapper #mainbody.single-col .col {
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
}

#wrapper #mainbody.single-col .col:nth-of-type(1) {
    width: 1200px;
}

#wrapper #mainbody.multi-col {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

#wrapper #mainbody.multi-col.no-border .col:nth-of-type(1) {
    float: left;
    width: 900px;
    border: none;
}

#wrapper #mainbody.multi-col .col:nth-of-type(1) {
    float: left;
    width: 900px;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
}

#wrapper #mainbody.multi-col .col:nth-of-type(2) {
    float: right;
    width: 260px;
}

#side-nav [id^=for-] {
    margin: 20px 0 0 0;
    border: 1px solid #d7d7d7;
}

#side-nav [id^=for-]:nth-of-type(1) {
    margin: 30px 0 0 0;
}

#side-nav [id^=for-] .ttl {
    color: #0097e0;
    font-size: 13px;
    font-weight: 500;
    line-height: 2em;
    text-align: center;
    letter-spacing: .3em;
    background: #efefee;
}

#side-nav [id^=for-] a {
    display: block;
    overflow: hidden;
    color: #231815;
    font-weight: 500;
    letter-spacing: -.05em;
    -webkit-transition: all .15s ease;
    transition: all .15s ease;
    border-top: 1px solid #d7d7d7;
}

#side-nav [id^=for-] a:hover {
    color: #0097e0;
}

#side-nav [id^=for-] .child,
#side-nav [id^=for-] .grandson {
    display: none;
}

#side-nav [id^=for-] .parent.min a {
    font-size: 12px;
    letter-spacing: -.05em;
}

#side-nav [id^=for-] .parent a {
    padding: 5px 15px;
    font-size: 14px;
    background: #fff url(../img/common/icon_sidenav.png) no-repeat right 10px center;
}

#side-nav [id^=for-] .parent a.act {
    color: #fff;
    background: #0097e0;
}

#side-nav [id^=for-] .child a {
    padding: 5px 25px;
    font-size: 14px;
    background: #e4f3f9 url(../img/common/icon_sidenav.png) no-repeat right 10px center;
}

#side-nav [id^=for-] .child a.act {
    padding: 5px 15px;
    color: #0097e0;
    border-left: 10px solid #0097e0;
    background-image: none;
}

#side-nav [id^=for-] .grandson a {
    padding: 5px 25px;
    font-size: 13px;
    background: #efefef url(../img/common/icon_sidenav.png) no-repeat right 10px center;
}

#side-nav [id^=for-] .grandson a.act {
    padding: 5px 25px 5px 15px;
    color: #0097e0;
    border-left: 10px solid #0097e0;
}

body[class^="02-04_"] #side-nav [id^=for-] .child a {
    padding: 5px 25px;
    background-color: #efefef;
}

body[class^="02-04_"] #side-nav [id^=for-] .child a.act {
    border-left: none;
}

body[class^="02-04_"] #side-nav [id^=for-] .grandson a {
    background-color: #e4f3f9;
}

#breadcrumbs {
    padding: 15px 0;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
}

#breadcrumbs li {
    float: left;
    line-height: 1em;
    vertical-align: middle;
}

#breadcrumbs li a,
#breadcrumbs li p {
    color: #231815;
    font-size: 11px;
    line-height: 1em;
}

#breadcrumbs li p {
    padding: 1px 0 0 0;
}

#breadcrumbs li a {
    padding: 0 25px 0 0;
    text-decoration: underline;
}

#breadcrumbs li a:hover {
    text-decoration: none;
}

#breadcrumbs li a:after {
    position: absolute;
    top: 1px;
    right: 5px;
    content: "＞";
}

#sitemaps {
    display: none;
    width: 100%;
    margin: 30px auto 0 auto;
    padding: 50px 50px;
    background: #eee;
}

#sitemaps li,
#sitemaps ul {
    margin: 0 0 0 .8em;
}

#sitemaps li a,
#sitemaps ul a {
    padding: 0 0 0 10px;
    font-size: 12px;
    line-height: 1.6em;
}

#sitemaps li a:before,
#sitemaps ul a:before {
    position: absolute;
    left: 0;
    content: "+";
}

#wrapper #bottomnav li {
    border-top: 1px solid #d7d7d7;
}

#wrapper #bottomnav li a {
    display: block;
    color: #231815;
    font-size: 16px;
    font-weight: 700;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background-repeat: no-repeat !important;
    background-position: left center !important;
}

#wrapper #bottomnav li a:hover {
    color: #0097e0 !important;
    background-color: rgba(0, 151, 224, .05) !important;
}

#wrapper #bottomnav li a:after {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 17px;
    height: 17px;
    content: "";
    background: url(../img/common/icon_sidenav.png) no-repeat 0 0;
    background-size: 100% auto;
}

#wrapper #bottomnav.single li {
    width: 100%;
}

#wrapper #bottomnav.single li a {
    height: 158px;
    padding: 50px 10px 50px 335px;
    color: #0097e0;
    font-size: 30px;
    letter-spacing: .04em;
}

#wrapper #bottomnav.single li a span {
    display: block;
    padding: 5px 0 0 0;
    color: #231815;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
}

#wrapper #bottomnav.single li a.multi {
    padding: 35px 10px 50px 335px;
}

#wrapper #bottomnav.single li a.single {
    padding: 65px 10px 50px 335px;
}

#wrapper #h1 {
    overflow: hidden;
    width: 100%;
    height: 175px;
    background: #0097e0;
    padding-top: 55px;
}

#wrapper #h1 .inner1200 {
    height: 100%;
}

#wrapper #h1 h1 {
    height: inherit;
    padding: 40px 0 0 0;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
}

.doubleArrow {
    padding: 0 0 0 20px;
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.doubleArrow:before {
    left: 0;
}

.doubleArrow:after {
    left: 4px;
}

.doubleArrow:hover {
    text-decoration: underline;
}

.w10per {
    width: 10%;
}

.w20per {
    width: 20%;
}

.w30per {
    width: 30%;
}

.w40per {
    width: 40%;
}

.w50per {
    width: 50%;
}

.w60per {
    width: 60%;
}

.w70per {
    width: 70%;
}

.w80per {
    width: 80%;
}

.w90per {
    width: 90%;
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff;
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0;
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0;
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0;
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0;
}

textarea {
    border: 0;
    outline: 0;
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff;
}

.textarea textarea:focus {
    border-color: #0097e0;
}

.textarea.h110px {
    height: 110px;
}

label {
    cursor: pointer;
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0;
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px;
}

.input-radio.focus label:before {
    border-color: #0097e0;
}

.input-radio label {
    display: inline-block;
    cursor: pointer;
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%;
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff;
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent;
}

label {
    cursor: pointer;
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0;
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0;
}

.input-checkbox {
    position: relative;
    padding-left: 18px;
}

.input-checkbox.focus label:before {
    border-color: #0097e0;
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer;
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff;
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px;
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0;
}

.button button:hover {
    opacity: .8;
}

#wrapper.top #mainbody {
    width: 100%;
    /* height:750px; */
    height: 750px;
    padding: 0 0;
    /* max-width: 1700px; */
    margin: 0 auto;
    /* background:url(../img/top/top_mainvisual_pc.png) no-repeat top center; */
}

#wrapper.top #mainbody .inner1200 {
    /* height:600px; */
    height: 100%;
    max-width: 1100px;
}



#wrapper.top #mainbody h1 {
    padding: 15px 0 0 15px;
}

/*新TOP 2021.10*/
.anniversary_50 {
    width: 4.5em;
}

.displaynone {
    display: none;
}

.slide {
    background-color: #fff;
    width: 100%;
    height: 100%;
    animation-name: slideAnime;
    -webkit-animation-name: slideAnime;
    -o-animation-name: slideAnime;
    -moz-animation-name: slideAnime;
    -ms-animation-name: slideAnime;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-duration: 7s;
    -webkit-animation-duration: 7s;
    -o-animation-duration: 7s;
    -moz-animation-duration: 7s;
    -ms-animation-duration: 7s;
    z-index: 0;
}

.slide_wrap {
    width: 100%;
    height: 100.1%;
    /* max-width: 1700px; */
    overflow: hidden;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    animation-name: slideAnime_wrap;
    -webkit-animation-name: slideAnime_wrap;
    -o-animation-name: slideAnime_wrap;
    -moz-animation-name: slideAnime_wrap;
    -ms-animation-name: slideAnime_wrap;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-duration: 7s;
    -webkit-animation-duration: 7s;
    -moz-animation-duration: 7s;
    -o-animation-duration: 7s;
    -ms-animation-duration: 7s;
    z-index: -1;
}

.src1 {
    background-image: url(../img/top/slide1.png);
    background-size: 100%;
    animation-delay: 4s;
    -webkit-animation-delay: 4s;
    -o-animation-delay: 4s;
    -moz-animation-delay: 4s;
    -ms-animation-delay: 4s;
}

.src2 {
    background-image: url(../img/top/slide2.png);
    background-size: 103%;
    animation-delay: 11s;
    -webkit-animation-delay: 11s;
    -o-animation-delay: 11s;
    -ms-animation-delay: 11s;
    -moz-animation-delay: 11s;
}

.src3 {
    background-image: url(../img/top/slide3.png);
    background-size: 105%;
    animation-delay: 18s;
    -webkit-animation-delay: 18s;
    -o-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -ms-animation-delay: 18s;
}

.src4 {
    background-image: url(../img/top/slide4.png);
    background-size: 101%;
    animation-delay: 25s;
    -webkit-animation-delay: 25s;
    -o-animation-delay: 25s;
    -moz-animation-delay: 25s;
    -ms-animation-delay: 25s;
}

.src5 {
    background-image: url(../img/top/slide1.png);
    background-size: 100%;
    animation-delay: 32s;
    -webkit-animation-delay: 32s;
    -o-animation-delay: 32s;
    -moz-animation-delay: 32s;
    -ms-animation-delay: 32s;
}

.src1_wrap {
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
    -o-animation-delay: 1s;
    -moz-animation-delay: 1s;
    -ms-animation-delay: 1s;
}

.src2_wrap {
    animation-delay: 11s;
    -webkit-animation-delay: 11s;
    -o-animation-delay: 11s;
    -moz-animation-delay: 11s;
    -ms-animation-delay: 11s;
}

.src3_wrap {
    animation-delay: 18s;
    -webkit-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    -moz-animation-delay: 18s;
}

.src4_wrap {
    animation-delay: 25s;
    -webkit-animation-delay: 25s;
    -o-animation-delay: 25s;
    -moz-animation-delay: 25s;
    -ms-animation-delay: 25s;
}

.src5_wrap {
    animation-delay: 32s;
    -webkit-animation-delay: 32s;
    -o-animation-delay: 32s;
    -moz-animation-delay: 32s;
    -ms-animation-delay: 32s;
}

@keyframes slideAnime {
    0% {
        transform: scale(1.0, 1.0);
        -webkit-transform: scale(1.0, 1.0);
        -moz-transform: scale(1.0, 1.0);
        -o-transform: scale(1.0, 1.0);
        -ms-transform: scale(1.0, 1.0);
    }

    100% {
        transform: scale(1.03, 1.03);
        -webkit-transform: scale(1.03, 1.03);
        -o-transform: scale(1.03, 1.03);
        -ms-transform: scale(1.03, 1.03);
        -moz-transform: scale(1.03, 1.03);
    }
}

@keyframes slideAnime_wrap {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.blue_p {
    /* width: 90em; */
    /* width: calc(81rem + (90 - 85) * ((100vw - 48em) / (187.5 - 48))); */
    width: 100%;
    position: absolute;
    top: 0;
    /* left: 0; */
    mix-blend-mode: multiply;
}

.blue_p_p {
    width: 57%;
    position: absolute;
    top: 0;
    left: -1.5%;
}

.wh_p {
    width: 54%;
    position: absolute;
    top: 2%;
    left: 0%;
}

.blue_p_sp {
    display: none;
}

.wh_p_sp {
    display: none;
}

.topfade {
    animation-name: topFade;
    -webkit-animation-name: topFade;
    -o-animation-name: topFade;
    -ms-animation-name: topFade;
    -moz-animation-name: topFade;
    animation-fill-mode: forwards;
    -webkit-nimation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    animation-duration: 7s;
    -webkit-animation-duration: 7s;
    -o-animation-duration: 7s;
    -ms-animation-duration: 7s;
    -moz-animation-duration: 7s;
    opacity: 0;
}

@keyframes topFade {
    0% {
        opacity: 1;
    }

    30%,
    99.99% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.fade1 {
    animation-delay: 1s;
    -webkit-animation-delay: 1s;
    -o-animation-delay: 1s;
    -moz-animation-delay: 1s;
    -ms-animation-delay: 1s;
    animation-duration: 10s;
    -webkit-animation-duration: 10s;
    -o-animation-duration: 10s;
    -moz-animation-duration: 10s;
    -ms-animation-duration: 10s;
}

.fade2 {
    animation-delay: 11s;
    -webkit-animation-delay: 11s;
    -o-animation-delay: 11s;
    -moz-animation-delay: 11s;
    -ms-animation-delay: 11s;
}

.fade3 {
    animation-delay: 18s;
    -webkit-animation-delay: 18s;
    -o-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -ms-animation-delay: 18s;
}

.fade4 {
    animation-delay: 25s;
    -webkit-animation-delay: 25s;
    -o-animation-delay: 25s;
    -ms-animation-delay: 25s;
    -moz-animation-delay: 25s;
}

.topfade_lst {
    animation-name: topFadeLast;
    -webkit-animation-name: topFadeLast;
    -o-animation-name: topFadeLast;
    -moz-animation-name: topFadeLast;
    -ms-animation-name: topFadeLast;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-duration: 5s;
    -webkit-animation-duration: 5s;
    -o-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -ms-animation-duration: 5s;
    animation-delay: 32s;
    -webkit-animation-delay: 32s;
    -o-animation-delay: 32s;
    -ms-animation-delay: 32s;
    -moz-animation-delay: 32s;
    opacity: 0;
}

@keyframes topFadeLast {
    0% {
        opacity: 1;
    }

    30%,
    100% {
        opacity: 1;
    }
}

.btn_job {
    width: 31%;
    position: absolute;
    left: 0;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
    transition: background-position ease 0.4s;
    -webkit-transition: background-position ease 0.4s;
    -o-transition: background-position ease 0.4s;
    -moz-transition: background-position ease 0.4s;
    -ms-transition: background-position ease 0.4s;
    z-index: 99;
    transform: translateX(-100vw);
    -webkit-transform: translateX(-100vw);
    -o-transform: translateX(-100vw);
    -moz-transform: translateX(-100vw);
    -ms-transform: translateX(-100vw);
}

.btn_job_sh {
    width: 27%;
    position: absolute;
    left: 4%;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
    transition: background-position ease 0.4s;
    -webkit-transition: background-position ease 0.4s;
    -o-transition: background-position ease 0.4s;
    -ms-transition: background-position ease 0.4s;
    -moz-transition: background-position ease 0.4s;
    z-index: 99;
    transform: translateX(-100vw);
    -webkit-transform: translateX(-100vw);
    -o-transform: translateX(-100vw);
    -moz-transform: translateX(-100vw);
    -ms-transform: translateX(-100vw);
}

.btn_build {
    top: 17%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #00A0E9 0%,
            #00A0E9 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .1s;
    -webkit-animation-delay: .1s;
    -o-animation-delay: .1s;
    -moz-animation-delay: .1s;
    -ms-animation-delay: .1s;
}

.btn_build:hover {
    background-position: 0 0;
}

.btn_setsubi {
    top: 24.5%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #2C5065 0%,
            #2C5065 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .2s;
}

.btn_setsubi:hover {
    background-position: 0 0;
}

.btn_keibi {
    top: 32%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #3E3A39 0%,
            #3E3A39 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .3s;
}

.btn_keibi:hover {
    background-position: 0 0;
}

.btn_seibi {
    top: 39.5%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #63A767 0%,
            #63A767 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .3s;
}

.btn_seibi:hover {
    background-position: 0 0;
}

.btn_ppp {
    top: 47%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #287F97 0%,
            #287F97 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .4s;
}

.btn_ppp:hover {
    background-position: 0 0;
}

.btn_kensyu {
    top: 54.5%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #DAB62D 0%,
            #DAB62D 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .5s;
}

.btn_kensyu:hover {
    background-position: 0 0;
}

.btn_sdgs {
    top: 62%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #6B83AB 0%,
            #6B83AB 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .6s;
}

.btn_sdgs:hover {
    background-position: 0 0;
}

.btn_hoiku {
    top: 69.5%;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #FF7477 0%,
            #FF7477 50%,
            #fff 50%,
            #fff 100%);
    animation-delay: .7s;
}

.btn_hoiku:hover {
    background-position: 0 0;
}



.btn_p {
    /* height: 2.3em; */
    width: 40%;
    margin-left: 3%;
    margin-bottom: 0.8em;
}

.btn_p_2 {
    /* height: 3em; */
    width: 61%;
    margin-left: 3%;
    margin-left: 0.5em;
    margin-bottom: 0.3em;
}

.btn_kensyu .btn_p {
    /* height: 3.4em; */
    width: 70%;
}

.btn_setsubi .btn_p {
    /* height: 4.2em; */
    width: 62%;
}

.btn_ppp .btn_p_2 {
    /* height: 3.7em; */
    width: 50%;
}

.btn_sdgs .btn_p {
    width: 23%;
}

.btn_hoiku .btn_p {
    width: 75%;
}

.btn_build .btn_p {
    width: 72%;
}

.btn_icon {
    width: 16%;
    margin-left: -1px;
}

.btn_icon_sh {
    width: 19%;
    margin: 0 2% 0 -1px;
}

.p_wh {
    display: none;
}

.btn_job:hover .p_wh {
    display: inline-block;
}

.btn_job:hover .p_bl {
    display: none;
}

.btn_job_sh:hover .p_wh {
    display: inline-block;
}

.btn_job_sh:hover .p_bl {
    display: none;
}

.kojin {
    width: 31%;
    border-radius: 15px;
    position: absolute;
    top: 77%;
    left: 0;
    transition: background-position ease 0.4s;
    z-index: 99;
    /* box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3); */
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    /* background-image: linear-gradient(
    to right,
    #00A0E9 0%,
    #00A0E9 50%,
    #DFF2FC 50%,
    #DFF2FC 100%
  ); */
    animation-delay: .8s;
    transform: translateX(-1000%);
}

.kojin:hover {
    background-position: 0 0;
    opacity: 0.8;
}

.icon_kojin {
    width: 100.1%;
}

.p_wh_kojin {
    display: none;
}

.kojin:hover .p_wh_kojin {
    display: inline-block;
}

.kojin:hover .p_bl_kojin {
    display: none;
}

.p_bl_kojin,
.p_wh_kojin {
    /* height: 5em; */
    width: 95%;
    margin: 2% 0 2% 2.5%;
}

@keyframes slideLeft {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

.slideleft {
    animation-name: slideLeft;
    -webkit-animation-name: slideLeft;
    -o-animation-name: slideLeft;
    -ms-animation-name: slideLeft;
    -moz-animation-name: slideLeft;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    animation-duration: 1s;
    -webkit-animation-duration: 1s;
    -o-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -ms-animation-duration: 1s;
}



/*事業案内*/


/**/

/* #wrapper.top #mainbody .pcshow a:hover:before{
  top:-165px;left:-74px;width:148px;height:148px
}
#wrapper.top #mainbody .pcshow a:hover .icon{
  top:-158px
} */
/* #wrapper.top #mainbody .pcshow a:hover .txt{
  opacity:1
} */
/* #wrapper.top #mainbody .pcshow a.white:before{
  border:2px solid #0097e0;background:#fff
}
#wrapper.top #mainbody .pcshow a.white span.y{
  border-top:20px solid #0097e0
}
#wrapper.top #mainbody .pcshow a.white span.y:before{
  border-top:20px solid #fff
}
#wrapper.top #mainbody .pcshow a.blue:before{
  border:2px solid #fff;background:#0097e0
}#wrapper.top #mainbody .pcshow a.blue span.y{
  border-top:20px solid #fff
}
#wrapper.top #mainbody .pcshow a.blue span.y:before{
  border-top:20px solid #0097e0
}
#wrapper.top #mainbody .pcshow a:before{
  position:absolute;z-index:1;top:-105px;left:-44px;width:88px;height:88px;content:"";-webkit-transition:all .2s ease;transition:all .2s ease;
}
#wrapper.top #mainbody .pcshow a span.y{
  position:absolute;z-index:2;top:-20px;left:-10px;width:0;height:0;border-right:10px solid transparent;border-left:10px solid transparent
}
#wrapper.top #mainbody .pcshow a span.y:before{
  position:absolute;z-index:3;top:-24px;left:-10px;width:0;height:0;content:"";border-right:10px solid transparent;border-left:10px solid transparent
} */
#wrapper.top #mainbody #whatsnew {
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    /* width:240px;height:540px; */
    width: 20%;
    height: 540px;
    padding: 20px 25px 40px;
    background: rgba(255, 255, 255, .9)
}

#wrapper.top #mainbody #whatsnew .ttl {
    padding: 5px 10px;
    color: #0097e0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1em;
    border: 1px solid #0097e0
}

#wrapper.top #mainbody #whatsnew ul {
    overflow-y: scroll;
    width: 100%;
    height: 450px;
    /* height: 60%; */
    margin: 20px 0 0 0
}

#wrapper.top #mainbody #whatsnew li {
    margin: 0 0 15px 0;
    font-size: 11px;
    line-height: 18px
}

#wrapper.top #mainbody #whatsnew li a {
    font-size: 11px;
    text-decoration: underline
}

#wrapper.top #mainbody #whatsnew li a:hover {
    text-decoration: none
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.service-top #mainbody #leadcopy {
    padding: 40px 40px
}

#wrapper.service-top #mainbody #leadcopy h2+p {
    margin: 15px 0 0 0
}

#wrapper.service-top #mainbody #leadcopy h2 img {
    width: auto;
}

#wrapper.service-top #mainbody #menu-area h3 {
    padding: 15px 0;
    color: #0097e0;
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    border-top: 1px solid #d7d7d7;
    background: #efefef
}

#wrapper.service-top #mainbody #menu-area li {
    width: 33.333%;
    height: 330px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-top #mainbody #menu-area li:nth-of-type(3n+2) {
    border-right: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7
}

#wrapper.service-top #mainbody #menu-area li a {
    display: block;
    height: 100%;
    padding: 230px 0 0 0;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.4em;
    text-align: center;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: 0 solid #0097e0
}

#wrapper.service-top #mainbody #menu-area li a:hover {
    border: 5px solid #0097e0
}

#wrapper.service-top #mainbody #menu-area li a.menu0101 {
    background: url(../img/service/top_img0101.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0102 {
    background: url(../img/service/top_img0102.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0103 {
    background: url(../img/service/top_img0103.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0104 {
    background: url(../img/service/top_img0104.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0105 {
    background: url(../img/service/top_img0105.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0106 {
    background: url(../img/service/top_img0106.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0201 {
    background: url(../img/service/top_img0201.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0202 {
    border-bottom: 1px solid #d7d7d7;
    background: url(../img/service/top_img0202.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0203 {
    border-bottom: 1px solid #d7d7d7;
    background: url(../img/service/top_img0203.png) no-repeat center 30px
}

#wrapper.service-top #mainbody #menu-area li a.menu0204 {
    border-right: 1px solid #d7d7d7;
    background: url(../img/service/top_img0204.png) no-repeat center 30px
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=service-life] #h1 {
    overflow: hidden;
    width: 100%;
    height: 175px
}

#wrapper[class^=service-life] #h1 .inner1200 {
    height: 100%;
    background: #0097e0 url(../img/common/shoulder_lifesupport.png) no-repeat right center !important
}

#wrapper[class^=service-life] #h1 h1 {
    height: inherit;
    padding: 40px 0 0 110px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
    background: url(../img/common/h1_icon_life.png) no-repeat left center
}

#wrapper[class^=service-life-homesecurity] #h1 h1 {
    padding: 40px 0 0 175px;
    background: url(../img/common/h1_icon_homesecurity.png) no-repeat left center
}

#wrapper[class^=service-life] h2 img {
    max-width: 100%;
    width: auto;
}

#wrapper[class^=service-life] #category-nav {
    margin: 35px 0 0 0
}

#wrapper[class^=service-life] #category-nav li {
    margin: 15px 0 0 0
}

#wrapper[class^=service-life] #category-nav li:nth-of-type(1) {
    margin: 0
}

#wrapper[class^=service-life] #category-nav li a {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper[class^=service-life] #category-nav li a:hover {
    opacity: .8
}

#wrapper[class^=service-life] #textbody {
    border-top: 1px solid #d7d7d7;
    background: #fef8ec
}

#wrapper[class^=service-life] #textbody .lead {
    padding: 40px 0 0 0;
    text-align: center
}

#wrapper[class^=service-life] #textbody .lead p {
    font-size: 20px;
    font-weight: 500;
    line-height: 34px
}

#wrapper[class^=service-life] #textbody .lead p span.orange {
    color: #e7a067
}

#wrapper[class^=service-life] #textbody img.img100 {
    width: 100%
}

#wrapper[class^=service-life] #textbody .img-block {
    margin: 50px 0 0 0
}

#wrapper.service-life-top #textbody .menu {
    padding: 20px 30px 100px
}

#wrapper.service-life-top #textbody .menu li {
    width: 33.333%
}

#wrapper.service-life-top #textbody .menu a {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper.service-life-top #textbody .menu a:hover {
    opacity: .8
}

#wrapper.service-life-faq #textbody {
    padding: 60px 70px
}

#wrapper.service-life-faq #textbody #faq-ques {
    padding: 0 70px
}

#wrapper.service-life-faq #textbody #faq-ques li {
    position: relative;
    padding: 0 0 0 3.2em;
    line-height: 3.5em
}

#wrapper.service-life-faq #textbody #faq-ques li:before {
    position: absolute;
    top: -.15em;
    left: 0;
    color: #deb140;
    font-size: 26px;
    font-weight: 500
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(1):before {
    content: "Q1."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(2):before {
    content: "Q2."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(3):before {
    content: "Q3."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(4):before {
    content: "Q4."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(5):before {
    content: "Q5."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(6):before {
    content: "Q6."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(7):before {
    content: "Q7."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(8):before {
    content: "Q8."
}

#wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(9):before {
    content: "Q9."
}

#wrapper.service-life-faq #textbody #faq-ans {
    margin: 50px 0 0 0
}

#wrapper.service-life-faq #textbody #faq-ans li {
    padding: 30px 40px;
    border-top: 2px solid #f4e6c1
}

#wrapper.service-life-faq #textbody #faq-ans li .ques {
    color: #deb140;
    font-weight: 500
}

#wrapper.service-life-faq #textbody #faq-ans li .pic {
    margin: 15px 0 0 0
}

#wrapper.service-life-homesecurity #mainbody .col:nth-of-type(1) {
    background: #fef8ec
}

#wrapper.service-life-homesecurity #mainbody .block .box {
    margin: 50px 0 0 0;
    padding: 40px 15px
}

#wrapper.service-life-homesecurity #mainbody .block .box:nth-of-type(1) {
    margin: 80px 0 0 0
}

#wrapper.service-life-homesecurity #mainbody .block .box.color01 {
    border: 25px solid #6ea1bc
}

#wrapper.service-life-homesecurity #mainbody .block .box.color02 {
    border: 25px solid #a7c7d6
}

#wrapper.service-life-homesecurity img {
    width: auto;
}

#wrapper.service-life-homesecurity #mainbody .block .box h3 {
    margin: 0 0 25px 0;
    padding: 0 0 25px 0;
    text-align: center;
    border-bottom: 2px solid #b0afaa
}

#wrapper.service-life-homesecurity #mainbody .block .box h3+p {
    margin: 0 0 45px 0;
    text-align: center
}

#wrapper.service-life-homesecurity #mainbody .block .box .illust {
    text-align: center
}

#wrapper.service-life-homesecurity #mainbody .block .box .set {
    margin: 30px 15px 0
}

#wrapper.service-life-homesecurity #mainbody .block .box .set h4 {
    padding: 10px 0;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    background: #6ea1bc
}

#wrapper.service-life-homesecurity #mainbody .block .box .set dl {
    display: inline-block
}

#wrapper.service-life-homesecurity #mainbody .block .box .set dt {
    float: left;
    clear: both;
    margin: 30px 0 0 0
}

#wrapper.service-life-homesecurity #mainbody .block .box .set dd {
    float: left;
    margin: 30px 0 0 0;
    padding: 0 0 0 15px;
    font-size: 14px;
    line-height: 24px
}

#wrapper.service-life-homesecurity #mainbody .block .box .set dd span.bold {
    display: block;
    font-size: 16px
}

#wrapper[class^=service-life] #inquiry {
    padding: 30px 30px;
    background: #cda188
}

#wrapper[class^=service-life] #inquiry img {
    width: auto;
}

#wrapper[class^=service-life] #inquiry .left .block:before {
    background: url(../img/service/life/homesecurity_inquiry_icon01.png) no-repeat 0 0
}

#wrapper[class^=service-life] #inquiry .left .block:after {
    background: url(../img/common/freedial_inquiry_icon.png) no-repeat 0 0
}

#wrapper[class^=service-life] #inquiry .right .block:before {
    background: url(../img/service/life/homesecurity_inquiry_icon02.png) no-repeat 0 0
}

#wrapper[class^=service-life] #inquiry .block {
    position: relative;
    width: 410px;
    height: 165px;
    padding: 20px 20px;
    text-align: center;
    border-radius: 10px;
    background: #fff
}

#wrapper[class^=service-life] #inquiry .block:before {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 62px;
    height: 62px;
    content: ""
}

#wrapper[class^=service-life] #inquiry .block:after {
    position: absolute;
    top: 90px;
    left: 15px;
    width: 51px;
    height: 33px;
    content: ""
}

#wrapper[class^=service-life] #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #c79982;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-life] #inquiry .block .size02 {
    margin: 30px 0 0 50px;
    color: #d58c91;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: -.05em
}

#wrapper[class^=service-life] #inquiry .block .size03 {
    margin: 5px 15px 0 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-life] #inquiry .block a {
    position: relative;
    display: block;
    margin: 30px 0 0 0;
    padding: 15px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #d58c91
}

#wrapper[class^=service-life] #inquiry .block a:hover {
    background: rgba(213, 140, 145, .7)
}

#wrapper.service-life-homesecurity #inquiry .left .block:after {
    display: none
}

#wrapper.service-life-homesecurity #inquiry .block {
    height: 155px
}

#wrapper.service-life-homesecurity #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #c79982;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper.service-life-homesecurity #inquiry .block .size02 {
    margin: 35px 0 0 0;
    color: #d58c91;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: -.05em
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=service-parking] #h1 {
    overflow: hidden;
    width: 100%;
    height: 175px
}

#wrapper[class^=service-parking] #h1 h1 {
    height: inherit;
    padding: 40px 0 0 175px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
    background: url(../img/common/h1_icon_parking.png) no-repeat left center
}

#wrapper[class^=service-parking] #inquiry {
    padding: 30px 30px;
    background: #82c1ea
}

#wrapper[class^=service-parking] #inquiry img {
    width: auto;
}

#wrapper[class^=service-parking] #inquiry .left .block:before {
    background: url(../img/service/parking/parking_inquiry_icon01.png) no-repeat 0 0
}

#wrapper[class^=service-parking] #inquiry .right .block:before {
    background: url(../img/service/parking/parking_inquiry_icon02.png) no-repeat 0 0
}

#wrapper[class^=service-parking] #inquiry .block {
    position: relative;
    width: 410px;
    height: 155px;
    padding: 20px 20px;
    text-align: center;
    border-radius: 10px;
    background: #fff
}

#wrapper[class^=service-parking] #inquiry .block:before {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 62px;
    height: 62px;
    content: ""
}

#wrapper[class^=service-parking] #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #82c1ea;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-parking] #inquiry .block .size02 {
    margin: 15px 0 0 0;
    color: #e23562;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: -.05em
}

#wrapper[class^=service-parking] #inquiry .block .size03 {
    margin: 5px 0 0 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-parking] #inquiry .block a {
    position: relative;
    display: block;
    margin: 30px 0 0 0;
    padding: 15px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #e23562
}

#wrapper[class^=service-parking] #inquiry .block a:hover {
    background: rgba(226, 53, 98, .7)
}

#wrapper.service-parking-top #mainbody .col:nth-of-type(1) {
    background: #e0f2fc
}

#wrapper.service-parking-top #mainbody #menu-area {
    padding: 50px 50px 200px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-parking-top #mainbody #menu-area a {
    display: inline-block;
    border: 5px solid #0097e0
}

#wrapper.service-parking-top #mainbody #menu-area a img {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper.service-parking-top #mainbody #menu-area a:hover img {
    opacity: .7
}

#wrapper.service-parking-kparking #mainbody .col:nth-of-type(1),
#wrapper.service-parking-monthly #mainbody .col:nth-of-type(1) {
    background: #e0f2fc
}

#wrapper.service-parking-kparking #mainbody #parking-area,
#wrapper.service-parking-monthly #mainbody #parking-area {
    padding: 60px 40px 80px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-parking-kparking #mainbody #parking-area .area,
#wrapper.service-parking-monthly #mainbody #parking-area .area {
    margin: 80px 0 0 0
}

#wrapper.service-parking-kparking #mainbody #parking-area .area:nth-of-type(1),
#wrapper.service-parking-monthly #mainbody #parking-area .area:nth-of-type(1) {
    margin: 0
}

#wrapper.service-parking-kparking #mainbody #parking-area .area .ttl,
#wrapper.service-parking-monthly #mainbody #parking-area .area .ttl {
    color: #727171;
    font-size: 26px;
    text-align: center;
    letter-spacing: .19em
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table,
#wrapper.service-parking-monthly #mainbody #parking-area .area table {
    margin: 20px 0 0 0
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table th,
#wrapper.service-parking-monthly #mainbody #parking-area .area table th {
    padding: 5px 10px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4em;
    text-align: center;
    border: 1px solid #b2b2b2;
    background: #0097e0
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table td,
#wrapper.service-parking-monthly #mainbody #parking-area .area table td {
    padding: 6px 10px;
    font-size: 13px;
    line-height: 1.4em;
    text-align: center;
    border: 1px solid #b2b2b2;
    background: #fff;
    vertical-align: middle;
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table td img,
#wrapper.service-parking-monthly #mainbody #parking-area .area table td img {
    width: auto;
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table a,
#wrapper.service-parking-monthly #mainbody #parking-area .area table a {
    text-decoration: underline
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table a:hover,
#wrapper.service-parking-monthly #mainbody #parking-area .area table a:hover {
    text-decoration: none
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table .icons,
#wrapper.service-parking-monthly #mainbody #parking-area .area table .icons {
    display: inline-block;
    width: 90px
}

#wrapper.service-parking-kparking #mainbody #parking-area .area table .icons li:nth-of-type(n+4),
#wrapper.service-parking-monthly #mainbody #parking-area .area table .icons li:nth-of-type(n+4) {
    margin: 3px 0 0 0
}

#wrapper.service-parking-kparking #mainbody #parking-area .area p.small,
#wrapper.service-parking-monthly #mainbody #parking-area .area p.small {
    margin: 5px 0 0 0;
    font-size: 12px;
    line-height: 1.4em
}

#wrapper.service-parking-kparking #mainbody #parking-area .area p.list-style,
#wrapper.service-parking-monthly #mainbody #parking-area .area p.list-style {
    position: relative;
    padding: 0 0 0 1.1em
}

#wrapper.service-parking-kparking #mainbody #parking-area .area p.list-style:before,
#wrapper.service-parking-monthly #mainbody #parking-area .area p.list-style:before {
    position: absolute;
    top: 4px;
    left: 0;
    width: 8px;
    height: 8px;
    content: "";
    border-radius: 50%;
    background: #231815
}

#wrapper.service-parking-monthly #mainbody .col:nth-of-type(1) {
    background: #e0f2fc
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=service-flower] #h1 {
    overflow: hidden;
    width: 100%;
    height: 175px
}

#wrapper[class^=service-flower] #h1 .inner1200 {
    height: 100%;
    background: #0097e0 url(../img/common/shoulder_hanako.png) no-repeat right center !important
}

#wrapper[class^=service-flower] #h1 h1 {
    height: inherit;
    padding: 40px 0 0 175px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
    background: url(../img/common/h1_icon_flower.png) no-repeat left center
}

#wrapper[class^=service-flower-offerings] #h1 h1 {
    background: url(../img/common/h1_icon_offerings.png) no-repeat left center
}

#wrapper[class^=service-flower-gift] h2 img {
    width: 100%
}

#wrapper[class^=service-flower-gift] img {
    width: auto;
}

#wrapper[class^=service-flower-gift] #textbody {
    padding: 30px 40px;
    border-top: 1px solid #d7d7d7;
    background: #fdf2f0
}

#wrapper[class^=service-flower-gift] #textbody .leadtext {
    font-size: 18px;
    line-height: 32px;
    text-align: center
}

#wrapper[class^=service-flower-gift] #textbody h3 {
    margin: 70px 0 0 0;
    padding: 0 0 15px 0;
    text-align: center;
    border-bottom: 1px solid #d7d7d7
}

#wrapper[class^=service-flower-gift] #textbody #items li {
    width: 33.333%;
    margin: 50px 0 0 0
}

#wrapper[class^=service-flower-gift] #textbody #items .name {
    margin: 10px 0 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1em
}

#wrapper[class^=service-flower-gift] #textbody #items .small {
    margin: 5px 0 0 0;
    font-size: 14px;
    line-height: 22px
}

#wrapper[class^=service-flower-gift] #textbody #additional-notes {
    margin: 80px 0 0 0
}

#wrapper[class^=service-flower-gift] #textbody #additional-notes li {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 12px;
    line-height: 18px
}

#wrapper[class^=service-flower-gift] #textbody #additional-notes li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※"
}

#wrapper[class^=service-flower-gift] #textbody #gofax {
    margin: 30px 0 0 0;
    text-align: center
}

#wrapper[class^=service-flower-gift] #textbody #gofax a {
    position: relative;
    display: inline-block;
    width: 450px;
    height: 100px;
    padding: 20px 20px;
    color: #fff;
    text-align: center;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #e23562
}

#wrapper[class^=service-flower-gift] #textbody #gofax a:hover {
    background: rgba(226, 53, 98, .7)
}

#wrapper[class^=service-flower-gift] #textbody #gofax a .size01 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-gift] #textbody #gofax a .size02 {
    font-size: 20px;
    font-weight: 500;
    line-height: 2em
}

#wrapper[class^=service-flower-gift] #textbody #gofax a:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_white_pink.png) no-repeat 0 0
}

#wrapper[class^=service-flower-gift] #inquiry {
    padding: 30px 30px;
    background: #ef868d
}

#wrapper[class^=service-flower-gift] #inquiry .left .block:before {
    background: url(../img/service/flower/gift/gift_inquiry_icon01.png) no-repeat 0 0
}

#wrapper[class^=service-flower-gift] #inquiry .right .block:before {
    background: url(../img/service/flower/gift/gift_inquiry_icon02.png) no-repeat 0 0
}

#wrapper[class^=service-flower-gift] #inquiry .block {
    position: relative;
    width: 410px;
    height: 155px;
    padding: 20px 20px;
    text-align: center;
    border-radius: 10px;
    background: #fff
}

#wrapper[class^=service-flower-gift] #inquiry .block:before {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 62px;
    height: 62px;
    content: ""
}

#wrapper[class^=service-flower-gift] #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #ef868d;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-gift] #inquiry .block .size02 {
    margin: 15px 0 0 0;
    color: #e23562;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: -.05em
}

#wrapper[class^=service-flower-gift] #inquiry .block .size03 {
    margin: 5px 0 0 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-gift] #inquiry .block a {
    position: relative;
    display: block;
    margin: 30px 0 0 0;
    padding: 15px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #e23562
}

#wrapper[class^=service-flower-gift] #inquiry .block a:hover {
    background: rgba(226, 53, 98, .7)
}

#wrapper[class^=service-flower-offerings] h2 img {
    width: 100%
}

#wrapper[class^=service-flower-offerings] img {
    width: auto;
}

#wrapper[class^=service-flower-offerings] #textbody {
    padding: 30px 40px;
    border-top: 1px solid #d7d7d7;
    background: #efefef
}

#wrapper[class^=service-flower-offerings] #textbody .leadtext {
    font-size: 18px;
    line-height: 32px;
    text-align: center
}

#wrapper[class^=service-flower-offerings] #textbody h3 {
    margin: 70px 0 0 0;
    padding: 0 0 15px 0;
    text-align: center;
    border-bottom: 1px solid #d7d7d7
}

#wrapper[class^=service-flower-offerings] #textbody #items li {
    width: 33.333%;
    margin: 50px 0 0 0
}

#wrapper[class^=service-flower-offerings] #textbody #items .name {
    margin: 10px 0 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1em
}

#wrapper[class^=service-flower-offerings] #textbody #items .small {
    margin: 5px 0 0 0;
    font-size: 14px;
    line-height: 22px
}

#wrapper[class^=service-flower-offerings] #textbody #additional-notes {
    margin: 80px 0 0 0
}

#wrapper[class^=service-flower-offerings] #textbody #additional-notes li {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 12px;
    line-height: 18px
}

#wrapper[class^=service-flower-offerings] #textbody #additional-notes li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※"
}

#wrapper[class^=service-flower-offerings] #textbody #gofax {
    margin: 30px 0 0 0;
    text-align: center
}

#wrapper[class^=service-flower-offerings] #textbody #gofax a {
    position: relative;
    display: inline-block;
    width: 450px;
    height: 100px;
    padding: 20px 20px;
    color: #fff;
    text-align: center;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #4d4948
}

#wrapper[class^=service-flower-offerings] #textbody #gofax a:hover {
    background: rgba(77, 73, 72, .7)
}

#wrapper[class^=service-flower-offerings] #textbody #gofax a .size01 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-offerings] #textbody #gofax a .size02 {
    font-size: 20px;
    font-weight: 500;
    line-height: 2em
}

#wrapper[class^=service-flower-offerings] #textbody #gofax a:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_white_pink.png) no-repeat 0 0
}

#wrapper[class^=service-flower-offerings] #inquiry {
    padding: 30px 30px;
    background: #666465
}

#wrapper[class^=service-flower-offerings] #inquiry .left .block:before {
    background: url(../img/service/flower/offerings/offerings_inquiry_icon01.png) no-repeat 0 0
}

#wrapper[class^=service-flower-offerings] #inquiry .right .block:before {
    background: url(../img/service/flower/offerings/offerings_inquiry_icon02.png) no-repeat 0 0
}

#wrapper[class^=service-flower-offerings] #inquiry .block {
    position: relative;
    width: 410px;
    height: 155px;
    padding: 20px 20px;
    text-align: center;
    border-radius: 10px;
    background: #fff
}

#wrapper[class^=service-flower-offerings] #inquiry .block:before {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 62px;
    height: 62px;
    content: ""
}

#wrapper[class^=service-flower-offerings] #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #656364;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-offerings] #inquiry .block .size02 {
    margin: 15px 0 0 0;
    color: #4c4847;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: -.05em
}

#wrapper[class^=service-flower-offerings] #inquiry .block .size03 {
    margin: 5px 0 0 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-flower-offerings] #inquiry .block a {
    position: relative;
    display: block;
    margin: 30px 0 0 0;
    padding: 15px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #4d4948
}

#wrapper[class^=service-flower-offerings] #inquiry .block a:hover {
    background: rgba(77, 73, 72, .7)
}

#wrapper.service-flower-top #mainbody .col:nth-of-type(1) {
    background: #fdf2f0
}

#wrapper.service-flower-top #mainbody h2 img {
    width: 100%
}

#wrapper.service-flower-top #mainbody #menu-area {
    padding: 50px 50px 200px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(1) a {
    border-color: #f6bcb1
}

#wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(2) a {
    border-color: #b5b5b5
}

#wrapper.service-flower-top #mainbody #menu-area a {
    display: inline-block;
    border: 5px solid #0097e0;
    border-radius: 5px
}

#wrapper.service-flower-top #mainbody #menu-area a img {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper.service-flower-top #mainbody #menu-area a:hover img {
    opacity: .7
}

#wrapper.service-flower-gift-top #mainbody .col:nth-of-type(1) {
    background: #fdf2f0
}

#wrapper.service-flower-gift-top #mainbody h2 img {
    width: 100%
}

#wrapper.service-flower-gift-top #mainbody #menu-area {
    padding: 50px 30px 200px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-flower-gift-top #mainbody #menu-area li:nth-of-type(n+3) {
    margin: 15px 0 0 0
}

#wrapper.service-flower-gift-top #mainbody #menu-area a {
    display: inline-block;
    border: 3px solid #f6bcb1;
    border-radius: 5px
}

#wrapper.service-flower-gift-top #mainbody #menu-area a img {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper.service-flower-gift-top #mainbody #menu-area a:hover img {
    opacity: .7
}

#wrapper.service-flower-offerings-top #mainbody .col:nth-of-type(1) {
    background: #efefef
}

#wrapper.service-flower-offerings-top #mainbody h2 img {
    width: 100%
}

#wrapper.service-flower-offerings-top #mainbody #menu-area {
    padding: 50px 30px 200px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-flower-offerings-top #mainbody #menu-area li:nth-of-type(n+3) {
    margin: 15px 0 0 0
}

#wrapper.service-flower-offerings-top #mainbody #menu-area a {
    display: inline-block;
    border: 3px solid #b5b5b7;
    border-radius: 5px
}

#wrapper.service-flower-offerings-top #mainbody #menu-area a img {
    -webkit-transition: all .25s ease;
    transition: all .25s ease
}

#wrapper.service-flower-offerings-top #mainbody #menu-area a:hover img {
    opacity: .7
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=service-building] #h1 {
    overflow: hidden;
    width: 100%;
    height: 120px;
    background: #0097e0 url(../img/service/building/h1_shoulder.png) no-repeat right center !important;
    background-size: auto 100% !important
}

#wrapper[class^=service-building] #h1 .inner1200 {
    height: inherit
}

#wrapper[class^=service-building] #h1 h1 {
    height: inherit;
    padding: 40px 0 0 145px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
    background: url(../img/common/h1_icon_building.png) no-repeat left center
}

#wrapper[class^=service-building] #leadcopy {
    padding: 50px 40px 40px 40px
}

#wrapper[class^=service-building] #leadcopy .left {
    width: 480px
}

#wrapper[class^=service-building] #leadcopy .left h2 {
    color: #0097e0;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: .06em
}

#wrapper[class^=service-building] #leadcopy .left h2 span.small {
    font-size: 18px;
    letter-spacing: -.05em
}

#wrapper[class^=service-building] #leadcopy .left h2+p {
    padding: 20px 0 0 0
}

#wrapper[class^=service-building] #h3 {
    padding: 15px 40px !important;
    border-top: 1px solid #d7d7d7;
    background: #efefef
}

#wrapper[class^=service-building] #h3 h3 {
    color: #0097e0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1em;
    letter-spacing: .06em
}

#wrapper[class^=service-building] #h3 p {
    padding: 10px 0 0 0 !important;
    line-height: 1em
}

#wrapper[class^=service-building] #h3 br {
    display: none
}

#wrapper[class^=service-building] #basic-list li {
    padding: 20px 40px;
    border-top: 1px solid #d7d7d7
}

#wrapper[class^=service-building] #basic-list li .left {
    width: 190px
}

#wrapper[class^=service-building] #basic-list li .right {
    width: 620px
}

#wrapper[class^=service-building] #basic-list li h4 {
    color: #0097e0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .02em
}

#wrapper[class^=service-building] #basic-list li h4+p {
    margin: 5px 0 0 0
}

#wrapper[class^=service-building] #basic-list li p {
    font-size: 14px;
    line-height: 22px
}

#wrapper.service-building-top #bottomnav li:nth-of-type(1) a {
    background: url(../img/service/building/top_ph01.jpg)
}

#wrapper.service-building-top #bottomnav li:nth-of-type(2) a {
    background: url(../img/service/building/top_ph02.jpg)
}

#wrapper.service-building-top #bottomnav li:nth-of-type(3) a {
    background: url(../img/service/building/top_ph03.jpg)
}

#wrapper.service-building-top #bottomnav li:nth-of-type(4) a {
    background: url(../img/service/building/top_ph04.jpg)
}

#wrapper.service-building-top #bottomnav li:nth-of-type(5) a {
    background: url(../img/service/building/top_ph05.jpg)
}

#wrapper.service-building-ppp-top #textbody h3 {
    padding: 15px 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #e3e3e3
}

#wrapper.service-building-ppp-top #textbody .blue {
    color: #0097e0
}

#wrapper.service-building-ppp-top #textbody .area .p-single {
    padding: 40px 40px
}

#wrapper.service-building-ppp-top #textbody .area .float {
    padding: 40px 40px
}

#wrapper.service-building-ppp-top #textbody .area .float .left {
    width: 520px
}

#wrapper.service-building-ppp-top #textbody .area .float ul.list {
    margin: 0 0 10px 0
}

#wrapper.service-building-ppp-top #textbody .area .float ul.list li {
    margin: 0 0 0 15px;
    list-style: disc
}

#wrapper.service-building-ppp-top #textbody .area .float ul.table {
    margin: 0 0 10px 0;
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7
}

#wrapper.service-building-ppp-top #textbody .area .float ul.table li {
    width: 33.333%;
    padding: 10px 20px;
    border-top: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set {
    margin: 65px 0 0 0
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(1) {
    margin: 0
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(1) p:before {
    content: "１."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(2) p:before {
    content: "２."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(3) p:before {
    content: "３."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(4) p:before {
    content: "４."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(5) p:before {
    content: "５."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(6) p:before {
    content: "６."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(7) p:before {
    content: "７."
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set p {
    position: relative;
    padding: 0 0 0 25px;
    font-size: 16px;
    line-height: 23px
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set p:before {
    position: absolute;
    top: 0;
    left: 0
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set p span.small {
    padding: 0 0 0 5px;
    font-size: 12px
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set p span.small a {
    color: #231815;
    text-decoration: underline
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set p span.middle {
    font-size: 14px
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set ul {
    margin: 20px 0 0 0
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set ul li {
    margin: 0 0 0 20px
}

#wrapper.service-building-ppp-top #textbody .ppp-top-set ul li:nth-of-type(1) {
    margin: 0
}

#wrapper.service-building-list-top #textbody h3 {
    padding: 15px 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #e3e3e3
}

#wrapper.service-building-list-top #textbody h3.border-top-none {
    border-top: none
}

#wrapper.service-building-list-top #textbody .area {
    padding: 40px 40px
}

#wrapper.service-building-list-top #textbody .alighright {
    margin: 10px 0 0 0
}

#wrapper.service-building-list-top #textbody .list li {
    margin: 0 0 0 1em;
    list-style: disc
}

#wrapper.service-building-list-top #textbody table {
    border-top: 1px solid #231815;
    border-left: 1px solid #231815
}

#wrapper.service-building-list-top #textbody table td {
    width: 33.333%;
    padding: 15px 15px;
    border-right: 1px solid #231815;
    border-bottom: 1px solid #231815
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=service-plants] #h1 {
    overflow: hidden;
    width: 100%;
    height: 120px
}

#wrapper[class^=service-plants] #h1 .inner1200 {
    height: inherit;
    background: #0097e0 url(../img/common/shoulder_hanako.png) no-repeat right center !important
}

#wrapper[class^=service-plants] #h1 h1 {
    height: inherit;
    padding: 40px 0 0 175px;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    line-height: 1em;
    background: url(../img/common/h1_icon_plants.png) no-repeat left center
}

#wrapper[class^=service-plants] #leadcopy {
    padding: 50px 40px 40px 40px
}

#wrapper[class^=service-plants] #leadcopy .left {
    width: 480px
}

#wrapper[class^=service-plants] #leadcopy .left h2 {
    color: #0097e0;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: .06em
}

#wrapper[class^=service-plants] #leadcopy .left h2 span.small {
    font-size: 18px;
    letter-spacing: -.05em
}

#wrapper[class^=service-plants] #leadcopy .left h2+p {
    padding: 20px 0 0 0
}

#wrapper[class^=service-plants] #inquiry {
    padding: 30px 30px;
    background: #d7d7d7
}

#wrapper[class^=service-plants] #inquiry .block {
    width: 410px;
    height: 140px;
    padding: 20px 20px;
    text-align: center;
    background: #fff
}

#wrapper[class^=service-plants] #inquiry .block .size01 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2em
}

#wrapper[class^=service-plants] #inquiry .block .size02 {
    color: #0097e0;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: -.05em
}

#wrapper[class^=service-plants] #inquiry .block .size03 {
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=service-plants] #inquiry .block a {
    position: relative;
    display: block;
    margin: 15px 0 0 0;
    padding: 20px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #0097e0
}

#wrapper[class^=service-plants] #inquiry .block a:hover {
    background: rgba(0, 151, 224, .7)
}

#wrapper[class^=service-plants] #inquiry .block a:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0
}

#wrapper.service-plants-top #bottomnav li:nth-of-type(1) a {
    background: url(../img/service/plants/top_ph01.jpg)
}

#wrapper.service-plants-top #bottomnav li:nth-of-type(2) a {
    background: url(../img/service/plants/top_ph02.jpg)
}

#wrapper.service-plants-top #bottomnav li:nth-of-type(3) a {
    background: url(../img/service/plants/top_ph03.jpg)
}

#wrapper.service-plants-top #bottomnav li:nth-of-type(4) a {
    background: url(../img/service/plants/top_ph04.jpg)
}

#wrapper.service-plants-top #bottomnav li:nth-of-type(5) a {
    background: url(../img/service/plants/top_ph05.jpg)
}

#wrapper.service-plants-rental #textbody {
    padding: 40px 40px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-plants-rental #textbody .list .flexbox li {
    width: 33.333%
}

#wrapper.service-plants-rental #textbody .list .flexbox li:nth-of-type(n+4) {
    margin: 70px 0 0 0
}

#wrapper.service-plants-rental #textbody .list .flexbox li p {
    margin: 5px 0 0 0;
    font-size: 16px
}

#wrapper.service-plants-rental #textbody .list .flexbox li p.small {
    margin: 0;
    font-size: 14px;
    line-height: 22px
}

#wrapper.service-plants-rental #textbody .list .supplement {
    margin: 60px 0 0 0
}

#wrapper.service-plants-rental #textbody .list .supplement li {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 12px;
    line-height: 18px
}

#wrapper.service-plants-rental #textbody .list .supplement li:before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 12px;
    line-height: 18px;
    content: "※"
}

#wrapper.service-plants-management #textbody {
    padding: 40px 40px;
    border-top: 1px solid #d7d7d7
}

#wrapper.service-plants-management #textbody .set {
    margin: 70px 0 0 0
}

#wrapper.service-plants-management #textbody .set:nth-of-type(1) {
    margin: 0
}

#wrapper.service-plants-management #textbody .set h4 {
    padding: 0 0 20px 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1em
}

#wrapper.service-plants-management #textbody .set img {
    width: 100%
}

#wrapper.service-plants-management #textbody .set p.small {
    margin: 30px 0 0 0;
    font-size: 12px;
    line-height: 1em
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.company-top #mainbody #h2 {
    padding: 50px 40px 40px 40px
}

#wrapper.company-top #mainbody #h2 .left {
    width: 480px
}

#wrapper.company-top #mainbody #h2 h2 {
    color: #0097e0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1em
}

#wrapper.company-top #mainbody #h2 h2 span {
    display: block;
    padding: 0 0 5px 0;
    font-size: 18px
}

#wrapper.company-top #mainbody #h2 p {
    padding: 15px 0 0 0
}

#wrapper.company-top #mainbody h3 {
    padding: 15px 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #e3e3e3
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors {
    padding: 50px 40px
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li {
    width: 20%;
    text-align: center
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li a {
    display: inline-block;
    width: 150px;
    padding: 15px 10px;
    color: #231815;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: 1px solid #d7d7d7;
    background: rgba(0, 151, 224, 0)
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li a:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 17px;
    height: 17px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    background: url(../img/common/icon_sidenav.png) no-repeat 0 0;
    background-size: 100% auto
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li a:hover {
    background: rgba(0, 151, 224, .05)
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set .block {
    padding: 25px 35px 90px 35px
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set .block p.bold+p {
    padding: 20px 0 0 0
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt:nth-of-type(1) {
    padding: 0
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt:nth-of-type(1)+dd {
    padding: 0 0 0 130px
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt {
    float: left;
    clear: left;
    width: 90px;
    padding: 30px 0 0 0;
    text-align: justify;
    -moz-text-align-last: justify;
    text-align-last: justify;
    text-justify: inter-ideograph
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dd {
    padding: 30px 0 0 130px
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table td,
#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table th {
    vertical-align: top;
    border-bottom: 1px solid #d7d7d7
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table th {
    padding: 10px 20px 10px 0
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table td.date {
    text-align: right;
    padding: 10px 20px 10px 0px
}

#wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table td.text {
    padding: 10px 10px 10px 0
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper[class^=recruit] #mainbody #h2 {
    padding: 30px 30px
}

#wrapper[class^=recruit] #mainbody #h2 h2 {
    color: #0097e0;
    font-size: 30px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=recruit] #mainbody h3 {
    padding: 15px 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #e3e3e3
}

#wrapper[class^=recruit] #mainbody .textbody .block .inner {
    padding: 30px 30px 70px
}

#wrapper[class^=recruit] #mainbody .textbody .block .inner.top-margine-none {
    padding: 0 30px 70px
}

#wrapper[class^=recruit] #mainbody .textbody .leadtxt {
    margin: 0 0 40px 0
}

#wrapper[class^=recruit] #mainbody .textbody .leadtxt li {
    margin: 0 0 0 1em;
    font-size: 16px;
    line-height: 26px;
    list-style: disc
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .set {
    margin: 20px 0 0 0
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .set:nth-of-type(1) {
    margin: 0
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head {
    position: relative
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head a {
    position: relative;
    display: block;
    width: 100%;
    height: 60px;
    padding: 15px 30px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: .1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #0097e0
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head a:hover {
    background: rgba(0, 151, 224, .7)
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head img {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 144px;
    height: 25px;
    margin: auto
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body {
    padding: 30px 30px;
    background: #efefef
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body:not(.none) {
    display: none
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body p {
    margin: 0 0 15px 0
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table {
    font-size: 16px;
    line-height: 1.4em
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table th {
    padding: 15px 10px;
    white-space: nowrap;
    border: 1px solid #918c89;
    background: #e5f3fc
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table th br {
    display: none
}

#wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table td {
    padding: 15px 20px;
    border: 1px solid #918c89;
    background: #fff
}

#wrapper[class^=recruit] #inquiry {
    padding: 30px 30px;
    background: #cacaca
}

#wrapper[class^=recruit] #inquiry .left .block:before {
    background: url(../img/common/freedial_inquiry_icon.png) no-repeat 0 0
}

#wrapper[class^=recruit] #inquiry .block {
    position: relative;
    width: 410px;
    height: 155px;
    padding: 20px 30px;
    text-align: center;
    background: #fff
}

#wrapper[class^=recruit] #inquiry .block:before {
    position: absolute;
    top: 68px;
    left: 30px;
    width: 51px;
    height: 33px;
    content: ""
}

#wrapper[class^=recruit] #inquiry .block .size01 {
    margin: 10px 0 0 0;
    color: #231815;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em
}

#wrapper[class^=recruit] #inquiry .block .size02 {
    margin: 10px 0 0 0;
    color: #0097e0;
    font-size: 48px;
    font-weight: 700;
    line-height: 1em;
    text-align: right;
    letter-spacing: -.05em
}

#wrapper[class^=recruit] #inquiry .block .size03 {
    margin: 5px 0 0 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em;
    text-align: right
}

#wrapper[class^=recruit] #inquiry .block a {
    position: relative;
    display: block;
    margin: 30px 0 0 0;
    padding: 15px 20px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #0097e0
}

#wrapper[class^=recruit] #inquiry .block a:hover {
    background: rgba(0, 151, 224, .7)
}

#wrapper.recruit-top #mainbody h2 img {
    width: 100%
}

#wrapper.recruit-top #mainbody .textbody {
    margin: 30px 0 0 0
}

#wrapper.recruit-top #mainbody .textbody .block .inner {
    font-size: 16px;
    line-height: 26px
}

#wrapper.recruit-top #mainbody .textbody .block .inner img {
    width: 100%
}

#wrapper.recruit-top #mainbody .textbody .block .inner .bold {
    display: block;
    line-height: 36px
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu {
    margin: 40px 0 0 0
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li {
    width: 50%
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li:nth-of-type(n+3) {
    margin: 10px 0 0 0
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li a {
    position: relative;
    display: inline-block;
    width: 400px;
    padding: 40px 10px;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: #0097e0
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li a:hover {
    background: rgba(0, 151, 224, .7)
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li a.link:after {
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0
}

#wrapper.recruit-top #mainbody .textbody .block .inner .menu li a.blank:after {
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 22px;
    height: 18px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_blank.png) no-repeat 0 0
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody {
    padding: 50px 40px 80px 40px
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .leadtxt {
    font-size: 16px;
    font-weight: 700
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base {
    margin: 25px 0 0 0;
    padding: 30px 30px;
    background: #efefef
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base .set {
    margin: 15px 0 0 0
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base .set:nth-of-type(1) {
    margin: 0
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base li {
    margin: 5px 0 0 25px;
    font-size: 14px;
    line-height: 22px;
    list-style: disc
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form {
    margin: 30px 0 0 0
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table td,
#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table th {
    padding: 15px 15px;
    font-weight: 700;
    vertical-align: top;
    border: 1px solid #d7d7d7
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table th {
    position: relative;
    width: 25%;
    font-weight: 700;
    background: #e5f3fc
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table th.mast:after {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    padding: 5px 5px;
    color: #fff;
    line-height: 1em;
    content: "必須";
    background: #0097e0
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table a {
    text-decoration: underline
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table a:hover {
    text-decoration: none
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check {
    width: 500px;
    margin: 40px auto 0
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check br {
    display: none
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check .small {
    display: block;
    font-size: 14px
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .button {
    margin: 40px auto 0 auto
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .button button {
    position: relative;
    height: auto;
}

#wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .button button:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 17px;
    height: 17px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
    background-size: 100% auto
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.info-top #mainbody .col:nth-of-type(1) .textbody {
    padding: 50px 40px 100px 40px
}

#wrapper.info-top #mainbody .col:nth-of-type(1) .textbody ul {
    border-top: 1px solid #d7d7d7
}

#wrapper.info-top #mainbody .col:nth-of-type(1) .textbody li {
    padding: 10px 20px;
    font-size: 12px;
    line-height: 26px;
    border-bottom: 1px solid #d7d7d7
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box {
    margin: 50px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box h3 {
    padding: 15px 40px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    background: #e3e3e3
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody {
    padding: 30px 40px 100px 40px
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table {
    margin: 25px 0 0 0;
    border: 1px solid #d7d7d7
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table td,
#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th {
    padding: 10px 10px;
    font-size: 12px;
    line-height: 1.6em;
    border: 1px solid #d7d7d7
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th {
    font-size: 14px;
    font-weight: 700;
    text-align: center
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th:nth-of-type(1) {
    width: 25%
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table td {
    vertical-align: top
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table [class^=indent] {
    position: relative;
    padding: 0 0 0 18px
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table [class^=indent]:before {
    position: absolute;
    top: 0;
    left: 5px
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent01:before {
    content: "1"
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent02:before {
    content: "2"
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent03:before {
    content: "3"
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.date {
    font-size: 14px;
    line-height: 1.6em;
    text-align: right
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.ttl {
    padding: 30px 0 0 0;
    font-size: 18px;
    font-weight: 700;
    text-align: center
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.name {
    padding: 30px 0 0 0;
    font-size: 16px;
    font-weight: 700;
    text-align: right
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.leadtxt {
    padding: 30px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.sttl {
    font-weight: 700;
    margin-bottom: 0.5em;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.last {
    text-align: right
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.sttl+p {
    margin: 5px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(1) ul li {
    margin: 30px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(1) ul ol>li {
    margin: 0 0 0 20px;
    list-style: disc
}

#wrapper.privacy-top li.list-style-none {
    list-style: none !important
}

#wrapper.privacy-top li.padding-left {
    padding-left: 1em
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(1) ul li ol li + li {
    margin-top: 1em;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) p.sttl {
    margin: 30px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box {
    margin: 15px 0 0 0;
    padding: 20px 25px;
    border: 1px solid #d7d7d7
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box br {
    display: none
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box .lower {
    margin: 15px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn {
    display: inline-block;
    margin: 5px 0 0 0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn a {
    display: block;
    padding: 15px 70px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    letter-spacing: .05em;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: 1px solid #0097e0;
    background: #0097e0
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn a:hover {
    background: rgba(0, 151, 224, .7)
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn a:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto;
    content: "";
    background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
    background-size: 100% auto
}

.doubleArrow {
    padding: 0 0 0 20px
}

.doubleArrow:after,
.doubleArrow:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    content: "";
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff
}

.doubleArrow:before {
    left: 0
}

.doubleArrow:after {
    left: 4px
}

.doubleArrow:hover {
    text-decoration: underline
}

.w10per {
    width: 10%
}

.w20per {
    width: 20%
}

.w30per {
    width: 30%
}

.w40per {
    width: 40%
}

.w50per {
    width: 50%
}

.w60per {
    width: 60%
}

.w70per {
    width: 70%
}

.w80per {
    width: 80%
}

.w90per {
    width: 90%
}

input[type=password],
input[type=text] {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0
}

.input-text input[type=password],
.input-text input[type=text] {
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    color: #000;
    border: 1px solid #231815;
    background: #fff
}

.input-text input[type=password]:placeholder-shown,
.input-text input[type=text]:placeholder-shown {
    color: #0097e0
}

.input-text input[type=password]::-webkit-input-placeholder,
.input-text input[type=text]::-webkit-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:-moz-placeholder,
.input-text input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]::-moz-placeholder,
.input-text input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #0097e0
}

.input-text input[type=password]:-ms-input-placeholder,
.input-text input[type=text]:-ms-input-placeholder {
    color: #0097e0
}

.input-text input[type=password]:focus,
.input-text input[type=text]:focus {
    color: #000;
    border-color: #0097e0
}

textarea {
    border: 0;
    outline: 0
}

.textarea textarea {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 5px 5px;
    font-size: 13px !important;
    line-height: 1.8em;
    resize: none;
    border: 1px solid #231815;
    background: #fff
}

.textarea textarea:focus {
    border-color: #0097e0
}

.textarea.h110px {
    height: 110px
}

label {
    cursor: pointer
}

.input-radio input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-radio input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    background-color: #0097e0
}

.input-radio {
    position: relative;
    margin: 0;
    padding: 0 0 0 20px
}

.input-radio.focus label:before {
    border-color: #0097e0
}

.input-radio label {
    display: inline-block;
    cursor: pointer
}

.input-radio label::after,
.input-radio label::before {
    position: absolute;
    display: inline-block;
    content: "";
    border-radius: 50%
}

.input-radio label::before {
    top: 7px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #231815;
    background: #fff
}

.input-radio label::after {
    top: 10px;
    left: 3px;
    width: 8px;
    height: 8px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    background-color: transparent
}

label {
    cursor: pointer
}

.input-checkbox input[type=checkbox] {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    border: 0
}

.input-checkbox input[type=checkbox]:checked+label:after {
    border-color: #0097e0
}

.input-checkbox {
    position: relative;
    padding-left: 18px
}

.input-checkbox.focus label:before {
    border-color: #0097e0
}

.input-checkbox label {
    display: inline-block;
    font-size: 16px !important;
    cursor: pointer
}

.input-checkbox label::after,
.input-checkbox label::before {
    position: absolute;
    display: inline-block;
    content: "";
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

.input-checkbox label::before {
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    background: #fff
}

.input-checkbox label::after {
    top: 11px;
    left: 5px;
    width: 6px;
    height: 11px;
    margin-top: -5.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-radius: 1.5px
}

.button button {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 15px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1em;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    border: none;
    background: #0097e0
}

.button button:hover {
    opacity: .8
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) li {
    padding: 15px 40px;
    border-top: 1px solid #d7d7d7
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) li:nth-of-type(1) {
    padding: 30px 40px;
    border-top: none
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) .left,
#wrapper.sitemap-top #mainbody .col:nth-of-type(1) .right {
    width: 50%
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) .left {
    padding: 0 0 0 30px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) .ttl {
    margin: 5px 0;
    font-size: 14px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a {
    padding: 5px 0 5px 20px;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    background: url(../img/common/icon_sidenav.png) no-repeat left center;
    background-size: 14px auto
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.parent {
    font-size: 16px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.child {
    font-size: 14px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.grandson {
    margin: 0 0 0 1.5em;
    font-size: 13px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.great-grandson {
    margin: 0 0 0 3em;
    font-size: 13px
}

#wrapper.sitemap-top #mainbody .col:nth-of-type(1) a:hover {
    opacity: .7
}

#wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(3) {
    margin-top: 30px;
}

#wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(3) a {
    border-color: #006934;
}

/**/
footer #footer-links .banners p.keikyuBnr {
    position: absolute;
    right: -330px;
    bottom: 0;
}

footer #footer-links .banners p.keikyuBnr a {
    display: block;
    width: 124px;
    height: 44px;
    padding: 0 15px;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
}

footer #footer-links .banners p.keikyuBnr a:hover {
    opacity: .7;
}

footer #footer-links .banners p.keikyuBnr a img {
    width: 100%;
    height: auto;
}

#inquiry .box {
    width: 410px;
    padding: 10px 10px 15px;
    background: #FFF;
    border-radius: 10px;
}

#inquiry .tel-num {
    text-align: center;
    padding-top: 0px;
}

#inquiry .tel-num img {
    max-width: 100%;
    height: auto;
}

#inquiry .btn-mail {
    margin: 12px auto 0;
    padding: 16px 0;
    display: block;
    height: 60px;
    max-width: 370px;
    text-align: center;
    background: #d58c91;
    line-height: 1;
}

.service-life-homesecurity #inquiry .tel-num {
    margin-top: 12px;
}

#wrapper[class^=service-parking] #inquiry .btn-mail,
#wrapper[class^=service-flower-gift] #inquiry .btn-mail {
    background: #e23562;
}

#wrapper[class^=service-flower-offerings] #inquiry .btn-mail {
    background: #4c4948;
}

#wrapper[class^=service-plants] #inquiry .btn-mail,
#wrapper[class^=recruit-] #inquiry .btn-mail {
    background: #0096e0;
}



/* [add] 17.12.13 : checked a win8.1 ie11  */
.input-radio input[type="radio"]:checked+label:after {
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
}

.input-radio {
    label {
        &::after {
            -webkit-transform: none !important;
            -moz-transform: none !important;
            -ms-transform: none !important;
            transform: none !important;
        }
    }
}

#wrapper.service-top #mainbody #menu-area li a.menu0202:hover,
#wrapper.service-top #mainbody #menu-area li a.menu0203:hover,
#wrapper.service-top #mainbody #menu-area li a.menu0204:hover {
    border: 5px solid #0097e0
}


#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content {
    padding-left: 20px;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content ul {
    padding-left: 20px;
    margin-bottom: 15px;
    margin-top: 10px;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content ul li {
    padding-left: 27px;
    text-indent: -27px;
    margin-bottom: 5px;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .ssttl {
    margin: 20px 0 10px;
}

#wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .ssttl:first-child {
    margin-top: 0;
}

/* ==================================
  base
  ================================== */

html {
    overflow-x: hidden;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 62.5%;
    -webkit-font-feature-settings: "palt";
    -ms-font-feature-settings: "palt";
    -o-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.6;
    color: #000;
    letter-spacing: 0.088em;
    background-color: #fff;
    word-spacing: 1px;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.flex {
    display: flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

.flex_sb {
    display: flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

body {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
}

body.fixed {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

/* ==================================
    global
    ================================== */
.en {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}

.f-r {
    font-weight: 400;
}

.f-m {
    font-weight: 500;
}

.f-sb {
    font-weight: 600;
}

.f-b {
    font-weight: 700;
}

.c-p {
    color: #5061ff;
}

.b-p {
    background: #5061ff;
}

.b-b {
    background: #000;
}

/* ==================================
  loader
  ================================== */
#loader {
    position: fixed;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    transition: opacity 0.5s linear;
    opacity: 0;
    z-index: 999;
    pointer-events: none;
    background: #fff;
}

#loader.on {
    opacity: 1;
}

.loader-wrap {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.loader-inner {
    width: 17vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ==  fade out == */
.loader-inner>svg {
    filter: blur(0);
    transition: .9s linear;
    transition-delay: 3.1s;
    transform-origin: center;
}

.loaded.loader-inner>svg {

    opacity: 0;
    transform: scale(1.06);
    filter: blur(10px);

}

/* ==  load-object == */

.loader-object {
    mask: url("#loader-object-mask");
    -webkit-mask: url("#loader-object-mask");
    stroke-width: 0.3px;
    stroke: #000;
    fill: #000;
}

#loader-object-mask {
    stroke: #fff;
    stroke-width: 5.5;
    stroke-dasharray: 3500;
    stroke-dashoffset: 3500;
    transition: 2s linear;
}

.loaded #loader-object-mask {
    stroke-width: 5.5;
    stroke-dashoffset: 0;
}

/* ==  load-line == */

.loader-line {
    mask: url("#loader-line-mask");
    -webkit-mask: url("#loader-line-mask");
    stroke-width: 0.6px;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-linecap: round;
}

#loader-line-mask {
    stroke: #fff;
    stroke-width: 1;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    transition: 0.6s ease-out;
    transition-delay: 1.3s;
}

.loaded #loader-line-mask {
    stroke-dashoffset: 0;
}

/* ==  load-circle == */

.loader-circle {
    fill: #fff;
    stroke-width: 0px;
    stroke: #000;
    position: relative;
    transition: .2s ease-out;
}

.loader-circle:nth-child(3) {
    transition-delay: 1.3s;
}

.loader-circle:nth-child(4) {
    transition-delay: 1.33s;
}

.loader-circle:nth-child(5) {
    transition-delay: 1.36s;
}

.loader-circle:nth-child(6) {
    transition-delay: 1.38s;
}

.loader-circle:nth-child(7) {
    transition-delay: 1.43s;
}

.loaded .loader-circle {
    stroke-width: 1px;
}

.loader-text {
    stroke-width: 0px;
    opacity: 0;
    transition: 1.5s ease-out;
    transition-delay: 1.3s;

}

.loaded .loader-text {
    opacity: 1;
}

/* ==================================
  common
  ================================== */
.inner {
    width: 71vw;
    margin: 0 auto;
}

.inner.-wide {
    width: 80vw;
}

.txt-link {
    position: relative;
    line-height: 1;
    transition: .2s ease-out;
}

.txt-link::after {
    content: "";
    position: absolute;
    width: 100%;
    height: .1rem;
    background: #000;
    bottom: 0;
    left: 0;
    transition: .2s ease-out;
}

.common-title-en {
    font-size: 5.6rem;
    line-height: 1;
    padding-bottom: 2.7rem;
    margin-bottom: 2.4rem;
    position: relative;
}

.common-title-en::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #000;
    width: 100%;
    height: 0.2rem;
}

.common-title-jp {
    font-size: 2.6rem;
    line-height: 1;
}

.common-btn {
    width: 26rem;
    height: 5.8rem;
}

.common-btn-link {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    padding-left: 7.7%;
    color: #5061ff;
    font-size: 1.4rem;
    font-weight: 700;
    position: relative;
    background: #fff;
    border: solid 1px #5061ff;
    transition: .3s ease-out;
}



.common-btn-link::after {
    position: absolute;
    right: 6%;
}

.arrow::after {
    content: "";
    background: url(/assets/images/arrow-p.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 3.42857rem;
    height: 0.85714rem;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    transition: .3s ease-out;
}

/* ==================================
  mv
  ================================== */
.mv-wrap {
    margin: 5.5rem 0 6.4rem;
    position: relative;
    height: calc(100vh - 5.5rem);
}

.mv-title-box {
    margin-bottom: 3.7rem;
    margin-left: 9.6%;
}

.mv-title {
    font-size: max(4.4vw, 4.4rem);
    margin-bottom: 1.9vw;
    line-height: 1;
}

.mv-text {
    font-size: max(1.16vw, 1.16rem);
    letter-spacing: 0.29em;
    line-height: 1.9;
}

.mv-copy-box {
    position: absolute;
    left: 9.6%;
    top: 4rem;
    z-index: 1;
    /* writing-mode: vertical-rl; */
}

.mv-copy {
    font-size: max(4.1vw, 4.1rem);
    font-size: 4rem;
}

.mv-copy p {
    display: table;
    background: #fff;
    padding: 0 2rem;
}

.mv-copy p+p {
    margin-top: 2rem;
}

/* bg */
.mv-bg {
    position: absolute;
    bottom: 0;
    height: 100%;
    left: 0;
    width: 100%;
    z-index: -1;
}

.mv-bg .mvSwiper {
    height: calc(100% - 10rem);
}

.mv-bg .swiper-slide img {
    height: 100%;
    object-fit: cover;
}

.swiper-pagination {
    position: relative;
    padding: 2rem 0;
}

.swiper-pagination-bullet {
    border-radius: 0;
}

.swiper-pagination-bullet {
    background: #e7e7e8;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: #5061ff;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: auto;
}

/* ==================================
    news
    ================================== */
.news-wrap {
    margin: 0 0 12rem;
}

.news-inner {
    justify-content: space-between;
}

.news-l {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: baseline;
}

.news-title {
    font-size: 2.2rem;
    line-height: 1;
}

.news-link-box {
    padding-bottom: 1.2rem;
}

.news-link {
    font-size: 1.4rem;
    padding-bottom: 1.2rem;
    transition: .2s ease-out;
    color: #000;
}

.news-r {
    width: 66%;
}

.news-item {
    padding: 1.2rem 0;
    border-bottom: 1px solid #dfdfe0;
}

.news-item:first-child {
    padding-top: 0;
}

.news-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.news-date {
    font-size: 1.2rem;
    color: #b5babe;
    transition: .2s ease-out;
}

.news-text {
    font-size: 1.4rem;
    margin-left: 3.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: .2s ease-out;
    color: #000;
    width: calc(100% - 12rem);
}

/* ==================================
    solution
    ================================== */
.solution-wrap {
    position: relative;
    padding: 9rem 0 20.7rem;
    background: #f7f7f7;
}

.solution-deco-text {
    writing-mode: tb;
    position: absolute;
    color: #7b90b0;
    right: 0;
    bottom: 0;
    font-size: 5rem;
    opacity: 0.13;
    line-height: 1;
}

.solution-title {
    font-size: 9.2rem;
    position: absolute;
    top: 0;
    left: 5%;
    transform: translateY(-50%);
}

.solution-inner {
    position: relative;
}

.solution-sub-title {
    font-size: 2.6rem;
    margin-bottom: 4rem;
    line-height: 1;
}

.solution-lead {
    font-size: 1.4rem;
    margin-bottom: 4rem;
}

.solution-text {
    font-size: 1.4rem;
    margin-bottom: 4rem;
    line-height: 2;
}

.solution-list {
    margin-bottom: 6rem;
    min-width: 41rem;
}

.solution-item {
    align-items: center;
    margin-bottom: 0.5em;
}

.solution-item:last-child {
    margin-bottom: 0;
}

.solution-num {
    background: #000;
    width: 2rem;
    height: 2rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.solution-item-text {
    font-size: 1.4rem;
    margin-left: 0.5em;
}

.solution-img-box {
    width: 47.9vw;
    position: absolute;
    right: 0;
    bottom: -24%;
}

/* ==================================
    service
    ================================== */
.service-wrap {
    padding: 12rem 0 16rem;
    position: relative;
}

.service-wrap::after {
    content: "";
    width: 35.6%;
    height: 41rem;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #f7f7f7;
    z-index: -1;
}

.service-top {
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 10.6rem;
}

.service-tab-box {
    width: 42.9%;
    justify-content: space-between;
}

.service-tab {
    width: 47.7%;
    font-size: 1.6rem;
    font-weight: 700;
    opacity: 0.6;
    border-bottom: solid 1px #000;
    padding-bottom: 1.2rem;
}

.service-tab.tabOn {
    border-bottom: solid 1px #5061ff;
    color: #5061ff;
}

.panel-box {
    width: 71%;
    margin: 0 auto;
}

.service-bottom {
    justify-content: space-between;
}

.service-l {
    width: 34.4%;
}

.service-box {
    margin-bottom: 4rem;
}

.service-box:last-child {
    margin-bottom: 0;
}

.service-bottom-title {
    font-size: 2.2rem;
    margin-bottom: 2.8rem;
    line-height: 1;
}

.service-list {
    width: 100%;
}

.service-item {
    height: 4.4rem;
    border-bottom: 1px solid #e7e7e8;
}

.service-item:first-child {
    border-top: 1px solid #e7e7e8;
}

.service-link {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 700;
    padding-left: 2rem;
    transition: .2s ease-out;
    color: #000;
}

.service-link::after {
    background: url(/assets/images/arrow-b.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    right: 1.4rem;
    filter: invert(0);
}

.service-r {
    width: 57%;
    position: relative;
}

.service-img-link {
    position: relative;
    transition: .3s ease-out;
    height: 100%;
    width: 100%;
    display: block;
}

.service-img-link::after {
    content: "";
    width: 10.4rem;
    height: 10.4rem;
    position: absolute;
    right: -1.5rem;
    top: -1.5rem;
    background: #000;
    z-index: -1;
    transition: .3s ease-out;
}

.service-img img {
    /* height: 100%; */
    height: calc(100vh - 35rem);
    object-fit: cover;
}

.service-img-text {
    height: 6rem;
    padding: 0 2.4rem;
    background: #fff;
    align-items: center;
    justify-content: center;
    font-size: 2.1rem;
    position: absolute;
    left: 0;
    top: 0;
    transition: .3s ease-out;
}

.service-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(30%, 50%);
}

/*tab*/
.tab,
.tabV2 {
    transition: .2s ease-out;
    cursor: pointer;
}

.tab.tabOn,
.tabV2.tabOnV2 {
    opacity: 1;
    pointer-events: none;
}

/*panel*/
.panel,
.panelV2 {
    transition: 1s;
    visibility: hidden;
    opacity: 0;
    max-height: 0;
}

.panel.panelOn,
.panelV2.panelOnV2 {
    visibility: visible;
    opacity: 1;
    position: relative;
    max-height: none;
}

.service-all-btn {
    margin-top: 4rem;
}

/* ==================================
    works
    ================================== */
.works-wrap {
    margin-bottom: 16rem;
}

.works-top-container {
    padding: 8rem 0 7rem;
    position: relative;
}

.works-top-container::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: #5061ff;
    left: 0;
    top: 0;
}

.works-top {
    justify-content: space-between;
    align-items: flex-end;
    color: #fff;
}

#works .common-title-en::after {
    background: #fff;
}

.works-tab-box {
    width: 42.9%;
    justify-content: space-between;
}

.works-tab {
    width: 47.7%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    border-bottom: solid 1px #000;
    padding-bottom: 1.2rem;
}

.works-tab.tabOnV2 {
    border-bottom: solid 1px #fff;
    color: #fff;
}

.works-bottom-container {
    position: relative;
}

.works-bottom-container::after {
    content: "";
    height: 32%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #5061ff;
    max-height: 11rem;
    z-index: -1;
}

.works-inner {
    width: 85.5%;
    margin: 0 0 0 auto;
}

.works-container {
    position: relative;
}

.slide-works-link {
    display: block;
    color: #000;
}

.works-img {
    padding: 4% 0 0 4%;
    position: relative;
}

.works-img::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    width: 12.8rem;
    height: 12.8rem;
    z-index: -1;
    transition: .2s ease-out;
}

.works-text-box {
    padding: 3rem 2rem 0;
    background: #fff;
    margin-left: 4%;
    transform: translateY(-50%);
    width: 86.2%;
}

.works-text {
    transition: .2s ease-out;
    font-size: 1.5rem;
}

.works-text-link {
    font-size: 1.3rem;
    padding-bottom: 1.2rem;
    line-height: 1;
    display: inline-block;
    margin-left: calc(4% + 2rem);
    transition: .2s ease-out;
    color: #000;
}

.works-btn {
    margin-top: 6rem;
}

section#works .swiper-button-next,
section#works .swiper-button-prev {
    display: none;
}

/* ==================================
    company
    ================================== */
.company-wrap {
    margin-bottom: 7.2rem;
    position: relative;
}

.company-top {
    padding: 16rem 0 0;
    background: #000;
    position: relative;
}

.company-top::before {
    content: "";
    width: 100%;
    height: 7.1rem;
    background: #fff;
    left: 0;
    bottom: -0.1rem;
    position: absolute;
}

.company-top::after {
    content: "";
    width: 81.4%;
    height: 7.1rem;
    background: #f5f5f5;
    right: 0;
    bottom: -0.1rem;
    position: absolute;
}

.company-inner {
    justify-content: space-between;
    z-index: 1;
    position: relative;
}

.company-l {
    width: 53.8%;
}

.company-r {
    width: 37.4%;
    color: #fff;
}

.company-title-box {
    margin-bottom: 9rem;
    display: inline-block;
}

#company .common-title-en::after {
    background: #fff;
}

.company-sub-title {
    font-size: 2.2rem;
    margin-bottom: 4rem;
    line-height: 1;
}

.company-text {
    margin-bottom: 4rem;
    font-size: 1.4rem;
}

.company-bottom {
    position: relative;
    padding-top: 10rem;
}

.company-bottom::after {
    width: 81.4%;
    height: 46.7rem;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    background: #f5f5f5;
    z-index: -2;
}

.company-list {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 21.2rem;
}

.company-item {
    width: 45.8%;
    position: relative;
}

.company-item:nth-child(n+3) {
    margin-top: 5rem;
}

.company-item-link {
    display: flex;
    align-items: center;
    position: relative;
    color: #000;
}

.company-item-text {
    font-size: 1.6rem;
    font-weight: 700;
    transition: .2s ease-out;
}

.company-item-img {
    width: 16.2rem;
    margin-right: 4rem;
    position: relative;
}

.company-item-img::before {
    content: "";
    position: absolute;
    right: -1.2rem;
    bottom: -1.2rem;
    background: #000;
    width: 8rem;
    height: 8rem;
    z-index: -1;
    transition: .2s ease-out;
}

.company-item.arrow::after {
    background: url(/assets/images/arrow-b.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    right: 0;
    pointer-events: none;
}

.comapny-feature-item {
    border-top: solid #e7e7e8 1px;
}

.comapny-feature-item:last-child {
    border-bottom: solid #e7e7e8 1px;
}

.comapny-feature-link {
    color: #000;
    justify-content: space-between;
    align-items: center;
    padding: 4.4rem 0;
}

.comapny-feature-l {
    width: 54.9%;
}

.comapny-feature-title {
    margin-bottom: 3rem;
    font-size: 2.2rem;
    line-height: 1;
    transition: .2s ease-out;
}

.comapny-feature-text {
    margin-bottom: 4rem;
    font-size: 1.5rem;
    transition: .2s ease-out;
}

.comapny-feature-text-link {
    font-size: 1.3rem;
    padding-bottom: 1.2rem;
    transition: .2s ease-out;
    display: inline-block;
}

.comapny-feature-r {
    width: 37.7%;
}

.comapny-feature-img {
    padding: 0 4% 4% 0;
    position: relative;
}



.comapny-feature-img::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    background: #000;
    width: 13rem;
    height: 13rem;
    z-index: -1;
    transition: .2s ease-out;
}

/* ==================================
   twoRows
    ================================== */
.twoRows-wrap {
    padding: 8rem 0 16rem;
    position: relative;
}

.twoRows-wrap::before {
    content: "";
    position: absolute;
    width: 127.7rem;
    top: 0;
    left: 0;
    background: #f7f7f7;
    height: 100%;
    z-index: -1;
}

.twoRows-list {
    justify-content: space-between;
    color: #fff;
}

.twoRows-item {
    width: calc((100% - .3rem) / 2);
    height: 48rem;
}

.twoRows-link {
    height: 100%;
    display: block;
    position: relative;
    color: #fff;
}

.twoRows-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: brightness(1);
    transition: .3s ease-out;
}

.twoRows-img img {
    height: 100%;
    object-fit: cover;
}

.twoRows-inner {
    flex-direction: column;
    justify-content: space-between;
    width: 89%;
    padding: 6rem 0 5rem;
    margin: 0 auto;
    height: 100%;
    position: relative;
}

.twoRows-text-box {
    justify-content: space-between;
    align-items: flex-end;
}

.twoRows-l {
    width: 58.8%;
}

.twoRows-title {
    font-size: 4.1rem;
    line-height: 1;
}

.twoRows-title-jp {
    font-size: 2.2rem;
    line-height: 1;
    margin-bottom: 2.4rem;
}

.twoRows-text {
    font-size: 1.5rem;
}

.twoRows-text-link {
    font-size: 1.3rem;
    padding-bottom: 1rem;
    display: inline-block;
}

.twoRows-text-link.txt-link::after {
    background: #fff;
}

/* ==================================
   bl
    ================================== */
.blog-wrap {
    position: relative;
    margin-bottom: 22rem;
}

.blog-inner {
    width: 85.5%;
    margin: 0 0 0 auto;
}

.blog-wrap::before {
    content: "";
    position: absolute;
    width: 127.7rem;
    height: 40rem;
    top: 0;
    left: 0;
    background: #f7f7f7;
    z-index: -1;
}

.blog-title-box {

    display: inline-block;
}

.blog-container {
    padding-top: 10rem;
    position: relative;
}

.blSwiper {
    overflow: visible;
}

.blog-link-box {
    position: absolute;
    left: 20rem;
    bottom: -11rem;
    transform: translateY(-100%);
}

.swiper-button-next,
.swiper-button-prev {
    bottom: -16.78rem;
    transform: translateY(-100%);
    left: 0;
    margin-top: 0;
    width: 7.6rem;
    top: auto;
    height: 5.8rem;
    border: 1px solid #000;
    transition: .3s;
}

.swiper-button-prev {
    right: max(calc(26% + 5rem), 29rem);
}

.swiper-button-next {
    left: 8.2rem;
}

.swiper-button-next:after {
    background: url(/assets/images/blog-arrow-r.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.swiper-button-prev:after {
    background: url(/assets/images/blog-arrow-l.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    content: "";
    height: 1rem;
    width: 100%;
    transition: .2s;
}

.slide-blog-link {
    display: block;
    color: #000;
}

.blog-img {
    padding: 4% 0 0 4%;
    position: relative;
}

.blog-img::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    width: 12.8rem;
    height: 12.8rem;
    z-index: -1;
    transition: .2s ease-out;
}

.blog-text-box {
    padding: 3rem 2rem 0;
    background: #fff;
    margin-left: 4%;
    transform: translateY(-50%);
    width: 86.2%;
}

.blog-tag {
    font-size: 1.3rem;
    background: #000;
    display: inline-block;
    position: absolute;
    color: #fff;
    line-height: 1;
    padding: 0.8rem 3.2rem;
    top: 0;
    transform: translateY(-50%);
    transition: .2s ease-out;
}

.blog-text {
    transition: .2s ease-out;
    font-size: 1.5rem;
}

.blog-text-link {
    font-size: 1.3rem;
    padding-bottom: 1.2rem;
    line-height: 1;
    display: inline-block;
    margin-left: calc(4% + 2rem);
    transition: .2s ease-out;
}

/* ==================================
   contact
    ================================== */
.contact-wrap {
    padding: 11.2rem 0;
    background: #5061ff;
}

.contact-inner {
    align-items: center;
    justify-content: space-between;
}

.contact-l {
    color: #fff;
}

.contact-title-en {
    font-size: 5.6rem;
    line-height: 1;
    margin-bottom: 2.4rem;
}

.contact-title-jp {
    font-size: 2.6rem;
    line-height: 1;
}

.contact-r {
    width: 47.5%;
}

.contact-btn {
    width: 100%;
    height: 9.1rem;
    background: #fff;
    filter: brightness(1);
    transition: .3s ease-out;
}

.contact-btn-link {
    display: block;
    height: 100%;


}

.contact-text-box {
    width: 79%;
    margin: 0 auto;
    align-items: center;
    height: 100%;
    position: relative;
}

.contact-text-box::after {
    right: 0;
    background: url(/assets/images/arrow-p.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.contact-icon {
    background: url(/assets/images/contact-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 2.53857rem;
    height: 1.95277rem;
    margin-right: 2rem;
}

.contact-text {
    font-size: 2rem;
}

.contact-text span {
    font-size: 1.2rem;
    display: block;
    line-height: 0;
    position: relative;
    top: 0.5rem;
}

/* ==================================
   section
    ================================== */
.map-wrap {
    width: 100%;
    height: 32rem;
}

/* ==================================
   animation
    ================================== */

.mvUp,
.mvUp2,
.mvUp3 {
    opacity: 0;
    transition: opacity .5s ease-out, transform .5s ease-out;
    transform: translateY(20px);
    z-index: 1;
}

.mvUp.is-show,
.mvUp2.is-show,
.mvUp3.is-show {
    opacity: 1;
    transform: translateY(0);
}

.mvUp2.is-show:nth-child(2) {
    transition-delay: 0.3s;
}

.mvUp2.is-show:nth-child(3) {
    transition-delay: 0.6s;
}

.mvUp2.is-show:nth-child(4) {
    transition-delay: 0.9s;
}

.mvUp2.is-show:nth-child(5) {
    transition-delay: 1.2s;
}

.mvUp2.is-show:nth-child(6) {
    transition-delay: 1.5s;
}

.mvUp2.is-show:nth-child(7) {
    transition-delay: 1.8s;
}

.mvUp3.is-show:nth-child(1) {
    transition-delay: 0.7s;
}

.mvUp3.is-show:nth-child(2) {
    transition-delay: 1s;
}

.fdIn,
.fdIn2 {
    opacity: 0;
    transition: .5s ease-out;
}

.fdIn.is-show,
.fdIn2.is-show {
    opacity: 1;
}

.fdIn2.is-show:nth-child(2) {
    transition-delay: 0.3s;
}

.fdIn2.is-show:nth-child(3) {
    transition-delay: 0.6s;
}

.page_header-wrap {
    padding: 10rem 0 6rem;
}

.page_header-wrap .page_title .title {
    font-size: 4.1rem;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.page_header-wrap .page_title .en {
    font-size: 2.1rem;
    padding-left: 2em;
    padding-top: 0.7em;
}

.page_header-wrap .page_title {
    margin-bottom: 3rem;
}

.page_header-wrap .page_breadcrumbs a {
    color: #5061FF;
    text-decoration: underline;
}

.page_header-wrap .page_breadcrumbs {
    font-size: 1.1rem;
    font-weight: 500;
}

.page_header-wrap .page_breadcrumbs li+li {
    margin-left: 2rem;
    position: relative;
}

.page_header-wrap .page_breadcrumbs li+li:before {
    content: "";
    position: absolute;
    width: 0.5rem;
    height: 0.5rem;
    border: 1px solid #B2B2B2;
    transform: rotate(45deg);
    border-width: 1px 1px 0 0;
    top: 0.5em;
    left: -1.2em;
}

.news_list a {
    font-size: 1.3rem;
}

.news_list a .date,
.news_list a .title {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid;
    font-weight: 500;
}

.news_list a .date {
    width: 13rem;
    margin-right: 0.2rem;
    color: #6B6B6B;
    border-color: #ccc;
}

.news_list a .title {
    width: calc(100% - 13.2rem);
    padding-left: 2rem;
    color: #000;
    border-color: #E0E0E0;
    transition: .2s;
}

.page_content-wrap {
    padding: 0 0 13.5rem;
}

.news_pager .news_page_nav {
    justify-content: center;
    align-items: center;
}

.news_pager {
    margin-top: 6rem;
}

.news_pager .news_page_nav .this-page,
.news_pager .news_page_nav .page_num a {
    display: flex;
    transition: .2s;
    width: 4rem;
    height: 4rem;
    justify-content: center;
    align-items: center;
    background: #000;
    color: #fff;
    margin: 0 1px;
}

.news_pager .news_page_nav .this-page {
    background: #5061FF;
}

.news_pager .news_page_nav .prev a,
.news_pager .news_page_nav .next a {
    position: relative;
    color: #000;
}

.news_pager .news_page_nav .prev a:after,
.news_pager .news_page_nav .next a:after {
    content: "";
    background: url(/assets/images/arrow-b.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 3.42857rem;
    height: 0.85714rem;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    transition: .3s ease-out;
    margin-left: 1rem;
}

.news_pager .news_page_nav .prev a:after {
    right: 100%;
    transform: rotate(180deg) translateY(50%);
    margin-right: 1rem;
}

.news_pager .news_page_nav .prev a {
    margin-right: 3rem;
}

.news_pager .news_page_nav .next a {
    margin-left: 3rem;
}

.page_content-wrap .news_inner {
    min-width: 68rem;
    width: 86%;
}

.page_content-wrap .news_inner .news_head {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
}

.page_content-wrap .news_inner .news_head .title {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.page_content-wrap .news_inner .news_head .date {
    color: #6B6B6B;
    font-weight: 500;
    font-size: 1.4rem;
}

.page_content-wrap .news_inner .news_body {
    font-size: 1.4rem;
    line-height: 2;
}

.page_content-wrap .news_inner .common-btn {
    margin-top: 6rem;
}

.page_content-wrap .news_inner .common-btn-link {
    justify-content: flex-end;
    padding-right: 7.7%;
}

.page_content-wrap .news_inner .common-btn-link:after {
    left: 6%;
    transform: rotate(180deg) translateY(50%);
}

section#page_contact_sec {
    background: #5061FF;
    padding: 10rem 0;
}

section#page_contact_sec .title_area {
    margin-bottom: 2rem;
    color: #fff;
    align-items: center;
}

section#page_contact_sec .title_area .en {
    font-size: 5rem;
    letter-spacing: 0.15em;
}

section#page_contact_sec .title_area .title {
    font-size: 2.4rem;
    font-weight: bold;
    margin-left: 1em;
}

section#page_contact_sec .contact-btn {
    width: 49%;
}

.contact-icon.-tel {
    background-image: url(/assets/images/contact-icon-tel.svg);
}

.contact-icon.-mail {
    background-image: url(/assets/images/contact-icon-mail.svg);
}

section.page_image_fv .image_bg {
    background-size: cover;
    background-position: center;
    padding: 12rem 0 6rem;
}

section.page_image_fv.-solution .image_bg {
    background-image: url(/assets/images/solution_fv_image.jpg);
}

section.page_image_fv {
    margin-top: -4rem;
    padding: 0 4rem 4rem;
}

section.page_image_fv .image_bg .catchcopy p {
    background: #fff;
    display: table;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    padding: 1rem 2rem;
}

.text_blue {
    color: #5061FF;
}

section.page_image_fv .image_bg .catchcopy p+p {
    margin-top: 1rem;
}

section.page_image_fv+section.under_text {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.06em;
    margin-bottom: 4rem;
    font-weight: 500;
}

.in_page_nav ul {
    justify-content: center;
}

.in_page_nav ul li a {
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    height: 100%;
    color: #5061FF;
    line-height: 1.5;
    letter-spacing: 0.15em;
    width: 13rem;
    border-bottom: 1px solid;
    position: relative;
    padding-bottom: 0.5rem;
    font-weight: bold;
}

.in_page_nav ul li+li {
    margin-left: 2rem;
}

.in_page_nav ul li a:after {
    content: "";
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    border: solid;
    right: 0.2rem;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
}

.in_page_nav {
    padding: 4rem 0;
}

.page_solution_content>section {
    padding: 12rem 0;
}

.page_solution_content section#develop {
    background: #F7F8FF;
}

.page_solution_content section#develop .inner {
    position: relative;
    z-index: 1;
}

.sec_title .en {
    font-size: 3.6rem;
    font-weight: 400;
    display: table;
    border-bottom: 1px solid;
    margin-bottom: 1rem;
}

.sec_title h2 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.sec_title {
    margin-bottom: 4rem;
}

.sec_description {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 4rem;
}

.sec_title .en {
    font-size: 3.6rem;
    font-weight: 400;
    display: table;
    border-bottom: 1px solid;
    margin-bottom: 1rem;
}

.sec_title h2 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.sec_title {
    margin-bottom: 4rem;
}

.sec_description {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 4rem;
}

.solution_item_list ul li {
    background: #F5F5F5;
    width: 32%;
    margin-right: 2%;
    padding: 1rem 2rem;
    margin-bottom: 2%;
    border-left: 2px solid #5061FF;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-weight: 500;
}

.solution_item_list ul li:nth-child(3n) {
    margin-right: 0;
}

.solution_item_list {
    margin-bottom: 4rem;
}

.solution_content_image_text {
    background: #F5F5F5;
}

.solution_content_image_text+.solution_content_image_text {
    margin-top: 8rem;
}

.solution_content_image_text .image {
    width: 30rem;
    line-height: 0;
}

.solution_content_image_text .content {
    padding: 4rem;
    width: calc(100% - 30rem);
}

.solution_content_image_text .content .title {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    margin-bottom: 1rem;
}

.solution_content_image_text .content .text {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 2rem;
}

.solution_content_image_text .content .btns {
    width: 54rem;
}

.solution_content_image_text.training .content .btns {
    width: 63rem;
}

.solution_content_image_text.training .content .btns .common-btn {
    width: 20rem;
}

.rb_square {
    position: relative;
}

.rb_square:after {
    content: "";
    width: 8.2rem;
    height: 8.2rem;
    position: absolute;
    background: #000000;
    right: -1rem;
    bottom: -1rem;
    z-index: -1;
}

.rb_square {
    position: relative;
}

.rb_square:after {
    content: "";
    width: 8.2rem;
    height: 8.2rem;
    position: absolute;
    background: #000000;
    right: -1rem;
    bottom: -1rem;
    z-index: -1;
}

.page_solution_content section#networking {
    position: relative;
}

.page_solution_content section#networking:before {
    content: "";
    width: 86%;
    top: 0;
    left: 0;
    height: 46rem;
    background: #F5F5F5;
    position: absolute;
}

.page_solution_content section#networking .sec_description {
    width: 50%;
    padding-right: 8rem;
    margin-bottom: 8rem;
}

.page_solution_content section#networking .sec_image {
    position: absolute;
    left: 50%;
    width: 50vw;
    top: 0rem;
}

.sec_description p+p {
    margin-top: 2rem;
}

.page_solution_content section#networking .sec_image img {
    width: 100%;
    height: 43rem;
    object-fit: cover;
    object-position: center bottom;
}

.building_works_list ul li {
    width: 47%;
    margin-bottom: 4rem;
}

.lt_square {
    position: relative;
}

.lt_square:after {
    content: "";
    width: 8.2rem;
    height: 8.2rem;
    position: absolute;
    background: #000000;
    left: -1rem;
    top: -1rem;
    z-index: -1;
}

.building_works_list ul {
    padding-left: 1rem;
}

.building_works_list ul li .text {
    font-size: 1.25rem;
    font-weight: 500;
}

.building_works_list ul li .image {
    margin-bottom: 1rem;
}

.page_solution_content section#dx {
    background: #F7F8FF;
}

.solution_list_image_text .image {
    width: 28rem;
}

.solution_list_image_text .text_content {
    width: calc(100% - 28rem);
    padding-left: 6rem;
    padding-top: 2rem;
}

.solution_list_image_text .text_content .title {
    font-size: 1.8rem;
    font-weight: bold;
    padding-left: 1rem;
    border-left: 4px solid #5061FF;
    margin-bottom: 2rem;
}

.solution_list_image_text .text_content .text {
    font-size: 1.4rem;
    line-height: 2;
}

.solution_list_image_text+.solution_list_image_text {
    margin-top: 4rem;
    border-top: 1px solid #E0E0E0;
    padding-top: 4rem;
}

section.page_image_fv.-service .image_bg {
    background-image: url(/assets/images/page_service_fv_image.jpg);
}

.page_service_tab_content .tab_btns {
    border-bottom: 1px solid #5061FF;
}

.page_service_tab_content .tab_btns ul {
    display: flex;
    justify-content: space-between;
}

.page_service_tab_content .tab_btns ul li {
    position: relative;
    border: 1px solid #5061FF;
    border-width: 1px 1px 0;
    width: 49.5%;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: #5061FF;
    background: #F7F8FF;
    padding: 1.5rem;
    border-radius: 5px 5px 0 0;
    opacity: 0.7;
    transition: .2s;
    cursor: pointer;
}

.page_service_tab_content .tab_btns ul li:after {
    content: "";
    width: 100%;
    background: #fff;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -1px;
    opacity: 0;
}

.page_service_tab_content .tab_btns ul li.active {
    opacity: 1;
    background: #fff;
}

.page_service_tab_content .tab_btns ul li.active:after {
    opacity: 1;
}

.page_service_tab_content .tab_content_wrap {
    padding: 8rem 0 10rem;
}

.page_service_tab_content .tab_content_wrap .service_type {
    font-size: 2.4rem;
    font-weight: bold;
    display: table;
    letter-spacing: 0.15em;
    border-bottom: 2px solid;
    margin: 8rem 0 6rem;
}

.page_service_tab_content .tab_content_wrap .service_type:first-child {
    margin-top: 0;
}

.service_list ul li {
    width: 48%;
    margin-bottom: 4rem;
}

.service_list ul {
    padding-left: 1rem;
}

.service_list ul li a {
    background: #F5F5F5;
    align-items: center;
}

.service_list ul li a .image {
    width: 18rem;
}

.service_list ul li a .text {
    font-size: 1.6rem;
    font-weight: 500;
    color: #000;
    padding-left: 3rem;
    transition: .2s;
}

.service_list .arrow::after {
    background-image: url(/assets/images/arrow-b.svg);
    right: 2rem;
}

.service_list .lt_square:after {
    transition: .2s;
}

.page_service_content .solution-img-box {
    width: 60rem;
}

.page_solution .page_content-wrap,
.page_service .page_content-wrap {
    padding-bottom: 0;
}

.page_service_content .solution-wrap {
    background: #F7F8FF;
    padding-bottom: 16rem;
}

.page_service_building_wrap>section .inner {
    padding-left: 24rem;
}

.pr {
    position: relative;
}

.page_service_building_sidenav {
    position: absolute;
    top: 0px;
    left: 14.5vw;
    z-index: 2;
}

.page_service_building_sidenav .title {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 2rem;
}

.page_service_building_sidenav_block ul li {
    border-left: 2px solid #000;
}

.page_service_building_sidenav_block ul li.label {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    padding: 0.5rem 1rem;
}

.page_service_building_sidenav_block ul li a {
    padding: 0.5rem 1rem;
    display: block;
    color: #000;
    font-weight: 500;
    font-size: 1.2rem;
}

.page_service_building_sidenav_block ul li.active a {
    color: #5061FF;
    pointer-events: none;
}

.page_service_building_sidenav_block ul li.active {
    border-color: #5061FF;
    margin: 2px 0;
}

.page_service_building_sidenav_block+.page_service_building_sidenav_block {
    margin-top: 2rem;
}

section.page_service_building_fv .flex {
    align-items: flex-start;
}

section.page_service_building_fv .image {
    width: 28rem;
}

section.page_service_building_fv .text_content {
    width: calc(100% - 28rem);
    padding-right: 4rem;
}

section.page_service_building_fv .text_content .title {
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    display: table;
    border-bottom: 2px solid;
    margin-bottom: 2rem;
}

section.page_service_building_fv .text_content .text {
    font-size: 1.4rem;
    line-height: 2;
}

section.page_service_building_fv {
    padding: 0 0 12rem;
}

section.page_service_building_body {
    background: #F7F8FF;
    padding: 12rem 0;
}

section.page_service_building_body .title {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
}

section.page_service_building_body .description {
    font-size: 1.4rem;
    margin-bottom: 6rem;
}

section.page_service_building_body .solution_list_image_text .image {
    width: 14rem;
}

section.page_service_building_body .solution_list_image_text .text_content {
    width: calc(100% - 14rem);
    padding: 0 0 0 4rem;
}

section.page_service_building_body .solution_list_image_text .text_content .title {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

section.page_service_building_body .solution_list_image_text .text_content .text {
    font-size: 1.25rem;
}

section.page_service_building_body .solution_list_image_text+.solution_list_image_text {
    margin-top: 3rem;
    padding-top: 3rem;
}

.page_content-wrap.-bottom_none {
    padding-bottom: 0;
}

section.page_service_building_fv .text_content .title span {
    font-size: 55%;
}

.ppp_content_list {
    padding: 3rem 0;
}

.ppp_content_list .ppp_head .title {
    font-size: 1.6rem;
    font-weight: bold;
    padding-left: 1rem;
    border-left: 4px solid #5061FF;
    margin-bottom: 1rem;
}

.ppp_content_list .ppp_head .link a {
    color: #000;
    font-weight: bold;
    font-size: 1.4rem;
    padding-right: 4.5rem;
}

.ppp_content_list .ppp_head .link a::after {
    background-image: url(/assets/images/arrow-b.svg);
    right: 0;
}

.ppp_content_list .ppp_client {
    margin-bottom: 2rem;
    margin-left: 3.5rem;
}

.ppp_content_list .ppp_images ul li {
    width: 14.4rem;
    margin-right: 2rem;
}

.ppp_content_list+.ppp_content_list {
    border-top: 1px solid #E0E0E0;
}

section.page_service_building_fv .hanako_logo {
    width: 15.6rem;
}

section.page_service_building_fv .flex {
    align-items: flex-start;
}

section.page_service_building_fv .hanako_logo {
    width: 15.6rem;
}

.prants_page_link ul li {
    width: 19.8rem;
}

.prants_page_link ul li a {
    display: block;
    text-align: center;
    background: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    color: #5061FF;
    border-bottom: 1px solid #5061FF;
    padding: 1rem;
}

.prants_page_link ul li+li {
    margin-left: 2rem;
}

.prants_page_link ul li.active a {
    background: #5061FF;
    color: #fff;
    pointer-events: none;
}

.prants_page_link {
    margin-bottom: 6rem;
}

section.page_service_building_body .plants_content_image {
    position: absolute;
    width: 30rem;
    right: 0;
    top: 0;
}

.plants_item_list ul li {
    width: 28%;
    margin-right: 8%;
    margin-bottom: 4rem;
}

.plants_item_list ul li:nth-child(3n) {
    margin-right: 0;
}

.plants_item_list ul li .image {
    margin-bottom: 1rem;
}

.plants_item_list ul li .item_name {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.plants_item_list ul li .item_info {
    font-size: 1.25rem;
    font-weight: 500;
}

.plants_item_list .note {
    color: #6B6B6B;
    line-height: 1.2;
    font-size: 1.2rem;
}

.plants_management_before_after .title_text {
    font-size: 1.6rem;
    font-weight: bold;
    padding-left: 1rem;
    border-left: 4px solid #5061FF;
    margin-bottom: 2.5rem;
    line-height: 1.2;
}

.plants_management_before_after .flex_sb {
    align-items: center;
}

.plants_management_before_after .image_wrap {
    width: 43%;
}

.plants_management_before_after .image_wrap .image {
    margin-bottom: 1rem;
}

.plants_management_before_after .image_wrap .ba_text {
    text-align: center;
    font-size: 1.6rem;
}

.plants_management_before_after .ba_arrow {
    width: 5rem;
    height: 3px;
    background: #5061FF;
    position: relative;
    margin-bottom: 4rem;
}

.plants_management_before_after .ba_arrow:after {
    content: "";
    position: absolute;
    border: solid #5061FF;
    width: 3rem;
    height: 3rem;
    transform: rotate(45deg);
    border-width: 3px 3px 0 0;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0.3rem;
}

.plants_management_before_after {
    margin-bottom: 4rem;
}

.plants_management_before_after+.plants_management_before_after {
    margin-top: 6rem;
}

.plants_management_before_after_note {
    font-size: 1.2rem;
    color: #6B6B6B;
}

section.page_image_fv.-recruit .image_bg {
    background-image: url(/assets/images/recruit_fv_image.jpg);
}

section.page_image_fv.-recruit .image_bg {
    background-image: url(/assets/images/recruit_fv_image.jpg);
}

.page_recruit_content>section {
    padding: 12rem 0;
}

.page_recruit_content>section:first-child {
    padding-top: 0;
}

.page_recruit_content>section#service {
    padding-top: 0;
}

.page_recruit_content>section#shinsotsu_staff {
    padding-top: 0;
}

.recruit_service_list ul li {
    width: 33%;
    align-items: center;
    margin-bottom: 1rem;
}

.recruit_service_list ul li .image {
    width: 9.6rem;
}

.recruit_service_list ul li .service_name {
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 2rem;
}

.page_recruit_content section#company {
    background: #F7F8FF;
}

.recruit_comapny_sec_info .content {
    width: 60%;
    padding-right: 15rem;
}

.recruit_comapny_sec_info .image {
    width: 40%;
    z-index: 2;
}

.recruit_comapny_sec_info {
    align-items: center;
}

.recruit_comapny_sec_info .content .label {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    margin-bottom: 1rem;
}

.recruit_comapny_sec_info .content .text {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 4rem;
}

.employment_list ul li {
    width: 47%;
    margin-bottom: 4rem;
}

.employment_list ul li a {
    display: flex;
}

.employment_list ul li .arrow::after {
    right: 3rem;
    background-image: url(/assets/images/arrow-b.svg);
    transition: .2s;
}

.employment_list ul li .lable {
    font-size: 1.6rem;
    font-weight: bold;
    color: #000;
    transition: .2s;
    position: absolute;
    left: 4rem;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
}

.employment_list {
    padding-left: 1rem;
}

.employment_list .lt_square:after {
    transition: .2s;
}

.recruit_merit_content .title {
    font-size: 1.8rem;
    font-weight: bold;
    padding-left: 1rem;
    border-left: 4px solid #5061FF;
    margin-bottom: 1rem;
}

.recruit_merit_content .text {
    font-size: 1.4rem;
    line-height: 2;
}

.sec_title+.recruit_merit_content {
    margin-bottom: 1.5rem;
}

.recruit_merit_list {
    padding: 6rem 0 0;
}

.recruit_merit_list ul li {
    border-bottom: 1px solid rgb(0 0 0 / 50%);
    padding: 3rem 0;
}

.recruit_merit_list ul li:first-child {
    border-top: 1px solid rgb(0 0 0 / 50%);
}

.page_recruit_content section#flow {
    background: #F5F5F5;
}

.recruit_flow_list ul li {
    background: #fff;
    padding: 2rem 4rem;
    align-items: center;
}

.recruit_flow_list ul li+li {
    margin-top: 4rem;
    position: relative;
}

.recruit_flow_list ul li .step_num {
    width: 9rem;
    height: 9rem;
    color: #fff;
    background: #5061FF;
    border-radius: 4.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.recruit_flow_list ul li .step_num .step {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
}

.recruit_flow_list ul li .step_num .num {
    font-size: 3.2rem;
    line-height: 1;
}

.recruit_flow_list ul li .content {
    width: calc(100% - 9rem);
    padding-left: 4rem;
}

.recruit_flow_list ul li .content.center {
    text-align: center;
    padding-right: 13rem;
}

.recruit_flow_list ul li .content .flow_title {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.recruit_flow_list ul li .content .flow_text {
    font-size: 1.25rem;
    margin-top: 1rem;
}

.recruit_flow_list ul li+li:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    border: solid #343A95;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -3.2rem;
}

.cat_list {
    margin-bottom: 6rem;
    align-items: center;
}

.cat_list li.label {
    font-size: 1.4rem;
    margin-right: 2rem;
}

.cat_list li a {
    display: block;
    background: #F5F5F5;
    padding: 0.2em 1em;
    border-radius: 5px;
    color: #000;
    font-weight: 500;
    transition: .2s;
}

.cat_list li+li {
    margin-left: 0.5rem;
}

.blog_list ul li {
    width: 45%;
    margin-bottom: 6rem;
}

.blog_list {
    padding-left: 1rem;
}

.blog_list ul li .image img {
    aspect-ratio: 430/280;
    object-fit: cover;
}

.blog_list ul li .blog_info {
    background: #fff;
    margin-right: 3rem;
    margin-top: -2rem;
    padding-left: 1.5rem;
}

.blog_list ul li .blog_info .cat {
    background: #000;
    color: #fff;
    display: table;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0 2rem;
    position: relative;
    top: -1rem;
    transition: .2s;
}

.blog_list ul li .blog_title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
}

.blog_list ul li a {
    color: #000;
    transition: .2s;
}

.blog_list ul li .date {
    font-size: 1.2rem;
    color: #6B6B6B;
    transition: .2s;
}

.blog_list .lt_square:after {
    transition: .2s;
}

.page_content-wrap .news_inner .blog_image {
    margin-bottom: 4rem;
}

.page_contact_area_content p.leadtxt {
    display: table;
    margin-bottom: 4rem;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    border-bottom: 2px solid;
}

.page_contact_area_content .gray-base {
    background: #F5F5F5;
    padding: 2rem 4rem;
    margin-bottom: 4rem;
}

.page_contact_area_content .gray-base .bold {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

.page_contact_area_content .gray-base ul {
    font-weight: 500;
    color: #6B6B6B;
}

.page_contact_area_content .gray-base ul li {
    list-style: disc;
    margin-left: 1.5em;
}

.page_contact_area_content .gray-base ul li+li {
    margin-top: 0.2em;
}

.page_contact_area_content .gray-base .set+.set {
    margin-top: 1rem;
}

.page_contact_area_content p.leadtxt {
    display: table;
    margin-bottom: 4rem;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    border-bottom: 2px solid;
}

.page_contact_area_content .gray-base {
    background: #F5F5F5;
    padding: 2rem 4rem;
    margin-bottom: 4rem;
}

.page_contact_area_content .gray-base .bold {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

.page_contact_area_content .gray-base ul {
    font-weight: 500;
    color: #6B6B6B;
}

.page_contact_area_content .gray-base ul li {
    list-style: disc;
    margin-left: 1.5em;
}

.page_contact_area_content .gray-base ul li+li {
    margin-top: 0.2em;
}

.page_contact_area_content .gray-base .set+.set {
    margin-top: 1rem;
}

.page_contact_area_content form table th,
.page_contact_area_content form table td {
    padding: 4rem 0;
    border: 1px solid #E2E2E3;
    border-width: 1px 0;
}

.page_contact_area_content form table th {
    font-size: 1.4rem;
    font-weight: bold;
    width: 30rem;
    position: relative;
    padding-top: 4.5rem;
}

.page_contact_area_content form table th.mast:before {
    content: "必須";
    position: absolute;
    right: 2rem;
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    padding: 0.2em 0.6em;
}

.page_contact_area_content form table th p {
    font-size: 1.35rem;
    font-weight: 500;
    margin-top: 0.5rem;
}

.page_contact_area_content form table td input[type=text],
.page_contact_area_content form table td textarea {
    border-width: 0 0 1px;
    background: #F5F5F5;
    padding: 1em;
    border-color: #CCCCCC;
}

.page_contact_area_content form table td input[type=text]:focus,
.page_contact_area_content form table td textarea:focus {
    background-color: #F7F8FF;
    border-color: #5061FF;
}

.page_contact_area_content .input-radio {
    font-size: 1.4rem;
    line-height: 2;
    padding-left: 30px;
}

.page_contact_area_content .input-radio input {
    display: none;
}

.page_contact_area_content .input-radio label::before {
    width: 20px;
    height: 20px;
    border-color: #ccc;
}

.page_contact_area_content .input-radio a {
    color: #5061FF;
    font-weight: bold;
    text-decoration: underline;
}

.page_contact_area_content .input-radio label::after {
    width: 20px;
    height: 20px;
    top: 7px;
    left: 0;
    background: no-repeat;
}

.page_contact_area_content .input-radio input[type=radio]:checked+label:after {
    background: no-repeat;
    border: 6px solid #5061FF;
}

label {}

.page_contact_area_content .input-radio {
    font-size: 1.4rem;
    line-height: 2;
    padding-left: 30px;
}

.page_contact_area_content .input-radio input {
    display: none;
}

.page_contact_area_content .input-radio label::before {
    width: 20px;
    height: 20px;
    border-color: #ccc;
}

.page_contact_area_content .input-radio a {
    color: #5061FF;
    font-weight: bold;
    text-decoration: underline;
}

.page_contact_area_content .input-radio label::after {
    width: 20px;
    height: 20px;
    top: 7px;
    left: 0;
    background: no-repeat;
}

.page_contact_area_content .input-radio input[type=radio]:checked+label:after {
    background: no-repeat;
    border: 6px solid #5061FF;
}

.page_contact_area_content form table td .flex {
    align-items: center;
}

.page_contact_area_content form table td .flex+.flex {
    margin-top: 1.5rem;
}

.page_contact_area_content form table td .flex .input_label {
    font-size: 1.4rem;
    width: 10rem;
    font-weight: 500;
}

.page_contact_area_content form table td input[name="address"] {
    width: 60rem;
}

.page_contact_area_content form table td .inline-group .inline+.inline {
    margin-top: 1rem;
}

.page_contact_area_content form table td input[type="file" i]::-webkit-file-upload-button {
    border: none;
    font-weight: 500;
    text-decoration: underline;
    padding: 0.5em 2em;
    color: #000;
    margin-right: 1em;
}

.page_contact_area_content .last-check {
    background: #F5F5F5;
    margin: 4rem 20rem;
    display: flex;
    justify-content: center;
    padding: 4rem 0 6rem;
}

.page_contact_area_content .last-check label {
    font-size: 1.4rem;
    font-weight: 500;
    margin-left: 1em;
}

.page_contact_area_content .last-check label .small {
    color: #6B6B6B;
    font-size: 1.25rem;
}

.page_contact_area_content .input-checkbox label::before {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border-color: #ccc;
}

.page_contact_area_content .input-checkbox input[type=checkbox]:checked+label:after {
    width: 9px;
    height: 12px;
    top: 13px;
    left: 6px;
}

.contact_submit .common-btn-link {
    width: 26rem;
    height: 5.8rem;
    margin: 0 auto;
    padding-left: 3rem;
}

.page_contact_area_content form table th.mast:before {
    display: none;
}

.page_contact_area.-confirm .page_contact_area_content form table th,
.page_contact_area.-confirm .page_contact_area_content form table td {
    padding: 2rem 0;
}

.page_contact_area.-confirm .page_contact_area_content form table td .error input,
.page_contact_area.-confirm .page_contact_area_content form table td .error textarea {
    background: #FEF1F2;
    border-color: #ED1C24;
}

.contact_thanks_text {
    text-align: center;
}

.contact_thanks_text p.maintext {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.contact_thanks_text p.leadtxt {
    font-size: 1.4rem;
    line-height: 2;
}

.contact_thanks_text .top_back {
    width: 26rem;
    height: 5.8rem;
    margin: 0 auto;
    margin-top: 6rem;
}

.site_map_content a {
    font-weight: 500;
    color: #000;
    text-decoration: underline;
    line-height: 1.3;
    display: inline-block;
    font-size: 1.4rem;
}

.site_map_content .sitemap_block {
    width: 46%;
    border-top: 1px solid #E0E0E0;
    padding: 3rem 0;
}

.site_map_content .sitemap_flex {
    margin-top: 2rem;
}

.site_map_content .sitemap_label {
    color: #6B6B6B;
    font-weight: bold;
    font-size: 1.4rem;
    border-left: 2px solid #6B6B6B;
    padding-left: 1em;
    margin-bottom: 2rem;
}

.site_map_content .sitemap_item ul li+li {
    margin-top: 0.5rem;
}

.site_map_content .sitemap_item ul li.child {
    padding-left: 3rem;
}

.site_map_content .sitemap_box.-label_under {
    padding-left: 1.5rem;
}

.site_map_content .sitemap_item ul+ul {
    margin-top: 2rem;
}

.site_map_content .sitemap_box+.sitemap_box {
    border-top: 1px solid #E0E0E0;
    margin-top: 3rem;
    padding-top: 3rem;
}

.cat_list.-works ul li {
    width: calc(25% - 10px);
}

.cat_list.-works ul li+li {
    margin: 0;
}

.cat_list.-works ul li a {
    text-align: center;
    border-radius: 0;
    font-size: 1.4rem;
    font-weight: bold;
    color: #5061FF;
    padding: 1rem;
    border-bottom: 1px solid #5061FF;
}

li.works_modal_btn .hidden_text {
    display: none;
}

li.works_modal_btn {
    cursor: pointer;
}

div#works_modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    z-index: 1000;
    opacity: 0.7;
}

div#works_modal_content {
    position: fixed;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 100px;
    background: #fff;
    z-index: 1001;
    width: 66%;
    margin: 0 auto;
    padding: 3rem 4rem;
    display: none;
}

.staff_modal_content {
    position: fixed;
    top: 150px;
    left: 0;
    right: 0;
    bottom: 150px;
    background: #fff;
    z-index: 1001;
    width: 66%;
    margin: 0 auto;
    display: none;
}

div#works_modal_close,
.works_modal_close {
    position: absolute;
    background: #5061FF;
    width: 4.2rem;
    height: 4.2rem;
    right: -2.1rem;
    top: -2.1rem;
    cursor: pointer;
}

div#works_modal_close:before,
div#works_modal_close:after,
.works_modal_close:before,
.works_modal_close:after {
    content: "";
    width: 50%;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

div#works_modal_close:before,
.works_modal_close:before {
    transform: rotate(45deg);
}

div#works_modal_close:after,
.works_modal_close:after {
    transform: rotate(-45deg);
}

div#works_modal_content,
div#works_modal_bg {
    display: none;
}

div#works_modal_content .modal_inner {
    height: 100%;
    overflow-y: scroll;
}

div#works_modal_content .modal_inner .image {
    text-align: center;
}

div#works_modal_content .modal_inner .image img {
    aspect-ratio: 763 / 513;
    object-fit: cover;
    width: auto;
    height: calc(100vh - 200px - 18rem);
}

div#works_modal_content .cat {
    display: table;
    margin: 2rem auto 1rem;
    background: #000;
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0.3em 4em;
}

div#works_modal_content .textarea {
    font-size: 1.4rem;
    font-weight: 500;
    padding: 0 2em;
    line-height: 2;
    text-align: center;
}

.page_company_content>section {
    padding: 12rem 0;
}

.company_duc_slider ul li {
    width: 32rem;
    box-shadow: 16px 16px 32px rgb(0 0 0 / 30%);
    margin: 0 3rem;
    cursor: pointer;
}

.page_company_content section#philosophy {
    position: relative;
}

.page_company_content section#philosophy:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: calc(100%);
    height: auto;
    background: #F7F8FF;
    z-index: -1;
}

.page_company_content section#philosophy .philosophy_text {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 2;
    margin-bottom: 4rem;
}

.page_company_content section#philosophy .slogan_area .title {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    display: table;
    border-bottom: 1px solid;
    margin-bottom: 2rem;
}

.page_company_content section#philosophy .slogan_area .text {
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin-bottom: 4rem;
}

.page_company_content section#philosophy .content_container {
    width: 75rem;
}

.page_company_content section#philosophy .doc_image {
    width: 100%;
    text-align: center;
}

.page_company_content section#philosophy .doc_image img {
    width: 75rem;
}

.page_company_content section#philosophy .inner {
    justify-content: center;
}

.page_company_content section#philosophy .doc_image img {
    box-shadow: 8px 8px 15px rgb(0 0 0 / 20%);
}

.overview_table th,
.overview_table td {
    border-bottom: 1px solid #E0E0E0;
    padding: 1rem 0;
    font-size: 1.4rem;
    font-weight: 500;
}

.overview_table th {
    color: #6B6B6B;
}

.overview_table {
    margin-bottom: 4rem;
}

.overview_table tr:last-child th,
.overview_table tr:last-child td {
    border: none;
}

.page_company_content section#overview {
    position: relative;
}

.page_company_content section#overview:before {
    content: "";
    position: absolute;
    right: 0;
    top: 12rem;
    bottom: 16rem;
    width: 30%;
    height: auto;
    background: #F5F5F5;
    z-index: -1;
}

.page_company_content section#overview .main_office_map {
    height: 35rem;
    padding: 0 4rem;
    margin-bottom: 8rem;
}

.map_lists ul li {
    width: 100%;
    padding: 2rem 0 2rem 14rem;
    align-items: center;
    border-bottom: 1px solid rgb(0 0 0 / 25%);
}

.map_lists ul li .map_frame {
    height: 50rem;
    margin-bottom: 2rem;
}

.map_lists ul li .map_frame iframe {
    width: 100%;
    height: 100%;
}

.map_lists ul li .office_info .branch_name {
    display: table;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    border-bottom: 2px solid;
    margin-bottom: 2rem;
}

.map_lists ul li .office_info table th,
.map_lists ul li .office_info table td {
    padding: 1rem 0;
    border-bottom: 1px solid #E0E0E0;
    font-size: 1.4rem;
}

.map_lists ul li .office_info table th {
    color: #6B6B6B;
}

.map_lists ul li .office_info table tr:last-child th,
.map_lists ul li .office_info table tr:last-child td {
    border: none;
}

.other_office_map {
    padding-top: 6rem;
}

.other_office_map h3 {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgb(0 0 0 / 25%);
}

.map_lists ul li .branch_name {
    width: 16rem;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.map_lists ul li .branch_name span {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.map_lists ul li .office_info {
    font-size: 1.5rem;
}

.map_lists ul li .office_info a {
    color: #5061ff;
    text-decoration: underline;
}

.map_lists ul li .office_info span {
    text-decoration: underline;
}

.page_company_content section#qualifications {
    background: #F5F5F5;
}

.page_company_content section#qualifications h3 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-left: 3px solid #5061FF;
    padding-left: 1em;
    margin: 4.5rem 0 1rem;
}

.page_company_content section#qualifications h3:first-child {
    margin-top: 0;
}

.qualifications_block ul li {
    border-bottom: 1px solid #E0E0E0;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 1rem 0;
}

.page_company_content section#qualifications .date {
    display: table;
    font-weight: 500;
    border: 1px solid;
    padding: 0.5rem 2rem;
    margin-left: auto;
}

.qualifications_block ul li:last-child {
    border-bottom: none;
}

.qualifications_block {
    margin-bottom: 0;
}

.qualifications_member {
    padding-top: 6rem;
}

.qualifications_member_block {
    width: 30%;
}

.qualifications_member_block ul li {
    font-weight: 500;
    font-size: 1.4rem;
    padding: 1rem 0;
    border-bottom: 1px solid #E0E0E0;
}

.qualifications_member_block ul li.label {
    color: #6B6B6B;
    border: none;
}

.qualifications_member_block ul li.border_none {
    border: none;
}

.qualifications_member_block ul+ul {
    margin-top: 2rem;
}

.qualifications_member_block.-pdadding_top {
    padding-top: 3.8rem;
}

.qualifications_member_block.-pdadding_top .date {
    margin-top: 12rem;
}

.page_company_content section#history .inner {
    width: 55vw;
}

.history_content dl dt {
    font-size: 1.6rem;
    position: relative;
    width: 17rem;
    border-bottom: 1px solid #BABABA;
}

.history_content dl {
    align-items: flex-start;
}

.history_content dl dd {
    width: calc(100% - 17rem);
}

.history_content dl dd .m_content {
    border-bottom: 1px solid #BABABA;
    font-size: 1.4rem;
    line-height: 1.83;
    font-weight: 500;
}

.history_content dl dt,
.history_content dl dd .m_content {
    padding: 0.5rem 0;
}

.history_content dl dt:after {
    content: "";
    position: absolute;
    width: 10rem;
    height: 1px;
    background: #000000;
    left: 0;
    bottom: -1px;
}

.history_content dl dd .m_content .m {
    color: #6B6B6B;
    width: 5rem;
}

.page_company_content section#organization {
    background: #EDEFFF;
}

.page_company_content section#organization .inner {
    width: 55vw;
}

.company_message_flex .image {
    width: 27rem;
}

.company_message_flex .message_content {
    width: calc(100% - 27rem);
    padding-left: 6rem;
}

.company_message_flex .message_content .sec_title {
    margin-bottom: 6rem;
}

.company_message_flex .message_content .message_text {
    font-size: 1.8rem;
    line-height: 2;
}

.page_company_content section#message {
    position: relative;
}

.page_company_content section#message:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    background: #F5F5F5;
    width: 78%;
    height: 34rem;
    z-index: -1;
}

.company_duc_slider {
    width: 152rem;
    margin: 0 auto;
}

.company_duc_slider .slick-list {
    overflow: inherit;
}

.company_duc_slider ul.slick-dots {
    bottom: -50px;
}

.company_duc_slider ul.slick-dots li {
    width: 8px;
    margin: 0 6px;
    height: 8px;
}

.company_duc_slider ul.slick-dots li button {
    background: #E0E0E0;
    width: 100%;
    height: 100%;
    transition: .2s;
}

.company_duc_slider ul.slick-dots li button:before {
    display: none;
}

.company_duc_slider ul.slick-dots li.slick-active button {
    background: #5061FF;
}

.company_duc_slider .slick-prev,
.company_duc_slider .slick-next {
    width: 4.6rem;
    height: 4.6rem;
    background: #5061FF;
    z-index: 2;
}

.company_duc_slider .slick-prev:before,
.company_duc_slider .slick-next:before {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    border: solid #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
}

.company_duc_slider .slick-prev:before {
    border-width: 0 0 2px 2px;
    left: 0.4rem;
}

.company_duc_slider .slick-next:before {
    border-width: 2px 2px 0 0;
    right: 0.4rem;
}

.company_duc_slider .slick-prev {
    left: 29rem;
}

.company_duc_slider .slick-next {
    right: 35rem;
}

.page_training_center_content>section {
    padding: 12rem 0;
}

.page_training_center_content section#training_center_fv {
    padding-top: 0;
    position: relative;
}

.page_training_center_content section#training_center_fv:after {
    content: "";
    position: absolute;
    width: 100%;
    background: #F5F5F5;
    z-index: -1;
    top: 3.5rem;
    bottom: 0;
}

section#training_center_fv .image,
section#training_center_fv .content {
    width: 50%;
}

section#training_center_fv .content {
    padding-left: 6rem;
}

section#training_center_fv .content .catch {
    font-size: 2rem;
    line-height: 2;
    font-weight: bold;
    margin-bottom: 6rem;
}

section#training_center_fv .content .text {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 4rem;
}

.page_training_center_content section#training_center_fv .movie {
    aspect-ratio: 16/9;
    margin-top: 5rem;
}

.page_training_center_content section#training_center_fv .movie iframe {
    max-height: 100% !important;
}

.page_training_center_content .sec_title h2 {
    display: table;
    border-bottom: 2px solid;
    font-size: 2.4rem;
}

.training_list ul li {
    width: 32%;
    align-items: center;
    margin-bottom: 4rem;
}

.training_list ul {
    justify-content: space-between;
}

.training_list ul li .icon {
    width: 8rem;
}

.training_list ul li .text {
    font-size: 1.4rem;
    font-weight: 500;
    padding-left: 1em;
}

.page_training_center_content>section#floor_guide {
    background: #F7F8FF;
}

.floor_guide_tab {
    width: 16rem;
    background: #fff;
    position: relative;
    z-index: 50;
    margin-top: 6rem;
}

.floor_guide_tab ul li {
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0.5rem 1.5rem;
    letter-spacing: 0.15em;
    cursor: pointer;
}

.floor_guide_tab ul li.active {
    background: #5061FF;
    color: #fff;
    cursor: inherit;
}

.floor_guide_tab ul li:after {
    right: 1em;
    width: 2rem;
    background-position: right center;
    background-image: url(/assets/images/arrow-b.svg);
}

.floor_guide_tab ul li.active:after {
    opacity: 0;
}

.floor_guide_content {
    margin-top: -30rem;
    position: relative;
}

.floor_guide_map {
    padding: 0 6rem 0 30rem;
    margin-bottom: 4rem;
}

.floor_guide_text {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 4rem;
}

.floor_guide_images .slick-slide {
    margin: 0 3rem;
}

.floor_guide_images .slick-track {
    margin-left: -3rem;
}

.floor_guide_images .image {
    margin-bottom: 1rem;
}

.floor_guide_images .area_name {
    font-size: 1.4rem;
    font-weight: 500;
}

.floor_guide_content>ul>li {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: .2s;
    z-index: 10;
    width: 100%;
}

.floor_guide_content>ul>li:first-child {
    position: relative;
}

.floor_guide_content>ul>li.show {
    opacity: 1;
    z-index: 20;
}

.floor_guide_images .slick-prev,
.floor_guide_images .slick-next {
    width: 4.6rem;
    height: 4.6rem;
    background: #5061FF;
    z-index: 2;
}

.floor_guide_images .slick-prev:before,
.floor_guide_images .slick-next:before {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    border: solid #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
}

.floor_guide_images .slick-prev:before {
    border-width: 0 0 2px 2px;
    left: 0.4rem;
}

.floor_guide_images .slick-next:before {
    border-width: 2px 2px 0 0;
    right: 0.4rem;
}

.floor_guide_images {
    width: calc(100% + 6rem);
}

.floor_guide_images .slick-next {
    right: 3.5rem;
}

section.page_image_fv.-sdgs .image_bg {
    background-image: url(/assets/images/sdga_fv_image.jpg);
}

.sdgs_topic {
    margin-top: 4rem;
    padding-top: 4rem;
    border: solid #E0E0E0;
    border-width: 1px 0;
    padding-bottom: 4rem;
}

.sdgs_topic .image {
    width: 34rem;
}

.sdgs_topic .content {
    width: calc(100% - 34rem);
    padding-left: 4rem;
}

.sdgs_topic .content .title {
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 1rem;
}

.sdgs_topic .text {
    font-size: 1.4rem;
}

.page_service_content.-sdgs .tab_btns ul li {
    width: 33%;
}

.tab_content.-sdgs_type01 h2 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-left: 3px solid #5061FF;
    padding-left: 1em;
    margin: 6rem 0 1.5rem;
}

.tab_content.-sdgs_type01 h2:first-child {
    margin-top: 0;
}

.tab_content.-sdgs_type01 p {
    line-height: 2;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 4rem;
}

.tab_content.-sdgs_type01 h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 2rem 0 1rem;
    letter-spacing: 0.1em;
}

.tab_content.-sdgs_type01 ul.list_stype li {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 2;
    padding-left: 2em;
    position: relative;
}

.tab_content.-sdgs_type01 ul.list_stype li:before {
    content: "";
    width: 1em;
    height: 2px;
    background: #5061FF;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.tab_content.-sdgs_type01 p b {
    font-size: 1.5rem;
}

.tab_content.-sdgs_type01 .list_image {
    margin-bottom: 6rem;
    justify-content: center;
    align-items: center;
}

.tab_content.-sdgs_type01 .list_image>div {
    max-height: 30rem;
    height: 30rem;
    margin: 0 3rem;
    text-align: center;
    max-width: 30rem;
}

.tab_content.-sdgs_type01 .list_image>div.-small {
    max-width: 20rem;
    max-height: 20rem;
}

.tab_content.-sdgs_type01 .list_image>div img {
    height: 100%;
    width: auto;
    max-height: 100%;
    object-fit: contain;
}

.tab_content.-sdgs_type02 .scroll_link>div {
    width: 30%;
}

.tab_content.-sdgs_type02 .scroll_link>div a {
    color: #5061FF;
    align-items: center;
    border-bottom: 1px solid;
    padding-bottom: 1rem;
}

.tab_content.-sdgs_type02 .scroll_link>div a .en {
    font-size: 2.4rem;
}

.tab_content.-sdgs_type02 .scroll_link>div a .jp {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-left: 1em;
}

.tab_content.-sdgs_type02 .scroll_link {
    margin-bottom: 6rem;
}

.sdgs_sec_title {
    border-bottom: 1px solid;
    align-items: center;
    margin-bottom: 4rem;
    padding-bottom: 1rem;
}

.sdgs_sec_title .en {
    font-size: 5.2rem;
}

.sdgs_sec_title .jp {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-left: 1em;
}

.tab_content.-sdgs_type02 section {
    margin-top: 6rem;
}

.tab_content.-sdgs_type02 .title_number {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 4rem 0 2rem;
}

.tab_content.-sdgs_type02 .title_number span {
    color: #5061FF;
}

.sdgs_type03_head .icon {
    width: 18rem;
}

.sdgs_type03_head {
    align-items: center;
    margin-bottom: 4rem;
    margin-top: 6rem;
}

.sdgs_type03_head .content {
    width: calc(100% - 18rem);
    padding-left: 4rem;
}

.sdgs_type03_head .content .title {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    border-left: 4px solid #5061FF;
    padding-left: 1em;
    margin-bottom: 2rem;
}

.sdgs_type03_head .content .text {
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
}

.doc_links li a {
    padding: 1rem 0;
    align-items: center;
    color: #000;
    font-size: 1.5rem;
    border-bottom: 1px solid #E0E0E0;
}

.doc_links li a .date {
    color: #6B6B6B;
    width: 12rem;
}

.doc_links li a .icon {
    width: 2rem;
}

.doc_links li a .doc_name {
    width: calc(100% - 20rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 4rem;
}

.doc_links li:last-child a {
    border: none;
}

.sdgs_type03_head:first-child {
    margin-top: 0;
}

section#shinsotsu_fv .fv_image {
    width: 64%;
    position: relative;
    background-image: url(/assets/images/shinsotsu_fv.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 0 0 60px 0;
}

section#shinsotsu_fv .fv_message {
    width: 26%;
    padding-top: 20rem;
    padding-left: 4rem;
}

section#shinsotsu_fv {
    display: flex;
}

section#shinsotsu_fv .fv_message .fv_title .en {
    font-size: 3.2rem;
}

section#shinsotsu_fv .fv_message .fv_title .jp {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-left: 1em;
}

section#shinsotsu_fv .fv_message .title_head {
    align-items: center;
}

section#shinsotsu_fv .fv_message .fv_title h1 {
    display: table;
    font-size: 5.8rem;
    letter-spacing: 0.15em;
    border-bottom: 2px solid;
    line-height: 1.5;
    padding-bottom: 1rem;
}

section#shinsotsu_fv .fv_message .fv_title {
    margin-bottom: 6rem;
}

section#shinsotsu_fv .fv_message .message .catch {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}

section#shinsotsu_fv .fv_message .message .text {
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
}

section#shinsotsu_fv .fv_image .fv_text {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    right: 4rem;
    font-weight: bold;
    font-size: 3.4rem;
    letter-spacing: 0.15em;
    line-height: 1.8;
    top: 12rem;
}

.page_shinsotsu_content>section {
    padding: 12rem 0;
}

h2.shinsotsu_h2 {
    display: table;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-bottom: 2px solid;
    padding-bottom: 1rem;
    margin-bottom: 4rem;
}

.page_shinsotsu_content section#shinsotsu_solution .content {
    width: 50%;
    padding-right: 12rem;
}

.page_shinsotsu_content section#shinsotsu_solution .image {
    width: 50%;
}

.page_shinsotsu_content section#shinsotsu_solution .content .catch {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.page_shinsotsu_content section#shinsotsu_solution .content .text {
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
    margin-bottom: 12rem;
}

.page_shinsotsu_content section#shinsotsu_solution {
    position: relative;
}

.page_shinsotsu_content section#shinsotsu_solution:after {
    content: "";
    position: absolute;
    background: #F5F5F5;
    width: 100%;
    bottom: 0;
    height: 46rem;
    z-index: -1;
}

.shinsotsu_about_flex ul li {
    width: 47%;
    text-align: center;
}

.shinsotsu_about_flex ul li a {
    color: #000;
}

.shinsotsu_about_flex ul li a .image {
    transition: .3s ease-out;
}

.shinsotsu_about_flex ul li .text {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 1rem;
}

.page_shinsotsu_content section#shinsotsu_about {
    position: relative;
}

.page_shinsotsu_content section#shinsotsu_about:after {
    content: "";
    position: absolute;
    width: 90%;
    left: 0;
    bottom: 0;
    background: #F7F8FF;
    height: 30rem;
    z-index: -1;
}

.shinsotsu_staff_list {
    width: 90rem;
    margin: 0 auto;
}

.shinsotsu_staff_list ul li {
    width: 25rem;
    height: 25rem;
    transition: .2s;
    box-shadow: 16px 16px 32px rgb(0 0 0 / 30%);
    position: relative;
    cursor: pointer;
    margin: 0 3rem;
}

.shinsotsu_staff_list .slick-list {
    overflow: inherit;
}

.shinsotsu_staff_list ul li .icon {
    margin: 0 auto 1rem;
}

.shinsotsu_staff_list ul li .icon img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
}

.shinsotsu_staff_list ul li .staff_type {
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-size: 1.6rem;
}

.shinsotsu_staff_list ul li .plus_mark {
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    background: #5061FF;
    right: 0.8rem;
    bottom: 0.8rem;
    border-radius: 2rem;
}

.shinsotsu_staff_list ul li .plus_mark:before,
.shinsotsu_staff_list ul li .plus_mark:after {
    content: "";
    position: absolute;
    width: 50%;
    height: 2px;
    background: #fff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border-radius: 1px;
}

.shinsotsu_staff_list ul li .plus_mark:after {
    transform: rotate(90deg);
}

.shinsotsu_step_list ul li {
    background: #F7F8FF;
    padding: 3rem;
    align-items: center;
}

.shinsotsu_step_list ul li+li {
    margin-top: 1rem;
}

.shinsotsu_step_list ul li .year {
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-right: 1px solid rgb(80 97 255 / 50%);
    padding-right: 4rem;
    margin-right: 4rem;
}

.shinsotsu_step_list ul li .year .en {
    font-size: 4.6rem;
}

.shinsotsu_step_list ul li .content {
    width: calc(100% - 20rem);
}

.shinsotsu_step_list ul li .content p {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding-left: 2.5em;
    position: relative;
}

.shinsotsu_step_list ul li .content p:before {
    content: "";
    position: absolute;
    width: 0.8em;
    height: 0.8em;
    background: #5061FF;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.shinsotsu_step_list ul li .content p+p {
    margin-top: 0.5rem;
}

.page_shinsotsu_content section#shinsotsu_jobarea {
    background: #F5F5F5;
}

.page_shinsotsu_content section#shinsotsu_jobarea .solution-btn.common-btn.mvUp.is-show {
    margin: 6rem auto 0;
}

.job_toggle dl dt {
    background: #F5F5F5;
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1rem 2rem;
    cursor: pointer;
}

.job_toggle dl dt:before,
.job_toggle dl dt:after {
    content: "";
    width: 2rem;
    height: 2px;
    background: #5061FF;
    right: 2rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.job_toggle dl dt:after {
    transform: rotate(90deg);
}

.job_toggle dl dd table {
    width: 100% !important;
}

.job_toggle dl dd table th,
.job_toggle dl dd table td {
    font-size: 1.4rem;
    padding: 3rem 0;
    border-bottom: 1px solid #E2E2E3;
}

.job_toggle dl dd table th {
    font-weight: bold;
    letter-spacing: 0.1em;
    width: 20rem !important;
}

.job_toggle dl dd table td {
    line-height: 2;
    width: auto !important;
}

.job_toggle dl+dl {
    margin-top: 1rem;
}

.job_toggle dl dd table tr:last-child th,
.job_toggle dl dd table tr:last-child td {
    border: none;
}

.job_toggle dl dd {
    display: none;
}

.page_shinsotsu_content section#shinsotsu_flow {
    background: #F7F8FF;
}

section#shinsotsu_others .other_btns ul li {
    width: 48%;
}

section#shinsotsu_others .other_btns ul li a {
    background: #F4F6FF;
    border: 1px solid #5061FF;
    align-items: center;
    padding: 4rem;
    height: 100%;
    transition: .2s;
}

section#shinsotsu_others .other_btns ul li.mynavi a {
    padding: 0 4rem;
    background: no-repeat;
}

section#shinsotsu_others .other_btns ul li a .icon {
    width: 6rem;
    margin-right: 4rem;
}

section#shinsotsu_others .other_btns ul li a .text {
    font-size: 1.6rem;
    font-weight: bold;
    color: #5061FF;
    letter-spacing: 0.1em;
}

section#shinsotsu_others .other_btns ul li a .arrow {
    margin-left: auto;
    margin-right: 3rem;
}

section#shinsotsu_others .other_btns {
    margin-bottom: 4rem;
}

section#shinsotsu_others .intern_bn a {
    display: flex;
    height: 20rem;
    background-image: url(/assets/images/intern_bn_bg.jpg);
    background-size: cover;
    background-position: center;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.job_toggle dl dt.opend:after {
    opacity: 0;
}

.page_seishain_content {
    padding-bottom: 12rem;
}

.job_keiyaku_about {
    margin-bottom: 4rem;
}

.job_keiyaku_about .title {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-left: 3px solid #5061FF;
    padding-left: 1em;
    margin-bottom: 1rem;
}

.job_keiyaku_about ul li {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin-left: 1em;
    list-style: initial;
    line-height: 2;
    font-weight: 500;
}

.page_skeiyaku_content>section {
    padding-bottom: 12rem;
}

div#works_modal_content .modal_inner .image.-company_doc {
    padding: 4rem 20%;
    background-color: #f5f5f5;
}

.blog_list ul li.empty_text {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
}

.staff_modal_content .staff_content_main {
    padding: 4rem 4rem 0;
    height: calc(100% - 6rem);
}

.staff_modal_content .staff_content_main .staff_info {
    width: 45%;
    height: 100%;
    overflow-y: scroll;
    padding-bottom: 4rem;
}

.staff_modal_content .staff_content_main .staff_info .icon {
    background: #F7F8FF;
    margin-bottom: 2rem;
    text-align: center;
}

.staff_modal_content .staff_content_main .staff_info .icon img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.staff_modal_content .staff_content_main .staff_info .staff_name {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.staff_modal_content .staff_content_main .staff_info .staff_data dl+dl {
    margin-top: 0.5rem;
}

.staff_modal_content .staff_content_main .staff_info .staff_data dl dt {
    background: #f5f5f5;
    width: 7.5rem;
    text-align: center;
    margin-right: 1rem;
}

.staff_modal_content .staff_content_main .staff_info .staff_data dl {
    font-size: 1.25rem;
    font-weight: bold;
}

.staff_modal_content .staff_content_main .staff_interview {
    width: 55%;
    padding-left: 4rem;
    height: 100%;
    overflow-y: scroll;
    padding-bottom: 4rem;
}

.staff_modal_content .staff_content_main .staff_interview .label {
    border-left: 4px solid #5061FF;
    font-weight: bold;
    font-size: 1.5rem;
    padding-left: 1em;
    margin: 2rem 0 1rem;
}

.staff_modal_content .staff_content_main .staff_interview .label:first-child {
    margin-top: 0;
}

.staff_modal_content .staff_content_main .staff_interview .text {
    font-weight: bold;
    font-size: 1.1rem;
}

.staff_modal_content .staff_content_main .staff_interview .text b {
    font-size: 1.25rem;
    display: inline-block;
    margin-bottom: 0.5em;
}

.staff_modal_content .staff_modal_contact .btn_flex {
    width: 50%;
}

.staff_modal_content .staff_modal_contact .btn_flex a {
    height: 6rem;
    align-items: center;
    background: #5061FF;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 8rem 0 4rem;
    transition: .2s;
}

.staff_modal_content .staff_modal_contact .btn_flex a .icon {
    width: 3rem;
}

.staff_modal_content .staff_modal_contact .btn_flex a .arrow::after {
    background-image: url(/assets/images/arrow-w.svg);
}

section#shinsotsu_message {
    background: #F7F8FF;
}

section#shinsotsu_message .image {
    width: 30rem;
}

section#shinsotsu_message .content {
    width: calc(100% - 34rem);
}

section#shinsotsu_message .content p {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
}

section#shinsotsu_message .content p+p {
    margin-top: 2em;
}

.cat_list li.active a {
    color: #5061FF;
}

div#works_modal_content .textarea .common-btn {
    margin: 4rem auto 0;
}

.sdgs_content {
    margin-bottom: 4rem;
}

.sdgs_content .content .catch {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.sdgs_content .content .text {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 2;
}

.sdgs_content.-typeA .image {
    width: 28rem;
}

.sdgs_content.-typeA .content {
    width: calc(100% - 28rem);
    padding-left: 4rem;
}

.sdgs_content.-typeB .content {
    margin-bottom: 2rem;
}

.sdgs_content.-typeB .flex_image {
    justify-content: center;
}

.sdgs_content.-typeB .flex_image li {
    width: 32%;
    margin: 0 0 2%;
}

.sdgs_content.-typeB .flex_image li:nth-child(3n+2) {
    margin: 0 2% 2%;
}

.sdgs_content.-typeC .content {
    margin-bottom: 2rem;
}

.sdgs_content ul.list_text li {
    width: 33%;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 2;
}

.sdgs_content ul.list_text {
    margin: 1rem 0 4rem;
}

.sdgs_content ul.list_text li:first-letter {
    color: #5061FF;
}

.hidden_link {
    display: none;
}

div#works_modal_link .common-btn {
    position: absolute;
    left: 0;
    bottom: -5rem;
    height: 5rem;
    width: 100%;
}

div#works_modal_link .common-btn a.common-btn-link {
    background: #5061ff;
    color: #fff;
    justify-content: center;
    padding-left: 0;
    align-items: center;
}

div#works_modal_link .common-btn a.common-btn-link:after {
    background-image: url(/assets/images/arrow-w.svg);
    position: static;
    margin: 0 0 0 2rem;
    display: block;
    transform: inherit;
}

div#works_modal_content .modal_inner .image.-company_doc img {
    aspect-ratio: inherit;
    height: auto;
}

.history_content table th,
.history_content table td {
    padding: 0.5rem 0;
    vertical-align: middle;
}

.history_content table th {
    font-size: 1.6rem;
    position: relative;
    width: 17rem;
    border-bottom: 1px solid #BABABA;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    position: relative;
}

.history_content table td:nth-child(2) {
    color: #6B6B6B;
    width: 5rem;
}

.history_content table td {
    border-bottom: 1px solid #BABABA;
    font-size: 1.4rem;
    line-height: 1.83;
    font-weight: 500;
}

.history_content table th:empty {
    border: none;
}

.history_content table th:after {
    content: "";
    position: absolute;
    width: 10rem;
    height: 1px;
    background: #000000;
    left: 0;
    bottom: -1px;
}

.history_content table th:empty:after {
    display: none;
}

.qualifications_member_block table th,
.qualifications_member_block table td {
    font-weight: 500;
    font-size: 1.4rem;
    padding: 1rem 0;
    border-bottom: 1px solid #E0E0E0;
}

.qualifications_member_block table td {
    text-align: right;
    text-align: right;
}

.qualifications_member_block table th,
.qualifications_member_block table td {
    font-weight: 500;
    font-size: 1.4rem;
    padding: 1rem 0;
    border-bottom: 1px solid #E0E0E0;
}

.qualifications_member_block table td {
    text-align: right;
    text-align: right;
}

.qualifications_member_block table th[colspan] {
    color: #6B6B6B;
    border: none;
    padding-top: 2rem;
    padding-bottom: 0;
}

.sdgs_content ul.list_text:empty {
    display: none;
}

.sitemap_item+.sitemap_item {
    margin-top: 2rem;
}

.header-r .header-btn.b-b {
    background: #ff3399;
}

.map_lists ul li .office_info a.tel {
    color: #000;
    pointer-events: none;
}

div#shinsotsu_step_modal {
    display: none;
    position: fixed;
    top: 10rem;
    left: 10rem;
    right: 10rem;
    bottom: 10rem;
    background: #fff;
    z-index: 1000;
}

div#shinsotsu_step_modal .image {
    width: 100%;
    height: 100%;
    overflow: scroll;
}

.shinsotsu_step_image {
    cursor: pointer;
}

.shinsotsu_step_image img {
    box-shadow: 8px 8px 15px rgb(0 0 0 / 20%);
}

.shinsotsu_staff_list .slick-arrow {
    width: 5rem;
    aspect-ratio: 1/1;
    min-width: 0;
    background: #5061FF;
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    z-index: 1;
    display: grid !important;
    place-content: center;
}

.shinsotsu_staff_list .slick-arrow.slick_prev {
    left: -1.5vw;
}

.shinsotsu_staff_list .slick-arrow.slick_next {
    right: 0.3vw;
}

.shinsotsu_staff_list .slick-arrow::before {
    content: "";
    width: 1.3rem;
    aspect-ratio: 1/1;
    min-width: 0;
    border: solid #fff;
    border-width: 2px 2px 0 0;
    rotate: 45deg;
    translate: -0.2rem 0;
}

.shinsotsu_staff_list .slick-arrow.slick_prev::before {
    border-width: 0 0 2px 2px;
    translate: 0.1rem 0;
}

.comapny-feature-img .movie {
    width: 100%;
    aspect-ratio: 139/87;
}

.comapny-feature-img .movie iframe {
    max-height: 100% !important;
}

.recruit_merit_content .text.-has_image {
    display: flex;
    gap: 20px;
}

.text.-has_image.recruit_merit_image_anshinanzenyuryomark .image {
    width: 220px;
}

.recruit_merit_sdgs_image_flex > div {
    width: 45%;
}

.recruit_merit_sdgs_image_flex {
    padding: 50px 10% 0;
    align-items: center;
}

.recruit_merit_sdgs_image_flex > div.wide {
    width: 70%;
    margin: 50px auto 30px;
}

.customerharassmentpolicy #wrapper #mainbody.multi-col .col:nth-of-type(1) {
    float: none;
    margin: auto;
}

.tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_no18nintei02 img {
    width: 35rem;
    height: auto;
}

.tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_no18nintei02 {
    height: auto;
}

@media (min-width: 768px) {

    #inquiry .btn-mail {
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
    }

    #inquiry .btn-mail:hover {
        opacity: .7;
    }

    .inner {
        min-width: 68rem;
    }

    .inner.-wide {
        min-width: 80rem;
    }

    .btn-hover.arrow:hover::after {
        background: url(/assets/images/arrow-w.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .btn-hover:hover {
        background: #5061ff;
        color: #fff;
    }

    .news-link:hover {
        color: #5061ff;
    }

    .news-link:hover::after {
        background: #5061ff;
    }

    .news-item-link:hover .news-text,
    .news-item-link:hover .news-date {
        color: #5061ff;
    }

    .tab:hover {
        opacity: 1;
        border-bottom: solid 1px #5061ff;
        color: #5061ff;
    }

    .service-link:hover {
        color: #fff;
        background: #5061ff;
    }

    .service-link:hover::after {
        filter: invert(1);
    }

    .panel-box {
        min-width: 68rem;
    }

    .service-img-link:hover::after {
        background: #5061ff;
    }

    .service-img-link:hover .service-img-text {
        background: #5061ff;
        color: #fff;
    }

    .service-img-link:hover .common-btn-link {
        background: #5061ff;
        color: #fff;
    }

    .service-img-link:hover .arrow::after {
        background: url(/assets/images/arrow-w.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    /* company-bottom */
    .company-item:hover .company-item-link {
        color: #5061ff;
    }

    .company-item:hover .company-item-img::before {
        background: #5061ff;
    }

    .company-item.arrow:hover::after {
        background: url(/assets/images/arrow-p.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    /* company-feature */
    .comapny-feature-item:hover .comapny-feature-img::after {
        background: #5061ff;
    }

    .comapny-feature-item:hover .comapny-feature-title,
    .comapny-feature-item:hover .comapny-feature-text,
    .comapny-feature-item:hover .comapny-feature-text-link {
        color: #5061ff;
    }

    .comapny-feature-item:hover .comapny-feature-text-link::after {
        background: #5061ff;
    }

    .company-r {
        min-width: 28rem;
    }

    .twoRows-link:hover .twoRows-img {
        filter: brightness(0.5);
    }

    .slide-blog-link:hover .blog-img::after,
    .slide-blog-link:hover .blog-tag,
    .slide-blog-link:hover .blog-text-link::after {
        background: #5061ff;
    }

    .slide-blog-link:hover .blog-text {
        color: #5061ff;
    }

    .slide-blog-link:hover .blog-text-link {
        color: #5061ff;
    }

    .swiper-button-next:hover:after {
        background: url(/assets/images/blog-arrow-r-p.svg);
        background-position: center;
        background-repeat: no-repeat;
    }

    .swiper-button-prev:hover:after {
        background: url(/assets/images/blog-arrow-l-p.svg);
        background-position: center;
        background-repeat: no-repeat;
    }

    .blog-link:hover::after {
        background: #5061ff;
    }

    .blog-inner {
        min-width: 72.4rem;
    }

    .contact-text-box {
        min-width: 28rem;
    }

    .contact-btn:hover {
        filter: brightness(0.7);
    }

    .news_list a:hover .title {
        color: #8894FF;
        text-decoration: underline;
    }

    .news_pager .news_page_nav .page_num a:hover {
        background: #525252;
    }

    .service_list a:hover .arrow::after {
        background-image: url(/assets/images/arrow-p.svg);
    }

    .service_list ul li a:hover .text {
        color: #5061FF;
    }

    .service_list .lt_square:hover:after {
        background: #5061FF;
    }

    .employment_list .lt_square:hover:after {
        background: #5061FF;
    }

    .employment_list ul li a:hover .lable {
        color: #5061FF;
    }

    .employment_list ul li a:hover .arrow::after {
        background-image: url(/assets/images/arrow-p.svg);
    }

    .cat_list li a:hover {
        color: #5061FF;
    }

    .blog_list ul li a:hover,
    .blog_list ul li:hover {
        color: #5061FF;
    }

    .blog_list ul li a:hover .lt_square::after,
    .blog_list ul li:hover .lt_square::after {
        background: #5061FF;
    }

    .blog_list ul li a:hover .date,
    .blog_list ul li:hover .date {
        color: #5061FF;
    }

    .blog_list ul li a:hover .blog_info .cat,
    .blog_list ul li:hover .blog_info .cat {
        background: #5061FF;
    }

    .shinsotsu_staff_list ul li:hover {
        background: #F1F2FF;
        color: #5061FF;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a:hover {
        opacity: 0.7;
    }

    .shinsotsu_about_flex ul li a:hover .image {
        filter: brightness(0.5);
    }

    section#shinsotsu_others .other_btns ul li a:hover {
        opacity: 0.7;
    }

}

@media only screen and (min-width:1270px) {
    #wrapper.top #mainbody {
        height: calc(46rem + (1007 - 765) * ((100vw - 1270px) / (1700 - 1270)));
    }
}

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

    header #pcmenu {
        width: 590px;
    }

    #wrapper.top #mainbody .inner1200 {
        /* height:600px; */
        height: 100%;
        width: 1005px;
        max-width: 1005px
    }

    .inner1110 {
        width: 1013px;
    }

    .blue_p {
        width: 97%
    }
}

@media only screen and (min-width:1440px) {
    .slide {
        height: 170%;
    }

    .btn_job {
        width: 33%;
    }

    .btn_job_sh {
        width: 28%;
        left: 5%;
    }

    .btn_icon {
        width: 19%;
    }

    .btn_icon_sh {
        width: 23%;
    }

    .blue_p_p {
        width: 63%;
        position: absolute;
        top: 0;
        /* left: 0; */
    }

    .wh_p {
        width: 55%;
        position: absolute;
        top: 2%;
        /* left: 0%; */
    }

    .btn_build {
        top: 15.5%;
    }

    .btn_setsubi {
        top: 23.7%;
    }

    .btn_keibi {
        top: 32%;
    }

    .btn_seibi {
        top: 40.3%;
    }

    .btn_ppp {
        top: 48.6%;
    }

    .btn_kensyu {
        top: 56.9%;
    }

    .btn_sdgs {
        top: 65%;
    }

    .btn_hoiku {
        top: 73.2%;
    }

    .kojin {
        top: 81.2%;
        width: 33%;
    }

    #wrapper.top #mainbody #whatsnew {
        /* height: 592px !important; */
        height: 70%;
        width: 18%;

    }

    #wrapper.top #mainbody #whatsnew ul {
        /* height: 502px !important; */
        height: 60%;
    }

    .btn_p {
        /* height: 2.3em; */
        width: 42%;
        margin-left: 2%;
        margin-bottom: 5%;
    }

    .btn_p_2 {
        /* height: 3em; */
        width: 62%;
        margin-left: 2%;
        margin-bottom: 3%;
    }

    .btn_ppp .btn_p_2 {
        width: 51%;
    }

    .btn_kensyu .btn_p {
        /* height: 3.4em; */
        width: 69%;
    }

    .btn_sdgs .btn_p {
        width: 22%;
    }

    .btn_setsubi .btn_p {
        /* height: 4.2em; */
        width: 64%;
    }

    .btn_hoiku .btn_p {
        width: 73%;
    }

    .btn_build .btn_p {
        width: 74%;
        margin-bottom: 4%;
    }

    /* .p_bl_kojin, .p_wh_kojin{
    height: 5.2em;
    margin: 5px 0.1em 5px;
  }   */


}

@media only screen and (min-width:1500px) {
    #wrapper.top #mainbody .inner1200 {
        /* height:600px; */
        height: 100%;
        width: calc(68.75rem + (1450 - 1100) * ((100vw - 1500px) / (2000 - 1500)));
        max-width: calc(68.75rem + (1450 - 1100) * ((100vw - 1500px) / (2000 - 1500)));
    }

    .inner1110 {
        width: calc(69.375rem + (1450 - 1110) * ((100vw - 1500px) / (2000 - 1500)));
    }
}

@media only screen and (min-width:1700px) {
    .anniversary_50 {
        width: 5em;
    }

}

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

    header #pcmenu {
        width: 830px;
    }

    .btn_job {
        width: 33.5%;
    }

    .btn_job_sh {
        width: 28.5%;
        left: 5%;
    }

    .btn_icon {
        width: 19%;
    }

    .btn_icon_sh {
        width: 22%;
    }

    /* .blue_p{
    width: 133em;
  } */
    .blue_p_p {
        width: 63%;
        position: absolute;
        top: 0;
        /* left: 0; */
    }

    .wh_p {
        width: 60%;
        position: absolute;
        top: 1.5%;
        /* left: 0%; */
    }

    .btn_build {
        top: 15%;
    }

    .btn_setsubi {
        top: 23.2%;
    }

    .btn_keibi {
        top: 31.35%;
    }

    .btn_seibi {
        top: 39.6%;
    }

    .btn_ppp {
        top: 47.8%;
    }

    .btn_kensyu {
        top: 55.8%;
    }

    .btn_sdgs {
        top: 64.2%;
    }

    .btn_hoiku {
        top: 72.4%;
    }

    .kojin {
        top: 80.5%;
        width: 33.5%;
    }

    #wrapper.top #mainbody #whatsnew {
        /* height: 780px !important; */
        width: 290px;
    }

    /* #wrapper.top #mainbody #whatsnew ul{ */
    /* height: 700px !important; */
    /* } */
    .btn_p {
        /* height: 2.3em; */
        width: 42%;
        margin-bottom: 4.5%;
    }

    .btn_p_2 {
        /* height: 3em; */
        width: 62%;
        margin-bottom: 2.5%;
    }

    .btn_ppp .btn_p_2 {
        width: 51%;
    }

    .btn_kensyu .btn_p {
        /* height: 3.4em; */
        width: 69%;
    }

    .btn_sdgs .btn_p {
        width: 22%;
    }

    .btn_setsubi .btn_p {
        /* height: 4.2em; */
        width: 64%;
    }

    .btn_hoiku .btn_p {
        width: 73%;
    }

    .btn_build .btn_p {
        width: 73%;
    }

    /* .p_bl_kojin, .p_wh_kojin{
    height: 6.7em;
    margin: 5px 0.1em 5px;
  }   */

    #wrapper.top #mainbody #whatsnew {
        height: 780px;
        width: 277px;
    }

    #wrapper.top #mainbody #whatsnew ul {
        height: 700px !important;
    }
}

@media only screen and (min-width: 1800px) {
    html {
        font-size: 70%;
    }
}

@media only screen and (min-width: 1900px) {
    .box div {
        margin: 0.35em 0;
    }

    .flexbox div {
        margin: 0.35em 0;
    }

    #logo {
        width: 36%;
    }

    .logojpn {
        width: 79%;
    }

}

@media only screen and (min-width:2001px) {
    #wrapper.top #mainbody .inner1200 {
        width: calc(87.5rem + (2000 - 1400) * ((100vw - 2001px) / (3000 - 2001)));
        max-width: calc(87.5rem + (2000 - 1400) * ((100vw - 2001px) / (3000 - 2001)));
    }

    .inner1110 {
        width: calc(91rem + (1659 - 1456) * ((100vw - 2001px) / (2999 - 2001)));
    }

    /* .blue_p{
    width: calc(119.4375rem + (2790 - 1911) * ((100vw - 2001px) / (3000 - 2001)));
  } */
    /* .p_bl_kojin, .p_wh_kojin{ */
    /* height: calc(6rem + (9 - 7) * ((100vw - 125.0625em) / (187.5 - 125.0625))); */
    /* }  */
    .btn_p {
        /* height: 2.3em; */
        width: 42%;
        margin-bottom: 5%;
    }

    .btn_p_2 {
        /* height: 3em; */
        width: 63%;
        margin-bottom: 2.5%;
    }

    .btn_kensyu .btn_p {
        /* height: 3.4em; */
        width: 69%;
    }

    .btn_setsubi .btn_p {
        /* height: 4.2em; */
        width: 64%;
    }

    .btn_hoiku .btn_p {
        width: 73%;
    }

    .btn_build .btn_p {
        width: 72%;
    }
}

@media only screen and (min-width: 2250px) {
    .inner1110 {
        width: 67%;
    }
}

@media only screen and (min-width:2301px) {
    #wrapper.top #mainbody {
        height: calc(83.125rem + (1907 - 1330) * ((100vw - 2301px) / (3301 - 2301)));
    }
}

@media only screen and (min-width: 2900px) {
    .inner1110 {
        width: 70%;
    }

    .float {
        zoom: 1.2;
    }

    #wrapper.top header #pcmenu {
        padding: 30px 0 0 0;
    }

    #logo {
        width: 36%;
    }

    .logojpn {
        width: 58%;
    }
}

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

    #wrapper.top #mainbody #whatsnew {
        height: 800px;
        width: 18%;
    }

    #wrapper.top #mainbody #whatsnew ul {
        height: 700px;
    }
}

@media only screen and (min-width:3301px) {
    #wrapper.top #mainbody {
        height: calc(119.125rem + (5700 - 1858) * ((100vw - 3301px) / (9999 - 3301)));
    }
}

@media only screen and (min-width: 3301px) {
    #wrapper.top #mainbody .inner1200 {
        width: calc(146.875rem + (7000 - 2350) * ((100vw - 3301px) / (9999 - 3301)));
        max-width: calc(146.875rem + (7000 - 2350) * ((100vw - 3301px) / (9999 - 3301)));
    }

    .inner1110 {
        width: calc(80rem + (2000 - 1400) * ((100vw - 2001px) / (3000 - 2001)));
    }
}

@media only screen and (min-width: 3500px) {
    .float {
        zoom: 1.5;
    }

    #wrapper.top header #pcmenu {
        padding: 30px 0 0 0;
    }

    .anniversary_50 {
        width: 10%;
    }
}

@media only screen and (min-width:5000px) {
    footer #footer-links {
        padding: 200px 0 100px 0;
        color: #fff;
        /* border-top:1px solid #d7d7d7; */
        background: #0097e0;
    }

}

@media only screen and (min-width: 6500px) {
    .float {
        zoom: 2.5;
    }

    #wrapper.top header #pcmenu {
        padding: 40px 0 0 0;
    }

    .anniversary_50 {
        width: 10%;
    }
}

@media (max-width: 1440px) {

    .page_service_building_sidenav {
        position: static;
        min-width: 68rem;
        width: 71vw;
        margin: 0 auto 5rem;
        display: flex;
        flex-wrap: wrap;
    }

    .page_service_building_sidenav .title {
        width: 100%;
    }

    .page_service_building_sidenav_block+.page_service_building_sidenav_block {
        margin-left: 2rem;
        margin-top: 0;
    }

    .page_service_building_wrap>section .inner {
        padding-left: 0;
    }

    .company_duc_slider {
        width: 70rem;
    }

    .company_duc_slider .slick-prev {
        left: -9rem;
    }

    .company_duc_slider .slick-next {
        right: -9rem;
    }

    .page_company_content section#philosophy .philosophy_text {
        font-size: 2.2rem;
    }

    .page_company_content section#philosophy .slogan_area .title {
        font-size: 1.6rem;
    }

    .page_company_content section#philosophy .slogan_area .text br {
        display: none;
    }

    .page_company_content section#philosophy .content_container {
        width: 60rem;
    }

    .page_company_content section#philosophy .doc_image {
        width: calc(100% - 65rem);
        width: 600px;
    }

}

@media (max-width: 1280px) {

    html,
    body {
        min-width: auto;
    }

    .inner {
        min-width: auto;
        width: 90%;
    }

    #wrapper #mainbody.multi-col .col:nth-of-type(1) {
        width: 90%;
        max-width: 900px;
        margin: 0 auto;
        float: none;
    }

    #wrapper #mainbody.multi-col .col:nth-of-type(2) {
        display: none;
    }

    .inner1200 {
        width: 100%;
    }

    #wrapper {
        min-width: auto;
    }

    .inner1110 {
        width: 90%;
    }

    .page_service_building_sidenav {
        min-width: auto;
        width: 90%;
    }

    .solution_content_image_text .common-btn {
        width: 48%;
    }

    .solution_content_image_text .content .btns {
        width: 100%;
    }


    .staff_modal_content .staff_modal_contact .btn_flex a {
        padding: 0 5% 0 10%;
        font-size: 1.2rem;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .icon {
        width: 8%;
        line-height: 0;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .arrow::after {
        right: 5%;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .text span {
        display: block;
        line-height: 0;
        position: relative;
        top: 0.5rem;
        font-size: 70% !important;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .text {
        margin-right: 10%;
    }

    .map_lists ul li {
        padding-left: 6rem;
    }

    div#shinsotsu_step_modal {
        top: 5vw;
        right: 5vw;
        left: 5vw;
        bottom: 5vw;
    }

    div#shinsotsu_step_modal .image img {
        width: 120vw;
        max-width: none;
    }

}

@media (max-width: 1000px) {

    .-company .in_page_nav ul li+li {
        margin-left: 2%;
    }

    .-company .in_page_nav ul li {
        width: 15%;
    }

    .shinsotsu_staff_list {
        width: 100%;
    }

    .shinsotsu_staff_list ul li {
        width: 28vw;
        margin: 0 2vw;
        height: 28vw;
        padding: 0;
    }

    .map_lists ul li .branch_name {
        width: 100%;
        margin-bottom: 1rem;
    }

    .page_company_content section#philosophy .content_container {
        width: 100%;
    }

    .page_company_content section#philosophy .doc_image {
        width: 70%;
        margin: 0 auto;
    }

    .page_company_content section#history .inner {
        width: 90%;
    }

    .shinsotsu_staff_list .slick-arrow {
        width: 4.5rem;
    }

    .shinsotsu_staff_list .slick-arrow.slick_prev {
        left: 29%;
    }

    .shinsotsu_staff_list .slick-arrow.slick_next {
        right: 29%;
    }

}

@media (max-width: 960px) {

    section#shinsotsu_fv .fv_message .fv_title h1 {
        font-size: 5vw;
    }

    section#shinsotsu_fv .fv_message {
        width: 31%;
    }

    .page_shinsotsu_content section#shinsotsu_solution .content {
        padding-right: 0vw;
    }

    .page_shinsotsu_content section#shinsotsu_solution .image {
        padding-left: 2vw;
    }

    .page_service_content .solution-img-box {
        width: 60%;
    }

    .contact-text-box::after {
        right: -8%;
    }

    .arrow::after {
        width: 2rem;
        background-position: right;
        background-size: contain;
    }

    .in_page_nav ul li a {
        width: 100%;
    }

    .in_page_nav ul li {
        width: 18%;
    }

    .in_page_nav ul li+li {
        margin-left: 2%;
    }

    .service_list ul li a .text {
        width: 24rem;
    }

    .service_list ul li a .image {
        width: calc(100% - 24rem);
    }

    section#page_contact_sec .arrow::after {
        right: -7%;
    }

    .training_list ul li {
        width: 48%;
    }

    .floor_guide_map {
        padding: 0;
        width: 70%;
        margin-left: auto;
    }

    .tab_content.-sdgs_type02 .scroll_link>div a .jp {
        width: 100%;
        margin-left: 0;
    }

    .company_duc_slider {
        width: 32rem;
    }

    .mv-copy {
        font-size: 4vw;
    }

}

@media (max-width: 900px) {

    /* .mv-bg .swiper-slide img {
        height: 65vw;
    } */

    .mv-copy-box {
        left: 5%;
    }

    .mv-copy {
        font-size: 6vw;
    }

    .mv-bg,
    .mv-bg .mvSwiper {
        height: 100%;
    }

    div#shinsotsu_step_modal .image img {
        width: 140vw;
    }

}

@media (max-width: 850px) {

    section.page_service_building_body .plants_content_image {
        position: static;
        margin-bottom: 4rem;
    }

}

@media (max-width: 767px) {

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    .pc-indent p,
    .pc-indent span {
        display: inline;
        margin-left: 0;
    }

    .sp-indent p,
    .sp-indent span {
        display: block;
    }

    .pcshow {
        display: none;
    }

    .spshow {
        display: block;
    }

    .spshow_menu {
        display: block;
    }

    .top_main {
        display: block;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    body,
    html {
        min-width: 100%;
    }

    body {
        min-width: 100%;
        font-size: 12px;
        line-height: 1.5;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    header {
        overflow: hidden;
        height: 44px;
        border-bottom: 1px solid #d7d7d7;
    }

    header #logo {
        padding: 10px 0 0 10px;
    }

    header #logo img {
        height: 30px;
    }

    header .right #spmenu-btn {
        padding: 10px 15px 0 0;
    }

    header .right #spmenu-btn img {
        width: 62px;
    }

    #wrapper.top header {
        overflow: hidden;
        height: 50px;
        border-bottom: 1px solid #d7d7d7;
    }

    #wrapper.top header .inner1110 {
        width: auto;
    }

    #wrapper.top header #logo {
        padding: 10px 0 0 10px;
    }

    #wrapper.top header #logo img {
        height: 30px;
    }

    #wrapper.top header .right #spmenu-btn {
        padding: 10px 15px 0 0;
    }

    #wrapper.top header .right #spmenu-btn img {
        width: 62px;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px;
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    footer #footer-pagetop {
        padding: 0 15px;
    }

    footer #footer-pagetop a {
        position: absolute;
        top: -30px;
        height: 30px;
        padding: 4px 20px 10px;
    }

    footer #footer-links {
        padding: 15px 0;
    }

    footer #footer-links .banners {
        position: relative;
        width: auto;
        margin: 0 15px;
        padding: 0 0 45px 0;
    }

    /* footer #footer-links .banners:after{ */
    /*position:absolute;
    right:0;
    bottom:0;
    left:0;
    width:72px;
    height:34px;
    margin:auto;
    content:"";
    background:url(../img/common/footer_logo.png) no-repeat 0 0;
    background-size:72px auto*/
    /* } */
    footer #footer-links .banners li {
        width: 48.5%;
    }

    footer #footer-links .banners li img {
        width: 100%;
    }

    footer #footer-copyright {
        padding: 15px 0;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px;
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    #wrapper.top #pagetop {
        bottom: 35px;
        width: 80px;
        margin: auto;
    }

    #pagetop {
        bottom: 35px;
        width: 80px;
        margin: auto;
    }

    [class*=inner] {
        width: auto;
    }

    #wrapper {
        width: auto;
        min-width: 100%;
        height: auto
    }

    #wrapper #mainbody {
        position: relative;
        width: auto;
        padding: 0 0 60px 0;
    }

    #wrapper #mainbody.single-col {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
    }

    #wrapper #mainbody.single-col .col:nth-of-type(1) {
        width: auto;
    }

    #wrapper #mainbody.multi-col {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
    }

    #wrapper #mainbody.multi-col .col:nth-of-type(1) {
        float: none;
        width: auto
    }

    #wrapper #mainbody.multi-col .col:nth-of-type(2) {
        display: none;
    }

    #spnav {
        position: absolute;
        z-index: 999999;
        top: 49px;
        display: none;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
    }

    #spnav:before {
        position: absolute;
        z-index: 888888;
        top: -4px;
        right: 40px;
        width: 8px;
        height: 8px;
        margin: auto;
        content: "";
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        border-top: 1px solid #0097e0;
        border-right: 1px solid #0097e0;
        background: #fff;
    }

    #spnav ul {
        border-top: 1px solid #0097e0;
    }

    #spnav li {
        width: 100%;
        border-bottom: 1px solid #d7d7d7;
    }

    #spnav li a,
    #spnav li p {
        padding: 10px 20px;
        font-weight: 500;
    }

    #spnav li a {
        display: block;
        color: #231815;
        font-size: 13px;
        -webkit-transition: all .15s ease;
        transition: all .15s ease;
        background: url(../img/common/icon_sidenav.png) no-repeat right 15px center;
        background-size: 17px auto;
    }

    #spnav li a:hover {
        color: #0097e0;
    }

    #spnav li.top {
        background: #fff;
    }

    #spnav li.top a {
        color: #0097e0;
    }

    #spnav li.parent {
        background: #efefee;
    }

    #spnav li.child {
        background: #fff;
    }

    #spnav li.ttl {
        text-align: center;
    }

    #spnav li.ttl p {
        color: #0097e0;
        font-size: 12px;
        line-height: 1.8em;
        letter-spacing: .05em;
        background: #efefee;
    }

    #sitemaps {
        display: none;
    }

    #wrapper #bottomnav {
        display: block !important;
    }

    #wrapper #bottomnav li {
        width: 100% !important;
    }

    #wrapper #bottomnav li.dummy {
        border-top: none !important;
    }

    #wrapper #bottomnav li:nth-of-type(even) {
        border-left: none;
    }

    #wrapper #bottomnav li a {
        display: block;
        height: 60px !important;
        color: #231815;
        font-size: 10px !important;
        background-repeat: no-repeat !important;
        background-position: left 15px center !important;
        background-size: auto 65% !important;
    }

    #wrapper #bottomnav li a:after {
        top: 0;
        right: 15px;
        bottom: 0;
        width: 12px;
        height: 12px;
        margin: auto;
    }

    #wrapper #bottomnav.single li a {
        padding: 5px 40px 5px 100px !important;
    }

    #wrapper #bottomnav.single li a span {
        display: block;
        padding: 0;
        color: #231815;
        font-size: 10px;
        line-height: 1.3em;
    }

    #wrapper #bottomnav.single li a span br {
        display: none;
    }

    #wrapper #bottomnav.single li a.single {
        padding: 20px 40px 5px 100px !important;
    }

    #wrapper #h1 {
        width: 100%;
        height: 110px;
        padding-top: 0;
    }

    #wrapper #h1 h1 {
        padding: 20px 0 0 15px;
        font-size: 18px;
        letter-spacing: -.05em;
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px;
    }

    .input-radio {
        padding: 0 0 0 20px;
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px;
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px;
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px;
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer;
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease;
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px;
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px;
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em;
    }

    .anniversary_50 {
        width: 3em;
    }

    #wrapper .top #mainbody {
        position: static;
    }

    #loader {
        height: 100%;
    }

    .loader_img {
        width: 100%;
        height: 100%;
        background: center/ 100% 100% no-repeat url(../img/top/blue.png);
    }

    .displaynone {
        display: none;
    }

    #loader_2 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 10000;
    }

    .loader_img_logo {
        width: 100%;
        height: 100%;
        background: center/ 100% no-repeat url(../img/top/keikyu.png);
    }

    @keyframes loadingSlide {
        0% {
            opacity: 0;
            transform: scaleX(0) translateX(-5%);
            z-index: 9999;
        }

        30% {
            transform: scaleX(1) translateX(0);
        }

        100% {
            transform: scaleX(1) translateX(100%);
            z-index: -1;
        }

        30%,
        100% {
            opacity: 1;
        }
    }

    .loadingslide {
        animation: loadingSlide 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -webkit-animation: loadingSlide 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -moz-animation: loadingSlide 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -ms-animation: loadingSlide 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -o-animation: loadingSlide 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        transform-origin: left center;

    }

    @keyframes slideRight {
        0% {
            transform: scaleX(1) translateX(0);
        }

        30% {
            transform: scaleX(1) translateX(0);
        }

        100% {
            opacity: 0;
            transform: scaleX(0) translateX(-5%);
        }

        30%,
        0% {
            opacity: 1;
        }
    }

    .anime_open {
        animation: slideRight 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -webkit-animation: slideRight 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -moz-animation: slideRight 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -o-animation: slideRight 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        -ms-animation: slideRight 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        transform-origin: center right;
        -webkit-transform-origin: center right;
        -ms-transform-origin: center right;
        -o-transform-origin: center right;
        -moz-transform-origin: center right;
        animation-delay: 2s;
        -webkit-animation-delay: 2s;
        -o-animation-delay: 2s;
        -ms-animation-delay: 2s;
        -moz-animation-delay: 2s;
    }

    @keyframes loadingFade {
        0% {
            opacity: 0;
            transform: translateX(0);
            -webkit-transform: translateX(0);
            -o-transform: translateX(0);
            -moz-transform: translateX(0);
            -ms-transform: translateX(0);
        }

        30%,
        65% {
            opacity: 1;
        }

        99% {
            transform: translateX(0);
            -webkit-transform: translateX(0);
            -moz-transform: translateX(0);
            -o-transform: translateX(0);
            -ms-transform: translateX(0);
        }

        100% {
            opacity: 0;
            transform: translateX(100%);
            -webkit-transform: translateX(100%);
            -o-transform: translateX(100%);
            -moz-transform: translateX(100%);
            -ms-transform: translateX(100%);
        }
    }

    .loadingfade {
        animation-name: loadingFade;
        -webkit-animation-name: loadingFade;
        -o-animation-name: loadingFade;
        -ms-animation-name: loadingFade;
        -moz-animation-name: loadingFade;
        animation-fill-mode: forwards;
        -webkit-animation-fill-mode: forwards;
        -o-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        -ms-animation-fill-mode: forwards;
        animation-duration: 2s;
        -webkit-animation-duration: 2s;
        -o-animation-duration: 2s;
        -moz-animation-duration: 2s;
        -ms-animation-duration: 2s;
    }

    .slide {
        background-color: #fff;
        position: relative;
        width: 100%;
        height: 100%;
        animation-name: slideAnime;
        animation-fill-mode: forwards;
        animation-duration: 7s;
        z-index: 0;
        background-repeat: no-repeat;

    }

    .slide_wrap {
        width: 100%;
        height: 100%;
        position: absolute;
        overflow: hidden;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        opacity: 0;
        animation-name: slideAnime_wrap;
        animation-fill-mode: forwards;
        animation-duration: 7s;
        z-index: 0;
    }

    .src1 {
        background-image: url(../img/top/slide1.png);
        background-size: 100%;
        animation-delay: 2s;
        background-size: 125%;
        background-position: top left;
    }

    .src2 {
        background-image: url(../img/top/slide2.png);
        background-size: 100%;
        animation-delay: 9s;
        background-size: 125%;
        background-position: top left;
    }

    .src3 {
        background-image: url(../img/top/slide3.png);
        background-size: 100%;
        animation-delay: 16s;
        background-size: 120%;
        background-position: top left;
    }

    .src4 {
        background-image: url(../img/top/slide4.png);
        background-size: 100%;
        animation-delay: 23s;
        background-size: 120%;
        background-position: top left;
    }

    .src5 {
        background-image: url(../img/top/slide1.png);
        background-size: 100%;
        animation-delay: 30s;
        background-size: 125%;
        background-position: top left;
    }

    .src1_wrap {
        animation-delay: 0.5s;
    }

    .src2_wrap {
        animation-delay: 9s;
    }

    .src3_wrap {
        animation-delay: 16s;
    }

    .src4_wrap {
        animation-delay: 23s;
    }

    .src5_wrap {
        animation-delay: 30s;
    }

    @keyframes slideAnime {
        0% {
            transform: scale(1.0, 1.0);
        }

        100% {
            transform: scale(1.25, 1.25);
        }
    }

    @keyframes slideAnime_wrap {
        0% {
            opacity: 0;
        }

        10% {
            opacity: 1;
        }

        100% {
            opacity: 1;
        }
    }

    .wh_p {
        display: none;
    }

    .blue_p {
        height: 75%;
        width: 75%;
    }


    .blue_p_sp {
        display: block;
        width: 55%;
        position: absolute;
        top: 5%;
        left: 2%;
    }

    .wh_p_sp {
        display: block;
        width: 55%;
        position: absolute;
        top: 5%;
        left: 2%;
    }

    .top_slide {
        height: calc(13rem + (640 - 256) * ((100vw - 320px) / (900 - 320)));
        position: relative;
    }

    .btn_job {
        width: 95%;
        margin: 1em auto;
        position: static;
        box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
        transition: background-position ease 0.4s;
        z-index: 99;
        transform: translateX(0%);
        opacity: 0;
    }

    .btn_job_sh {
        width: 85%;
        margin: 1em 0 1em 12%;
        position: static;
        box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
        transition: background-position ease 0.4s;
        z-index: 99;
        transform: translateX(0%);
        opacity: 0;
    }

    .btn_build {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #00A0E9 0%,
                #00A0E9 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0s;
    }

    .btn_build:hover {
        background-position: 0 0;
    }

    .btn_setsubi {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #2C5065 0%,
                #2C5065 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.1s;
    }

    .btn_setsubi:hover {
        background-position: 0 0;
    }

    .btn_keibi {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #3E3A39 0%,
                #3E3A39 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.2s;
    }

    .btn_keibi:hover {
        background-position: 0 0;
    }

    .btn_seibi {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #63A767 0%,
                #63A767 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.3s;
    }

    .btn_seibi:hover {
        background-position: 0 0;
    }

    .btn_ppp {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #287F97 0%,
                #287F97 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.4s;
    }

    .btn_ppp:hover {
        background-position: 0 0;
    }

    .btn_kensyu {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #DAB62D 0%,
                #DAB62D 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.5s;
    }

    .btn_kensyu:hover {
        background-position: 0 0;
    }

    .btn_sdgs {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #6B83AB 0%,
                #6B83AB 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.6s;
    }

    .btn_sdgs:hover {
        background-position: 0 0;
    }

    .btn_hoiku {
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
                #FF7477 0%,
                #FF7477 50%,
                #fff 50%,
                #fff 100%);
        animation-delay: 0.7s;
    }

    .btn_hoiku:hover {
        background-position: 0 0;
    }

    .p_slide {
        display: none;
    }

    .btn_p {
        /* height: 2.7em; */
        /* height: calc(1.4rem + (4.8 - 2.8) * ((100vw - 20em) / (47.9375 - 20))); */
        margin-left: 0.5em;
        margin-bottom: 5%;
    }

    .btn_seibi .btn_p {
        margin-left: 0.5em;
        /* height: calc(1.5rem + (4.8 - 2.8) * ((100vw - 20em) / (47.9375 - 20))); */
    }

    .btn_p_2 {
        /* height: 3.5em; */
        /* height: calc(1.8rem + (6.5 - 3.5) * ((100vw - 20em) / (47.9375 - 20))); */
        margin-left: 0.5em;
        margin-bottom: 2%;
    }

    /* .btn_ppp .btn_p{ */
    /* height: calc(1.51rem + (4.8 - 2.8) * ((100vw - 20em) / (47.9375 - 20))); */
    /* } */
    /* .btn_setsubi .btn_p_3{ */
    /* height: calc(2.1rem + (4.8 - 2.8) * ((100vw - 20em) / (47.9375 - 20))); */
    /* } */
    .btn_build .btn_p {
        margin-bottom: 4%;
    }

    .btn_icon {
        width: 19%;
    }

    .btn_icon_sh {
        width: 21%;
    }

    .p_wh {
        display: none;
    }

    .btn_job:hover .p_wh {
        display: inline-block;
    }

    .btn_job:hover .p_bl {
        display: none;
    }

    .btn_job_sh:hover .p_wh {
        display: inline-block;
    }

    .btn_job_sh:hover .p_bl {
        display: none;
    }

    .kojin {
        width: 95%;
        margin: 1em auto;
        border-radius: 15px;
        position: static;
        transition: background-position ease 0.4s;
        z-index: 99;
        /* box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3); */
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        /* background-image: linear-gradient(
      to right,
      #00A0E9 0%,
      #00A0E9 50%,
      #DFF2FC 50%,
      #DFF2FC 100%
    ); */
        animation-delay: 0.8s;
        transform: translateX(0%);
        opacity: 0;
    }

    .kojin:hover {
        background-position: 0 0;
    }

    .icon_kojin {
        width: 100.4%;
    }

    .p_wh_kojin {
        display: none;
    }

    .kojin:hover .p_wh_kojin {
        display: inline-block;
    }

    .kojin:hover .p_bl_kojin {
        display: none;
    }

    .p_bl_kojin,
    .p_wh_kojin {
        /* height: 6em; */
        /* height: calc(3rem + (11 - 6) * ((100vw - 20em) / (47.9375 - 20))); */
        width: 95%;
    }

    @keyframes slideLeft {
        from {
            transform: translateX(-100%);
            opacity: 1;
        }

        to {
            transform: translateX(0%);
            opacity: 1;
        }
    }

    .slideleft {
        animation-name: slideLeft;
        animation-fill-mode: forwards;
        animation-duration: 2s;
    }

    .service-top .pcshow {
        display: none;
    }

    #wrapper.top #mainbody {
        width: 100%;
        height: auto;
        padding: 0 0;
        background: 0 0
    }

    #wrapper.top #mainbody .inner1200 {
        height: auto
    }

    #wrapper.top #mainbody h1 {
        padding: 0
    }

    #wrapper.top #mainbody h1 img {
        width: 100%
    }

    #wrapper.top #mainbody #top-spmenu {
        margin: 0 15px
    }

    #wrapper.top #mainbody #top-spmenu .block {
        margin: 20px 0 0 0
    }

    #wrapper.top #mainbody #top-spmenu .ttl {
        padding: 10px 10px;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        line-height: 1em;
        text-align: center;
        background: #0097e0
    }

    #wrapper.top #mainbody #top-spmenu ul {
        border-top: 1px solid #0097e0;
        border-left: 1px solid #0097e0
    }

    #wrapper.top #mainbody #top-spmenu ul li {
        width: 50%;
        border-right: 1px solid #0097e0;
        border-bottom: 1px solid #0097e0
    }

    #wrapper.top #mainbody #top-spmenu ul li img {
        width: 100%
    }

    #wrapper.top #mainbody #whatsnew {
        position: relative;
        width: 100%;
        height: 300px;
        margin: 30px 0;
        padding: 0 15px
    }

    #wrapper.top #mainbody #whatsnew ul {
        overflow-y: scroll;
        width: 100%;
        height: 270px;
        margin: 10px 0 0 0
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.service-top #mainbody #leadcopy {
        padding: 15px 15px
    }

    #wrapper.service-top #mainbody #leadcopy h2 img {
        width: 100%
    }

    #wrapper.service-top #mainbody #leadcopy h2+p {
        margin: 15px 0 0 0
    }

    #wrapper.service-top #mainbody #menu-area h3 {
        padding: 10px 0;
        font-size: 14px
    }

    #wrapper.service-top #mainbody #menu-area li {
        width: 50%;
        height: 180px;
        border-top: 1px solid #d7d7d7
    }

    #wrapper.service-top #mainbody #menu-area li:nth-of-type(3n+2) {
        border-right: none;
        border-left: none
    }

    #wrapper.service-top #mainbody #menu-area li:nth-of-type(odd) {
        border-right: 1px solid #d7d7d7
    }

    #wrapper.service-top #mainbody #menu-area li a {
        padding: 120px 0 0 0;
        font-size: 13px;
        line-height: 1.4em
    }

    #wrapper.service-top #mainbody #menu-area li a[class^=menu] {
        background-size: 100px auto !important
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0101 {
        background: url(../img/service/top_img0101.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0102 {
        background: url(../img/service/top_img0102.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0103 {
        background: url(../img/service/top_img0103.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0104 {
        background: url(../img/service/top_img0104.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0105 {
        background: url(../img/service/top_img0105.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0106 {
        background: url(../img/service/top_img0106.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0201 {
        background: url(../img/service/top_img0201.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0202 {
        background: url(../img/service/top_img0202.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0203 {
        background: url(../img/service/top_img0203.png) no-repeat center 15px
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0204 {
        background: url(../img/service/top_img0204.png) no-repeat center 15px
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s eas
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-life] #h1 {
        width: 100%;
        height: 100px
    }

    #wrapper[class^=service-life] #h1 .inner1200 {
        background: #0097e0 url(../img/common/shoulder_lifesupport.png) no-repeat center bottom 15px !important;
        background-size: auto 35px !important
    }

    #wrapper[class^=service-life] #h1 h1 {
        padding: 20px 0 0 50px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_life.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-life-homesecurity] #h1 {
        width: 100%;
        height: 100px
    }

    #wrapper[class^=service-life-homesecurity] #h1 .inner1200 {
        background: #0097e0 url(../img/common/shoulder_lifesupport.png) no-repeat center bottom 15px !important;
        background-size: auto 35px !important
    }

    #wrapper[class^=service-life-homesecurity] #h1 h1 {
        padding: 20px 0 0 85px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_homesecurity.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-life] #textbody .lead {
        padding: 20px 0 0 0;
        text-align: center
    }

    #wrapper[class^=service-life] #textbody .lead p {
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4em
    }

    #wrapper[class^=service-life] #textbody .img-block {
        margin: 25px 0 0 0
    }

    #wrapper.service-life-top #textbody .menu {
        padding: 10px 20px 50px
    }

    #wrapper.service-life-top #textbody .menu li {
        width: 100%
    }

    #wrapper.service-life-top #textbody .menu img {
        width: 100%
    }

    #wrapper.service-life-faq #textbody {
        padding: 30px 20px
    }

    #wrapper.service-life-faq #textbody #faq-ques {
        padding: 0 0
    }

    #wrapper.service-life-faq #textbody #faq-ques li {
        position: relative;
        margin: 10px 0 0 0;
        padding: 0 0 0 2.2em;
        line-height: 1.6em
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-life-faq #textbody #faq-ques li:before {
        top: -.05em;
        font-size: 15px;
        font-weight: 500
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(1):before {
        content: "Q1."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(2):before {
        content: "Q2."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(3):before {
        content: "Q3."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(4):before {
        content: "Q4."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(5):before {
        content: "Q5."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(6):before {
        content: "Q6."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(7):before {
        content: "Q7."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(8):before {
        content: "Q8."
    }

    #wrapper.service-life-faq #textbody #faq-ques li:nth-of-type(9):before {
        content: "Q9."
    }

    #wrapper.service-life-faq #textbody #faq-ans {
        margin: 25px 0 0 0
    }

    #wrapper.service-life-faq #textbody #faq-ans li {
        padding: 10px 0;
        border-top: 1px solid #f4e6c1
    }

    #wrapper.service-life-faq #textbody #faq-ans li .ques {
        color: #deb140;
        font-weight: 500
    }

    #wrapper.service-life-faq #textbody #faq-ans li .pic {
        margin: 10px 0 0 0
    }

    #wrapper.service-life-faq #textbody #faq-ans li .pic img {
        height: 70px
    }

    #wrapper.service-life-homesecurity #mainbody h2 img {
        width: 100%
    }

    #wrapper.service-life-homesecurity #mainbody .block .box {
        margin: 25px 0 0 0;
        padding: 20px 15px
    }

    #wrapper.service-life-homesecurity #mainbody .block .box:nth-of-type(1) {
        margin: 30px 0 0 0
    }

    #wrapper.service-life-homesecurity #mainbody .block .box.color01 {
        border: 10px solid #6ea1bc
    }

    #wrapper.service-life-homesecurity #mainbody .block .box.color02 {
        border: 10px solid #a7c7d6
    }

    #wrapper.service-life-homesecurity #mainbody .block .box h3 {
        margin: 0 0 10px 0;
        padding: 0 0 10px 0;
        text-align: center;
        border-bottom: 1px solid #b0afaa
    }

    #wrapper.service-life-homesecurity #mainbody .block .box h3 img {
        height: 12px
    }

    #wrapper.service-life-homesecurity #mainbody .block .box h3+p {
        margin: 0 0 15px 0;
        text-align: left
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .illust img {
        width: 100%
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .set {
        margin: 15px 0 0
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .set h4 {
        padding: 10px 0;
        font-size: 13px
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .set dt {
        float: none;
        clear: both;
        margin: 0;
        padding: 20px 0 0;
        text-align: center
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .set dd {
        float: left;
        margin: 10px 0 0 0;
        padding: 0 0 0 15px;
        font-size: 12px;
        line-height: 1.6em
    }

    #wrapper.service-life-homesecurity #mainbody .block .box .set dd span.bold {
        font-size: 13px
    }

    #wrapper[class^=service-life] #inquiry {
        padding: 15px 15px
    }

    #wrapper[class^=service-life] #inquiry .left,
    #wrapper[class^=service-life] #inquiry .right {
        float: none
    }

    #wrapper[class^=service-life] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=service-life] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=service-life] #inquiry .block:before {
        top: 10px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=service-life] #inquiry .block:after {
        top: 47px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=service-life] #inquiry .block .size01 {
        margin: 5px 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-life] #inquiry .block .size02 {
        margin: 10px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-life] #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    #wrapper[class^=service-life] #inquiry .block a {
        margin: 20px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=service-life] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper.service-life-homesecurity #inquiry .left .block:after {
        display: none
    }

    #wrapper.service-life-homesecurity #inquiry .block {
        height: auto
    }

    #wrapper.service-life-homesecurity #inquiry .block .size01 {
        margin: 5px 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper.service-life-homesecurity #inquiry .block .size02 {
        margin: 10px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper.service-life-homesecurity #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-parking] #h1 {
        width: 100%;
        height: 60px
    }

    #wrapper[class^=service-parking] #h1 h1 {
        padding: 20px 0 0 85px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_parking.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-parking] #inquiry {
        padding: 15px 15px
    }

    #wrapper[class^=service-parking] #inquiry .left,
    #wrapper[class^=service-parking] #inquiry .right {
        float: none
    }

    #wrapper[class^=service-parking] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=service-parking] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=service-parking] #inquiry .block:before {
        top: 10px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=service-parking] #inquiry .block .size01 {
        margin: 0 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-parking] #inquiry .block .size02 {
        margin: 5px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-parking] #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    #wrapper[class^=service-parking] #inquiry .block a {
        margin: 20px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=service-parking] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper.service-parking-top #mainbody h2 img {
        width: 100%
    }

    #wrapper.service-parking-top #mainbody #menu-area {
        padding: 30px 15px
    }

    #wrapper.service-parking-top #mainbody #menu-area li {
        width: 100%;
        margin: 15px 0 0 0
    }

    #wrapper.service-parking-top #mainbody #menu-area li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-parking-top #mainbody #menu-area li img {
        width: 100%
    }

    #wrapper.service-parking-kparking #mainbody h2 img,
    #wrapper.service-parking-monthly #mainbody h2 img {
        width: 100%
    }

    #wrapper.service-parking-kparking #mainbody #parking-area,
    #wrapper.service-parking-monthly #mainbody #parking-area {
        padding: 30px 15px
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area,
    #wrapper.service-parking-monthly #mainbody #parking-area .area {
        margin: 30px 0 0 0
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area:nth-of-type(1),
    #wrapper.service-parking-monthly #mainbody #parking-area .area:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area .ttl,
    #wrapper.service-parking-monthly #mainbody #parking-area .area .ttl {
        font-size: 13px
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table {
        margin: 10px 0 0 0
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table th,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table th {
        padding: 5px 5px;
        font-size: 10px;
        text-align: center
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table td,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table td {
        padding: 5px 5px;
        font-size: 10px;
        line-height: 1.4em
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table a,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table a {
        text-decoration: underline
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table a:hover,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table a:hover {
        text-decoration: none
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table td.state img,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table td.state img {
        width: 29px
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table .icons,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table .icons {
        display: inline-block;
        width: 43px
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table .icons li:nth-of-type(n+3),
    #wrapper.service-parking-monthly #mainbody #parking-area .area table .icons li:nth-of-type(n+3) {
        margin: 3px 0 0 0
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area table .icons li img,
    #wrapper.service-parking-monthly #mainbody #parking-area .area table .icons li img {
        width: 20px
    }

    #wrapper.service-parking-kparking #mainbody #parking-area .area p.small,
    #wrapper.service-parking-monthly #mainbody #parking-area .area p.small {
        font-size: 10px
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-flower] #h1 {
        width: 100%;
        height: 100px
    }

    #wrapper[class^=service-flower] #h1 .inner1200 {
        background: #0097e0 url(../img/common/shoulder_hanako.png) no-repeat center bottom 15px !important;
        background-size: auto 35px !important
    }

    #wrapper[class^=service-flower] #h1 h1 {
        padding: 20px 0 0 70px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_flower.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-flower-offerings] #h1 h1 {
        background: url(../img/common/h1_icon_offerings.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-flower-gift] #textbody {
        padding: 15px 15px
    }

    #wrapper[class^=service-flower-gift] #textbody .leadtext {
        font-size: 13px;
        line-height: 1.6em;
        text-align: left
    }

    #wrapper[class^=service-flower-gift] #textbody h3 {
        margin: 30px 0 0;
        padding: 0 0 10px 0;
        text-align: center
    }

    #wrapper[class^=service-flower-gift] #textbody h3 img {
        height: 16px
    }

    #wrapper[class^=service-flower-gift] #textbody #items li {
        width: 100%;
        margin: 30px 0 0 0
    }

    #wrapper[class^=service-flower-gift] #textbody #items .pic img {
        width: 100%
    }

    #wrapper[class^=service-flower-gift] #textbody #items .name {
        margin: 10px 0 0 0;
        font-size: 13px;
        font-weight: 500;
        line-height: 1em
    }

    #wrapper[class^=service-flower-gift] #textbody #items .small {
        margin: 5px 0 0 0;
        font-size: 12px;
        line-height: 1.4em
    }

    #wrapper[class^=service-flower-gift] #textbody #additional-notes {
        margin: 40px 0 0 0
    }

    #wrapper[class^=service-flower-gift] #textbody #additional-notes li {
        font-size: 10px;
        line-height: 1.4em
    }

    #wrapper[class^=service-flower-gift] #textbody #gofax {
        margin: 30px 0 0 0
    }

    #wrapper[class^=service-flower-gift] #textbody #gofax a {
        width: 100%;
        height: auto;
        padding: 10px 15px
    }

    #wrapper[class^=service-flower-gift] #textbody #gofax a .size01 {
        font-size: 16px
    }

    #wrapper[class^=service-flower-gift] #textbody #gofax a .size02 {
        margin: 5px 0 0 0;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-flower-gift] #textbody #gofax a:after {
        right: 15px;
        width: 16px;
        height: 16px;
        margin: auto;
        background: url(../img/common/icon_white_pink.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper[class^=service-flower-gift] #inquiry {
        padding: 15px 15px
    }

    #wrapper[class^=service-flower-gift] #inquiry .left,
    #wrapper[class^=service-flower-gift] #inquiry .right {
        float: none
    }

    #wrapper[class^=service-flower-gift] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=service-flower-gift] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=service-flower-gift] #inquiry .block:before {
        top: 10px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=service-flower-gift] #inquiry .block .size01 {
        margin: 0 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-flower-gift] #inquiry .block .size02 {
        margin: 5px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-flower-gift] #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    #wrapper[class^=service-flower-gift] #inquiry .block a {
        margin: 20px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=service-flower-gift] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper[class^=service-flower-offerings] #textbody {
        padding: 15px 15px
    }

    #wrapper[class^=service-flower-offerings] #textbody .leadtext {
        font-size: 13px;
        line-height: 1.6em;
        text-align: left
    }

    #wrapper[class^=service-flower-offerings] #textbody h3 {
        margin: 30px 0 0;
        padding: 0 0 10px 0;
        text-align: center
    }

    #wrapper[class^=service-flower-offerings] #textbody h3 img {
        height: 16px
    }

    #wrapper[class^=service-flower-offerings] #textbody #items li {
        width: 100%;
        margin: 30px 0 0 0
    }

    #wrapper[class^=service-flower-offerings] #textbody #items .pic img {
        width: 100%
    }

    #wrapper[class^=service-flower-offerings] #textbody #items .name {
        margin: 10px 0 0 0;
        font-size: 13px;
        font-weight: 500;
        line-height: 1em
    }

    #wrapper[class^=service-flower-offerings] #textbody #items .small {
        margin: 5px 0 0 0;
        font-size: 12px;
        line-height: 1.4em
    }

    #wrapper[class^=service-flower-offerings] #textbody #additional-notes {
        margin: 40px 0 0 0
    }

    #wrapper[class^=service-flower-offerings] #textbody #additional-notes li {
        font-size: 10px;
        line-height: 1.4em
    }

    #wrapper[class^=service-flower-offerings] #textbody #gofax {
        margin: 30px 0 0 0
    }

    #wrapper[class^=service-flower-offerings] #textbody #gofax a {
        width: 100%;
        height: auto;
        padding: 10px 15px
    }

    #wrapper[class^=service-flower-offerings] #textbody #gofax a .size01 {
        font-size: 16px
    }

    #wrapper[class^=service-flower-offerings] #textbody #gofax a .size02 {
        margin: 5px 0 0 0;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-flower-offerings] #textbody #gofax a:after {
        right: 15px;
        width: 16px;
        height: 16px;
        margin: auto;
        background: url(../img/common/icon_white_pink.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper[class^=service-flower-offerings] #inquiry {
        padding: 15px 15px
    }

    #wrapper[class^=service-flower-offerings] #inquiry .left,
    #wrapper[class^=service-flower-offerings] #inquiry .right {
        float: none
    }

    #wrapper[class^=service-flower-offerings] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block:before {
        top: 10px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block .size01 {
        margin: 0 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block .size02 {
        margin: 5px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block a {
        margin: 20px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=service-flower-offerings] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper.service-flower-top #mainbody #menu-area {
        padding: 30px 15px
    }

    #wrapper.service-flower-top #mainbody #menu-area li {
        width: 100%;
        margin: 15px 0 0 0
    }

    #wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-flower-top #mainbody #menu-area li img {
        width: 100%
    }

    #wrapper.service-flower-gift-top #mainbody h2 img {
        width: 100%
    }

    #wrapper.service-flower-gift-top #mainbody #menu-area {
        padding: 30px 15px
    }

    #wrapper.service-flower-gift-top #mainbody #menu-area li {
        width: 100%;
        margin: 15px 0 0 0
    }

    #wrapper.service-flower-gift-top #mainbody #menu-area li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-flower-gift-top #mainbody #menu-area li img {
        width: 100%
    }

    #wrapper.service-flower-offerings-top #mainbody h2 img {
        width: 100%
    }

    #wrapper.service-flower-offerings-top #mainbody #menu-area {
        padding: 30px 15px
    }

    #wrapper.service-flower-offerings-top #mainbody #menu-area li {
        width: 100%;
        margin: 15px 0 0 0
    }

    #wrapper.service-flower-offerings-top #mainbody #menu-area li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-flower-offerings-top #mainbody #menu-area li img {
        width: 100%
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-building] #h1 {
        width: 100%;
        height: 60px;
        background: #0097e0 url(../img/service/building/h1_shoulder.png) no-repeat right center !important;
        background-size: auto 100% !important
    }

    #wrapper[class^=service-building] #h1 h1 {
        padding: 20px 0 0 60px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_building.png) no-repeat left 15px center;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-building] #leadcopy {
        padding: 15px 15px
    }

    #wrapper[class^=service-building] #leadcopy .left,
    #wrapper[class^=service-building] #leadcopy .right {
        float: none
    }

    #wrapper[class^=service-building] #leadcopy .left {
        width: 100%
    }

    #wrapper[class^=service-building] #leadcopy .left h2 {
        font-size: 15px
    }

    #wrapper[class^=service-building] #leadcopy .left h2 img {
        height: 33px
    }

    #wrapper[class^=service-building] #leadcopy .left h2+p {
        padding: 10px 0 0 0
    }

    #wrapper[class^=service-building] #leadcopy .left span.small {
        display: block;
        font-size: 12px !important
    }

    #wrapper[class^=service-building] #leadcopy .right {
        padding: 15px 0 0 0
    }

    #wrapper[class^=service-building] #leadcopy .right img {
        width: 100%
    }

    #wrapper[class^=service-building] #h3 {
        padding: 10px 15px !important;
        border-top: 1px solid #d7d7d7;
        background: #efefef
    }

    #wrapper[class^=service-building] #h3 h3 {
        font-size: 16px
    }

    #wrapper[class^=service-building] #h3 p {
        padding: 5px 0 0 0 !important;
        line-height: 1.4em
    }

    #wrapper[class^=service-building] #h3 br {
        display: block
    }

    #wrapper[class^=service-building] #basic-list li {
        padding: 15px 20px
    }

    #wrapper[class^=service-building] #basic-list li .left,
    #wrapper[class^=service-building] #basic-list li .right {
        float: none
    }

    #wrapper[class^=service-building] #basic-list li .left {
        width: auto;
        text-align: center
    }

    #wrapper[class^=service-building] #basic-list li .right {
        width: auto
    }

    #wrapper[class^=service-building] #basic-list li img {
        width: 100%
    }

    #wrapper[class^=service-building] #basic-list li h4 {
        margin: 10px 0 0 0;
        font-size: 13px
    }

    #wrapper[class^=service-building] #basic-list li h4+p {
        margin: 5px 0 0 0
    }

    #wrapper[class^=service-building] #basic-list li p {
        font-size: 12px;
        line-height: 1.4em
    }

    #wrapper.service-building-ppp-top #textbody h3 {
        padding: 10px 15px;
        font-size: 14px
    }

    #wrapper.service-building-ppp-top #textbody .area .p-single {
        padding: 15px 15px
    }

    #wrapper.service-building-ppp-top #textbody .area .float {
        padding: 15px 15px
    }

    #wrapper.service-building-ppp-top #textbody .area .float .left,
    #wrapper.service-building-ppp-top #textbody .area .float .right {
        float: none
    }

    #wrapper.service-building-ppp-top #textbody .area .float .left {
        width: 100%
    }

    #wrapper.service-building-ppp-top #textbody .area .float .right {
        padding: 15px 0 0 0;
        text-align: center
    }

    #wrapper.service-building-ppp-top #textbody .area .float .right img {
        width: 100%
    }

    #wrapper.service-building-ppp-top #textbody .area .float ul.table {
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7
    }

    #wrapper.service-building-ppp-top #textbody .area .float ul.table li {
        width: 100%;
        padding: 10px 20px;
        border-top: 1px solid #d7d7d7;
        border-left: 1px solid #d7d7d7
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set {
        margin: 30px 0 0 0
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set p {
        padding: 0 0 0 20px;
        font-size: 13px;
        line-height: 18px
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set p span.small {
        font-size: 10px
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set p span.small a {
        color: #231815;
        text-decoration: underline
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set p span.middle {
        font-size: 12px
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set ul {
        margin: 5px 0 0 0;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set ul li {
        width: 49.5%;
        margin: 5px 0 0 0
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set ul li:nth-of-type(1) {
        margin: 5px 0 0 0
    }

    #wrapper.service-building-ppp-top #textbody .ppp-top-set ul li img {
        width: 100%
    }

    #wrapper.service-building-list-top #textbody h3 {
        padding: 10px 15px;
        font-size: 14px
    }

    #wrapper.service-building-list-top #textbody .area {
        padding: 15px 15px
    }

    #wrapper.service-building-list-top #textbody .list li {
        margin: 0 0 0 1em;
        list-style: disc
    }

    #wrapper.service-building-list-top #textbody .alighright {
        margin: 5px 0 0 0
    }

    #wrapper.service-building-list-top #textbody table td {
        padding: 10px 10px;
        font-size: 12px
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=service-plants] #h1 {
        width: 100%;
        height: 100px
    }

    #wrapper[class^=service-plants] #h1 .inner1200 {
        background: #0097e0 url(../img/common/shoulder_hanako.png) no-repeat center bottom 15px !important;
        background-size: auto 35px !important
    }

    #wrapper[class^=service-plants] #h1 h1 {
        padding: 20px 0 0 75px;
        font-size: 18px;
        letter-spacing: -.05em;
        background: url(../img/common/h1_icon_plants.png) no-repeat left 15px top 15px;
        background-size: auto 30px !important
    }

    #wrapper[class^=service-plants] #leadcopy {
        padding: 15px 15px
    }

    #wrapper[class^=service-plants] #leadcopy .left,
    #wrapper[class^=service-plants] #leadcopy .right {
        float: none
    }

    #wrapper[class^=service-plants] #leadcopy .left {
        width: 100%
    }

    #wrapper[class^=service-plants] #leadcopy .left h2 {
        font-size: 15px
    }

    #wrapper[class^=service-plants] #leadcopy .left h2 img {
        height: 33px
    }

    #wrapper[class^=service-plants] #leadcopy .left h2+p {
        padding: 10px 0 0 0
    }

    #wrapper[class^=service-plants] #leadcopy .left span.small {
        display: block;
        font-size: 12px !important
    }

    #wrapper[class^=service-plants] #leadcopy .right {
        padding: 15px 0 0 0
    }

    #wrapper[class^=service-plants] #leadcopy .right img {
        width: 100%
    }

    #wrapper[class^=service-plants] #inquiry {
        padding: 15px 15px;
        background: #d7d7d7
    }

    #wrapper[class^=service-plants] #inquiry .left,
    #wrapper[class^=service-plants] #inquiry .right {
        float: none
    }

    #wrapper[class^=service-plants] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=service-plants] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=service-plants] #inquiry .block .size01 {
        font-size: 14px;
        line-height: 1em
    }

    #wrapper[class^=service-plants] #inquiry .block .size02 {
        font-size: 24px;
        line-height: 1.6em
    }

    #wrapper[class^=service-plants] #inquiry .block .size03 {
        font-size: 11px
    }

    #wrapper[class^=service-plants] #inquiry .block a {
        margin: 10px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=service-plants] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper.service-plants-rental #textbody {
        padding: 15px 15px
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li {
        width: 100%;
        margin: 30px 0 0 0
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li:nth-of-type(n+4) {
        margin: 30px 0 0 0
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li p {
        margin: 5px 0 0 0;
        font-size: 13px
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li p.small {
        margin: 0;
        font-size: 12px;
        line-height: 1.4em
    }

    #wrapper.service-plants-rental #textbody .list .flexbox li img {
        width: 100%
    }

    #wrapper.service-plants-rental #textbody .list .supplement {
        margin: 30px 0 0 0
    }

    #wrapper.service-plants-rental #textbody .list .supplement li {
        font-size: 10px;
        line-height: 1.4em
    }

    #wrapper.service-plants-rental #textbody .list .supplement li:before {
        font-size: 10px;
        line-height: 1.4em
    }

    #wrapper.service-plants-management #textbody {
        padding: 15px 15px
    }

    #wrapper.service-plants-management #textbody .set {
        margin: 35px 0 0 0
    }

    #wrapper.service-plants-management #textbody .set:nth-of-type(1) {
        margin: 0
    }

    #wrapper.service-plants-management #textbody .set h4 {
        padding: 0 0 15px 0;
        font-size: 14px
    }

    #wrapper.service-plants-management #textbody .set img {
        width: 100%
    }

    #wrapper.service-plants-management #textbody .set p.small {
        margin: 15px 0 0 0;
        font-size: 11px;
        line-height: 1em
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.company-top #mainbody #h2 {
        padding: 15px 15px
    }

    #wrapper.company-top #mainbody #h2 .left {
        width: 100%
    }

    #wrapper.company-top #mainbody #h2 .left,
    #wrapper.company-top #mainbody #h2 .right {
        float: none
    }

    #wrapper.company-top #mainbody #h2 h2 {
        font-size: 16px
    }

    #wrapper.company-top #mainbody #h2 h2 span {
        font-size: 12px
    }

    #wrapper.company-top #mainbody #h2 p {
        padding: 10px 0 0 0
    }

    #wrapper.company-top #mainbody #h2 .right {
        padding: 15px 0 0 0;
        text-align: center
    }

    #wrapper.company-top #mainbody #h2 .right img {
        width: 100%
    }

    #wrapper.company-top #mainbody h3 {
        padding: 10px 15px;
        font-size: 14px
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors {
        padding: 15px 15px
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors ul {
        border-right: 1px solid #d7d7d7;
        border-bottom: 1px solid #d7d7d7
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li {
        width: 100%;
        text-align: center
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li a {
        display: inline-block;
        width: 100%;
        padding: 15px 5px;
        color: #231815;
        border-top: 1px solid #d7d7d7;
        border-right: none;
        border-bottom: none;
        border-left: 1px solid #d7d7d7;
        background: rgba(0, 151, 224, 0)
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .anchors li a:after {
        width: 12px;
        height: 12px
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set .block {
        padding: 15px 15px
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set .block p.bold+p {
        padding: 10px 0 0 0
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt:nth-of-type(1) {
        padding: 0
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt:nth-of-type(1)+dd {
        padding: 5px 0 0 0
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dt {
        float: none;
        clear: both;
        width: 100%;
        padding: 15px 0 0 0;
        font-weight: 500;
        text-align: left;
        -moz-text-align-last: auto;
        text-align-last: auto;
        text-justify: auto
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor02 dl dd {
        padding: 5px 0 0 0
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table {
        font-size: 12px;
        line-height: 1.6em
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table td.date,
    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set#anchor03 table th {
        white-space: nowrap
    }

    #wrapper.company-top #mainbody .col:nth-of-type(1) .textbody .set .chart img {
        width: 100%
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper[class^=recruit] #mainbody #h2 {
        padding: 15px 15px
    }

    #wrapper[class^=recruit] #mainbody #h2 h2 {
        font-size: 16px
    }

    #wrapper[class^=recruit] #mainbody h3 {
        padding: 10px 15px;
        font-size: 14px
    }

    #wrapper[class^=recruit] #mainbody .textbody .block .inner {
        padding: 15px 15px 30px
    }

    #wrapper[class^=recruit] #mainbody .textbody .block .inner.top-margine-none {
        padding: 0 15px 30px
    }

    #wrapper[class^=recruit] #mainbody .textbody .leadtxt {
        margin: 0 0 15px 0
    }

    #wrapper[class^=recruit] #mainbody .textbody .leadtxt li {
        margin: 0 0 0 1em;
        font-size: 12px;
        line-height: 1.4em;
        list-style: disc
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .set {
        margin: 15px 0 0 0
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head a {
        height: 30px;
        padding: 10px 15px;
        font-size: 14px;
        line-height: .8em
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-head img {
        position: absolute;
        top: 0;
        right: 15px;
        bottom: 0;
        width: auto;
        height: 15px;
        margin: auto
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body {
        padding: 15px 15px
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body p {
        margin: 0 0 15px 0
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table {
        font-size: 11px;
        line-height: 1.4em
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table th {
        padding: 10px 10px
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table th br {
        display: block
    }

    #wrapper[class^=recruit] #mainbody .textbody #accordion-set .accordion-body table td {
        padding: 10px 10px
    }

    #wrapper[class^=recruit] #inquiry {
        padding: 15px 15px
    }

    #wrapper[class^=recruit] #inquiry .left,
    #wrapper[class^=recruit] #inquiry .right {
        float: none
    }

    #wrapper[class^=recruit] #inquiry .right {
        margin: 15px 0 0 0
    }

    #wrapper[class^=recruit] #inquiry .block {
        width: auto;
        height: auto;
        padding: 15px 15px;
        text-align: center;
        background: #fff
    }

    #wrapper[class^=recruit] #inquiry .block:before {
        top: 35px;
        left: 10px;
        width: 31px;
        height: 31px;
        background-size: 31px auto !important
    }

    #wrapper[class^=recruit] #inquiry .block .size01 {
        margin: 0 0 0 35px;
        font-size: 14px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=recruit] #inquiry .block .size02 {
        margin: 5px 0 0 35px;
        font-size: 24px;
        line-height: 1em;
        text-align: left
    }

    #wrapper[class^=recruit] #inquiry .block .size03 {
        margin: 5px 0 0 30px;
        font-size: 11px;
        text-align: left
    }

    #wrapper[class^=recruit] #inquiry .block a {
        margin: 20px 0 0 0;
        padding: 15px 15px;
        font-size: 16px
    }

    #wrapper[class^=recruit] #inquiry .block a:after {
        right: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    #wrapper.recruit-top #mainbody .textbody {
        margin: 15px 0 0 0
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner {
        font-size: 12px;
        line-height: 1.6em
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner img {
        width: 100%
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .bold {
        display: block;
        line-height: 1.6em
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu {
        margin: 20px 0 0 0
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu li {
        width: 100%
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu li:nth-of-type(n+2) {
        margin: 10px 0 0 0
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu li a {
        display: block;
        width: auto;
        padding: 15px 10px;
        font-size: 13px;
        line-height: 1em
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu li a.link:after {
        right: 10px;
        width: 14px;
        height: 14px;
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 14px auto
    }

    #wrapper.recruit-top #mainbody .textbody .block .inner .menu li a.blank:after {
        right: 10px;
        width: 14px;
        height: 13px;
        background: url(../img/common/icon_blank.png) no-repeat 0 0;
        background-size: 14px auto
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody {
        padding: 30px 15px 30px 15px
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .leadtxt {
        font-size: 12px;
        font-weight: 700
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base {
        margin: 15px 0 0 0;
        padding: 15px 15px
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody .gray-base li {
        margin: 10px 0 0 20px;
        font-size: 12px;
        line-height: 1.6em;
        list-style: disc
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form {
        margin: 15px 0 0 0
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table {
        border-bottom: 1px solid #d7d7d7
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table td,
    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table th {
        display: block;
        padding: 10px 10px
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table th {
        width: auto
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form table td {
        border-top: none;
        border-bottom: none
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check {
        width: auto;
        margin: 15px auto 0
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check br {
        display: block
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .last-check .small {
        font-size: 10px
    }

    #wrapper.contact-top #mainbody .col:nth-of-type(1) .textbody form .button {
        margin: 15px auto 0 auto
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.info-top #mainbody .col:nth-of-type(1) .textbody {
        padding: 30px 15px 30px 15px
    }

    #wrapper.info-top #mainbody .col:nth-of-type(1) .textbody ul {
        border-top: 1px solid #d7d7d7
    }

    #wrapper.info-top #mainbody .col:nth-of-type(1) .textbody li {
        padding: 5px 0;
        font-size: 11px;
        line-height: 1.6em;
        border-bottom: 1px solid #d7d7d7
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box {
        margin: 25px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box h3 {
        padding: 10px 15px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1em;
        background: #e3e3e3
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody {
        padding: 15px 15px 30px 15px
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table {
        margin: 25px 0 0 0;
        border: 1px solid #d7d7d7
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table td,
    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th {
        padding: 5px 5px;
        font-size: 11px;
        line-height: 1.6em;
        border: 1px solid #d7d7d7
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th {
        font-size: 12px;
        font-weight: 700;
        text-align: center
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table th:nth-of-type(1) {
        width: 20%
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table td {
        vertical-align: top
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table [class^=indent] {
        position: relative;
        padding: 0 0 0 15px
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table [class^=indent]:before {
        position: absolute;
        top: 0;
        left: 5px
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent01:before {
        content: "1"
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent02:before {
        content: "2"
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody table .indent03:before {
        content: "3"
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.date {
        font-size: 11px;
        line-height: 1.6em
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.ttl {
        padding: 15px 0 0 0;
        font-size: 13px
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.name {
        padding: 15px 0 0 0;
        font-size: 12px
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.leadtxt {
        padding: 15px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.sttl {
        font-weight: 700
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody p.last {
        text-align: right
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(1) ul li {
        margin: 30px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(1) ul ol>li {
        margin: 0 0 0 20px;
        list-style: disc
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) p.sttl {
        margin: 30px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box {
        margin: 30px 0 0 0;
        padding: 15px 15px;
        line-height: 1.8em;
        border: 1px solid #d7d7d7
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box .lower {
        margin: 10px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .info-box br {
        display: block
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn {
        display: block;
        width: 100%;
        margin: 5px 0 0 0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn a {
        display: block;
        padding: 10px 10px;
        color: #fff;
        font-size: 13px;
        line-height: 1em;
        text-align: center;
        letter-spacing: .05em;
        border: 1px solid #0097e0;
        background: #0097e0
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box:nth-of-type(2) .btn a:after {
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        width: 16px;
        height: 16px;
        margin: auto;
        content: "";
        background: url(../img/common/icon_sidenav_white.png) no-repeat 0 0;
        background-size: 100% auto
    }

    .input-text input[type=password],
    .input-text input[type=text] {
        padding: 8px 10px
    }

    .input-radio {
        padding: 0 0 0 20px
    }

    .input-radio label::before {
        top: 4px;
        left: 0;
        width: 12px;
        height: 12px
    }

    .input-radio label::after {
        top: 7px;
        left: 3px;
        width: 6px;
        height: 6px
    }

    .input-checkbox {
        position: relative;
        padding-left: 20px
    }

    .input-checkbox label {
        display: inline-block;
        font-size: 12px !important;
        font-weight: 700;
        cursor: pointer
    }

    .input-checkbox label::after,
    .input-checkbox label::before {
        position: absolute;
        display: inline-block;
        content: "";
        -webkit-transition: -webkit-transform .2s ease;
        transition: -webkit-transform .2s ease;
        transition: transform .2s ease;
        transition: transform .2s ease, -webkit-transform .2s ease
    }

    .input-checkbox label::before {
        top: 5px;
        left: 0;
        width: 14px;
        height: 14px
    }

    .input-checkbox label::after {
        top: 10px;
        left: 5px;
        width: 6px;
        height: 11px;
        margin-top: -5.5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        border-radius: 1.5px
    }

    .button button {
        width: 100%;
        padding: 15px 0;
        color: #fff;
        font-size: 12px;
        line-height: 1em
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) li {
        padding: 10px 15px;
        border-top: 1px solid #d7d7d7
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) li:nth-of-type(1) {
        padding: 15px 15px;
        border-top: none
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .left,
    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .right {
        float: none;
        width: 100%
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .left div,
    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .right div {
        margin: 10px 0 0 0
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .left {
        padding: 0
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) .ttl {
        margin: 5px 0 0 0;
        font-size: 12px
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) a {
        margin: 5px 0 0 0
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.parent {
        padding: 5px 0 5px 20px;
        font-size: 13px;
        background: url(../img/common/icon_sidenav.png) no-repeat left center;
        background-size: 13px auto
    }

    #wrapper.sitemap-top #mainbody .col:nth-of-type(1) a.child {
        padding: 5px 0 5px 20px;
        font-size: 12px;
        background: url(../img/common/icon_sidenav.png) no-repeat left center;
        background-size: 13px auto
    }

    footer #footer-links .banners p.keikyuBnr {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        width: 122px;
        height: 46px;
        padding-top: 10px;
        margin: auto;
    }

    #inquiry .flexbox {
        display: block;
    }

    #inquiry .box {
        width: auto;
        padding: 10px 15px;
    }

    #inquiry .box+.box {
        margin-top: 15px;
    }

    #inquiry .hl img {
        height: 50px;
    }

    #inquiry .tel-num {
        margin-top: 0px;
    }

    #inquiry .btn-mail {
        margin-top: 10px;
        padding: 15px 0;
        height: auto;
    }

    #inquiry .btn-mail img {
        width: 68%;
    }

    #wrapper.service-flower-top #mainbody #menu-area li:nth-of-type(3) {
        margin-top: 15px;
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0202 {
        border: none
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0203 {
        border: none
    }

    #wrapper.service-top #mainbody #menu-area li a.menu0204 {
        border: none
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content {
        padding-left: 10px;
        padding-top: 10PX;
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content ul {
        padding-left: 10px;
    }

    #wrapper.privacy-top #mainbody .col:nth-of-type(1) .box .textbody .sub_content ul li {
        padding-left: 25px;
        text-indent: -25px;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .loader-inner {
        width: 50vw;
    }

    .inner {
        width: 89.4vw;
    }

    .common-title-en {
        font-size: 3.6rem;
        padding-bottom: 2rem;
        margin-bottom: 1.8rem;
    }

    .common-title-jp {
        font-size: 2rem;
    }

    .common-btn {
        width: 21.4rem;
        height: 5.2rem;
    }

    section#page_contact_sec .arrow::after {
        right: 0;
    }

    .arrow::after {
        width: 2.48486rem;
        height: .68486rem;
    }

    .mv-wrap {
        margin: 0 0 10vw;
        height: 70vw;
    }

    .mv-title-box {
        margin-bottom: 3.2rem;
        margin-left: 8.5%;
    }

    .mv-title {
        font-size: 5rem;
        margin-bottom: 2.4rem;
    }

    .mv-text {
        font-size: 1.3rem;
    }

    .mv-copy-box {
        left: 5vw;
        top: 5vw;
        z-index: 10;
    }

    .mv-copy {
        font-size: 6vw;
        line-height: 1.7;
    }

    .mv-copy p+p {
        margin-top: 2vw;
    }

    .mv-bg {
        /* position: relative; */
    }

    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: 3vw;
        width: auto;
        left: 5vw;
        background: #fff;
        padding: 2vw 2vw;
        line-height: 0;
    }

    .swiper-pagination-bullet {
        background: #e7e7e8;
        opacity: 1;
    }

    .swiper-pagination-bullet-active {
        opacity: var(--swiper-pagination-bullet-opacity, 1);
        background: #5061ff;
    }

    .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        display: inline-block;
    }

    .swiper-pagination {
        position: absolute;
    }

    .news-wrap {
        margin: 0 0 8rem;
    }

    .news-inner {
        flex-direction: column;
    }

    .news-l {
        flex-direction: row;
        margin-bottom: 3rem;
    }

    .news-title {
        font-size: 1.6rem;
    }

    .news-link-box {
        padding-bottom: 0;
    }

    .news-link {
        font-size: 1.2rem;
    }

    .news-r {
        width: 100%;
    }

    .news-item-link {
        flex-direction: column;
    }

    .news-text {
        font-size: 1.3rem;
        margin-left: 0;
        width: 100%;
    }

    .solution-title {
        font-size: 4.6rem;
        left: 1.8%;
    }

    .solution-wrap {
        padding: 5.6rem 0 6.2rem;
    }

    .solution-sub-title {
        font-size: 2rem;
    }

    .solution-img-box {
        width: 100%;
        position: relative;
        bottom: auto;
    }

    .solution-item-text {
        font-size: 1.2rem;
    }

    .solution-btn {
        margin-bottom: 5.2rem;
    }

    .service-wrap {
        padding: 10rem 0;
    }

    .service-wrap::after {
        content: none;
    }

    .service-top {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 2rem;
    }

    .service-title-box {
        margin-bottom: 4rem;
    }

    .service-tab {
        width: calc((100% - 3.4%) / 2);
    }

    .service-tab-box {
        width: 100%;
    }

    .service-img img {
        height: 100%;
    }

    .service-bottom {
        flex-direction: column-reverse;
    }

    .panel-box {
        width: 100%;
    }

    .service-r {
        width: 100%;
        margin-bottom: 10rem;
    }

    .service-img-link::after {
        width: 59.5%;
        height: 5.5rem;
        right: auto;
        top: auto;
        left: 0;
        bottom: 0;
        transform: translateY(100%);
        background: #f5f5f5;
    }

    .service-img-text {
        font-size: 1.4rem;
        height: 3.5rem;
        padding: 0 1rem;
    }

    .service-btn {
        transform: translate(0, 50%);
        right: 5.3%;
    }

    .service-l {
        width: 89.4%;
        margin: 0 auto;
    }

    .service-box {
        margin-bottom: 4rem;
    }

    .service-bottom-title {
        font-size: 1.6rem;
        margin-bottom: 1.4rem;
    }

    .service-list {
        flex-wrap: wrap;
        display: flex;
        justify-content: space-between;
    }

    .service-item {
        width: calc((100% - 2.7%) / 2);
        height: 5rem;
    }

    .service-item:first-child {
        border-top: none;
    }

    .tab-2 .service-item:first-child {
        width: 100%;
    }

    .service-link {
        font-size: 1.3rem;
        padding-left: 1rem;
    }

    .works-wrap {
        margin-bottom: 7rem;
    }

    .works-inner {
        width: 94.7%;
    }

    .works-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .works-top-container {
        padding-bottom: 0;
    }

    .works-top-container::after {
        width: 52%;
    }

    .works-bottom-container::after {
        height: 34%;
        width: 52%;
        max-height: none;
    }

    .works-container {
        padding-top: 5.2rem;
    }

    .works-text {
        font-size: 1.3rem;
    }

    .works-text-link {
        font-size: 1.2rem;
    }

    .works-btn {
        margin-top: 7rem;
    }

    .company-top {
        padding: 8rem 0 0;
    }

    .company-top::before {
        height: 2.7rem;
    }

    .company-top::after {
        width: 82.4%;
        height: 2.7rem;
    }

    .company-inner {
        width: 100%;
    }

    .company-r {
        width: 100%;
    }

    .company-r-inner {
        width: 89.4%;
        margin: 0 auto;
    }

    .company-title-box {
        margin-bottom: 4.8rem;
    }

    .company-img-box {
        margin-bottom: 4rem;
    }

    .company-sub-title {
        font-size: 1.8rem;
        margin-bottom: 2.4rem;
    }

    .company-text {
        margin-bottom: 4.8rem;
    }

    .company-btn {
        margin: 0 5.3% 0 auto;
    }

    .company-bottom {
        padding-top: 5rem;
    }

    .company-bottom::after {
        width: 82.4%;
        height: 48rem;
    }

    .company-list {
        flex-direction: column;
        margin-bottom: 10.8rem;
    }

    .company-item {
        width: 100%;
        margin-bottom: 2rem;
    }

    .company-item:last-child {
        margin-bottom: 0;
    }

    .company-item:nth-child(n+3) {
        margin-top: 0rem;
    }

    .company-item-img {
        width: 36.2%;
        margin-right: 8%;
    }

    .company-item-img::before {
        right: -0.7rem;
        bottom: -0.7rem;
        width: 6rem;
        height: 6rem;
    }

    .company-item-text {
        font-size: 1.3rem;
    }

    .comapny-feature-link {
        flex-direction: column;
        padding: 4rem 0;
    }

    .comapny-feature-l {
        width: 100%;
    }

    .comapny-feature-r {
        width: 100%;
    }

    .comapny-feature-title {
        margin-bottom: 2.2rem;
        font-size: 1.8rem;
    }

    .comapny-feature-text {
        margin-bottom: 2rem;
        font-size: 1.3rem;
    }

    .comapny-feature-img {
        padding: 0 0 4% 4%;
        margin-bottom: 2.4rem;
        height: calc(15.3rem + 4%);
    }

    .comapny-feature-img::after {
        right: auto;
        left: 0;
        bottom: 0;
        width: 12rem;
        height: 12rem;
    }

    .comapny-feature-text-link-box {
        text-align: right;
    }

    .twoRows-wrap {
        padding: 5rem 0 8rem;
    }

    .twoRows-wrap::before {
        width: 51.7%;
    }

    .twoRows-list {
        flex-direction: column;
    }

    .twoRows-item {
        width: 100%;
        height: auto;
    }

    .twoRows-inner {
        width: 89.4%;
        padding: 2.7rem 0 2rem;
    }

    .twoRows-l {
        width: 62.8%;
    }

    .twoRows-title {
        font-size: 2.4rem;
        margin-bottom: 3.4rem;
    }

    .twoRows-title-jp {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }

    .twoRows-text {
        font-size: 1.2rem;
    }

    .blog-wrap {
        margin-bottom: 28rem;
    }

    .blog-wrap::before {
        width: 51.7%;
        height: 21.6rem;
    }

    .blog-inner {
        width: 94.7%;
    }

    .blog-container {
        padding-top: 6.4rem;
    }

    .blog-link-box {
        left: 0;
        bottom: -20rem;
    }

    .swiper-button-next {
        right: 5.3vw;
    }

    .swiper-button-prev {
        right: calc(5.3vw + 7.2rem - 2.6rem);
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 7.5rem;
    }

    .blog-img {
        padding: 5% 0 0 5%;
    }

    .blog-text-box {
        padding: 2.4rem 1.2rem 0;
        background: #fff;
        margin-left: 5%;
        transform: translateY(-0.6rem);
        width: 86%;
        margin-bottom: 1.2rem;
    }

    .blog-tag {
        font-size: 1.3rem;
        padding: 0.55rem 2.8rem;
    }

    .blog-text {
        font-size: 1.3rem;
    }

    .blog-text-link {
        margin-left: calc(5% + 1.2rem);
    }

    .contact-wrap {
        padding: 8rem 0;
        background: #5061ff;
    }

    .contact-inner {
        flex-direction: column;
    }

    .contact-l {
        text-align: center;
        margin-bottom: 4rem;
    }

    .contact-title-en {
        font-size: 3.6rem;
        margin-bottom: 1.4rem;
    }

    .contact-title-jp {
        font-size: 2rem;
    }

    .contact-r {
        width: 100%;
    }

    .contact-btn {
        height: 8.6rem;
    }

    .contact-text-box {
        width: 85%;
    }

    .page_header-wrap .page_title .title {
        font-size: 3rem;
        letter-spacing: 0.1em;
    }

    .page_header-wrap .page_title .en {
        width: 100%;
        padding-left: 0;
    }

    .page_header-wrap {
        padding: 6rem 0;
    }

    .page_header-wrap .page_breadcrumbs li+li:before {
        top: 0.8rem;
    }

    .page_service_building_sidenav {
        display: none;
    }

    .page_service_building_wrap>section .inner {
        padding: 0;
    }

    section.page_service_building_fv .text_content {
        width: 100%;
        padding: 0 0 4rem;
    }

    section.page_service_building_fv .image {
        width: 100%;
    }

    section.page_service_building_fv {
        padding-bottom: 10rem;
    }

    section.page_service_building_body {
        padding: 10rem 0;
    }

    section.page_service_building_body .title {
        letter-spacing: 0.1em;
    }

    section.page_service_building_body .description {
        margin-bottom: 4rem;
    }

    section.page_service_building_body .solution_list_image_text .image {
        width: 40%;
        margin-bottom: 2rem;
    }

    section.page_service_building_body .solution_list_image_text .text_content {
        width: 100%;
        padding: 0;
    }

    section.page_image_fv {
        padding: 0 5%;
    }

    section.page_image_fv .image_bg {
        padding: 6rem 2vw 2rem;
    }

    section.page_image_fv .image_bg .catchcopy p {
        font-size: 4vw;
        letter-spacing: 0;
    }

    section.page_image_fv .image_bg .catchcopy p+p {
        margin-top: 2vw;
    }

    section.page_image_fv+section.under_text {
        font-size: 3.5vw;
        padding-top: 1em;
    }

    .page_service_tab_content .tab_content_wrap {
        padding: 6rem 0;
    }

    .page_service_tab_content .tab_content_wrap .service_type {
        font-size: 2rem;
        margin: 6rem 0 4rem;
    }

    .service_list ul li {
        width: 100%;
        margin-bottom: 2rem;
    }

    .service_list ul li a .image {
        width: 25;
        width: 25%;
    }

    .service_list ul li a .text {
        padding-left: 2rem;
    }

    .page_service_content .solution-img-box {
        width: 100%;
    }

    .page_service_content .solution-wrap {
        padding-bottom: 10rem;
    }

    section.page_service_building_fv .text_content .title span {
        display: block;
        font-size: 50%;
        padding-bottom: 0.5em;
    }

    .ppp_content_list .ppp_head .title {
        font-size: 1.4rem;
        width: 100%;
    }

    .ppp_content_list .ppp_head .link {
        margin-left: auto;
        margin-bottom: 2rem;
    }

    .ppp_content_list .ppp_client {
        margin: 0 0 1rem;
    }

    .ppp_content_list .ppp_images ul li {
        width: 48%;
        margin: 0 0 4vw;
    }

    .ppp_content_list .ppp_images ul {
        justify-content: space-between;
    }

    .ppp_content_list .ppp_head .link a {
        padding-right: 3rem;
    }

    section.page_service_building_body .plants_content_image {
        position: static;
        width: 100%;
        margin-bottom: 5rem;
    }

    .prants_page_link ul li {
        width: 50%;
    }

    .prants_page_link ul li+li {
        margin: 0;
    }

    .prants_page_link {
        margin-bottom: 3rem;
    }

    .plants_item_list ul li {
        width: 32%;
        margin-right: 2%;
        margin-bottom: 2rem;
    }

    .plants_item_list ul li .item_name {
        font-size: 1.2rem;
    }

    .plants_item_list ul li .item_info {
        font-size: 1rem;
    }

    section#page_contact_sec .contact-btn {
        width: 100%;
    }

    section#page_contact_sec .contact-btn+.contact-btn {
        margin-top: 1rem;
    }

    section#page_contact_sec .title_area .en {
        font-size: 4rem;
        letter-spacing: 0.1em;
        width: 100%;
    }

    section#page_contact_sec .title_area .title {
        font-size: 2rem;
        margin: 0;
        padding: 0;
    }

    section#page_contact_sec {
        padding: 6rem 0;
    }

    .plants_management_before_after .image_wrap {
        width: 40%;
    }

    .plants_management_before_after .ba_arrow {
        width: 10%;
    }

    .plants_management_before_after .ba_arrow:after {
        width: 5vw;
        height: 5vw;
    }

    section#training_center_fv .image,
    section#training_center_fv .content {
        width: 100%;
    }

    section#training_center_fv .content {
        padding: 2rem 0 0;
    }

    section#training_center_fv .content .catch {
        font-size: 3vw;
        margin-bottom: 5vw;
    }

    .page_training_center_content>section {
        padding: 10rem 0;
    }

    .training_list ul li {
        width: 100%;
        margin-bottom: 1rem;
    }

    .training_list ul li .text {
        width: calc(100% - 8rem);
    }

    .floor_guide_tab {
        width: 100%;
    }

    .floor_guide_tab ul {
        display: flex;
        flex-wrap: wrap;
    }

    .floor_guide_tab ul li {
        width: 50%;
    }

    .floor_guide_content {
        margin-top: 0;
    }

    .floor_guide_map {
        padding: 0;
        margin: 2rem 0;
        width: 100%;
    }

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

    .floor_guide_images {
        width: calc(100% + 2vw);
    }

    .floor_guide_text {
        margin-bottom: 2rem;
    }

    .floor_guide_content>ul>li {
        position: static;
        display: none;
    }

    .floor_guide_content>ul>li.show {
        display: block;
    }

    .floor_guide_images .slick-track {
        margin-left: -1vw;
    }

    .floor_guide_images .slick-next {
        right: -2vw;
    }

    .floor_guide_images .slick-prev,
    .floor_guide_images .slick-next {
        width: 5vw;
        height: 10vw;
        top: 9vw;
    }

    .floor_guide_images .slick-prev {
        left: -3vw;
    }

    .floor_guide_images .area_name {
        font-size: 1rem;
    }

    .floor_guide_images .image {
        margin-bottom: 0.5rem;
    }

    .news_list a .date {
        width: 100%;
        border: none;
        padding-bottom: 0;
    }

    .news_list a .title {
        width: 100%;
        padding-left: 0;
    }

    .news_pager .news_page_nav .next a {
        margin-left: 1rem;
    }

    .news_pager .news_page_nav .prev a {
        margin-right: 1rem;
    }

    .news_pager .news_page_nav .prev,
    .news_pager .news_page_nav .next {
        order: -1;
        width: 50%;
        margin-bottom: 1rem;
    }

    .news_pager .news_page_nav .prev {
        text-align: right;
        margin-right: 50%;
    }

    .news_pager .news_page_nav .next {
        margin-left: 50%;
    }

    .news_pager .news_page_nav .prev~.next {
        margin-left: -50%;
    }

    .page_content-wrap {
        padding: 0 0 10rem;
    }

    .page_content-wrap .news_inner {
        min-width: auto;
        width: 90%;
    }

    .cat_list.-works ul li {
        width: calc(50% - 5px);
        margin-bottom: 10px;
    }

    .cat_list {
        margin-bottom: 4rem;
    }

    .blog_list ul li {
        width: 100%;
        margin-bottom: 6rem;
    }

    div#works_modal_content {
        width: 86%;
        padding: 5vw;
    }

    .staff_modal_content {
        width: 86%;
    }

    div#works_modal_content .textarea {
        padding: 0;
    }

    .recruit_service_list ul li .service_name {
        width: 100%;
        padding: 0;
        text-align: center;
    }

    .recruit_service_list ul li {
        width: 32%;
        margin-right: 2%;
    }

    .recruit_service_list ul li:nth-child(3n) {
        margin-right: 0;
    }

    .recruit_service_list ul li .image {
        width: 100%;
    }

    .page_recruit_content>section {
        padding: 8rem 0;
    }

    .recruit_comapny_sec_info .content {
        width: 100%;
        padding: 0;
    }

    .recruit_comapny_sec_info .image {
        width: 100%;
        margin-top: 4rem;
    }

    .employment_list ul li {
        width: 10;
        width: 100%;
    }

    .recruit_flow_list ul li {
        padding: 5vw;
    }

    .recruit_flow_list ul li .step_num {
        width: 14vw;
        height: 14vw;
    }

    .recruit_flow_list ul li .step_num .step {
        font-size: 3vw;
    }

    .recruit_flow_list ul li .step_num .num {
        font-size: 6vw;
    }

    .recruit_flow_list ul li .content {
        width: 65vw;
        padding-left: 5vw;
    }

    .job_toggle dl dd table th,
    .job_toggle dl dd table td {
        display: block;
        width: 100% !important;
    }

    .job_toggle dl dd table th {
        padding: 2rem 0 0;
        border: none;
    }

    .job_toggle dl dd table td {
        padding: 1rem 0 2rem;
    }

    section#shinsotsu_fv .fv_image {
        width: 95%;
        height: 120vw;
    }

    section#shinsotsu_fv {
        flex-wrap: wrap;
    }

    section#shinsotsu_fv .fv_image .fv_text {
        font-size: 7vw;
        right: 1vw;
        top: 5vw;
    }

    section#shinsotsu_fv .fv_message {
        width: 90%;
        margin: 0 auto;
        padding: 10vw 0 0;
    }

    section#shinsotsu_fv .fv_message .fv_title h1 {
        font-size: 4rem;
    }

    section#shinsotsu_fv .fv_message .fv_title .en {
        font-size: 2.;
        font-size: 2.4rem;
    }

    section#shinsotsu_fv .fv_message .fv_title .jp {
        font-size: 1.2rem;
    }

    section#shinsotsu_fv .fv_message .fv_title {
        margin-bottom: 10vw;
    }

    .page_shinsotsu_content>section {
        padding: 10rem 0;
    }

    .page_shinsotsu_content section#shinsotsu_solution .content {
        width: 100%;
        padding: 0;
    }

    h2.shinsotsu_h2 {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .inner.-wide {
        width: 90vw;
    }

    .page_shinsotsu_content section#shinsotsu_solution .content .catch {
        margin-bottom: 1rem;
    }

    .page_shinsotsu_content section#shinsotsu_solution .content .text {
        margin-bottom: 4rem;
    }

    .page_shinsotsu_content section#shinsotsu_solution .image {
        width: 100%;
    }

    .page_shinsotsu_content section#shinsotsu_solution:after {
        height: 204vw;
    }

    section#shinsotsu_solution .solution-list {
        margin-bottom: 4rem;
        min-width: auto;
    }

    .shinsotsu_about_flex ul li {
        width: 100%;
    }

    .shinsotsu_about_flex ul li+li {
        margin-top: 2rem;
    }

    .shinsotsu_staff_list {
        width: 100%;
        margin: 0 auto;
    }

    .shinsotsu_staff_list ul li {
        width: 20rem;
        height: 20rem;
        padding: 0;
        margin: 0 1rem;
    }

    .shinsotsu_staff_list ul li .icon {
        margin-bottom: 1rem;
    }

    .shinsotsu_staff_list ul li .staff_type {
        font-size: 1.2rem;
    }

    .shinsotsu_step_list ul li {
        padding: 5vw;
    }

    .shinsotsu_step_list ul li .year {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgb(80 97 255 / 50%);
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .shinsotsu_step_list ul li .year .en {
        font-size: 3rem;
    }

    .shinsotsu_step_list ul li .content {
        width: 100%;
    }

    .shinsotsu_step_list ul li .content p {
        padding-left: 2rem;
    }

    .shinsotsu_step_list ul li .content p+p {
        margin-top: 1rem;
    }

    section#shinsotsu_others .other_btns ul li {
        width: 100%;
    }

    section#shinsotsu_others .other_btns ul li a {
        padding: 5vw;
        height: 28vw;
    }

    section#shinsotsu_others .other_btns ul li.mynavi a {
        padding: 0 10vw;
    }

    section#shinsotsu_others .other_btns ul li a .icon {
        width: 10vw;
    }

    section#shinsotsu_others .other_btns ul li+li {
        margin-top: 2rem;
    }

    section#shinsotsu_others .other_btns {
        margin-bottom: 2rem;
    }

    section#shinsotsu_others .intern_bn a {
        height: 10rem;
        font-size: 1.8rem;
    }

    .solution_item_list ul li {
        width: 49%;
        margin: 0 0 2vw;
        padding: 1rem;
        font-size: 1.2rem;
    }

    .solution_item_list ul {
        justify-content: space-between;
    }

    .in_page_nav ul li {
        width: 48%;
        margin-bottom: 4vw;
    }

    .in_page_nav ul {
        justify-content: space-between;
    }

    .in_page_nav ul li+li {
        margin-left: 0;
    }

    .in_page_nav ul li a {
        width: 100%;
    }

    .solution_content_image_text .image {
        width: 40%;
        margin: 5vw 0 0 5vw;
    }

    .solution_content_image_text .content {
        width: 100%;
        padding: 5vw;
    }

    .solution_content_image_text .content .title {
        font-size: 1.6rem;
    }

    .solution_content_image_text .content .text {
        font-size: 1.2rem;
    }

    .solution_content_image_text .content .btns {
        width: 100%;
    }

    .solution_content_image_text .common-btn {
        width: 100%;
    }

    .solution_content_image_text .content .btns>div+div {
        margin-top: 1rem;
    }

    .solution_content_image_text .arrow::after {
        right: 5%;
    }

    .page_solution_content section#networking .sec_description {
        width: 100%;
        padding: 0;
        margin-bottom: 4rem;
    }

    .page_solution_content section#networking .sec_image {
        position: static;
        width: 100%;
        margin-bottom: 4rem;
    }

    .page_solution_content>section {
        padding: 8rem 0;
    }

    .building_works_list ul li {
        width: 100%;
    }

    .solution_list_image_text .image {
        width: 50;
        width: 50%;
    }

    .solution_list_image_text .text_content {
        width: 100%;
        padding-left: 0;
    }

    .sdgs_topic .image {
        width: 100%;
        margin-bottom: 1rem;
    }

    .sdgs_topic .content {
        width: 100%;
        padding: 0;
    }

    .sdgs_topic .content .title {
        font-size: 1.8rem;
        margin-bottom: 0;
    }

    .tab_content.-sdgs_type01 .list_image>div {
        max-height: 40vw;
        margin: 0 2vw;
    }

    .tab_content.-sdgs_type02 .scroll_link>div {
        width: 32%;
    }

    .tab_content.-sdgs_type02 .scroll_link>div a .en {
        font-size: 4vw;
    }

    .tab_content.-sdgs_type02 .scroll_link>div a .jp {
        width: 100%;
        margin-left: 0;
    }

    .sdgs_sec_title .en {
        font-size: 8vw;
    }

    .sdgs_sec_title .jp {
        font-size: 4vw;
    }

    .page_service_tab_content .tab_btns ul li {
        padding: 1.5rem 0.5rem;
    }

    .sdgs_type03_head .icon {
        width: 20vw;
        margin: 0 auto;
    }

    .sdgs_type03_head .content {
        width: 100%;
        padding: 5vw 0 0;
    }

    .doc_links li a .date {
        width: 100%;
    }

    .doc_links li a .doc_name {
        width: 90%;
        padding-right: 3vw;
    }

    .doc_links li a .icon {
        width: 6%;
    }

    .doc_links li a {
        font-size: 1.2rem;
    }

    .page_company_content section#philosophy .philosophy_text {
        font-size: 6vw;
    }

    .page_company_content section#philosophy .philosophy_text br {
        display: none;
    }

    .company_duc_slider {
        width: 68vw;
    }

    .company_duc_slider ul li {
        width: 68vw;
        margin: 0 3vw;
    }

    .company_duc_slider .slick-prev {
        left: -8vw;
    }

    .company_duc_slider .slick-next {
        right: -8vw;
    }

    .page_company_content section#philosophy .philosophy_text {
        font-size: 6vw;
    }

    .page_company_content section#philosophy .philosophy_text br {
        display: none;
    }

    .company_duc_slider {
        width: 68vw;
    }

    .company_duc_slider ul li {
        width: 68vw;
    }

    .company_duc_slider .slick-prev {
        left: -8vw;
    }

    .company_duc_slider .slick-next {
        right: -8vw;
    }

    .page_company_content>section {
        padding: 12vw 0;
    }

    .overview_table th,
    .overview_table td {
        display: block;
        width: 100%;
    }

    .overview_table th {
        border: none;
        padding-bottom: 0;
    }

    .page_company_content section#overview .main_office_map {
        padding: 0 5vw;
        margin-bottom: 6rem;
    }

    .map_lists ul li {
        width: 100%;
    }

    .map_lists ul li .map_frame {
        height: 60vw;
    }

    .qualifications_member_block {
        width: 100%;
    }

    .qualifications_member_block.-pdadding_top .date {
        margin-top: 2rem;
    }

    .page_company_content section#history .inner {
        width: 90%;
    }

    .history_content dl dt {
        width: 100%;
        margin-bottom: 1vw;
    }

    .history_content dl dd {
        width: 100%;
        padding-left: 8vw;
        margin-bottom: 5vw;
    }

    .history_content dl dd .m_content .m {
        width: 4rem;
    }

    .history_content dl dd .m_content .content {
        width: calc(100% - 4rem);
    }

    .page_company_content section#organization .inner {
        width: 90%;
    }

    .company_message_flex .image {
        width: 45vw;
    }

    .company_message_flex .message_content {
        width: 100%;
        padding: 5vw 0 0;
    }

    .company_message_flex .message_content .sec_title {
        margin-bottom: 5vw;
    }

    .sec_title .en {
        font-size: 2.6rem;
    }

    .site_map_content .sitemap_block {
        width: 100%;
    }

    .page_contact_area_content form table th,
    .page_contact_area_content form table td {
        display: block;
        width: 90vw;
    }

    .page_contact_area_content form table th {
        padding: 2rem 0 0;
        border-bottom: none;
    }

    .page_contact_area_content form table td {
        border-top: 0;
        padding: 1rem 0 2rem;
    }

    .page_contact_area_content form table td input[name="address"] {
        width: 60vw;
    }

    .page_contact_area_content form table td .flex .input_label {
        width: 8rem;
    }

    .page_contact_area_content .last-check {
        margin: 5vw auto;
        padding: 5vw;
    }

    .contact_thanks_text {
        text-align: left;
    }

    .recruit_flow_list ul li .content.center {
        padding-right: 19vw;
    }

    div#works_modal_content .modal_inner .image.-company_doc {
        padding: 5vw;
    }

    .staff_modal_content .staff_content_main {
        padding: 5vw 5vw 0;
        height: calc(100% - 10vw);
        overflow-y: scroll;
    }

    .staff_modal_content .staff_content_main .staff_info {
        width: 100%;
        height: auto;
        padding-bottom: 10vw;
    }

    .staff_modal_content .staff_content_main .staff_interview {
        width: 100%;
        padding: 0 0 5vw;
        height: auto;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a {
        height: 10vw;
        padding: 0 10vw 0 5vw;
        font-size: 3vw;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .icon {
        width: 5vw;
    }

    .staff_modal_content .staff_modal_contact .btn_flex {
        width: 100%;
    }

    .staff_modal_content .staff_modal_contact {
        margin-top: 5vw;
    }

    .staff_modal_content .staff_modal_contact .btn_flex a .arrow::after {
        width: 8vw;
    }

    div#works_modal_close {
        z-index: 2;
    }

    section#shinsotsu_message .image {
        width: 100%;
        padding: 0 15%;
        margin-bottom: 5vw;
    }

    section#shinsotsu_message .content {
        width: 100%;
    }

    .page_service_content.-sdgs .tab_btns ul li {
        font-size: 3vw;
    }

    .sdgs_content.-typeA .image {
        width: 100%;
        margin-bottom: 2rem;
    }

    .sdgs_content.-typeA .content {
        width: 100%;
        padding: 0;
    }

    .sdgs_content ul.list_text li {
        width: 100%;
    }

    .history_content table tr {
        display: flex;
        flex-wrap: wrap;
    }

    .history_content table th,
    .history_content table td {
        display: block;
    }

    .history_content table th {
        width: 100%;
        margin-bottom: 1vw;
        margin-top: 5vw;
    }

    .history_content table td:nth-child(2) {
        width: 4rem;
        margin-left: 8vw;
    }

    .history_content table td:nth-child(3) {
        width: calc(100% - 4rem - 8vw);
    }

    .history_content table th:empty {
        display: none;
    }

    .page_company_content section#qualifications h3:first-child {
        margin-top: 4.5rem;
    }

    .page_service_content .solution-img-box {
        width: 90%;
        margin: 0 auto;
    }

    .-company .in_page_nav ul li+li {
        margin-left: 0;
    }

    .-company .in_page_nav ul li {
        width: 48%;
    }

    .cta.sp .cta-btn.b-b {
        background: #FF3299;
    }

    .map_lists ul li {
        padding: 2rem;
    }

    .page_company_content section#philosophy .doc_image {
        width: 100%;
    }

    .map_lists ul li .office_info a.tel {
        pointer-events: auto;
    }

    div#shinsotsu_step_modal .image img {
        width: auto;
        max-width: none;
        height: 100%;
    }

    .shinsotsu_staff_list .slick-arrow {
        width: 4rem;
    }

    .shinsotsu_staff_list .slick-arrow.slick_prev {
        left: calc(50% - 13rem);
    }

    .shinsotsu_staff_list .slick-arrow.slick_next {
        right: calc(50% - 13rem);
    }

    .shinsotsu_staff_list .slick-arrow::before {
        width: 1rem;
    }

    .recruit_merit_content .text.-has_image {
        flex-wrap: wrap;
    }

    .text.-has_image.recruit_merit_image_anshinanzenyuryomark .image {
        width: 30%;
        margin: 0 auto;
    }

    .recruit_merit_sdgs_image_flex {
        padding: 5vw 5vw 0;
    }

    .recruit_merit_sdgs_image_flex > div {
        width: 80%;
        margin: 0 auto;
    }

    .recruit_merit_sdgs_image_flex > div.wide {
        width: 100%;
        margin: 5vw 0 0;
    }

    .tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_no18nintei02 img {
        width: 70vw;
    }

    .tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_torikumi01 {
        max-height: 55vw;
    }

    .tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_torikumi01 img {
        max-height: 40vw;
    }

    .tab_content.-sdgs_type01 .list_image>div.sdgs_type01_image_torikumi01 p {
        margin: 0;
    }

}

@media (max-width: 860px) {
    .service-btn {
        transform: translate(10%, 50%);
    }
}