﻿* {
    box-sizing: border-box
}

*::before,
*::after {
    box-sizing: border-box
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

body {
    line-height: 1.7
}

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

ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: bottom;
    background: transparent;
    text-decoration: none;
    color: #000;
}

del {
    text-decoration: line-through
}

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

input,
select {
    vertical-align: middle
}

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

html {
    font-size: 62.5%
}

body {
    font-size: 1.6rem;
    line-height: 1.7
}

.wp-caption {
    width: 100%;
    max-width: 100%;
    text-align: center
}

.wp-caption-text {
    margin-top: .75rem;
    font-size: .8rem;
    opacity: 0.75
}

.sticky {
    display: block
}

.gallery-caption {
    display: block;
    width: 100%;
    font-size: .8rem;
    text-align: center;
    opacity: 0.75
}

.bypostauthor {
    color: inherit
}

.alignright {
    float: right
}

.alignleft {
    float: left
}

img.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

.gnavHidden {
    overflow: hidden
}

#s-gnavModal {
    width: 80%;
    margin: auto;
    padding-top: 3rem
}

.header-nav .gnav ul li.valid:hover .mega-list {
    height: 200px;
    transition: .2s
}

@media (max-width: 600px) {
    .header-nav .gnav ul li.valid:hover .mega-list {
        height: auto;
    }
}

.header-nav .gnav ul li.valid:hover .mega-list.big {
    height: 400px
}

.header-nav .gnav ul li.valid:hover::after {
    content: '';
    display: none;
}

.header-nav .gnav ul li.valid:hover>a {
    position: relative
}

.header-nav .gnav ul li.valid:hover>a::before {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    display: block;
    background: #99ff66;
    left: 50%;
    top: 48px;
    bottom: 0;
    transform: translateX(-50%) rotate(45deg);
}

@media screen and (max-width: 1024px) {
    #s-gnavModal {
        display: none
    }
}

#pageTop {
    position: fixed;
    right: 2rem;
    bottom: 5rem
}

.wmax {
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto
}

.wfull {
    width: 100vw
}

@media screen and (max-width: 600px) {
    .pc-only {
        display: none
    }
}

.sp-only {
    display: none
}

@media screen and (max-width: 600px) {
    .sp-only {
        display: block
    }
}

.flex {
    display: flex
}

.fd-column {
    flex-direction: column
}

.col-40 {
    width: 40%;
    flex: 0 0 40%
}

@media screen and (max-width: 600px) {
    .col-40 {
        width: 100%;
        flex: 0 0 100%
    }
}

.col-50 {
    width: 50%;
    flex: 0 0 50%
}

@media screen and (max-width: 600px) {
    .col-50 {
        width: 100%;
        flex: 0 0 100%
    }
}

.col-60 {
    width: 60%;
    flex: 0 0 60%
}

@media screen and (max-width: 600px) {
    .col-60 {
        width: 100%;
        flex: 0 0 100%
    }
}

.pr6 {
    padding-right: 6rem
}

.pl6 {
    padding-left: 6rem
}

.pl10p {
    padding-left: 10%
}

.mt-auto {
    margin-top: auto
}

#wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden
}

#footer {
    margin-top: auto
}

.header {
    position: relative;
    display: block;
    color: rgba(0, 0, 0, 0.8);
    width: 100%;
    border-top: 10px solid #99ff66
}

@media screen and (max-width: 600px) {
    .header-wrap {
        margin-top: 0;
        position: relative;
    }
}

@media screen and (min-width: 601px) {
    .header-wrap {
        width: 100%;
        max-width: 1400px;
        /* margin-top: 2.5rem; */
        margin-right: auto;
        margin-left: auto;
        padding-right: 2rem;
        padding-left: 2rem;
        display: flex;
        justify-content: space-between
    }

    .header-nav .gnav ul li.valid:hover::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(25%) rotate(-45deg);
        margin-left: 1.5rem
    }
}

@media screen and (max-width: 1024px) {
    .header-wrap {
        display: block
    }
}

@media screen and (max-width: 600px) {
    .header-wrap {
        display: block;
        padding-right: 0;
        padding-left: 0
    }
}

.header-title {
    width: 320px;
    flex: 0 0 320px;
    display: flex;
    align-items: center
}

.header-title h1,
.header-title p {
    width: 100%;
    line-height: 17.75px
}

.header-title h1 span,
.header-title p span {
    display: block;
    font-weight: 400;
    padding-top: 0.8rem;
    text-align: left;
    font-weight: 700;
    font-size: 1.8rem
}

.header-title img {
    width: 80%
}

@media screen and (max-width: 600px) {
    .header-title {
        margin-top: 1rem;
        margin-bottom: 1rem;
        margin-left: 1rem
    }
}

.header-nav {
    padding: 2rem 4rem 0;
    width: 100%;
    font-size: 1.8rem;
    display: flex;
    justify-content: end;
}

.header-nav .mega-list {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    background: #99ff66;
    z-index: 10000;
    color: #000;
    height: 0;
    overflow: hidden;
    transition: .1s
}

.header-nav .mega-list .mega-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 2rem 0
}

.header-nav .mega-list .mega-inner hr {
    border-color: #000;
    margin-bottom: 2rem
}

.header-nav .mega-list .mega-inner h3 {
    font-size: 3.2rem
}

.header-nav .mega-list .mega-inner h3 span {
    font-size: 2rem;
    font-weight: normal;
    margin-left: 2rem
}

.header-nav .mega-list .mega-inner--snav {
    justify-content: flex-start;
    margin-left: 4rem
}

.header-nav .mega-list .mega-inner--nav {
    display: flex;
    justify-content: space-around;
    font-size: 16px;
    display: none
}

.header-nav .mega-list .mega-inner--nav ul {
    display: block;
    font-size: 14px
}

.header-nav .mega-list .mega-inner--nav ul li {
    padding-bottom: 0
}

.header-nav .mega-list .mega-inner--nav ul li a::before {
    display: none !important
}

.header-nav .mega-list .mega-inner--nav ul li ul {
    margin-left: 2rem
}

.header-nav .mega-list .mega-inner--nav .box {
    margin-right: 2rem;
    min-width: 200px
}

.header-nav .mega-list .mega-inner--nav .box:last-of-type {
    margin-right: 0
}

.header-nav .mega-list .mega-inner--nav .box ul li::after {
    display: none
}

.header-nav .mega-list .mega-inner--nav .box ul li ul {
    margin-right: 0
}

.header-nav .gnav ul {
    display: flex
}

.header-nav .gnav ul li {
    margin-right: 4rem;
    background: initial;
}

.header-nav .gnav ul li a {
    display: inline-block;
    font-weight: bold;
}

.header-nav .gnav ul li:last-of-type {
    margin-right: 0;
}

.header-nav .sub-nav {
    padding-right: 1rem;
    padding-bottom: 1rem
}


@media screen and (max-width: 1024px) {
    .header-nav .sub-nav {
        display: none
    }
}

.header-nav .gnav .sp-only {
    display: none
}

.header-nav .gnav ul {
    justify-content: center;
}

@media screen and (max-width: 1024px) {
    .header-nav .gnav ul {
        margin-right: 0
    }
}

.header-nav .gnav ul li {
    /* padding-bottom: 2rem */
    margin-bottom: 2rem;
}

@media (min-width: 601px) {
    .header-nav .gnav ul li {
        background-color: #99ff66;
    }


    .header-nav .gnav ul li a {
        display: inline-block;
        padding: 10px;
    }


    .header-nav .mega-list .mega-inner--snav li {
        background-color: initial;
    }
}

@media (min-width: 601px) and (max-width: 626px) {
    .header-nav .gnav ul li.valid:hover>a::before {
        top: 88px;
    }
}

@media (min-width: 627px) {
    .header-nav .gnav ul li.valid:hover>a::before {
        top: 58px;
    }
}

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

    .header-nav .gnav ul li {
        margin-bottom: 0;
    }

    .header-nav .gnav ul li.valid::after {
        content: '';
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: .5rem;
    }

    .header-nav .gnav ul li.valid:hover>a::before {
        content: '';
        position: static;
        width: 0;
        height: 0;
        display: block;
        background: #99ff66;
        left: 50%;
        top: 48px;
        bottom: 0;
        transform: translateX(-50%) rotate(45deg);
    }
}

@media (min-width: 601px) and (max-width: 626px) {
    .header-nav .gnav ul li.valid::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: 1.5rem;
    }
}

@media (min-width: 627px) and (max-width: 636px) {

    .header-nav .gnav ul li.valid::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: 1.5rem;
    }

    .header-nav .gnav ul li.valid:hover>a::before {
        top: 88px;
    }
}

@media (min-width: 637px) {

    .header-nav .gnav ul li.valid::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: .5rem;
        margin-right: 1.5rem;
    }

    .header-nav .gnav ul li.valid:hover::after {

        margin-left: .5rem;
    }
}


/* @media screen and (min-width: 601px) and (max-width: 1024px) {

    .header-nav .gnav ul li.valid::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: .5rem
    }
} */

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

    .header-nav .gnav ul li.valid::after {
        content: '';
        display: inline-block;
        vertical-align: text-top;
        color: #333;
        line-height: 1;
        width: 0.75rem;
        height: 0.75rem;
        border: 0.1em solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
        margin-left: .5rem
    }
}

@media screen and (max-width: 1238px) {
    .header-nav .gnav ul li:hover>a::before {
        top: 68px
    }
}

