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

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

ul {
    list-style: none;
}

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

caption,
th {
    text-align: left;
}

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

object,
embed {
    vertical-align: top;
}

legend {
    display: none;
}

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

img,
abbr,
acronym,
fieldset {
    border: 0;
}

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

body {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

img {
    max-width: 100%;
}

.btn-xl {
    padding: 1.25rem 2.5rem;
}

.content-section {
    padding-bottom: 1.5rem;
}

.content-section-heading h2 {
    font-size: 3rem;
    font-family: 'Source Sans Pro';
}

.content-section-heading h3 {
    font-size: 1rem;
    text-transform: uppercase;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
}

@media only screen and (min-width: 992px) {
    p {
        font-weight: 600;
    }
}

.text-faded {
    color: rgba(255, 255, 255, 0.7);
}

/* Map */
.map {
    height: 30rem;
}

@media (max-width: 992px) {
    .map {
        height: 75%;
    }
}

.map iframe {
    pointer-events: none;
}

.scroll-to-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    display: none;
    width: 50px;
    height: 50px;
    text-align: center;
    color: white;
    background: rgba(52, 58, 64, 0.5);
    line-height: 45px;
}

.scroll-to-top:focus,
.scroll-to-top:hover {
    color: white;
}

.scroll-to-top:hover {
    background: #343a40;
}

.scroll-to-top i {
    font-weight: 800;
}

.header_logo {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 13;
    width: 60%;
    max-width: 300px;
    -webkit-transition: all .3s .6s ease;
    transition: all .3s .6s ease;
}

@media only screen and (max-width: 768px) {
    .header_logo img {
        width: 40% !important;
        height: unset !important;
    }
}

.header_logo a img {
    width: 150px;
}

