/* stylesheet */
@charset "UTF-8";

/* A Modern CSS Reset */
*,
*::before,
*::after {
    box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0
}

ul[role="list"],
ol[role="list"] {
    list-style: none
}

html:focus-within {
    scroll-behavior: smooth
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

img,
picture {
    max-width: 100%;
    display: block
}

input,
button,
textarea,
select {
    font: inherit
}

@media(prefers-reduced-motion:reduce) {
    html:focus-within {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }
}

/* subpTop
================================================ */
.subpTop {
    width: 100%;
    height: 50vh;
    overflow: hidden;
    position: relative;
}

.subpTop::before {
    content: '';
    background-color: rgba(51, 51, 51, .5);
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0;
}

/* SP */
@media screen and (max-width:999px) {
    .subpTop {
        height: 25vh;
    }
}


/* page-about
================================================================== */
.topMessage {
    font-size: 1.6em;
    font-weight: bold;
    padding: 2em 0;
    line-height: 1.4em;
}

.greetingImg {
    width: 700px;
    margin: 0 auto;
}

.greetingTxtArea {
    padding: 3em 0;
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.nameLarge {
    font-size: 2em;
    font-weight: bolder;
    padding: 1em 0;
    max-width: 500px;
    margin: 0 auto;
    text-align: right;
}

.connectBd {
    height: 30vh;
    overflow: hidden;
}

/* SP */
@media screen and (max-width:999px) {
    .topMessage {
        padding: 1em;
        font-size: 1.2em;
    }

    .greetingTxtArea {
        padding: 2em 0;
        max-width: 90%;
        margin: 0 auto;
    }

    .nameLarge {
        font-size: 1.5em;
        max-width: 90%;
        margin: 0 auto;
    }

    .connectBd {
        height: 13vh;
    }
}

/* 会社概要
================================================ */
.about {
    background-color: #F2F2E7;
    padding-bottom: 1px;
}

.aboutContainer {
    max-width: 1000px;
    margin: 0 auto;
}

.aboutCts {
    width: 70%;
    margin: 0 auto;
    text-align: left;
}

.aboutCts table {
    padding-bottom: 7em;
}

.aboutCts td {
    padding-left: 5em;
}

.aboutCts th {
    width: 70px;
    vertical-align: top;
}

.aboutCts th,
.aboutCts td {
    padding-bottom: 1em;
}

.gmap {
    margin-bottom: 40px;
    max-width: 1000px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    font-size: 14px;
}

.gmap h3 {
    text-align: center;
    border-top: 3px solid #7BB324;
    font-size: 18px;
    display: block;
    line-height: 40px;
}

.gmap iframe {
    margin-top: 10px;
    width: 100%;
    height: 280px;
}

.gmap._last {
    margin-bottom: 110px;
}

/* TOPメッセージ
================================================ */
.greeting .nameLarge {
    padding-bottom: 90px;
}

/* SP */
@media screen and (max-width:999px) {

    /* page-about
  =============================================== */
    .gmap._last {
        margin-bottom: 60px;
    }

    .gmap {
        margin-bottom: 20px;
        font-size: 13px;

    }

    .gmap h3 {
        font-size: 16px;
        line-height: 32px;
    }

    .aboutCts {
        width: 90%;
        font-size: 13px;
    }

    .aboutCts table {
        padding-bottom: 3em;
    }

    .aboutCts td {
        padding-left: 2em;
    }

    .aboutCts th {
        width: 60px;
    }

    /* TOPメッセージ
================================================ */
    .greeting .nameLarge {
        padding-bottom: 80px;
    }
}

/*------------------------------------------------------
 page-recruit
------------------------------------------------------*/
.recruitCts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
}

.recruitCts img {
    width: 45%;
}

.recruitCtsTxt {
    width: 47.5%;
    text-align: left;
}

.recruitButtonArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    max-width: 1000px;
    margin: 0 auto;
    padding: 5em 0;
}

.greenButton {
    background-color: #7BB310;
    padding: 1em 0;
    color: #fff;
    font-weight: bold;
    position: relative;
    transition: all .3s ease;
}

.greenButton:hover {
    background-color: #EA922B;
    color: #fdfdfd;
}

.greenButton::after {
    position: absolute;
    content: '→';
    bottom: 33%;
    right: 15%;
}

/* SP */
@media screen and (max-width:999px) {
    /* page-about
  =============================================== */

}

/*------------------------------------------------------
 page-service-os
------------------------------------------------------*/
.subpService {
    max-width: 1000px;
    margin: 0 auto;
}

.leftTtl {
    text-align: left;
    padding-left: 1em;
    position: relative;
}