@media screen and (max-width: 1041px) {
    .header-nav .gnav ul li:hover>a::before {
        top: 98px
    }
}

@media screen and (max-width: 1024px) {
    .header-nav .gnav ul li:hover>a::before {
        top: 40px
    }
}

@media screen and (max-width: 728px) {
    .header-nav .gnav ul li:hover>a::before {
        top: 68px
    }
}

.header-nav--sp {
    display: none
}

.header-nav--plus,
.header-nav--arrow {
    display: none
}

@media screen and (max-width: 600px) {
    .header-nav {
        display: none;
        position: absolute;
        top: 60.75px;
        height: auto;
        background: #99ff66;
        color: #000;
        z-index: 90;
        padding-right: 0;
        padding-left: 0;
        border-bottom: 3px solid white
    }

    .header-nav.active {
        display: flex;
        flex-direction: column
    }

    .header-nav .sub-nav,
    .header-nav .gnav {
        padding-right: 0
    }

    .header-nav .gnav ul {
        display: block
    }

    .header-nav .gnav ul li {
        position: relative;
        margin-right: 0;
        border-bottom: 1px solid #000;
        padding-bottom: 0
    }

    .header-nav .gnav ul li a {
        display: inline-block;
        padding-top: 1rem;
        padding-right: 2rem;
        padding-left: 2rem;
        padding-bottom: 1rem
    }

    .header-nav .sub-nav .sp-only,
    .header-nav .gnav .sp-only {
        display: block;
        width: 100%
    }

    .header-nav .sub-nav .sp-only a,
    .header-nav .gnav .sp-only a {
        display: block
    }

    .header-nav .gnav {
        order: 1
    }

    .header-nav .gnav h3,
    .header-nav .gnav hr {
        display: none
    }

    .header-nav .gnav ul {
        margin-right: 0
    }

    .header-nav .gnav ul li::after {
        display: none
    }

    .header-nav .gnav ul li:hover::after {
        display: none
    }

    .header-nav .gnav ul li:hover>a::before {
        display: none
    }

    .header-nav .gnav ul li:hover .mega-list {
        height: auto
    }

    .header-nav .gnav ul li:hover .mega-list.big {
        height: auto
    }

    .header-nav .gnav .mega-list {
        display: none;
        position: static;
        height: auto
    }

    .header-nav .gnav .mega-list.big {
        height: auto
    }

    .header-nav .gnav .mega-list.active {
        display: block
    }

    .header-nav .gnav .mega-inner {
        padding-top: 0;
        border-top: 1px solid #000;
    }

    .header-nav .gnav .mega-inner--snav li a {
        padding-left: 0
    }

    .header-nav .gnav .mega-inner--snav li:last-of-type {
        border: none
    }

    .header-nav .gnav .mega-inner--nav {
        display: block
    }

    .header-nav .gnav .mega-inner--nav .box {
        margin-right: 0;
        margin-left: 4rem;
        position: relative
    }

    .header-nav .gnav .mega-inner--nav .box h4 {
        font-weight: normal;
        padding-top: 1rem;
        padding-left: 0;
        padding-right: 2rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid white
    }

    .header-nav .gnav .mega-inner--nav .box:last-of-type ul {
        border-top: 1px solid white
    }

    .header-nav .gnav .mega-inner--nav .box:last-of-type ul li:last-of-type {
        border-bottom: none
    }

    .header-nav .gnav .mega-inner--nav .box:last-of-type h4 {
        border-bottom: none
    }

    .header-nav .gnav .mega-inner--nav .box:nth-of-type(2) ul li {
        border-bottom: none
    }

    .header-nav .gnav .mega-inner--nav .box:nth-of-type(2) ul li p {
        border-bottom: 1px solid white
    }

    .header-nav .gnav .mega-inner--nav .box:nth-of-type(2) ul li ul li {
        border-bottom: 1px solid white
    }

    .header-nav .gnav .mega-inner--nav .box ul {
        padding-left: 2rem;
        display: none
    }

    .header-nav .gnav .mega-inner--nav .box ul.active {
        display: block
    }

    .header-nav .gnav .mega-inner--nav .box ul li a {
        padding-left: 0
    }

    .header-nav .gnav .csr a {
        display: block;
        width: 100%
    }

    .header-nav .gnav .csr .mega-list {
        display: none
    }

    .header-nav .sub-nav {
        order: 2
    }

    .header-nav--sp {
        display: block;
        order: 3;
        width: 80%;
        margin: 2rem auto;
        background: #6ECE3F;
        text-align: center;
        border-radius: 4px;
        padding-top: .5rem;
        padding-bottom: .5rem
    }

    .header-nav--plus,
    .header-nav--plus2,
    .header-nav--arrow {
        display: inline-block;
        position: absolute;
        top: 1rem;
        right: 2rem
    }

    .header-nav--plus:hover,
    .header-nav--plus2:hover,
    .header-nav--arrow:hover {
        position: absolute;
        top: 1rem;
        right: 2rem
    }

    .header-nav--arrow::after {
        content: '>';
        display: inline-block
    }

    .header-nav--plus::after,
    .header-nav--plus2::after {
        content: '+';
        display: inline-block
    }

    .header-nav--plus.active::after,
    .header-nav--plus2.active::after {
        content: '－';
        display: inline-block
    }
}

.header-rec {
    background: #6ECE3F;
    width: 150px;
    flex: 0 0 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-weight: bold
}

@media screen and (max-width: 1024px) {
    .header-rec {
        display: none
    }
}

.s-gnavWrap {
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    background-color: rgba(0, 0, 0, 0.85);
    color: #000
}

@media screen and (max-width: 1024px) {
    .s-gnavWrap {
        display: block;
        width: auto;
        height: auto;
        position: static;
        background-color: transparent;
        color: #000;
        transform: translateX(0)
    }
}

.s-gnavWrap.active {
    display: block;
    animation: active-gnav .3s ease;
    transform: translateX(0)
}

@keyframes active-gnav {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0)
    }
}

.s-gnavWrap .s-gnav {
    margin-bottom: 4rem;
    width: 80%;
    margin: auto;
    padding-top: 10rem
}

.s-gnavWrap .s-gnav li {
    border-bottom: 0.1rem solid #555;
    padding: 1.5rem 0
}

.s-gnavWrap .s-gnav li:first-of-type {
    border-top: 0.1rem solid #555
}

.s-gnavWrap .s-gnav li span {
    font-size: 1.2rem;
    opacity: .75;
    margin-left: 1rem
}

@media screen and (max-width: 1024px) {
    .s-gnavWrap .s-gnav {
        display: flex;
        width: auto;
        padding-top: 0
    }

    .s-gnavWrap .s-gnav li {
        margin-right: 4rem;
        border: none;
        padding: 0;
        text-align: center
    }

    .s-gnavWrap .s-gnav li:first-of-type {
        border-top: none
    }

    .s-gnavWrap .s-gnav li:last-of-type {
        margin-right: 0
    }

    .s-gnavWrap .s-gnav li span {
        display: block;
        margin-left: 0
    }
}

.s-gnavWrap .s-gnav--close {
    width: 12rem;
    margin: auto;
    padding-top: 2rem;
    display: flex;
    justify-content: center
}

.s-gnavWrap .s-gnav--close p {
    cursor: pointer;
    position: relative;
    padding-left: 5rem;
    font-size: 2rem
}

.s-gnavWrap .s-gnav--close p .closeBtn {
    display: inline-block;
    width: 4rem;
    height: 2.5rem;
    left: 0;
    position: absolute
}

.s-gnavWrap .s-gnav--close p .closeBtn span {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 0.3rem;
    border-radius: 0.3rem;
    background-color: #000
}

.s-gnavWrap .s-gnav--close p .closeBtn span:nth-of-type(1) {
    transform: translateY(1.2rem) rotate(-45deg)
}

.s-gnavWrap .s-gnav--close p .closeBtn span:nth-of-type(2) {
    transform: translateY(1.2rem) rotate(45deg)
}

.s-gnavBtn {
    display: inline-block;
    position: fixed;
    width: 3rem;
    height: 2.5rem;
    cursor: pointer;
    z-index: 10000;
    top: 1rem;
    right: 1rem
}

@media screen and (max-width: 1024px) {
    .s-gnavBtn {
        display: none
    }
}

.s-gnavBtn span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.3rem;
    border-radius: 0.3rem;
    background-color: #000
}

.s-gnavBtn span:nth-last-of-type(1) {
    top: 0
}

.s-gnavBtn span:nth-last-of-type(2) {
    top: 1.12rem
}

.s-gnavBtn span:nth-last-of-type(3) {
    bottom: 0
}

.s-gnavBtn,
.s-gnavBtn span {
    transition: all .4s;
    box-sizing: border-box
}

.s-gnavBtn.active span {
    background-color: #000
}

.s-gnavBtn.active span:nth-of-type(1) {
    transform: translateY(-1.12rem) rotate(-45deg)
}

.s-gnavBtn.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    animation: active-btn .6s forwards
}

@keyframes active-btn {
    100% {
        height: 0
    }
}

.s-gnavBtn.active span:nth-of-type(3) {
    transform: translateY(1.12rem) rotate(45deg)
}

.bg-tc1 {
    background-color: #99ff66
}

.bg-tc2 {
    background-color: #F2F6F9
}

.bg-tc3 {
    background-color: #515254;
    color: white
}