.main_imgBox {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.main_logo {
    z-index: 11;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    height: auto;
}

@media only screen and (max-width: 768px) {
    .main_logo {
        width: 90%;
    }
}

.main_img {
    z-index: 10;
    opacity: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite;
}

.main_img:nth-of-type(2) {
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}

.main_img:nth-of-type(3) {
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

.main_img:nth-of-type(4) {
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

.main_img:nth-of-type(5) {
    -webkit-animation-delay: 24s;
    animation-delay: 24s;
}

.main_img:nth-of-type(6) {
    -webkit-animation-delay: 30s;
    animation-delay: 30s;
}

.main_imgM {
    opacity: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite;
}

.main_imgM:nth-of-type(2) {
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}

.main_imgM:nth-of-type(3) {
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

.main_imgM:nth-of-type(4) {
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

.main_imgM:nth-of-type(5) {
    -webkit-animation-delay: 24s;
    animation-delay: 24s;
}

.main_imgM:nth-of-type(6) {
    -webkit-animation-delay: 30s;
    animation-delay: 30s;
}

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

    8% {
        opacity: 1;
    }

    17% {
        opacity: 1;
    }

    25% {
        opacity: 0;
        transform: scale(1.2);
        z-index: 9;
    }

    100% {
        opacity: 0
    }
}

@-webkit-keyframes anime {
    0% {
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    17% {
        opacity: 1;
    }

    25% {
        opacity: 0;
        -webkit-transform: scale(1.2);
        z-index: 9;
    }

    100% {
        opacity: 0
    }
}


.masthead h1 {
    font-size: 4rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 992px) {
    .masthead {
        height: 100vh;
    }

    .masthead h1 {
        font-size: 5.5rem;
    }
}

/* Side Menu */
#sidebar-wrapper {
    position: fixed;
    z-index: 998;
    right: 0;
    width: 250px;
    height: 100%;
    transition: all 0.4s ease 0s;
    transform: translateX(250px);
    background: #d0a930;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-nav {
    position: absolute;
    top: 0;
    width: 250px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-nav li.sidebar-nav-item a {
    display: block;
    font-weight: 600;
    color: #000;
    padding: 15px;
}

.sidebar-nav li a:hover {
    text-decoration: none;
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
}

.sidebar-nav li a:active,
.sidebar-nav li a:focus {
    text-decoration: none;
}

.sidebar-nav > .sidebar-brand {
    font-size: 1.2rem;
    height: 80px;
    line-height: 50px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}

.sidebar-nav > .sidebar-brand a {
    color: #fff;
}

.sidebar-nav > .sidebar-brand a:hover {
    color: #fff;
    background: none;
}

#sidebar-wrapper.active {
    right: 250px;
    width: 500px;
    transition: all 0.4s ease 0s;
}

@media only screen and (max-width: 991px) {
    #sidebar-wrapper.active {
        right: 250px;
        width: 320px;
        transition: all 0.4s ease 0s;
    }
}

.menu-toggle {
    position: fixed;
    right: 15px;
    top: 15px;
    width: 50px;
    height: 50px;
    text-align: center;
    color: #fff;
    background: rgba(52, 58, 64, 0.5);
    line-height: 50px;
    z-index: 999;
}

.menu-toggle:focus,
.menu-toggle:hover {
    color: #fff;
}

.menu-toggle:hover {
    background: #343a40;
}

.service-icon {
    background-color: #fff;
    color: #1D809F;
    height: 7rem;
    width: 7rem;
    display: block;
    line-height: 7.5rem;
    font-size: 2.25rem;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.callout {
    padding: 15rem 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%), url("../img/bg-callout.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.callout h2 {
    font-size: 3.5rem;
    font-weight: 700;
    display: block;
    max-width: 30rem;
}

.portfolio-item {
    display: block;
    position: relative;
    overflow: hidden;
    max-width: 530px;
    margin: auto auto 1rem;
}

.portfolio-item .caption {
    display: flex;
    height: 100%;
    width: 100%;
    background-color: rgba(33, 37, 41, 0.2);
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
}

.portfolio-item .caption .caption-content {
    color: #fff;
    margin: auto 2rem 2rem;
}

.portfolio-item .caption .caption-content h2 {
    font-size: 0.8rem;
    text-transform: uppercase;
}

.portfolio-item .caption .caption-content p {
    font-weight: 600;
    font-size: 1rem;
}

@media (min-width: 992px) {
    .portfolio-item {
        max-width: none;
        margin: 0;
    }

    .portfolio-item .caption {
        transition: background-color 0.7s, -webkit-clip-path 0.25s ease-out;
        transition: clip-path 0.25s ease-out, background-color 0.7s;
        transition: clip-path 0.25s ease-out, background-color 0.7s, -webkit-clip-path 0.25s ease-out;
        -webkit-clip-path: inset(0px);
        clip-path: inset(0px);
    }

    .portfolio-item .caption .caption-content {
        transition: opacity 0.25s;
        margin-left: 5rem;
        margin-right: 5rem;
        margin-bottom: 5rem;
    }

    .portfolio-item img {
        transition: -webkit-clip-path 0.25s ease-out;
        transition: clip-path 0.25s ease-out;
        transition: clip-path 0.25s ease-out, -webkit-clip-path 0.25s ease-out;
        -webkit-clip-path: inset(-1px);
        clip-path: inset(-1px);
    }

    .portfolio-item:hover img {
        -webkit-clip-path: inset(2rem);
        clip-path: inset(2rem);
    }

    .portfolio-item:hover .caption {
        background-color: rgba(208, 169, 48, 0.5);
        -webkit-clip-path: inset(2rem);
        clip-path: inset(2rem);
    }
}

.map iframe {
    height: 100%;
    width: 100%;
    border: 0;
}

footer.footer {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

footer.footer .social-link {
    display: block;
    height: 4rem;
    width: 4rem;
    line-height: 4.3rem;
    font-size: 1.5rem;
    background-color: #1D809F;
    transition: background-color 0.15s ease-in-out;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
}

footer.footer .social-link:hover {
    background-color: #155d74;
    text-decoration: none;
}

a {
    color: #000;
}

a:hover,
a:focus,
a:active {
    color: #155d74;
}

.btn-primary {
    background-color: #1D809F !important;
    border-color: #1D809F !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #155d74 !important;
    border-color: #155d74 !important;
}

.btn-secondary {
    background-color: #ecb807 !important;
    border-color: #ecb807 !important;
    color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: #ba9106 !important;
    border-color: #ba9106 !important;
}

.btn-dark {
    color: #fff !important;
}

.btn {
    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
    font-weight: 700;
}

.bg-primary {
    background-color: #1D809F !important;
}

.text-primary {
    color: #1D809F !important;
}

.text-secondary {
    color: #ecb807 !important;
}

/* img-max-width
------------------------------------------------------------*/
img {
    max-width: 100%;
    height: auto;
}
/* --------------------------------------------------
   ボタン
-------------------------------------------------- */
.btn,
a.btn,
button.btn {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 1rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
}

a.btn-flat {
    overflow: hidden;
    color: #fff;
    border-radius: 0;
    background: #000;
}

a.btn-flat span {
    position: relative;
}

a.btn-flat:before {
    position: absolute;
    top: 0;
    left: 30px;
    width: 150%;
    height: 300%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
    transform: translateX(-98%) translateY(-70%) rotate(135deg);
    background: #d0a930;
}

a.btn-flat:hover:before {
    -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
    transform: translateX(-9%) translateY(-25%) rotate(135deg);
}

/* --------------------------------------------------
   サブタイトル
-------------------------------------------------- */
.subtitle {
    text-align: center;
    font-size: 24px;
    font-size: 1.75rem;
    line-height: 1.2;
    margin-bottom: 40px;
    margin-top: 40px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

.subtitle > span {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-size: .75rem;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/* --------------------------------------------------
   画像上透過フィルターテキスト
-------------------------------------------------- */
/* top */
.wrapper1 {
    width: 100%;
    background-image: url(../img/contact_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 38px;
    display: flex;
}

.wrapper1 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper1 .content .heading {
    margin: 0px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper1 p {
    text-align: center;
    padding: 20px;
}

.bg-rgba {
    background-color: rgba(255, 255, 255, 0.8);
    width: 90%;
    height: 400px;
    margin: auto;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
    /* 横方向中央揃え */
}

/* business */
.wrapper_busi {
    width: 100%;
    background-image: url(../img/business_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 0px;
    display: flex;
    color: #fff;
}

.wrapper_busi .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 10px 0px;
}

/* content */
.wrapper_busi .content .heading {
    margin: 0px 0px 10px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper_busi p {
    padding: 20px;
}

.bg-rgba_busi {
    background-color: rgba(0, 0, 0, 0.5);
    width: 90%;
    height: 300px;
    margin: auto;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
    /* 横方向中央揃え */
}

.mt-38 {
    margin-top: 38px;
}

.teltext {
    font-size: 24px;
    font-weight: bold;
}

/* --------------------------------------------------
   〇セクション
-------------------------------------------------- */
@media screen and (min-width: 992px) {
    #merit #section02 {
        position: relative;
        z-index: 3;
        padding: 180px 0;
        background: url(../img/merit_bg.png) no-repeat top/cover;
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 992px) {
    .inbox {
        width: 1080px;
        margin: 0 auto;
    }
}

#merit #section02 h2 {
    color: #fff;
}

@media screen and (min-width: 992px) {
    #merit #section02 .sec02_list {
        text-align: center;
        margin-bottom: 80px;
    }

    #merit #section02 .sec02_list li {
        display: inline-block;
        vertical-align: top;
        margin-right: 40px;
        margin-top: 20px;
    }

    #merit #section02 .sec02_list li:nth-child(-n+3) {
        margin-top: 0;
    }

    .com_txt {
        background: #fff;
        line-height: 1.5;
        padding: 40px 70px;
        border-radius: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .bx_sdw01 {
        -webkit-box-shadow: 0px 0px 5px 0.5px rgb(0 0 0 / 40%);
        box-shadow: 0px 0px 5px 0.5px rgb(0 0 0 / 40%);
    }
}

img {
    vertical-align: middle;
    max-width: 100%;
}

ol,
ul {
    list-style: none;
}

@media screen and (max-width: 991px) {
    #merit #section02 {
        position: relative;
        z-index: 3;
        padding: 30% 0 60px;
        background: url(../img/merit_bg.png) no-repeat top/cover;
    }

    .inbox {
        width: 95%;
        margin: 0 auto;
    }

    #merit #section02 .sec02_list {
        text-align: center;
        margin-bottom: 50px;
    }

    #merit #section02 .sec02_list li:nth-child(-n+2) {
        margin-top: 0;
    }

    #merit #section02 .sec02_list li {
        width: 43%;
        display: inline-block;
        vertical-align: top;
        margin-right: 2%;
        margin-top: 20px;
    }

    .com_txt {
        background: #fff;
        line-height: 1.5;
        padding: 5% 8%;
        border-radius: 5px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

.four_top {
    background: url(../img/top_bg.jpg) no-repeat top/cover;
}

.white-text {
    color: #fff;
}

/* scroll efect
------------------------------------------------------------*/
.effect-fade {
    opacity: 0;
    transform: translate(0, 45px);
    transition: all 600ms;
}

.effect-fade.effect-scroll {
    opacity: 1;
    transform: translate(0, 0);
}

/* works
------------------------------------------------------------*/
.inner {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 0px;
}

.works .img {
    margin: 0 auto;
    max-width: 100%;
    text-align: center;
}

.works p {
    margin-top: 15px;
}

@media only screen and (min-width: 992px) {
    .works {
        text-align: center;
    }

    .works li {
        display: inline-block;
        width: 31%;
        padding: 0 1%;
        vertical-align: top;
        text-align: left;
    }
}

@media only screen and (max-width: 991px) {
    .works li {
        margin: 0 auto 50px;
        display: block;
        text-align: center;
    }
}

/* img_bg
------------------------------------------------------------*/
/* top */
.wrapper2 {
    width: 100%;
    background-image: url(../img/top_recruitbg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper2 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper2 .content .heading {
    margin: 0px 0px 40px 0px;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper2 p {
    color: #ffffff;
    text-align: center;
    padding: 20px;
}

.align-items-center {
    align-items: center !important;
}

/* business */
.wrapper3 {
    width: 100%;
    background-image: url(../img/business_bg2-2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 20px;
}

.wrapper3 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper3 .content .heading {
    margin: 0px 0px 10px 0px;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper3 p {
    color: #ffffff;
    padding: 20px;
}

/* partner */
.wrapper_pt {
    width: 100%;
    background-image: url(../img/partner_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 20px;
}

.wrapper_pt .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper_pt .content .heading {
    margin: 0px 0px 10px 0px;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper_pt p {
    color: #ffffff;
    padding: 20px;
}

.align-items-center {
    align-items: center !important;
}

/* partner */
.wrapper_pt2 {
    width: 100%;
    background-image: url(../img/partner_bg2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper_pt2 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper_pt2 .content .heading {
    margin: 0px 0px 40px 0px;
    color: #000;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper_pt2 p {
    color: #000;
    padding: 20px;
}

/* 左画像section
------------------------------------------------------------*/
/* container */
.wrapper4 {
    width: 100%;
    background-color: #fff;
}

.wrapper4 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper4 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper4 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper4 .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.wrapper4 .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper4 .content-item {
        width: 50%;
    }
}

.wrapper4 .image {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

.wrapper4 .text {
    padding: 0 15px;
    margin-bottom: 20px;
}

.wrapper4 .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* 右画像section
------------------------------------------------------------*/
/* container */
.wrapper5 {
    width: 100%;
    background-color: #fff;
    margin-bottom: 20px;
}

.wrapper5 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper5 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper5 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper5 .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* PC時のみ順番を入れ替える */
@media (min-width: 992px) {
    .wrapper5 .content {
        flex-direction: row-reverse;
    }
}

.wrapper5 .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper5 .content-item {
        width: 50%;
    }
}

.wrapper5 .image {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

.wrapper5 .text {
    padding: 0 15px;
}

.wrapper5 .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* COMPANY */
.wrapper_co {
    width: 100%;
    background-color: #fff;
}

.wrapper_co .container {
    max-width: 1200px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper_co .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper_co .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper_co .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* PC時のみ順番を入れ替える */
@media (min-width: 992px) {
    .wrapper_co .content {
        flex-direction: row-reverse;
    }
}

.wrapper_co .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper_co .content-item {
        width: 50%;
    }
}

.wrapper_co .image {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

.wrapper_co .text {
    padding: 0 15px;
}

.wrapper_co .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* footer
------------------------------------------------------------*/
.footer {
    text-align: center;
}

.meiryo {
    font-family: メイリオ, Meiryo, serif;
    font-weight: normal;
}

/* sp-align-left
------------------------------------------------------------*/
.sp-left {
    text-align: center;
}

@media screen and (max-width: 991px) {
    .sp-left {
        text-align: left;
    }

    .left {
        text-align: left;
    }
}

/* page-title
------------------------------------------------------------*/
/*business*/
#business_title {
    background: url(../img/business_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#business_title img {
    width: auto;
}

#business_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #business_title {
        padding: 120px 20px;
    }
}

#business_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/*recruit*/
#recruit_title {
    background: url(../img/recruit_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#recruit_title img {
    width: auto;
}

#recruit_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #recruit_title {
        padding: 120px 20px;
    }
}

#recruit_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/*partner*/
#partner_title {
    background: url(../img/partner_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#partner_title img {
    width: auto;
}

#partner_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #partner_title {
        padding: 120px 20px;
    }
}

#partner_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/*company*/
#company_title {
    background: url(../img/company_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#company_title img {
    width: auto;
}

#company_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #company_title {
        padding: 120px 20px;
    }
}

#company_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/*contact*/
#contact_title {
    background: url(../img/contact_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#contact_title img {
    width: auto;
}

#contact_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #contact_title {
        padding: 120px 20px;
    }
}

#contact_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/*showcase*/
#showcase_title {
    background: url(../img/showcase_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#showcase_title img {
    width: auto;
}

#showcase_title h1 {
    font-size: 2rem;
}

@media only screen and (max-width: 991px) {
    #showcase_title {
        padding: 120px 20px;
    }
}

#showcase_title > span {
    color: #fff;
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-family: メイリオ, Meiryo, serif;
    -webkit-font-feature-settings: "palt"on;
    -moz-font-feature-settings: "palt"on;
    font-feature-settings: "palt"on;
}

/* text-white
------------------------------------------------------------*/
.text-white {
    color: #fff;
}

/* table
------------------------------------------------------------*/
.ptable {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
}

.ptable th {
    width: 120px;
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
    font-weight: normal;
}

.ptable td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}

.ptable thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
}