.leftTtl::before {
    position: absolute;
    left: 0;
    content: '';
    border-left: #222 3px solid;
    width: 100%;
    height: 50px;
}

.serviceOsContainer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    max-width: 1000px;
    margin: 0 auto;
    padding: 4em 0;
}

.serviceOsItem {
    width: 350px;
    height: 350px;
    border: #F2F2E8 2px solid;
    border-radius: 10px;
    margin-bottom: 3em;
}


.itemImgArea {
    height: 40%;
    overflow: hidden;
}

.itemTtl {
    font-size: 1.4em;
    padding: 1em;
}

.itemTxt {
    text-align: left;
    padding: 0 2em;
    font-size: 15px;
}

.setTypeOs {
    background-color: #F2F2E7;
    padding-bottom: 3em;
    margin-bottom: 3em;
}

.covidService {
    max-width: 1000px;
    margin: 0 auto;
}

.covidServiceContainer {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-around;
    max-width: 1000px;
    margin: 0 auto;

}

.covidServiceItem {
    width: 350px;
    margin-bottom: 4em;
}

.covidImgArea img {
    border-radius: 10px;
}

/* SP */
@media screen and (max-width:999px) {

    /* page-service-os
  =============================================== */
    .leftTtl::before {
        height: 35px;
    }

    .subpService,
    .covidService,
    .setTypeOs p {
        max-width: 90%;
        margin: 0 auto;
    }

    .setTypeOs {
        margin-bottom: 1em;
    }

    .serviceOsContainer {
        padding: 2em 0;
    }
}

/*------------------------------------------------------
 page-service-tt
------------------------------------------------------*/
.ttIllustImg {
    width: 50%;
    margin: 0 auto;
}

.ttTopTxt {
    line-height: 2;
    padding: 3em 0;
}

.programContainer {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.programItem {
    padding-bottom: 3em;
}

.programTtl {
    font-size: 1.2em;
    font-weight: bold;
}

.lineOfficial {
    background-color: #F2F2E7;
}

.lineImgArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 3em;
}

.lineImgArea img {
    width: 150px;
}

.ttComment {
    background: url(../images/T4OFFICE.jpg) no-repeat center;
    background-size: cover;
    padding: 5em 0;
    position: relative;
    z-index: 1;
}

.ttComment::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    background-color: rgba(51, 51, 51, .5);
    width: 100%;
    height: 100%;
    z-index: -1;
}

.ttComment p {
    margin: auto;
    max-width: 1000px;
    font-size: 1.4em;
    line-height: 1.6;
    color: #fff;
    font-weight: 400;
    text-align: left;
    z-index: 1;
}

.tableSalesTop,
.tableSalesBottom {
    max-width: 1000px;
    margin: 0 auto;
    padding: 5em 0;
}

.tableSalesTop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.tableSalesTop img {
    width: 45%;
}

.tableSalesTop p {
    width: 45%;
    text-align: left;
}

.tableSalesBottom {
    text-align: left;
    border: #222 2px solid;
    border-radius: 10px;
}

.bottomTableArea {
    width: 70%;
    margin: auto;
}

.bottomTableArea th,
.bottomTableArea td {
    padding-bottom: .5em;
}

.bottomTableArea td {
    padding-left: 5em;
}

.caution {
    max-width: 1000px;
    margin: 0 auto;
    text-align: left;
}

.community {
    background-image: url(../images/community.svg);
    padding: 2em 0;
    color: #fff;
    z-index: 1;
    position: relative;
    margin: 5em 0;
}

.community::before {
    content: '';
    position: absolute;
    top: 0%;
    left: 0%;
    background-color: rgba(51, 51, 51, .5);
    width: 100%;
    height: 100%;
    z-index: -1;
}

.communityCts {
    max-width: 800px;
    margin: 0 auto;
}

.communityCts p {
    line-height: 1.6em;
}

/* SP */
@media screen and (max-width:999px) {

    /* page-service-tt
  =============================================== */
    .programContainer {
        max-width: 90%;
    }

    .programItem {
        padding-bottom: 2em;
    }

    .lineImgArea {
        max-width: 70%;
    }

    .lineImgArea img {
        width: 100px;
    }

    .ttComment {
        padding: 3em 0;
    }

    .ttComment p {
        max-width: 90%;
        font-size: 1em;
    }

    .tableSalesTop {
        flex-direction: column;
        padding: 3em 0;
    }

    .tableSalesTop img {
        width: 90%;
    }

    .tableSalesTop p {
        width: 90%;
        padding: 2em 0;
    }

    .tableSalesTop,
    .tableSalesBottom {
        max-width: 90%;
        padding: 3em 0;
        font-size: 13px;
    }

    .bottomTableArea {
        width: 90%;
    }

    .bottomTableArea td {
        padding-left: 3em;
    }

    .caution {
        max-width: 90%;
        font-size: 11px;
    }

    .community {
        margin: 3em 0;
    }
}