.main-block {
    width: 100%
}

.site-visual {
    position: relative;
    background-size: cover;
    height: 80vh
}

@media screen and (max-width: 600px) {
    .site-visual {
        height: 50vh
    }
}

.site-visual.index {
    width: 100%;
    overflow: hidden
}

.site-visual.bizcon {
    background-image: url("../../assets/img/business-content/jigyou_top.jpg")
}

.site-visual.about {
    background-image: url("../../assets/img/about/about_top.jpg")
}

.site-visual.company {
    background-image: url("../../assets/img/company/kigyou_top.png")
}

.site-visual.csr {
    background-image: url("../../assets/img/csr/sdgs_top.jpg")
}

.site-visual.coph {
    background-image: url("../../assets/img/coph/saiyou_top.png")
}

.site-visual .box1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    display: flex;
    align-items: center
}

.site-visual .box1 h1,
.site-visual .box1 h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    color: #000;
    font-size: 3.2rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3)
}

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

    .site-visual .box1 h1,
    .site-visual .box1 h2 {
        font-size: 5.8vmin
    }
}

.site-visual .box1 h1.entry {
    text-align: center;
    color: rgba(0, 0, 0, 0.8);
    text-shadow: none
}

.site-visual.contact {
    background-image: url("../../assets/img/contact/contact_top.jpg");
    background-position: center bottom;
    height: 70vh
}

.site-visual.contact .box1 h1 {
    text-align: center;
    text-shadow: none;
    color: rgba(0, 0, 0, 0.8)
}

.site-visual .slick_siteVisual,
.site-visual .slick-list,
.site-visual .slick-track {
    height: 100%
}

.site-visual img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.common-content {
    width: 100%;
    padding: 1rem 2rem
}

.common-content--desc {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
    color: white
}

.common-content--desc h1 {
    text-align: center;
    font-size: 3.2rem
}

.common-content--desc .midasi {
    font-size: 3rem;
    margin-bottom: 1rem;
    text-align: center
}

@media screen and (max-width: 600px) {
    .common-content--desc .midasi {
        font-size: 2.4rem
    }
}

.common-content--desc .midasi span {
    display: block;
    font-size: 1.6rem
}

.common-content--desc .midasi.text-center {
    text-align: center
}

.common-content--desc .c-big {
    font-size: 3.4rem;
    text-align: center
}

@media screen and (max-width: 600px) {
    .common-content--desc .c-big {
        font-size: 2.8rem
    }
}

@media screen and (max-width: 600px) {
    .common-content--desc {
        padding-right: 2rem;
        padding-left: 2rem
    }

    .common-content--desc h1 {
        font-size: 2.4rem
    }
}

.common-content--mwwrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
}

.link-btn--type1 {
    position: relative;
    text-align: center;
    display: block;
    border: 1px solid #000;
    padding: 1.2rem 2.8rem;
    width: 100%;
    max-width: 320px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 4rem
}

@media screen and (min-width: 1025px) {
    .link-btn--type1 {
        position: relative;
        text-align: center;
        display: block;
        border: 1px solid #000;
        padding: 1.2rem 2.8rem;
        width: 100%;
        max-width: 320px;
        margin-right: 4rem;
        margin-left: auto;
        margin-bottom: 4rem
    }
}

@media screen and (max-width: 600px) {
    .link-btn--type1 {
        max-width: 280px
    }
}

.link-btn--type1::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3rem;
    display: inline-block;
    width: 6rem;
    height: 1px;
    background: #000;
    transition: .3s
}

@media screen and (max-width: 600px) {
    .link-btn--type1::before {
        width: 4rem
    }
}

.link-btn--type1::after {
    content: '';
    position: absolute;
    top: 42.5%;
    right: 2.9rem;
    display: inline-block;
    width: 1rem;
    height: 1px;
    background: #000;
    transform: rotate(45deg);
    transition: all .3s
}

.link-btn--type1:hover {
    background: rgba(0, 0, 0, 0.025)
}

.link-btn--type1:hover::before {
    right: 2rem
}

.link-btn--type1:hover::after {
    right: 2rem
}

.link-btn--type1.btn-white {
    border-color: white
}

.link-btn--type1.btn-white::before,
.link-btn--type1.btn-white::after {
    background: white
}

.link-btn--type1.btn-white:hover {
    background: rgba(255, 255, 255, 0.05)
}

.link-btn--type1.wide {
    max-width: 400px
}

.nav-btn--sp {
    display: none;
    position: absolute;
    z-index: 100;
    right: 10px;
    top: 0;
    width: 38px;
    height: 38px;
    cursor: pointer;
    text-align: center
}

@media screen and (max-width: 600px) {
    .nav-btn--sp {
        display: block
    }
}

.nav-btn--sp span {
    display: block;
    position: absolute;
    width: 24px;
    height: 2px;
    left: 6px;
    background: #555;
    transition: 0.3s ease-in-out
}

.nav-btn--sp span:nth-of-type(1) {
    top: 10px
}

.nav-btn--sp span:nth-of-type(2) {
    top: 18px
}

.nav-btn--sp span:nth-of-type(3) {
    top: 26px
}

.nav-btn--sp.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    top: 18px
}

.nav-btn--sp.active span:nth-of-type(2) {
    opacity: 0
}

.nav-btn--sp.active span:nth-of-type(3) {
    transform: rotate(45deg);
    top: 18px
}

.slick-dots li button::before {
    color: #000;
    opacity: 0.5
}

.slick-dots li.slick-active button::before {
    color: #000;
    opacity: 1
}

.related-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 4.8rem 1.6rem
}

.related-wrap h2 {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 2.4rem
}

.related-box {
    display: flex
}

@media screen and (max-width: 600px) {
    .related-box {
        display: block
    }
}

.related-box .item {
    width: calc((100% / 3) - 1.6rem);
    margin-right: 2.4rem
}

@media screen and (max-width: 600px) {
    .related-box .item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 1.6rem
    }
}

.related-box .item:last-of-type {
    margin-right: 0
}

.related-box .item .img {
    width: 100%;
    height: auto;
    padding-top: 29%;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.8rem
}

.related-box .item .img img {
    position: absolute;
    left: 50%;
    top: 50%;
    object-fit: cover;
    transform: translate(-50%, -50%)
}

.related-box .item a {
    font-size: 2.4rem
}

@media screen and (min-width: 601px) and (max-width: 780px) {
    .related-box .item a {
        font-size: 1.8rem
    }
}

.related-box .item a i {
    margin-left: 1.6rem
}

.related-box .item a:hover i {
    margin-left: 2rem
}

.fadein-bottom {
    transform: translate(0, 50px)
}

.fadein-left {
    transform: translate(-50px, 0)
}

.fadein-right {
    transform: translate(50px, 0)
}

.fadein-bottom,
.fadein-left,
.fadein-right {
    opacity: 0;
    transition: all 500ms
}

.fadein-bottom.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin {
    opacity: 1;
    transform: translate(0, 0)
}

.main-content {
    width: 100%;
    padding-top: 6rem;
    padding-bottom: 6rem
}

.main-content .sp-only {
    display: none
}

@media screen and (max-width: 600px) {
    .main-content .sp-only {
        display: block
    }
}

.main-content .col-txt {
    width: 60%;
    flex: 0 0 60%;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 600px) {
    .main-content .col-txt {
        width: 100%;
        flex: 0 0 100%;
        margin-bottom: 4rem
    }

    .main-content .col-txt .link-btn--type1 {
        margin-top: 4rem
    }
}

.main-content .col-txt.pr {
    padding-right: 6rem
}

@media screen and (max-width: 600px) {
    .main-content .col-txt.pr {
        padding-right: 0
    }
}

.main-content .col-txt.pl {
    padding-left: 6rem
}

@media screen and (max-width: 600px) {
    .main-content .col-txt.pl {
        padding-left: 0
    }
}

@media screen and (max-width: 600px) {
    .main-content .col-txt .pc-only {
        display: none
    }
}

@media screen and (max-width: 600px) {
    .main-content .col-txt h4 {
        font-size: 2rem;
        margin-bottom: 1rem
    }
}

.main-content .col-img {
    width: 40%;
    flex: 0 0 40%
}

@media screen and (max-width: 600px) {
    .main-content .col-img {
        width: 100%;
        flex: 0 0 100%;
        margin-bottom: 4rem
    }
}

.main-content .inner-flex {
    display: flex;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-right: 2rem;
    padding-left: 2rem
}

@media screen and (max-width: 600px) {
    .main-content .inner-flex {
        display: block
    }
}

.main-content h3 {
    font-size: 3.2rem;
    margin-bottom: 3rem;
    line-height: 1.25
}

@media screen and (max-width: 600px) {
    .main-content h3 {
        text-align: center
    }
}

.main-content h3 span {
    display: block;
    font-size: 2rem;
    font-weight: normal
}

.main-content .bizcont .wrap1 {
    display: flex;
    margin-bottom: 4rem;
    flex-wrap: wrap
}

@media screen and (max-width: 600px) {
    .main-content .bizcont .wrap1 .slick-track {
        display: flex
    }
}

.main-content .bizcont .box1 {
    width: calc((100% / 3) - 2rem);
    flex: 0 0 calc((100% / 3) - 2rem);
    margin-right: 3rem;
    margin-bottom: 2rem
}

.main-content .bizcont .box1:nth-of-type(3),
.main-content .bizcont .box1:last-of-type {
    margin-right: 0
}