/* margin
------------------------------------------------------------*/
.mb-10 {
    margin-bottom: 10px;
}
.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mt-30 {
    margin-top: 30px;
}
.mt-58 {
    margin-top: 58px;
}

/* sp時改行
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
    .br-sp {
        display: none;
    }
}

@media screen and (max-width: 992px) {
    .br-pc {
        display: none;
    }
}

/* 領域中央寄せ
------------------------------------------------------------*/
.center {
    margin: 0 auto;
}

/* name
------------------------------------------------------------*/
.name {
    text-align: right;
    font-weight: bold;
}

/* contact form
------------------------------------------------------------*/
#formWrap {
    width: 700px;
    margin: 0 auto;
    color: #555;
    line-height: 120%;
    font-size: 90%;
}

table.formTable {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
}

table.formTable td,
table.formTable th {
    border: 1px solid #ccc;
    padding: 10px;
}

table.formTable th {
    width: 30%;
    font-weight: normal;
    background: #efefef;
    text-align: left;
}

/*table*/
@media screen and (max-width:572px) {
    #formWrap {
        width: 95%;
        margin: 0 auto;
    }

    table.formTable th,
    table.formTable td {
        width: auto;
        display: block;
    }

    table.formTable th {
        margin-top: 5px;
        border-bottom: 0;
    }

    input[type="text"],
    textarea {
        width: 80%;
        padding: 5px;
        font-size: 110%;
        display: block;
    }

    input[type="submit"],
    input[type="reset"],
    input[type="button"] {
        display: block;
        width: 100%;
        height: 40px;
    }
}
/* -----------------------------------------------------------
	blog
----------------------------------------------------------- */
.blogcontainer {
    width: 100%;
    margin: 10px 10px;
}

.ttl {
    border-bottom: solid 2px #d0a930;
}

.topics {
    margin: 10px 0 0;
}

.topics dl {
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}

.topics dt {
    padding-bottom: 5px;
}

.underl {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    .topics dt {
        clear: left;
        float: left;
        width: 20%;
        font-weight: normal;
        padding-left: 10px;
    }

    .topics dd {
        margin-left: 11%;
    }

    .blogcontainer {
        width: 100%;
        margin: 0 0 50px;
    }
}

.container h3 {
    font-size: 1.5rem;
}