/*------------------------------------------------------
 single-news
------------------------------------------------------*/
.articleContainer {
    max-width: 100%;
    margin: 0 auto;
    padding: 5em 0 5em 13%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}

.singleCts {
    width: 71.851%;
}

.singleCts h1 {
    text-align: left;
    padding-left: 1em;
    position: relative;
    padding-bottom: 3em;
    font-size: 1.6em;
}

.singleCts h1::before {
    position: absolute;
    left: 0;
    content: '';
    border-left: #222 3px solid;
    width: 100%;
    height: 40px;
}

.singleDate {
    display: block;
    text-align: left;
    padding-bottom: 5em;
    font-weight: bold;
    color: #7BB310;
}

.singleTxt p {
    text-align: left;
    padding-bottom: 1em;
    width: 85%;
}

.singleTxt p img {
    width: auto;
}

.sideBar {
    padding-left: 2em;
    width: 24.89%;
    text-align: left;
    position: sticky;
}

.newList {
    padding: 1em 0;
}

.newList .newsItem {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8em;
    padding: 1em;
    transition: all 0.3s ease-in-out;
}

.newList .newsItem::after {
    content: none;
}

.newList .newsItem:hover {
    background-color: #7BB310;
}

.newListDate {
    font-size: .9vw;
}

.newListTtl {
    font-size: .9vw;
}

.backList {
    text-align: right;
    text-decoration: underline;
    padding-right: 2em;
}

/* SP */
@media screen and (max-width:999px) {

    /* single-news
  =============================================== */
    .articleContainer {
        flex-direction: column;
        padding: 2em 0;
    }

    .singleDate {
        padding-bottom: 2em;
    }

    .singleCts {
        width: 90%;
        margin: 0 auto 3em;
    }

    .singleCts h1 {
        padding-bottom: 2em;
    }

    .sideBar {
        width: 90%;
    }

    .newListDate,
    .newListTtl {
        font-size: 12px;
    }

    .singleCts h1 {
        font-size: 1.4em;
    }
}


/*------------------------------------------------------
 archive-staff
------------------------------------------------------*/

.staff {
    padding: 3em 0;
}

.staffContainer {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.staffList {
    width: 300px;
    text-align: left;
    padding-bottom: 3em;
    transition: all 0.3s ease;
    margin: 0 auto;
}

.position,
.staffName {
    padding: .5em .5em 0;
}

.position {
    color: #666;
    font-size: .8em;
}

.staffList:hover {
    box-shadow: #ccc 5px 5px 5px;
}

/* SP */
@media screen and (max-width:999px) {

    /* archive-staff
  =============================================== */
    .staffContainer {
        max-width: 90%;
    }

    .recruitCts {
        flex-direction: column;
    }

    .recruitCts img,
    .recruitCtsTxt {
        width: 90%;
    }

    .recruitCtsTxt {
        padding: 3em 0;
    }

    .recruitButtonArea {
        padding: 2em 0;
    }

    .recruitButtonArea .button {
        margin-bottom: 5vh;
    }

}

/*------------------------------------------------------
 single-staff
-----------------------------------------------------*/
.singlePageStaff img {
    width: 400px;
    margin: 0 auto;
}

.singlePageStaff {
    max-width: 1000px;
    margin: 0 auto;
}

.singlePageStaffCts .position {
    font-size: 1em;
    padding: 1em;
}

.singlePageStaffCts .staffName {
    font-size: 1.5em;
}

.staffDiscri {
    padding: 3em 0;
}

.staffDiscri p {
    padding: 1em;
}

/* SP */
@media screen and (max-width:999px) {

    /* single-staff
  =============================================== */
    .singleTxt p {
        width: auto;
    }

    .singleTxt p img {
        margin: 0 auto;
    }

}

/*------------------------------------------------------
 contact
-----------------------------------------------------*/
.contactForm {
    max-width: 600px;
    margin: 0 auto;
    padding: 5em 0;
}

.contactForm label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.contactForm p {
    margin-bottom: 1.5em;
}

.contactForm input,
.contactForm textarea {
    padding: .5em;
    border: #707070 1px solid;
    border-radius: 5px;
}

/* SP */
@media screen and (max-width:999px) {

    /* page-contact
  =============================================== */
    .contactForm {
        max-width: 90%;
        margin: 0 auto;
        padding: 2em 0;
    }

    .contactForm p {
        margin-bottom: 1em;
    }

    .contactForm label {
        flex-direction: column;
        margin: 0 auto;
    }

    .wpcf {
        margin: 0 auto;
    }
}

/*------------------------------------------------------
 privacy-policy
-----------------------------------------------------*/

.privacyCts {
    max-width: 800px;
    margin: 0 auto 5em;
    text-align: left;
}

.policy2 {
    max-width: 1000px;
    margin: 0 auto;
}

.policy2 .leftTtl {
    font-size: 1.6em;
    margin: 2em 0;
}

.policy2 .policyCts {
    max-width: 800px;
    margin: 0 auto 5em;
    text-align: left;
}

/* SP */
@media screen and (max-width:999px) {

    /* privacy-policy
  =============================================== */
    .privacyCts,
    .policy2 {
        max-width: 90%;
    }
}

div.wpcf7 input[name="your-name"],
div.wpcf7 input[name="your-email"],
div.wpcf7 input[name="company"],
div.wpcf7 input[name="tel-672"],
div.wpcf7 textarea[name="your-message"] {
    width: 350px;
}

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

    div.wpcf7 input[name="your-name"],
    div.wpcf7 input[name="your-email"],
    div.wpcf7 input[name="company"],
    div.wpcf7 input[name="tel-672"],
    div.wpcf7 textarea[name="your-message"] {
        width: 330px;
    }
}