.main-content .bizcont .box2 {
    width: calc((100% / 3) + calc(100% / 3) - 1rem);
    flex: 0 0 calc((100% / 3) + calc(100% / 3) - 1rem);
    margin-bottom: 2rem
}

.main-content .bizcont .box1,
.main-content .bizcont .box2 {
    background: white;
    color: rgba(0, 0, 0, 0.8);
    height: auto
}

.main-content .bizcont .box1 .item1 .pc-only,
.main-content .bizcont .box2 .item1 .pc-only {
    display: block
}

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

    .main-content .bizcont .box1 .item1 .pc-only,
    .main-content .bizcont .box2 .item1 .pc-only {
        display: none
    }
}

.main-content .bizcont .box1 .item1 .sp-only,
.main-content .bizcont .box2 .item1 .sp-only {
    display: none
}

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

    .main-content .bizcont .box1 .item1 .sp-only,
    .main-content .bizcont .box2 .item1 .sp-only {
        display: block
    }
}

.main-content .bizcont .box1 .item2,
.main-content .bizcont .box2 .item2 {
    padding: 1.6rem
}

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

    .main-content .bizcont .box1 .item2,
    .main-content .bizcont .box2 .item2 {
        height: 100%
    }
}

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

    .main-content .bizcont .box1,
    .main-content .bizcont .box2 {
        width: 100%;
        flex: 1 1 auto;
        margin-right: 0
    }
}

@media screen and (max-width: 600px) {
    .main-content .csr-rec {
        padding-right: 0;
        padding-left: 0
    }
}

.main-content .csr-rec .wrap1,
.main-content .csr-rec .wrap2 {
    width: 50%;
    flex: 0 0 50%;
    background-size: cover
}

.main-content .csr-rec .wrap1 h3,
.main-content .csr-rec .wrap2 h3 {
    margin-bottom: 0
}

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

    .main-content .csr-rec .wrap1 h3,
    .main-content .csr-rec .wrap2 h3 {
        font-size: 2rem;
        margin-bottom: .5rem
    }
}

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

    .main-content .csr-rec .wrap1,
    .main-content .csr-rec .wrap2 {
        width: 100%;
        flex: 0 0 100%
    }
}

.main-content .csr-rec .wrap1 {
    background-image: url("../../assets/img/index/sdgs.jpg")
}

.main-content .csr-rec .wrap2 {
    background-image: url("../../assets/img/index/recruit.jpg")
}

.main-content .csr-rec .box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 31, 67, 0.7);
    color: #000;
    padding-top: 8rem;
    padding-bottom: 4rem
}

@media screen and (max-width: 600px) {
    .main-content .csr-rec .box {
        padding-top: 2rem;
        padding-bottom: 0;
        margin-bottom: 2rem
    }
}

.main-content .news h3 {
    margin-bottom: 0
}

@media screen and (max-width: 600px) {
    .main-content .news h3 {
        margin-bottom: 2rem
    }
}

.main-content .news .wrap-pc {
    max-width: 95%;
    margin: 2.4rem auto;
    display: flex;
    justify-content: center;
    width: 100%
}

.main-content .news .wrap-pc .left-wrap,
.main-content .news .wrap-pc .right-wrap {
    width: 48%;
    display: flex;
    flex-direction: column
}

.main-content .news .wrap-pc .left-wrap .item1,
.main-content .news .wrap-pc .right-wrap .item1 {
    height: 100%
}

.main-content .news .wrap-pc .left-wrap .tab-content--box,
.main-content .news .wrap-pc .right-wrap .tab-content--box {
    border-bottom: 1px dotted rgba(0, 0, 0, 0.8);
    margin-bottom: 1.6rem
}

.main-content .news .wrap-pc .left-wrap .title,
.main-content .news .wrap-pc .right-wrap .title {
    display: flex;
    align-items: baseline
}

.main-content .news .wrap-pc .left-wrap .title i,
.main-content .news .wrap-pc .right-wrap .title i {
    margin-left: 1.6rem
}

.main-content .news .wrap-pc .left-wrap h4,
.main-content .news .wrap-pc .right-wrap h4 {
    font-size: 2.4rem
}

.main-content .news .wrap-pc .left-wrap h5,
.main-content .news .wrap-pc .right-wrap h5 {
    font-weight: normal;
    margin-left: 1.6rem
}

.main-content .news .wrap-pc .left-wrap h5 a,
.main-content .news .wrap-pc .right-wrap h5 a {
    display: block
}

.main-content .news .wrap-pc .left-wrap h5 a:hover,
.main-content .news .wrap-pc .right-wrap h5 a:hover {
    position: relative;
    left: 4px
}

.main-content .news .wrap-pc .left-wrap .tab-content--nextPC,
.main-content .news .wrap-pc .right-wrap .tab-content--nextPC {
    text-align: center;
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 4rem auto 0;
    padding: 2rem 0;
    background: #99ff66;
    color: white
}

.main-content .news .wrap-pc .left-wrap .tab-content--nextPC:hover,
.main-content .news .wrap-pc .right-wrap .tab-content--nextPC:hover {
    opacity: 0.9
}

.main-content .news .wrap-pc .left-wrap {
    margin-right: 4%
}

@media screen and (max-width: 600px) {
    .main-content .news .wrap-pc {
        display: none
    }
}

.main-content .news .wrap-sp {
    display: none
}

@media screen and (max-width: 600px) {
    .main-content .news .wrap-sp {
        display: block;
        width: 100%
    }

    .main-content .news .wrap-sp ul.tab-wrap {
        display: flex;
        justify-content: center;
        border-bottom: 1px solid #99ff66
    }

    .main-content .news .wrap-sp ul.tab-wrap li {
        width: 200px;
        cursor: pointer;
        padding: 2rem 4rem;
        text-align: center
    }
}

@media screen and (max-width: 600px) and (max-width: 600px) {
    .main-content .news .wrap-sp ul.tab-wrap li {
        font-size: 3vmin
    }
}

@media screen and (max-width: 600px) {
    .main-content .news .wrap-sp ul.tab-wrap li.active {
        background: #99ff66;
        color: white
    }

    .main-content .news .wrap-sp .tab-content--inner {
        display: none;
        min-height: 272.8px
    }

    .main-content .news .wrap-sp .tab-content--inner.show {
        display: block
    }

    .main-content .news .wrap-sp .tab-content--box:hover {
        background: rgba(0, 0, 0, 0.03)
    }

    .main-content .news .wrap-sp .tab-content--box a {
        display: flex;
        padding: 2rem;
        border-bottom: 1px dotted #99ff66
    }
}

@media screen and (max-width: 600px) and (max-width: 600px) {
    .main-content .news .wrap-sp .tab-content--box a {
        display: block
    }
}

@media screen and (max-width: 600px) {
    .main-content .news .wrap-sp .tab-content--box a p {
        width: 20%;
        flex: 0 0 20%;
        text-align: center
    }
}

@media screen and (max-width: 600px) and (max-width: 600px) {
    .main-content .news .wrap-sp .tab-content--box a p {
        width: 100%;
        flex: 0 0 100%;
        text-align: left
    }
}

@media screen and (max-width: 600px) {
    .main-content .news .wrap-sp .tab-content--box a h4 {
        font-weight: normal
    }

    .main-content .news .wrap-sp .tab-content--next {
        text-align: center;
        display: none;
        width: 100%;
        max-width: 320px;
        margin: 4rem auto 0;
        padding: 2rem 0;
        background: #99ff66;
        color: white
    }

    .main-content .news .wrap-sp .tab-content--next.show {
        display: block
    }
}

.post-page {
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    line-height: 1.7;
    padding-bottom: 4rem
}

.post-page.privacy-policy {
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 1000px
}

.post-page.privacy-policy h1,
.post-page.privacy-policy h3 {
    margin-bottom: 1.6rem
}

.post-page.privacy-policy h1 {
    font-size: 2.4rem;
    margin-top: 3.2rem
}

.post-page.privacy-policy h3 {
    margin-top: 1.6rem;
    font-size: 2rem
}

.news-page h1 {
    background: #99ff66;
    color: #000;
    text-align: center;
    padding: 4rem 0;
    margin-bottom: 4rem
}

.news-page--wrap {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto
}

.news-page--wrap .attachment-post-thumbnail {
    margin-bottom: 1.6rem
}

.news-page--wrap .time-cat {
    display: flex;
    align-items: center;
    margin-bottom: 4rem;
    padding: 0 1.6rem
}

.news-page--wrap .time-cat .time {
    margin-right: 2rem
}

.news-page--wrap .time-cat .cat {
    background: #99ff66;
    color: #000;
    padding: 0.5rem 4rem
}

.news-page--content {
    padding: 0 1.6rem
}

.news-page--nplink {
    display: flex;
    max-width: 1000px;
    margin: 2.4rem auto;
    justify-content: space-between;
    padding: 0 1.6rem
}

.related-post {
    width: 100%;
    margin-bottom: 6rem
}

.related-post h2 {
    text-align: center;
    padding: 4rem 0;
    background: #dcdcdc
}

.related-post--wrap {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 4rem
}

.related-post--list a {
    display: flex;
    padding: 2rem;
    border-bottom: 1px dotted #99ff66
}

@media screen and (max-width: 600px) {
    .related-post--list a {
        flex-wrap: wrap
    }
}

.related-post--list a:hover {
    background: rgba(0, 0, 0, 0.03)
}