.wpcf7-list-item.first.last {
    margin-left: 0;
}

.wpcf7-list-item.first.last label {
    flex-direction: row;
    margin-bottom: 2em;
}


/*---------------------------------------------------------
 経営理念
---------------------------------------------------------*/
.u-pageTop {
    width: 100%;
    height: 50vh;
    overflow: hidden;
    position: relative;
    font-weight: bold;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

.u-pageTop._philosophy {
    background-image: url(../images/philosophy/mv_bg-min.jpg);
}

.u-pageTop .h1 {
    font-size: 40px;
}

.u-pageTop .en {
    font-size: 16px;
}

.u-pageTop::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 1px;
    height: 50px;
    background: #fff;
    z-index: 1;
}

.u-title {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    color: #fff;
    text-align: center;
    width: 100%;
    z-index: 1;

}

.l-inner {
    padding: 80px 15px;
    max-width: 900px;
    margin: 0 auto;
}

.u-title_h2 {
    color: #89bb2b;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    padding: 0 0 15px;
    margin: 0 0 30px;
    position: relative;
}

.u-title_h2::after {
    content: "";
    height: 2px;
    width: 340px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    background-image: -webkit-linear-gradient(left, transparent, #89bb2b 35%, #89bb2b 65%, transparent);
    background-image: linear-gradient(to right, transparent, #89bb2b 35%, #89bb2b 65%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}

.u-mcopy {
    font-size: 22px;
    margin: 0 0 15px;
    text-align: center;
    font-weight: bold;
    line-height: 1.8;
}

.u-scopy {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
}

.u-policy {
    background: url(../images/philosophy/policy_bg-min.jpg) no-repeat center center /cover;
}

.u-value_in {
    padding: 0 0 40px;
    position: relative;
}

.u-value_in::after {
    content: "";
    height: 1px;
    width: 300px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    background: #ddd;
}

.u-value_in + .u-value_in {
    padding-top: 40px;
}

.u-value_in p {
    text-align: left;
    font-size: 16px;
    line-height: 1.8;
}

.u-value_title {
    font-size: 28px;
    margin: 0 0 20px;
    text-align: center;
    font-weight: bold;
    display: block;
    padding: 30px 0;
    line-height: 1;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 450px auto;
}

.u-value_title._bg1 {
    background-image: url(../images/philosophy/value_bg1.png);
}

.u-value_title._bg2 {
    background-image: url(../images/philosophy/value_bg2.png);
}

.u-value_title._bg3 {
    background-image: url(../images/philosophy/value_bg3.png);
}

.u-value_title._bg4 {
    background-image: url(../images/philosophy/value_bg4.png);
}

.u-sp {
    display: none;
}


.policy-mark {
    margin-top:2em;
    display: flex;
    align-items: center;
    padding: 10px 15px;
    box-sizing: border-box;
    max-width: 330px;
    width: 100%;
    border: 2px solid #CCCCCC;
}

.policy-mark img {
    width: 70px;
    height: auto;
    margin: 0 20px 0 0;
}

.policy-mark .txt {
    font-size: 12px;
    text-align: left;
}
.policy-mark .txt span{
    display: block;
    margin:0 0 5px 0;
}

.policy-mark .txt a {
    display: inline-block;
    background: url(../images/cmn/icon_tab.png) no-repeat center right /20px auto;
    padding: 0 25px 0 0;
    font-weight: bold;
}

/* SP */
@media screen and (max-width:999px) {
    .u-pc {
        display: none;
    }

    .u-sp {
        display: block;
    }

    .u-pageTop {
        height: 25vh;
    }

    .u-pageTop .h1 {
        font-size: 30px;
    }

    .u-pageTop .en {
        font-size: 12px;
    }

    .u-title_h2 {
        font-size: 30px;
        padding: 0 0 15px;
    }

    .u-title_h2::after {
        width: 300px;
    }

    .u-mcopy {
        font-size: 18px;
    }

    .u-scopy {
        text-align: left;
    }

    .l-inner {
        padding: 60px 5%;
    }

    .u-value_title {
        font-size: 20px;
        background-size: 300px auto;
        padding: 20px 0;
    }


    .policy-mark .txt a {
        background: url(../images/cmn/icon_tab.png) no-repeat center right /14px auto;
        padding: 0 20px 0 0;
    }

    .policy-mark .txt {
        font-size: 11px;
    }
}

/*------------------------------------------------------
compliance
-----------------------------------------------------*/
.complianceBody {
    width: 768px;
    margin: 0 auto 5em;
    text-align: left;
}

.complianceLead {
    margin: 0 auto 60px;
}

.complianceLead p {
    margin: 0 0 1rem;
    line-height: 1.8;
    color: #424242;
}

.complianceBox {
    line-height: 1.6;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 30px;
}

.complianceBox__label {
    font-weight: 700;
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
    color: #0a0a0a;
    margin: 0;
    padding: 10px 0 0;
}

.complianceBox__text {
    -ms-flex-preferred-size: calc(100% - 200px);
    flex-basis: calc(100% - 200px);
    border-left: 1px solid #424242;
    padding: 10px 0 10px 18px;
    margin: 0;
    color: #424242;
}

/* SP */
@media screen and (max-width:999px) {
    .complianceBody {
        width: 100%;
        max-width: 90%;
    }

    .complianceLead {
        margin: 0 0 20px;
    }

    .complianceLead p {
        font-size: 13px;
    }

    .complianceBox__label {
        -ms-flex-preferred-size: 105px;
        flex-basis: 105px;
        font-size: 13px;
    }

    .complianceBox__text {
        -ms-flex-preferred-size: calc(100% - 100px);
        flex-basis: calc(100% - 100px);
        font-size: 13px;
    }
}

/*---------------------------------------------------------
Public
---------------------------------------------------------*/

.u-ubcopy {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 30px 0 25px;
}

.u-ubcopy .marker{
    display: inline;
    background:linear-gradient(transparent 60%, #E1F8AA 60%);
}

.public_contents .l-inner{
    max-width: 880px;
    text-align: left;
}

.public_contents .u-scopy{
    text-align: center;
}

.public_section._border{
    border-bottom: #EFF5E3 solid 10px;
}

.u-pageTop._public {
    background-image: url(../images/public/mv_bg-min.jpg);
    top: 95px;
    margin-bottom: 95px;
}

.u-pageTop._public .u-title{
    top: 53%;
    transform: translateY(-53%);
    -webkit- transform: translateY(-53%);
}

.u-public_in {
    padding: 0 0 40px;
    position: relative;
}

.u-public_in + .u-public_in {
    padding-top: 40px;
}

.u-public_in:last-of-type{
    padding-bottom: 0;
}

.u-public_title {
    font-size: 28px;
    margin: 0 0 20px;
    text-align: center;
    font-weight: bold;
    display: block;
    padding: 46px 0;
    line-height: 1;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
    background-image: url(../images/public/public_bg.png);
}

.public_anchor .l-inner{
    padding-bottom: 40px;
}

.public_anchor .u-ubcopy{
    font-size: 23px;
    margin-top: 5px;
    margin-bottom: 30px;
}

.public_anchor .u-scopy{
    margin-bottom: 30px;
    text-align: center;
}

.anchor_container{
    display: flex;
    justify-content: space-between;
}

.anchor_button{
    width: 31.8%;
    max-width: 270px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #222 ;
    font-size: 14px;
    font-weight: bold;
    box-sizing: border-box;
    border: #F2F2E8 solid 4px;
    border-radius: 30px;
    background-color: #fff;
    text-decoration: none;
    position: relative;
}

.anchor_button::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 4.5px 0 4.5px;
    border-color: #89BB2B transparent transparent transparent;
}

.anchor_link{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

.service_box{
    margin-top: 60px;
}

.service_box a{
    color: #89BB2B;
    text-decoration: underline;
    word-break: break-all;
}

.service_head{
    font-size: 23px;
    margin: 0 0 30px;
    text-align: center;
    font-weight: bold;
    display: block;
    line-height: 1.8;
}

.service_caption{
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: bold;
    display: block;
    line-height: 1.4;
}

.service_point + .service_point{
    margin-top: 30px;
}

.service_point._flex{
    display: flex;
    justify-content: space-between;
}

.service_image{
    width: 50%;
    max-width: 400px;
    flex-shrink: 0;
    margin-left: 50px;
}

.service_solution{
    padding: 30px 0;
}

.solution_item{
    padding-bottom: 12px;
    border-bottom: #959595 solid 1px;
}

.solution_item + .solution_item{
    margin-top: 12px;
}

.service_solution .solution_caption{
    color: #89BB2B;
    font-size: 16px;
    font-weight: bold;
    display: block;
    margin-bottom: 6px;
}

.agency_box{
    display: flex;
    align-items: center;
}

.agency_box + .agency_box{
    margin-top: 30px;
}

.agency_image{
    width: 100%;
    max-width: 260px;
    flex-shrink: 0;
    margin-right: 35px;
}

.agency_caption{
    color: #89BB2B;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}

.public_work{
    margin-top: 25px;
    border-top: #DDDDDD solid 1px;
}

.public_work .item{
    padding: 12px 0;
    border-bottom: #DDDDDD solid 1px;
}

.public_work .caption{
    color: #89BB2B;
    font-size: 16px;
    font-weight: bold;
    display: block;
    margin-bottom: 6px;
}

#public3 .u-mcopy{
    margin-top: 60px;
    margin-bottom: 30px;
}

.public_support + .public_support{
    margin-top: 30px;
}

.public_support p{
    margin-bottom: 15px;
}

.public_support p:last-child{
    margin-bottom: 0;
}

.public_support .caption{
    color: #89BB2B;
    font-size: 20px;
    font-weight: bold;
    display: block;
    margin-bottom: 15px;
}

#public4 .u-public_title{
    margin-bottom: 35px;
}

.promotion_box{
    display: flex;
    align-items: center;
}

.promotion_image{
    width: 100%;
    max-width: 260px;
    flex-shrink: 0;
    margin-right: 35px;
}

.promotion_caption{
    color: #89BB2B;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}

/* SP */
@media screen and (max-width:999px) {
    .u-pageTop._public {
        top: 50px;
        margin-bottom: 50px;
    }

    .u-pageTop._public::before{
        height: 35px;
    }

    .u-pageTop._public h1{
        font-size: 20px;
    }

    .public_contents p{
        font-size: 15px;
        line-height: 1.67;
    }

    .public_contents .u-mcopy{
        font-size: 17px;
        line-height: 1.45;
    }

    .public_contents .u-scopy{
        font-size: 15px;
    }

    .public_contents .u-ubcopy{
        font-size: 17px;
        line-height: 1.45;
    }

    .public_section._border .l-inner{
        padding-bottom: 100px;
    }

    .u-public_title {
        font-size: 20px;
        background-size: 530px auto;
        padding: 40px 0 45px;
        margin-bottom: -10px;
    }

    .public_anchor .u-ubcopy{
        font-size: 17px;
        margin-top: 4px;
        line-height: 1.45;
    }
    
    .anchor_container{
        flex-direction: column;
    }
    
    .anchor_button{
        width: 100%;
        max-width: none;
        height: 63px;
        font-size: 17px;
    }

    .anchor_button + .anchor_button{
        margin-top: 15px;
    }

    .service_head{
        font-size: 17px;
        line-height: 1.45;
    }

    .service_point._flex{
        flex-direction: column;
    }
    
    .service_caption{
        font-size: 17px;
        margin-bottom: 15px;
        line-height: 1.45;
    }
    
    .service_point.flex{
        flex-direction: column;
    }
    
    .service_image{
        width: 100%;
        max-width: none;
        margin: 15px auto 0;
    }
    
    .service_solution .solution_caption{
        font-size: 17px;
        line-height: 1.45;
        margin-bottom: 1px;
    }

    .solution_item{
        padding-bottom: 8px;
        border-bottom: #DDDDDD solid 1px;
    }

    .solution_item + .solution_item{
        margin-top: 13px;
    }

    .service_solution .solution_item span{
        display: block;
    }
    
    .agency_box{
        flex-direction: column;
    }
    
    .agency_image{
        max-width: none;
        margin: 0 auto 15px;
    }

    .agency_desc{
        width: 100%;
    }
    
    .agency_caption{
        font-size: 17px;
        margin-bottom: 6px;
        line-height: 1.45;
    }

    .public_work{
        margin-top: 0;
        border-top: none;
    }

    .public_work .item{
        padding: 23px 0;
    }
    
    .public_work .caption{
        font-size: 17px;
        line-height: 1.45;
        margin-bottom: 1px;
    }

    .public_support .caption{
        font-size: 17px;
        line-height: 1.45;
        margin-bottom: 6px;
    }

    #public3 .l-inner{
        padding-bottom: 0;
    }
    
    .promotion_box{
        flex-direction: column;
    }
    
    .promotion_image{
        max-width: none;
        margin: 0 auto 15px;
    }

    .promotion_desc{
        width: 100%;
    }
    
    .promotion_caption{
        font-size: 17px;
        margin-bottom: 6px;
        line-height: 1.45;
    }

}

/*---------------------------------------------------------
SatoshiAida
---------------------------------------------------------*/

.u-pageTop._aida {
    background-image: url(../images/aida/mv_bg.JPG);
}

.u-pageTop._aida::after{
    content: '';
    background-color: rgba(51, 51, 51, .5);
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0;
}

.aida_anchor .l-inner{
    max-width: 880px;
    padding: 12px 15px;
}

.aida_profile .l-inner{
    padding-top: 0;
    padding-bottom: 0;
    text-align: left;
}
.aida_profile .profile_name{
    text-align: center;
    font-size: 26px;
    margin-bottom: 20px;
}
.aida_profile .profile_text{
    font-size: 16px;
    text-align: center;
}
.aida_profile .profile_pic{
    width:100%;
    margin-bottom: 30px;
}
.aida_profile .profile_pic img{
    width: 100%;
}
.aida_profile .profile_desc{
    width:100%;
    margin-bottom: 30px;
}
.aida_profile .btn_container{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}
.aida_profile .profile_btn {
    border: #EEEEEE 1px solid;
    background-color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 11px;
    width: 248px;
    height: 60px;
    transition: all 0.3s ease;
}
.aida_profile .profile_btn + .profile_btn{
    margin-left: 40px;
}
.aida_profile .profile_btn:hover {
    box-shadow: #ccc 5px 5px 10px;
}
.aida_profile .profile_btn .btn_icon{
    width: 36px;
    margin-right: 10px;
    flex-shrink: 0;
}
.aida_profile .profile_btn .btn_icon img{
    width: 100%;
    display: block;
}
.aida_profile .profile_btn .btn_text{
    font-size: 18px;
}
.aida_profile .profile_data{
    width:100%;
}
.aida_profile .data_flex{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
.aida_profile .data_flex .profile_item{
    width: 48%;
}
.aida_profile .profile_cap{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.aida_profile .profile_list{
    padding: 0;
    margin: 0;
}
.aida_profile .profile_list .list_item{
    position: relative;
    display: flex;
}
.aida_profile .profile_list .list_item + .list_item{
    margin-top: 6px;
}
.aida_profile .profile_list .list_item::before{
    content: "・";
    display: inline-block;
    color: #222;
    font-size: 16px;
}
.aida_profile .profile_list .list_text.affiliation{
    font-weight: bold;
    text-decoration: underline;
}
.aida_profile .profile_list .list_link{
    color: #021EE1;
    text-decoration: underline;
}

.aida_prize{
    padding-bottom: 80px;
}

.aida_prize .l-inner {
    padding-top: 0;
    padding-bottom: 0;
    text-align: left;
}

.aida_prize .prizeCts {
    width: 100%;
    text-align: left;
}

.aida_prize .prizeCts td {
    padding-left: 5em;
}

.aida_prize .prizeCts th {
    width: 70px;
    vertical-align: top;
}

.aida_prize .prizeCts th,
.aida_prize .prizeCts td {
    padding-bottom: 1em;
}

.aida_topics{
    margin-bottom: 80px;
}
.aida_topics .topics_wrap{
    box-sizing: border-box;
    padding-bottom: 80px;
    background-color: #F2F2E7;
}
.aida_topics .l-inner{
    padding-top: 0;
    padding-bottom: 0;
    text-align: left;
}
.aida_topics .topics_item{
    box-sizing: border-box;
    padding-bottom: 40px;
    border-bottom: solid 1px #ccd1d2;
}
.aida_topics .topics_item + .topics_item{
    margin-top: 40px;
}
.aida_topics .topics_title{
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: bold;
    margin-bottom: 25px;
}
.aida_topics .topics_content{
    display: flex;
    justify-content: space-between;
}
.aida_topics .topics_desc{
    width: 66%;
}
.aida_topics .topics_test{
    font-size: 16px;
    line-height: 1.8;
}
.aida_topics .topics_pic{
    width: 32%;
}
.aida_topics .topics_pic img{
    width: 100%;
}

/* SP */
@media screen and (max-width:999px) {
    .aida_profile .profile_name{
        font-size: 20px;
    }
    .aida_profile .profile_text{
        font-size: 14px;
    }
    .aida_profile .btn_container {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .aida_profile .profile_btn + .profile_btn{
        margin-left: 0;
        margin-top: 20px;
    }
    .aida_profile .data_flex{
        flex-direction: column;
    }
    .aida_profile .data_flex .profile_item{
        width: 100%;
    }
    .aida_profile .data_flex .profile_item + .profile_item{
        margin-top: 30px;
    }
    .aida_profile .profile_cap{
        font-size: 16px;
    }
    .aida_profile .profile_list .list_text,
    .aida_profile .profile_list .list_link{
        font-size: 14px;
        margin-bottom: 10px;
    }
    .aida_profile .profile_list .list_item::before{
        font-size: 14px;
    }

    .aida_prize .prizeCts {
        font-size: 14px;
    }

    .aida_prize .prizeCts td {
        padding-left: 2em;
    }

    .aida_prize .prizeCts th {
        width: 60px;
    }

    .aida_topics .topics_title{
        font-size: 18px;
        margin-bottom: 10px;
    }
    .aida_topics .topics_item{
        padding-bottom: 30px;
    }
    .aida_topics .topics_item + .topics_item{
        margin-top: 30px;
    }
    .aida_topics .topics_content{
        flex-direction: column;
    }
    .aida_topics .topics_desc{
        width: 100%;
        margin-bottom: 20px;
    }
    .aida_topics .topics_test{
        font-size: 14px;
    }
    .aida_topics .topics_pic{
        width: 100%;
    }
}


.form202302{
    max-width: 600px;
    margin: 0 auto;
    padding: 5em 0;
    text-align: left;
}
.form202302__input{
    display: block;
}
.form202302 label,
.form202302 .group,
.form202302 .wpcf7-form-control-wrap{
    display: block;
    overflow: hidden;
}
.form202302__item:not(:last-child),
.form202302__group:not(:last-child){
    margin-bottom: 30px;
}
.form202302__group .form202302__item:not(:last-child){
    margin-bottom: 10px;
}
.form202302__title{
    float: left;
    display: block;
    width: 200px;
    margin-right: 20px;
}
.form202302__title2{
    display: block;
    margin-bottom: 5px;
}
.form202302__title3{
    display: block;
    margin-bottom: 15px;
}
.form202302__input{
    overflow: hidden;
}
.form202302 .required{
    color: #dc0000;
    font-size: 13px;
    font-weight: 400;
}
.form202302:not(#root) input[type="text"],
.form202302:not(#root) input[type="email"],
.form202302:not(#root) input[type="tel"],
.form202302:not(#root) select,
.form202302:not(#root) textarea{
    max-width: 100%;
    padding: .5em;
    border: #707070 1px solid;
    background: #fff;
    border-radius: 5px;
}


@media screen and (max-width:999px) {
.form202302{
    font-size: 14px;
    text-align: center;
}
.form202302__title{
    float: none;
    width: auto;
    margin-right: 0;
}
.wpcf7-radio{
    font-size: 11px;
}

.wpcf7-list-item{
    display:block;
}
.form202302 .spbold{
    font-weight: bold;
}
}


/* ==========================================
   ストマネ 全国対応地域・対応業種
========================================== */

.stomane-area {
    padding: 65px 20px !important;
    background: #f5f6ef;
    text-align: center;
}

.stomane-area-inner {
    max-width: 1050px;
    margin: 0 auto;
}

.stomane-area h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 30px;
    padding: 0;
}

.stomane-area-lead {
    font-size: 20px;
    font-weight: 700;
    color: #087a39;
    margin: 0 0 18px;
    line-height: 1.7;
}

.stomane-area-description {
    font-size: 15px;
    line-height: 2;
    margin: 0 auto 35px;
}

.stomane-area h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 20px;
}

.stomane-area-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 900px;
    margin: 0 auto;
}

.stomane-area-tags span {
    display: inline-block;
    background: #ffffff;
    color: #087a39;
    border: 1px solid #c8dfce;
    border-radius: 6px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
}

/* スマートフォン */
@media screen and (max-width: 767px) {

    .stomane-area {
        padding: 45px 20px !important;
    }

    .stomane-area h2 {
        font-size: 22px;
        margin-bottom: 25px;
    }

    .stomane-area-lead {
        font-size: 17px;
        line-height: 1.6;
    }

    .stomane-area-description {
        font-size: 14px;
        line-height: 1.9;
        margin-bottom: 30px;
        text-align: left;
    }

    .stomane-area h3 {
        font-size: 17px;
    }

    .stomane-area-tags {
        gap: 10px;
    }

    .stomane-area-tags span {
        width: calc(50% - 5px);
        box-sizing: border-box;
        padding: 12px 6px;
        font-size: 12px;
        text-align: center;
    }

    .stomane-area .pc-only {
        display: none;
    }
}