.related-post--list a .time {
    width: 100px;
    text-align: center
}

.related-post--list a .cat {
    border: 1px solid #99ff66;
    width: 200px;
    text-align: center;
    margin-right: 6rem;
    margin-left: 2rem
}

@media screen and (max-width: 600px) {
    .related-post--list a .cat {
        width: calc(100% - 100px - 8rem);
        margin-right: 2rem
    }
}

.related-post--next {
    text-align: center;
    display: block;
    width: 320px;
    margin: 4rem auto 0;
    padding: 2rem 0;
    background: #99ff66;
    color: white
}

.bisiness-content {
    width: 100%
}

.bisiness-content--desc {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
    color: white
}

.bisiness-content--desc h1 {
    text-align: center;
    font-size: 3.2rem
}

.bisiness-content--desc .midasi {
    font-size: 3.2rem;
    margin-bottom: 1rem;
    text-align: center
}

@media screen and (max-width: 600px) {
    .bisiness-content--desc .midasi {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 600px) {
    .bisiness-content--desc {
        padding-right: 2rem;
        padding-left: 2rem
    }

    .bisiness-content--desc h1 {
        font-size: 2.4rem
    }
}

.bisiness-content--article {
    width: 100%;
    background: #F2F6F9;
    padding-top: 6rem;
    padding-bottom: 6rem
}

.bisiness-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
}

.bisiness-content--wrap .inner1,
.bisiness-content--wrap .inner2 {
    display: flex;
    margin-bottom: 4rem
}

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

    .bisiness-content--wrap .inner1,
    .bisiness-content--wrap .inner2 {
        flex-wrap: wrap;
        padding: 2rem;
        padding-left: 2rem
    }
}

.bisiness-content--wrap .inner1 .img-box,
.bisiness-content--wrap .inner2 .img-box {
    position: relative;
    width: 30%;
    height: 300px;
    flex: 0 0 30%;
    overflow: hidden
}

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

    .bisiness-content--wrap .inner1 .img-box,
    .bisiness-content--wrap .inner2 .img-box {
        width: 100%;
        flex: 0 0 100%;
        height: 240px;
        order: 1
    }
}

.bisiness-content--wrap .inner1 .img-box img,
.bisiness-content--wrap .inner2 .img-box img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.bisiness-content--wrap .inner1 .img-box h2,
.bisiness-content--wrap .inner2 .img-box h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.6rem;
    color: #000;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.3);
    white-space: nowrap
}

.bisiness-content--wrap .inner1 .txt-box,
.bisiness-content--wrap .inner2 .txt-box {
    width: calc(70% - 2rem);
    background: white;
    padding: 5rem;
    display: flex;
    flex-direction: column
}

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

    .bisiness-content--wrap .inner1 .txt-box,
    .bisiness-content--wrap .inner2 .txt-box {
        width: 100%;
        order: 2;
        padding: 2rem
    }

    .bisiness-content--wrap .inner1 .txt-box p,
    .bisiness-content--wrap .inner2 .txt-box p {
        margin-bottom: 1rem
    }
}

.bisiness-content--wrap .inner1 .txt-box .link-btn,
.bisiness-content--wrap .inner2 .txt-box .link-btn {
    display: flex;
    flex-wrap: wrap;
    margin-top: auto
}

.bisiness-content--wrap .inner1 .txt-box .link-btn a,
.bisiness-content--wrap .inner2 .txt-box .link-btn a {
    padding: 1rem 2rem;
    margin-right: 2rem;
    margin-bottom: 1.6rem;
    color: #000;
    background: #99ff66
}

.bisiness-content--wrap .inner1 .txt-box .link-btn a:hover,
.bisiness-content--wrap .inner2 .txt-box .link-btn a:hover {
    opacity: .8
}

.bisiness-content--wrap .inner1 .txt-box .link-btn a:last-of-type,
.bisiness-content--wrap .inner2 .txt-box .link-btn a:last-of-type {
    margin-right: 0
}

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

    .bisiness-content--wrap .inner1 .txt-box .link-btn a,
    .bisiness-content--wrap .inner2 .txt-box .link-btn a {
        margin-bottom: 1rem;
        margin-right: 1rem;
        font-size: 1.25rem
    }
}

.bisiness-content--wrap .inner1 .img-box {
    margin-right: 2rem
}

@media screen and (max-width: 600px) {
    .bisiness-content--wrap .inner1 .img-box {
        margin-right: 0
    }
}

.bisiness-content--wrap .inner2 .img-box {
    margin-left: 2rem
}

@media screen and (max-width: 600px) {
    .bisiness-content--wrap .inner2 .img-box {
        margin-left: 0
    }
}

.about-content--rinen {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
}

.about-content--rinen .box1 {
    width: 700px;
    margin-left: auto;
    padding-top: 2rem
}

@media screen and (max-width: 600px) {
    .about-content--rinen .box1 {
        width: 100%;
        padding-top: 0
    }

    .about-content--rinen .box1 p {
        padding-right: 2rem;
        padding-left: 2rem
    }
}

.about-content--rinen .box1 h2,
.about-content--rinen .box1 h3,
.about-content--rinen .box1 p {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 3.2rem
}

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

    .about-content--rinen .box1 h2,
    .about-content--rinen .box1 h3,
    .about-content--rinen .box1 p {
        font-size: 5vmin
    }
}

@media screen and (max-width: 600px) {
    .about-content--rinen .box1 .item1 {
        background-image: url("../../assets/img/about/rinen.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        padding-top: 2rem;
        padding-bottom: 2rem;
        padding-left: 10rem;
        margin-bottom: 2rem
    }
}

.bga-rinen {
    background-image: url("../../assets/img/about/rinen.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

@media screen and (max-width: 600px) {
    .bga-rinen {
        background: none;
        padding-top: 0;
        padding-right: 0;
        padding-left: 0
    }
}

.bga-senryaku {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.bga-senryaku h2 {
    text-align: center;
    font-size: 3.2rem;
    margin-bottom: 4rem
}

@media screen and (max-width: 600px) {
    .bga-senryaku h2 {
        font-size: 2.4rem
    }
}

.bga-senryaku .box1 {
    margin: 0 auto;
    width: 100%;
    max-width: 800px
}

.bga-torikumi {
    padding-right: 2rem;
    padding-left: 2rem;
    padding-bottom: 6rem
}

.bga-torikumi h2 {
    text-align: center;
    font-size: 3.2rem;
    margin-bottom: 4rem;
    padding-top: 4rem;
    padding-bottom: 4rem
}

@media screen and (max-width: 600px) {
    .bga-torikumi h2 {
        font-size: 2.4rem
    }
}

.bga-torikumi .box1 {
    display: flex;
    justify-content: center;
    margin-bottom: 6rem;
    flex-wrap: wrap;
    padding-top: 2.4rem
}

.bga-torikumi .box1 img {
    width: calc((100%/ 3) - 2rem);
    margin-right: 3rem
}

.bga-torikumi .box1 img:nth-of-type(3) {
    margin-right: 0
}

@media screen and (max-width: 600px) {
    .bga-torikumi .box1 img {
        width: calc((100% / 2) - 1rem);
        margin-right: 2rem;
        margin-bottom: 2rem
    }

    .bga-torikumi .box1 img:nth-of-type(3) {
        margin-right: 2rem
    }

    .bga-torikumi .box1 img:nth-of-type(even) {
        margin-right: 0
    }
}

.bga-torikumi img.sdg-logo {
    width: 50%;
    margin-top: 4rem;
    margin-right: 0
}

@media screen and (max-width: 600px) {
    .bga-torikumi img.sdg-logo {
        width: calc((100% / 2) - 1rem);
        margin-top: 0
    }
}

.company-content {
    width: 100%;
    padding: 0 2rem;
}

.company-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
}

.company-content--wrap .kadono-name {
    filter: drop-shadow(1px 1px 0px #000)
}

.company-content--wrap h2 {
    font-size: 3.2rem;
    margin-bottom: 3rem
}

.company-content--wrap h2 span {
    display: block;
    font-weight: normal;
    font-size: 2rem
}

.company-content--wrap.officers .wrap1 {
    display: flex
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 {
        position: relative;
        flex-direction: column
    }
}

.company-content--wrap.officers .wrap1 .box1 {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    width: 50%
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 .box1 {
        width: 100%;
        order: 2;
        padding-right: 0;
        padding-left: 0;
        justify-content: space-between
    }
}

.company-content--wrap.officers .wrap1 .box1 img {
    width: 40%;
    flex: 0 0 40%;
    margin-left: 4rem;
    object-fit: cover
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 .box1 img {
        width: 100%;
        flex: 0 0 100%;
        margin-left: 0
    }
}

.company-content--wrap.officers .wrap1 .box1 .item1 {
    font-size: 2vmin
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 .box1 .item1 {
        font-size: 1.6rem
    }
}

.company-content--wrap.officers .wrap1 .box1 .item2 {
    margin-top: auto;
    text-align: right
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 .box1 .item2 {
        bottom: 0;
        right: 1rem;
        color: rgba(0, 0, 0, 0.8)
    }

    .company-content--wrap.officers .wrap1 .box1 .item2 img {
        width: 50%;
        flex: 0 0 50%
    }
}

.company-content--wrap.officers .wrap1 .r-img {
    width: 50%
}

@media screen and (max-width: 600px) {
    .company-content--wrap.officers .wrap1 .r-img {
        width: 100%
    }
}

.company-content--wrap.officers .wrap2 {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap
}

.company-content--wrap.officers .wrap2 .item1 {
    width: 47.5%;
    margin-right: 5%;
    margin-bottom: 4rem
}

.company-content--wrap.officers .wrap2 .item1:nth-of-type(2n) {
    margin-right: 0
}

.company-content--wrap.officers .wrap2 .item2 {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 4rem
}

.company-content--wrap.officers .wrap2 .item2:last-of-type {
    margin-right: 0
}

.company-content--wrap.officers .wrap2 .item1 img,
.company-content--wrap.officers .wrap2 .item2 img {
    margin-bottom: 1.6rem
}

.company-content--wrap.officers .wrap2 .item1 p:first-of-type,
.company-content--wrap.officers .wrap2 .item2 p:first-of-type {
    font-size: 1.8rem
}

.company-content--wrap.officers .wrap2 .item1 p:last-of-type,
.company-content--wrap.officers .wrap2 .item2 p:last-of-type {
    font-size: 2.4rem
}

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

    .company-content--wrap.officers .wrap2 .item1,
    .company-content--wrap.officers .wrap2 .item2 {
        margin-right: 0;
        width: 100%
    }
}

.company-content--wrap.employee {
    padding-top: 8rem;
    padding-bottom: 8rem
}

.company-content--wrap.employee .wrap1 {
    display: flex;
    margin-bottom: 28rem
}

@media screen and (min-width: 601px) and (max-width: 1100px) {
    .company-content--wrap.employee .wrap1 {
        position: relative;
        display: block;
        margin-bottom: 10rem
    }
}

@media screen and (max-width: 600px) {
    .company-content--wrap.employee .wrap1 {
        display: block;
        margin-bottom: 8rem
    }
}

.company-content--wrap.employee .wrap1 .box1 {
    position: relative;
    width: 30%;
    margin-right: 5%;
    margin-bottom: 4rem
}

.company-content--wrap.employee .wrap1 .box1:last-of-type {
    margin-right: 0
}

@media screen and (max-width: 600px) {
    .company-content--wrap.employee .wrap1 .box1 {
        width: 100%
    }
}

.company-content--wrap.employee .wrap1 .box1 .item1 {
    position: absolute;
    width: 80%;
    top: 75%;
    left: 50%;
    background: white;
    padding: 2rem;
    transform: translateX(-50%);
    min-height: 320px
}

@media screen and (max-width: 600px) {
    .company-content--wrap.employee .wrap1 .box1 .item1 {
        position: static;
        width: 100%;
        transform: translateX(0)
    }
}

.company-content--wrap.employee .wrap1 .box1 .item1 h3 {
    font-size: 2.4rem;
    text-align: center
}

.company-content--wrap.employee .wrap1 .box1 .item1 p:first-of-type {
    text-align: center;
    margin-bottom: 1.6rem
}

.company-content--wrap.employee .wrap1 .box1:nth-of-type(2) img {
    order: 2
}

.company-content--wrap.employee .wrap1 .box1:nth-of-type(2) .item1 {
    order: 1
}

@media screen and (min-width: 601px) and (max-width: 1100px) {
    .company-content--wrap.employee .wrap1 .box1 {
        display: flex;
        width: 100%
    }

    .company-content--wrap.employee .wrap1 .box1 img {
        width: 30%;
        object-fit: cover
    }

    .company-content--wrap.employee .wrap1 .box1 .item1 {
        width: 70%;
        position: static;
        transform: none;
        display: flex;
        flex-direction: column;
        justify-content: center
    }
}

.company-content--wrap.employee .text1 {
    text-align: center;
    font-size: 3.2rem;
    margin-bottom: 8rem;
    font-weight: bold
}

.company-content--wrap.employee a.link {
    background: #6ECE3F;
    color: #000;
    display: block;
    width: 100%;
    max-width: 480px;
    text-align: center;
    font-size: 2rem;
    padding: 1rem 2rem;
    border-radius: 4px;
    margin: 0 auto
}

.company-content--wrap.employee a.link:hover {
    opacity: 0.8
}

.company-content.bg-group {
    background-image: url("../../assets/img/company/group.png");
    background-size: cover;
    background-position: center;
    color: #000;
    padding-top: 8rem;
    padding-bottom: 4rem
}

.company-content .co-dl {
    max-width: 1000px;
    border: 1px solid rgba(0, 0, 0, 0.8);
    border-left: 5px solid #99ff66;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 600px) {
    .company-content .co-dl {
        border: none;
        border-left: none
    }
}

.company-content .co-dl div {
    display: flex;
    font-size: 2rem;
    font-weight: normal;
    border-bottom: 1px solid #000
}

.company-content .co-dl div:last-child {
    border-bottom: none
}

@media screen and (max-width: 600px) {
    .company-content .co-dl div {
        display: block;
        align-items: center;
        border-bottom: none;
        margin-bottom: 1rem;
        border-left: 5px solid #99ff66
    }
}

.company-content .co-dl dt {
    width: 200px;
    padding: 1rem 3rem;
    border-right: 1px solid #000
}

@media screen and (max-width: 600px) {
    .company-content .co-dl dt {
        border-right: none;
        width: 85px;
        flex: 0 0 85px;
        padding: 1rem;
        font-size: 4vmin;
        font-weight: bold
    }
}

.company-content .co-dl dd {
    padding: 1rem 3rem;
    font-size: 1.8rem
}

@media screen and (max-width: 600px) {
    .company-content .co-dl dd {
        font-size: 4vmin
    }
}

.company-content .co-history {
    max-width: 1000px;
    margin: 0 auto
}

.company-content .co-history img {
    margin-bottom: 3rem
}

@media screen and (max-width: 600px) {
    .company-content .btn-co--his {
        font-size: 3.2vmin
    }
}

.company-content .cc-group {
    margin-bottom: 4rem;
    line-height: 2
}

.company-content .cc-group h3 {
    font-size: 2rem;
    padding-left: 4rem
}

.company-content .cc-group p,
.company-content .cc-group a {
    padding-left: 8rem
}

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

    .company-content .cc-group h3,
    .company-content .cc-group p,
    .company-content .cc-group a {
        padding-left: 0
    }
}

.contact-wrapmain {
    background: #F2F6F9;
    padding: 2rem;
    width: 100%
}

.contact-wrapmain section {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 2rem;
    padding-top: 5.6rem;
    padding-bottom: 5.6rem
}

@media screen and (max-width: 600px) {
    .contact-wrapmain section {
        padding: 3.2rem 0;
        font-size: 1.8rem
    }
}

.contact-wrapmain section h2 {
    font-size: 2rem;
    margin-bottom: 2.4rem
}

@media screen and (max-width: 600px) {
    .contact-wrapmain section h2 {
        font-size: 2rem;
        margin-bottom: 2rem
    }
}

.contact-wrapmain section ul {
    padding-left: 8rem
}

@media screen and (max-width: 600px) {
    .contact-wrapmain section ul {
        padding-left: 0
    }
}

.contact-wrapmain section ul li {
    margin-bottom: 2.4rem
}

@media screen and (max-width: 600px) {
    .contact-wrapmain section ul li {
        margin-bottom: 2rem
    }
}

.contact-wrapmain .contact-list {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.contact-wrapmain .contact-list i {
    margin-left: 1.6rem
}

.contact-wrapmain .contact-list a:hover i {
    position: relative;
    left: 4px
}

.contact-wrapmain .contact-tel span {
    display: block
}

.contact-wrapmain .contact-tel .free-tel {
    background: #97d97b;
    width: fit-content;
    padding: 1.6rem 3.2rem;
    margin-left: 8rem
}

@media screen and (max-width: 600px) {
    .contact-wrapmain .contact-tel .free-tel {
        margin-left: 0;
        text-align: center
    }
}

.contact-wrap {
    background: #F2F6F9;
    padding-top: 8rem;
    padding-bottom: 8rem;
    padding-right: 1.6rem;
    padding-left: 1.6rem
}

.contact-wrap input[type="submit"].contact-btn {
    border: none;
    border-radius: 0;
    display: block;
    width: 240px;
    cursor: pointer;
    background: #99ff66;
    color: #000;
    margin: 6.4rem auto 0;
    font-size: 1.6rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem
}

.contact-wrap input[type="submit"].contact-btn:hover {
    opacity: 0.8
}

.post-page--contact {
    max-width: 1000px;
    margin: 0 auto
}

.post-page--contact .dl-box {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2rem
}

@media screen and (max-width: 600px) {
    .post-page--contact .dl-box {
        display: block
    }
}

.post-page--contact .dl-box dt {
    width: 35%;
    flex: 0 0 35%;
    display: flex;
    align-items: center;
    margin-right: 3.2rem
}

@media screen and (max-width: 600px) {
    .post-page--contact .dl-box dt {
        width: 100%;
        flex: 0 0 100%;
        margin-right: 0
    }
}

.post-page--contact .dl-box dt .req {
    background: #ff6347;
    color: #000;
    font-size: 0.8em;
    display: block;
    width: 60px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    text-align: center;
    margin-left: auto
}

@media screen and (max-width: 600px) {
    .post-page--contact .dl-box dt .req {
        margin-left: 2.4rem
    }
}

.post-page--contact .dl-box dd {
    width: 100%
}

.post-page--contact .dl-box dd.yubin .mwform-zip-field {
    width: 50%;
    display: flex;
    align-items: center
}

.post-page--contact .dl-box textarea,
.post-page--contact .dl-box input {
    border: 1px solid #ccc;
    width: 100%;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    font-size: 1.6rem
}

.post-page--contact .dl-box .otoiawase02 {
    border: none;
    padding: 1rem;
    font-size: 1.6rem
}

.post-page--contact .dl-box.type-select dd {
    display: inline-block;
    width: auto;
    position: relative
}

.post-page--contact .dl-box.type-select dd::after {
    content: '\f078';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    color: var(--sub-color);
    width: 0;
    z-index: 0;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    pointer-events: none
}

.post-page--contact textarea,
.post-page--contact input,
.post-page--contact button,
.post-page--contact select {
    -webkit-appearance: none;
    appearance: none
}

.select-wrap {
    max-width: 1000px;
    padding-bottom: 2.4rem;
    margin: 0 auto 3.2rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.8)
}

@media screen and (max-width: 600px) {
    .select-wrap {
        font-size: 2.4rem
    }
}

.select-wrap h2 {
    font-size: 3.2rem;
    margin-bottom: 3.2rem
}

@media screen and (max-width: 600px) {
    .select-wrap h2 {
        font-size: 2.4rem
    }
}

.select-wrap .warp-box {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 600px) {
    .select-wrap .warp-box {
        display: block
    }
}

.select-wrap .warp-box p {
    font-size: 2.4rem
}

.select-wrap .warp-box button {
    background-color: transparent;
    border: none;
    font-size: 1.6rem;
    cursor: pointer
}

.select-wrap .warp-box button:hover {
    position: relative;
    left: 4px
}

.select-wrap .fa-caret-right {
    margin-left: 1.6rem;
    margin-right: 0.8rem
}

.select-wrap .item1 {
    width: calc((100% / 3) - 1.6rem);
    margin-right: 2.4rem;
    margin-bottom: 1.6rem
}

@media screen and (max-width: 600px) {
    .select-wrap .item1 {
        width: 100%;
        margin-right: 0
    }
}

.select-wrap .item2 {
    width: calc(((100% / 3) * 2) - 3.2rem);
    display: flex;
    margin-bottom: 1.6rem
}

@media screen and (max-width: 600px) {
    .select-wrap .item2 {
        width: 100%;
        display: block
    }
}

.select-wrap .item3 {
    width: calc(50% - 1.6rem);
    margin-right: 2.4rem;
    margin-bottom: 1.6rem
}

@media screen and (max-width: 600px) {
    .select-wrap .item3 {
        width: 100%;
        margin-right: 0
    }
}

.select-wrap .item3:last-of-type {
    margin-right: 0
}

.select-wrap .item3-1 {
    margin-bottom: 1.6rem
}

.mw_wp_form_confirm .select-wrap {
    display: none
}

.mw_wp_form_confirm .type-select dd::after {
    display: none !important
}

.mw_wp_form_complete h2.comp {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 2.4rem
}

.mw_wp_form_complete p.comp-txt {
    text-align: center
}

.bga-csr {
    background-image: url("../../assets/img/csr/sdgs_kihon.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.csr-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 5vh;
    font-size: 2.4rem;
    font-weight: 600
}

.csr-content--wrap .box1 {
    width: 700px;
    margin: 0 auto
}

.coph-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 4rem
}

.coph-content--box {
    background: white;
    border-radius: 3.2rem;
    padding: 4rem 6rem;
    margin-bottom: 6rem
}

@media screen and (max-width: 600px) {
    .coph-content--box {
        padding: 4rem 2rem
    }
}

.coph-content--box .item1 {
    margin-bottom: 2.4rem
}

.coph-content--box .item1 span {
    font-weight: 700;
    font-size: 1.2em
}

.coph-content--box .item2 {
    margin-bottom: 2.4rem
}

.coph-content--box .item2 dl {
    display: flex
}

.coph-content--box .item2 dl dt {
    width: 120px;
    border-right: 1px solid rgba(0, 0, 0, 0.8)
}

.coph-content--box .item2 dl dd {
    width: 80%;
    padding-left: 3.2rem
}

.coph-content--box .item2 ul {
    list-style: disc;
    margin-left: 1.6rem
}

.coph-content--box .item3 {
    width: 80%;
    margin: 0 auto;
    border: 1px solid rgba(0, 0, 0, 0.8);
    padding: 1.6rem
}

@media screen and (max-width: 600px) {
    .coph-content--box .item3 {
        width: 100%
    }
}

.coph-content--box .entry {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #6ECE3F;
    color: #000;
    padding: 2.4rem;
    width: 100%;
    max-width: 320px;
    margin: 3.2rem auto;
    font-size: 2.4rem;
    position: relative
}

@media screen and (max-width: 600px) {
    .coph-content--box .entry {
        font-size: 1.8rem
    }
}

.coph-content--box .entry i {
    position: absolute;
    right: 56px
}

@media screen and (max-width: 600px) {
    .coph-content--box .entry i {
        right: 20px
    }
}

.coph-content--box .entry:hover i {
    right: 52px
}

@media screen and (max-width: 600px) {
    .coph-content--box .entry:hover i {
        right: 16px
    }
}

.recruit-content--wrap {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    /* padding-top: 4rem; */
}

.recruit-content--wrap p {
    margin-bottom: 1.6rem
}

.recruit-content--wrap p.text-center {
    text-align: center
}

.recruit-content--wrap .input-box,
.recruit-content--wrap .file-box {
    display: flex;
    margin-bottom: 2.4rem
}

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

    .recruit-content--wrap .input-box,
    .recruit-content--wrap .file-box {
        display: block
    }
}

.recruit-content--wrap .input-box:first-of-type,
.recruit-content--wrap .file-box:first-of-type {
    align-items: center
}

.recruit-content--wrap .input-box dt,
.recruit-content--wrap .file-box dt {
    width: 240px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

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

    .recruit-content--wrap .input-box dt,
    .recruit-content--wrap .file-box dt {
        justify-content: flex-start;
        margin-bottom: 0.4rem
    }
}

.recruit-content--wrap .input-box dt span,
.recruit-content--wrap .file-box dt span {
    background: #F06060;
    color: #000;
    padding: 0.2rem 1.2rem;
    display: inline-block
}

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

    .recruit-content--wrap .input-box dt span,
    .recruit-content--wrap .file-box dt span {
        margin-left: 1.6rem
    }
}

.recruit-content--wrap .input-box dd,
.recruit-content--wrap .file-box dd {
    width: calc(100% - 200px);
    padding-left: 2.4rem
}

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

    .recruit-content--wrap .input-box dd,
    .recruit-content--wrap .file-box dd {
        width: 100%;
        padding-left: 0
    }
}

.recruit-content--wrap .input-box .entry-kibou,
.recruit-content--wrap .file-box .entry-kibou {
    width: 160px;
    padding: 1rem 0
}

.recruit-content--wrap .input-box .entry-text,
.recruit-content--wrap .input-box .entry-mail,
.recruit-content--wrap .input-box .entry-tel,
.recruit-content--wrap .file-box .entry-text,
.recruit-content--wrap .file-box .entry-mail,
.recruit-content--wrap .file-box .entry-tel {
    width: 100%;
    padding: 1rem 0
}

.recruit-content--wrap input[type="submit"] {
    width: 160px;
    padding: 1rem 0;
    background: rgba(0, 0, 0, 0.8);
    color: #000;
    border: none;
    margin: 0 auto
}

.recruit-content--wrap input[type="submit"]:hover {
    cursor: pointer;
    opacity: 0.8
}

.archive-title {
    width: 100%;
    margin: 0 auto 2rem;
    padding: 2.4rem 1.6rem;
    background: #99ff66;
    color: white
}

.archive-title h1 {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.25
}

@media screen and (max-width: 600px) {
    .archive-title h1 {
        padding-top: 1.6rem;
        font-size: 2rem
    }
}

.archive-title h1 span {
    display: block;
    font-size: 3.2rem
}

@media screen and (max-width: 600px) {
    .archive-title h1 span {
        font-size: 2.4rem
    }
}

.archive-wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1.6rem
}

.archive-wrap .post-list {
    margin-bottom: 6rem
}

.archive-wrap .post-list .time-box {
    display: flex;
    align-items: center
}

.archive-wrap .post-list .time-box .cat {
    background: #99ff66;
    color: #000;
    padding: 0.5rem 4rem;
    margin-left: 1.6rem;
    font-size: 0.8em
}

.archive-wrap .post-list .time-box .new {
    margin-left: 0.8rem
}

.archive-wrap .post-list .time,
.archive-wrap .post-list .new {
    font-size: 1.6rem;
    color: #000b6d
}

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

    .archive-wrap .post-list .time,
    .archive-wrap .post-list .new {
        font-size: 1.6rem
    }
}

.archive-wrap .post-list h2 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.8);
    font-size: 2rem;
    margin-bottom: 1.6rem;
    width: calc(100% - 3.2rem);
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 600px) {
    .archive-wrap .post-list h2 {
        font-size: 2rem;
        width: 100%
    }
}

.archive-wrap .post-list .content-box {
    font-size: 1.6rem;
    width: calc(100% - 10rem);
    margin-left: 5rem
}

@media screen and (max-width: 600px) {
    .archive-wrap .post-list .content-box {
        width: 100%;
        margin-left: 0
    }
}

.page-nav {
    max-width: 1400px;
    margin: 0 auto 2rem;
    padding: 0 1.6rem
}

.page-nav .pagination h2 {
    display: none
}

.page-nav .pagination .page-numbers {
    display: flex;
    justify-content: center
}

.page-nav .pagination .page-numbers li {
    border: 1px solid rgba(0, 0, 0, 0.8);
    margin-right: 1rem
}

.page-nav .pagination .page-numbers li:last-of-type {
    margin-right: 0
}

.page-nav .pagination .page-numbers li .current {
    background: #99ff66;
    color: white
}

.page-nav .pagination .page-numbers li a,
.page-nav .pagination .page-numbers li span {
    padding: 0.4rem 1rem
}

.sitemap-wrap {
    display: flex;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem
}

@media screen and (max-width: 600px) {
    .sitemap-wrap {
        display: block
    }
}

.sitemap-wrap .left-box,
.sitemap-wrap .right-box {
    width: 48%
}

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

    .sitemap-wrap .left-box,
    .sitemap-wrap .right-box {
        width: 100%
    }
}

.sitemap-wrap .left-box h2,
.sitemap-wrap .right-box h2 {
    border: 1px solid rgba(0, 0, 0, 0.8);
    border-radius: 6px;
    padding-left: 2.4rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex
}

.sitemap-wrap .left-box h2 span,
.sitemap-wrap .right-box h2 span {
    border-left: 8px solid #99ff66;
    padding-left: 1.6rem
}

.sitemap-wrap .left-box ul,
.sitemap-wrap .right-box ul {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    padding-left: 2.4rem
}

.sitemap-wrap .left-box ul li,
.sitemap-wrap .right-box ul li {
    display: flex;
    align-items: center;
    margin-bottom: 1.2rem
}

.sitemap-wrap .left-box ul li .fa-caret-right,
.sitemap-wrap .right-box ul li .fa-caret-right {
    margin-right: 1.2rem
}

.sitemap-wrap .left-box ul li a,
.sitemap-wrap .right-box ul li a {
    display: flex;
    align-items: center
}

.sitemap-wrap .left-box ul li a:hover,
.sitemap-wrap .right-box ul li a:hover {
    position: relative;
    left: 4px
}

.sitemap-wrap .left-box ul li img,
.sitemap-wrap .right-box ul li img {
    height: 3.2rem
}

.sitemap-wrap .left-box {
    margin-right: 4%
}

@media screen and (max-width: 600px) {
    .sitemap-wrap .left-box {
        margin-right: 0
    }
}

.sitemap-wrap .right-box {
    margin-top: 71.2px
}

@media screen and (max-width: 600px) {
    .sitemap-wrap .right-box {
        margin-top: 0
    }
}

.footer {
    background-color: #99ff66;
    color: #000;
    padding-top: 4rem;
    padding-bottom: 4rem
}

footer a:hover {
    text-decoration: underline;
}

.footer-main {
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto
}

.footer-nav {
    display: flex;
    justify-content: center;
    margin-bottom: 4rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem
}

@media screen and (max-width: 600px) {
    .footer-nav {
        flex-wrap: wrap
    }
}

.footer-nav li {
    margin-right: 1.8rem
}

@media screen and (max-width: 600px) {
    .footer-nav li {
        margin-bottom: 1.6rem
    }
}

.footer-nav li:last-of-type {
    margin-right: 0
}

.footer-nav li a {
    position: relative;
    transition: .3s
}

.footer-nav li a:hover::before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    top: 100%;
    left: 0;
}

.footer hr {
    border-color: #000;
}

.footer-desc {
    display: flex;
    align-items: center;
    padding-left: 1.6rem;
    padding-right: 1.6rem
}

@media screen and (max-width: 1024px) {
    .footer-desc {
        display: block
    }
}

.footer-desc .item1 {
    width: 60%
}

@media screen and (max-width: 1024px) {
    .footer-desc .item1 {
        width: 100%;
        max-width: 320px;
        margin: 0 auto 2.4rem
    }
}

.footer-desc .item2 {
    width: 40%;
    font-size: 3.2rem;
    display: flex;
    align-items: baseline
}

@media screen and (max-width: 1024px) {
    .footer-desc .item2 {
        width: 100%;
        justify-content: center
    }
}


@media screen and (min-width: 601px) {
    .footer-desc .item2 a {
        margin-right: 2.4rem
    }
}

.footer-desc .item2 .link {
    position: relative;
    top: -4px;
    margin-top: -1rem;
    font-size: 1.6rem;
    display: flex;
    flex-direction: column
}

#pageTop {
    background-color: #99ff66;
    border-radius: 50%;
    width: 4.8rem;
    height: 4.8rem;
    color: #000;
    font-size: 1rem;
    text-align: center;
    line-height: 4.6rem
}

#pageTop::before,
#pageTop::after {
    content: '';
    display: block;
    width: 32%;
    height: 0.3rem;
    background-color: #000;
    position: absolute;
    top: 2.1rem
}

#pageTop:hover {
    background: #99ff66;
    transition: .2s;
    cursor: pointer
}

#pageTop::before {
    transform: rotate(-40deg);
    left: 11px
}

#pageTop::after {
    transform: rotate(40deg);
    right: 11px
}

#pageTop a {
    display: block;
    width: 100%;
    height: 100%
}

#copyright {
    font-size: 1.8rem;
    padding-top: 2rem;
    padding-bottom: 2rem
}

.header-title {
    width: auto;
    flex: 0 0 auto;
}

.logo-keg-cont {
    display: flex;
}

.logo-keg-cont img {
    width: 100%;
    max-width: 30px;
}

.header-title h1 .logo-keg-cont p {
    display: inline;
    font-size: 1.5rem;
}

.header-title h1 .logo-keg-cont p span {
    display: inline;
}

.company_name {
    padding-top: 10px;
    font-size: 2rem;
}

@media (min-width: 601px) and (max-width: 1024px) {
    .logo-keg-cont {
        padding-top: 10px;
    }
}

.top-bg-area {
    background: url('../images/img_top.png') no-repeat center 0;
    width: 100%;
    height: 65vh;
    background-size: cover;
}

@media (max-width: 600px) {

    .top-bg-area {
        background: url('../images/img_top.png') no-repeat center 0;
        width: 100%;
        height: 40vh;
        background-size: cover;
    }
}

.company-bg-area {
    background: url('../images/img_company.png') no-repeat center 0;
    width: 100%;
    height: 65vh;
    background-size: cover;
    background-position: center;
    position: relative;
}

.keg_c_a {
    background-color: #99ff66;
    border-radius: 20px;
    padding: 1rem 2rem;
}

.keg_c_a::after {
    content: '▶';
    color: #000;
    padding-left: 2.5rem; 
}

.keg_c_a:hover {
    text-decoration: none;
}

.keg_c_a span:hover {
    text-decoration: underline;
}

.company-bg-area .box1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    display: flex;
    align-items: center
}

.company-bg-area .box1 h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    color: #fff;
    font-size: 3.2rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    letter-spacing: 1rem;
}

@media (max-width: 600px) {

    .company-bg-area {
        background: url('../images/img_company.png') no-repeat center 0;
        width: 100%;
        height: 40vh;
        background-size: cover;
    }

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

.business-bg-area {
    background: url('../images/img_business.png') no-repeat center 0;
    width: 100%;
    height: 90vh;
    background-size: cover;
    background-position: center 76%;
    position: relative;
}

.business-content {
    width: 100%;
    padding: 0 2rem;
}

.business-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.business-bg-area .box1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    display: flex;
    align-items: center
}

.business-bg-area .box1 h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    color: #fff;
    font-size: 3.2rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    letter-spacing: 1rem;
}

@media (max-width: 600px) {

    .business-bg-area {
        background: url('../images/img_business.png') no-repeat center 0;
        width: 100%;
        height: 40vh;
        background-size: cover;
        background-position: center 80%;
    }
}

.recruit-bg-area {
    /* background: url('../images/img_recruit.png') no-repeat center 0; */
    width: 100%;
    height: 20vh;
    background-size: cover;
    background-position: center 76%;
    position: relative;
}

.recruit-content {
    width: 100%;
    padding: 0 2rem;
}

.recruit-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.recruit-bg-area .box1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    display: flex;
    align-items: center
}

.recruit-bg-area .box1 h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    color: #000;
    font-size: 3.2rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    letter-spacing: 1rem;
}

@media (max-width: 600px) {

    .recruit-bg-area {
        /* background: url('../images/img_recruit.png') no-repeat center 0; */
        width: 100%;
        height: 20vh;
        background-size: cover;
    }
}

.inquiry-bg-area {
    /* background: url('../images/img_inquiry.png') no-repeat center 0; */
    width: 100%;
    height: 20vh;
    background-size: cover;
    background-position: center 76%;
    position: relative;
}

.inquiry-content {
    width: 100%;
    padding: 0 2rem;
}

.inquiry-content--wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.inquiry-bg-area .box1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    display: flex;
    align-items: center
}

.inquiry-bg-area .box1 h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    color: #000;
    font-size: 3.2rem;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    letter-spacing: 1rem;
}

@media (max-width: 600px) {

    .inquiry-bg-area {
        /* background: url('../images/img_inquiry.png') no-repeat center 0; */
        width: 100%;
        height: 20vh;
        background-size: cover;
    }
}


/*# sourceMappingURL=main.css.map */