@charset "utf-8";
/*-------------------------------
	メインビジュアル
-------------------------------*/
.sec-slider{
    height:calc(80vh + 30px);
    width:100vw;
    position:relative;
}
.sec-slider > *{
    width:100%;
    position:absolute;
    top:0;
    left:0;

}
.slick-box{
    height:80vh;
}
.slick-dots li button::before {
    font-family: slick;
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 40px;
    height: 6px;
    content: "";
    text-align: center;
    opacity: 0.25;
    color: black;
    background:black;
    -webkit-font-smoothing: antialiased;
}
.slick-dots {
    bottom: -22px
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 6px;
    margin: 6px;
    padding: 0;
    cursor: pointer;
}
.banner__area {
    padding: 20px;
    padding-bottom: 20px;
    display: flex;
    justify-content: center;
    background-color: #71bf54;
}

.banner__item {
    margin: 0 20px;
    width: 315px;
    height: 135px;
    background-color: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*-------------------------------
	sec1
-------------------------------*/

.sec1 {
    position: relative;
}

.news__area {
    margin-bottom: 40px;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.news__area.--archive {
    margin-bottom: 40px;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.news__area .news__item {
    box-shadow: rgba(0, 0, 0, 0.07) 0px 4px 6px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 240px 48px 72px;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    background-color: #F8F8F8;
    position: relative;
}

.news__area.--archive .news__item {
    grid-template-rows: 200px 48px 72px;
}

.news__area.--archive {
    column-gap: 20px;
    row-gap: 60px;
}

.news__area:not(.--archive) .news__item:nth-child(n+4) {
    display: none;
}

.news__area .news__img-wrapper {
    grid-area: 1 / 1 / 2 / 3;
}

.news__area .news__item .news__cat {
    grid-area: 2 / 1 / 3 / 2;
}

.news__area .news__item .news__data {
    grid-area: 2 / 2 / 3 / 3;
}

.news__area .news__item .news__title {
    grid-area: 3 / 1 / 4 / 3;
}
.news__title{
    font-weight:700;
}
.news__cat a{
    font-weight:500!important;
}
.news__data{
    color:#777;
}

.news__item>a {
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    z-index: 1;
    top: 0;
    left: 0;
}

.news__img-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: .4s;
    object-fit: cover;
}

.news__img-wrapper img {
    width: 100%;
    height: 100%;
}

.news__item a:hover + .news__img-wrapper img{
    transform: scale(1.1);
    transition: .4s;
}

/*
.news__desc {
    padding: 8px;
    height: 120px;
    background-color: #F8F8F8;
}

.news__desc-upper {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 16px;
    display: flex;
    justify-content: space-between;
}
*/

.news__cat {
    align-self: center;
    justify-self: flex-start;
    position: relative;
}

.news__cat a {
    position: relative;
    z-index: 4;
}

.news__cat ul li {
    margin-left: 8px;
    padding: 4px 16px;
    display: inline-block;
    color: #fff;
    background-color: #ec9c3c;
    font-weight: bold;
    position: relative;
    z-index: 3;
    line-height:1em;
}
.news__cat ul li:nth-child(n+3){
    display:none;
}

.news__data {
    letter-spacing: 1.5px;
    display: flex;
    align-items: center;
    justify-self: flex-end;
    align-self: center;
    padding-right: 16px;
}

.news__title {
    padding: 8px 8px 0;
    display: block;
    width: 100%;
}

.news__subarea .news__item {
    position: relative;
    width: 100%;
    height: 66px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    display: grid;
    grid-template-columns: 138px 138px 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

.news__subarea .news__item>* {
    align-self: center;
}

.news__subarea .news__img-wrapper {
    display: none;
}

.news__subarea .news__item .news__cat {
    grid-area: 1 / 1 / 2 / 2;
    justify-self: flex-start;
}

.news__subarea .news__item .news__data {
    grid-area: 1 / 2 / 2 / 3;
}

.news__subarea .news__item .news__title {
    grid-area: 1 / 3 / 2 / 4;
    margin: 0!important;
    padding: 0!important;
}

.news__subarea .news__item:nth-of-type(-n+3), .news__subarea .news__item:nth-of-type(n+9) {
    display: none;
}

.news__subarea .news__item:nth-of-type(n+5) {
    border-top: none;
}

.news__subarea .news__cat {
    width: 150px;
    text-align: center;
}

.news__subarea .news__cat ul {
    padding: 0!important;
}

.news__subarea .news__cat ul li {
    margin: 0!important;
    width: 100%;
}

.news__subarea .news__data {
    margin-right: 16px;
}

/*-------------------------------
	sec-sns
-------------------------------*/

.sec-sns {
    background-image: url("../images/common/bg_sns.png");
    background-size: cover;
    background-repeat: no-repeat;
}

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

.sns__item {
    padding: 20px;
    width: 300px;
    text-align: center;
}

.sns__img-wrapper {
    height: 90px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-twitter {
    width: 62px;
}

.logo-facebook {
    width: 239px;
}

.logo-instagram {
    width: 196px;
}

.logo-youtube {
    width: 170px;
}

.sns-account {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
}

.preparation {
    color: #fff;
    font-size: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
}

/*-------------------------------
	sec-partners
-------------------------------*/

.partners__area {
    display: grid;
}

.partners__area-top {
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    align-items: center;
}

.partners__area p {
    border: 1px solid #333;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
}

.partners__area-top p {
    width: 500px;
    height: 100px;
    font-size: 24px;
}

.partners__area-middle {
    margin-top: 40px;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    justify-items: center;
    align-items: center;
}

.partners__area-middle p {
    width: 250px;
    height: 80px;
    font-size: 18px;
}

/*-------------------------------
	about
-------------------------------*/

#about .mainvisual {
    background-image: url("../images/about/mainvisual.jpg");
}

#about article {
    padding-bottom: 120px;
}

#about .vision {
    width: 900px;
    margin: 0 auto;
}

#about .vision .sec__msg {
    font-size: 28px;
    line-height: 2;
}

#about .about {
    width: 900px;
    margin: 0 auto;
}

#about .about p {
    line-height: 2;
}

#about .history {
    display: flex;
    justify-content: space-around;
}

#about .about__block {
    font-size: 28px;
    padding-bottom: 80px;
    white-space: nowrap
}

#about .about__block-title {
    font-size: 36px;
    font-weight: bold;
}

#about .about__block-info {
    padding-top: 40px;
    padding-left: 50px;
    text-decoration: underline;
    text-decoration-color: #71bf54;
}

#about .indent {
    display: inline-block;
    width: 100px;
    text-align: right;
}

/*-------------------------------
	blogs
-------------------------------*/

#blog .mainvisual {
    background-image: url("../images/blog/mainvisual.jpg");
}

#blog .container {
    display: flex;
    padding-top: 100px;
    padding-bottom: 130px;
}

#blog .cards--col2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-right: 55px;
}

#blog .cards__item {
    max-width: 385px;
    width: 100%;
    margin-bottom: 35px;
}

#blog .cards__item:nth-child(odd) {
    margin-right: 20px;
}

#blog .cards__item:nth-child(9), .cards__item:nth-child(10) {
    margin-bottom: 0;
}

#blog .card__outer {
    max-width: 385px;
    height: auto;
    overflow: hidden;
    padding: 4px;
    border: 1px solid #71bf54;
    box-sizing: border-box;
}

#blog .card__img-wrapper {
    height: 221px;
    overflow: hidden;
}

#blog .card__img {
    height: 100%;
    object-fit: cover;
}

#blog .card__img:hover {
    transform: scale(1.1, 1.1);
    transition: .75s;
}

#blog .card__info {
    padding-top: 14px;
    padding-bottom: 5px;
    line-height: 1;
}

#blog .card__date {
    font-size: 14px;
    color: #737373;
}

#blog .card__cat {
    font-size: 14px;
    line-height: 1;
    color: #737373;
    padding-top: 14px;
}

#blog .card__text {
    overflow: hidden;
    height: 60px;
}

#blog .pagenation, .wp-pagenavi {
    display: flex;
    justify-content: center;
    color: #71bf54;
    margin-right: 55px;
    width: fit-content;
    margin: 65px auto 0;
}

#blog .pagenation a, .wp-pagenavi a, .wp-pagenavi span {
    width: 39px;
    height: 39px;
    margin: 0 7.5px;
    line-height: 39px;
    text-align: center;
    font-size: 23px;
    font-family: UD Digi Kyokasho NP-R;
    text-decoration: none;
    border: 1px solid #71bf54;
    transition: .3s;
}

#blog .current, .wp-pagenavi .current {
    background: #71bf54;
    color: #fff;
}

.wp-pagenavi {
    text-align: center;
}

/*-------------------------------
	partners
-------------------------------*/

#partners .mainvisual {
    background-image: url("../images/partners/mainvisual.jpg");
}

#partners .sec1 {
    position: relative;
}

#partners .main-partner {
    padding-bottom: 40px;
    display: flex;
    justify-content: center;
    font-size: 40px;
    font-weight: bold;
}

#partners .main-partner dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    gap: 40px;
}

/* #partners .main-partner dd {
    font-size: 40px;
    font-weight: bold;
}
 */

#partners .second-partner {
    padding-top: 40px;
    padding-bottom: 40px;
    display: flex;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
}

#partners .second-partner dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    justify-items: center;
    gap: 40px;
}

/* 
#partners .second-partner dd {
    font-size: 24px;
    font-weight: bold;
} */

#partners .third-partner {
    padding-top: 40px;
    padding-bottom: 40px;
    display: flex;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
}

#partners .third-partner dl {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    justify-items: center;
}

/* #partners .third-partner dd {
    margin-bottom: 40px;
    font-size: 18px;
    font-weight: bold;
} */

#partners .order {
    padding-right: 40px;
    font-size: 20px;
    text-align: right;
}

/*-------------------------------
single
-------------------------------*/

#single .mainvisual {
    background-image: url("../images/single/mainvisual.jpg");
}

#single .container {
    display: flex;
    /*padding-top: 100px;*/
    padding-bottom: 130px;
    flex-direction: row;
    justify-content: space-between;
}

#single .contents {
    width: 840px;
}
#single .contents h1{
    font-weight:700;
}
#single .info {
    margin-bottom: 15px;
    display:flex;
    flex-direction: row;
}
#single .info .card__date{
    margin-right:20px;
}

#single .contents h1 {
    font-size: 25px;
    line-height: 1.5;
}

#single .contents .hr {
    margin-top: 20px;
    margin-bottom: 27.5px;
    height: 1px;
    background-color: #71bf54;
    border: none;
}

#single .contents p {
    letter-spacing: .1px;
}

#single .contents p:first-child {
    margin-top: 0;
}
#single .contents .contents__body{
    width:100%;
}

#single .contents .contents__body a{
    color:royalblue;
}
#single .contents .contents__body img {
    width: inherit;
    max-width:100%;
    height: auto;
}

#single .contents h2 {
    padding: 10px;
    margin-top: 25px;
    font-size: 23px;
    background-color: #EEF5FF;
    display: flex;
    align-items: center;
}

#single .contents h2:before {
    content: '';
    display: inline-block;
    margin-right: 7px;
    width: 25px;
    height: 25px;
    background-image: url(../images/common/logo.png);
    background-size: contain;
    vertical-align: middle;
}

#single .contents h3 {
    padding: 10px;
    margin-top: 13px;
    font-size: 18px;
    background-color: #EEF5FF;
    border-left: 7px solid #71bf54;
}

#single .contents .contents__body h4 {
    padding: 10px;
    margin-top: 13px;
    font-size: 16px;
    background-color: #EEF5FF;
}

#single .sns__link-area {
    margin-top: 40px;
    margin-bottom: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#single .sns__link-area img {
    width: 30px;
    margin: 8px;
}

#single .icon {
    margin: 0 7px 15px 7px;
}

#single .icon-twitter {
    width: 33px;
}

#single .icon-fb, .icon-line {
    width: 27.5px;
}

#single .pagenation {
    display: flex;
    justify-content: center;
    font-size: 18px;
}

#single .prev, #single .back, #single .next {
    margin: 0 50px;
}

#single .fa-angle-left {
    padding-right: 5px;
}

#single .fa-angle-right {
    padding-left: 5px;
}

#single .wp-block-image:not(.is-style-rounded) img {
    width: auto;
}

/*-------------------------------
		contact
-------------------------------*/

#contact .mainvisual {
    background-image: url("../images/contact/mainvisual.jpg");
}

#contact .contents * {

}

#contact .contents h2 {
    font-size: 25px;
    padding: 80px 0 100px;
    text-align: center;
}

#contact .contents p {
    font-size: 20px;
    text-align: center;
}

#contact table {
    width: fit-content;
    margin: 0 auto;
}

#contact table th {
    padding: 20px;
    vertical-align: middle;
    border:0px solid white;
    text-align:left;
}
#contact table td{
        border:0px solid white;   
}

#contact input[type="submit"] {
    margin-top: 100px;
    margin-bottom: 200px;
    line-height: unset;
    padding:1em;
}

#contact .btn {
    padding: 1em 2em;
    margin-top: 60px;
}
#contact input:not([type="submit"]),
#contact textarea{
    background:#eee;
    border-radius: 4px;
    padding:0.5em;
}


/*-------------------------------
		product
-------------------------------*/
.--back-green{
    background:#ece5d9;
    text-align: center;
}
.--color-green{
    color:#4da029;
}
.--color-yellow{
    color:#f3b408;
}
.comment{
    font-size:80%;
    color:#aaa;
}
#product .sec__cnt{
    align-items: flex-start;
}
#product .cnt__desc table tr:first-child{
    border-top:0px solid #999;
}
.circle{
    width:200px;
    height:200px;
    position:relative;
    left:-40px;
}
.circle p{
    width:fit-content;
    height:fit-content;
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
    margin:auto;
    text-align: center;
}
.circle.--grn{
    background: rgb(174,224,154);
    background: radial-gradient(circle, rgba(174,224,154,0.8029586834733894) 22%, rgba(174,224,154,0.18671218487394958) 59%, rgba(255,255,255,0) 66%);
        color:#4da029;
}
.circle.--yel{
    background: rgb(246,220,147);
    background: radial-gradient(circle, rgba(246,220,147,0.8029586834733894) 22%, rgba(246,220,147,0.18671218487394958) 59%, rgba(255,255,255,0) 66%);
        color:#f3b408;
}

#product a:not(.btn){
    color:#0066cb;
    padding:0.5em 0;
}
.red{
    font-size:180%;
    color:black;
}
table.smalltable{
    width:auto;
    font-size:14px!important;
}
table.smalltable th{
    text-align:left;
    vertical-align: middle;
    padding-right:4em;
}
table.smalltable .caption{
    position:absolute;
}
.cnt__desc .row{
    justify-content: space-between;
    align-items:center;
}

#flow,
#case-study{
    position:relative;
    width:100%;
    height:fit-content;
    padding-bottom:200px;
}
#flow i{
    color:#4da029;
}
#flow::after,
#case-study::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: skewY(-7deg);
    transform-origin: bottom left;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #aee09a;
}

.flow_grid{
    width:947px;
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      column-gap:73px;
      row-gap:40px;
      font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      color:#4da029; 
    }
    .flow_grid ul{
        list-style-type:disc;
        margin-left:1em;
        padding:1em;
    }
    @media screen and (max-width : 947px ){
    .flow_grid{
    width:80vw;
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr 1fr;
      column-gap:73px;
      row-gap:126px;
    }
    }
    @media screen and (max-width : 420px ){
    .flow_grid{
    width:80vw;
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr;
      column-gap:0;
      row-gap:40px;
    }
    }
    
    .flow_component_grid{
        width:100%;
        height:fit-content;
      display: grid;
    grid-template-columns: 30px 1fr;
    grid-template-rows: 70px 40px 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 10px;
      position:relative;
    }
    .flow_component_grid .icon{
      grid-area: 1 / 1 / 2 / 3; 
        align-self: center;
      justify-self: center;
    }
    .flow_component_grid .numbar{
        grid-area: 2 / 1 / 3 / 2;
        font-size:30px;
        align-self: center;
      justify-self: center;
    }
    .flow_component_grid .title{
          grid-area: 2 / 2 / 3 / 3;
      font-size:17px;
      font-weight:bold;
          align-self: center;
        padding-left:1em;
    }
    .flow_component_grid .caption{
          grid-area: 3 / 1 / 4 / 3;
          font-size:14px;
      line-height:22px;
      color:#4da029;
    }
    .flow_component_grid .icon i{
        font-size:60px;
    }
    /*.flow_component_grid::after{
        content:"";
          position:absolute;
          top:0;
          bottom:0;
          margin:auto;
          left:250px;
          width:80px;
          height:80px;
          border-top:1px solid #71bf54;
          border-right:1px solid #71bf54;
          transform:rotate(45deg);
      display:block;
    }
    */
    .flow_component_grid:nth-child(6)::after{
        display:none;
    }
    @media screen and (max-width : 947px ){
        .flow_component_grid::after{
        display:none;
        }
          
    }
    #checklist{
        background:transparent;
    }
    .checklist{
        padding:50px;
        width:80%;
        margin:30px auto;
        /*border:3px solid #ddd;*/
        border-radius: 20px;
        background:white;
    }

    .checklist i{
        color:#4da029;
    }
    .checklist ul{
        width:100%;
        display:grid;
        grid-template-columns: 1fr 1fr;
        column-gap:50px;
        row-gap:20px;
    }
    .checklist .column{
        width:100%;
        display:inline-block;
    }
    .checklist .column img{
        width:100%;
        height:150px;
        object-fit: cover;
    }
    .checklist small{
        line-height:1.2em;
        color:#bbb;
    }
#faq{
    background:#fff;
}
    .faq_wrap section{
        width:1000px;
        margin:0 auto;
        padding:20px 20px 20px 40px;
        border-bottom:2px solid var(--color-accent);
}
.faq_wrap h2{
        color:black;
        display:block;
        border-bottom:2px solid var(--color-accent);
        width:1000px;
        margin: 40px auto 0;
        padding:1em 0 0;
        text-align:left;
        width:1000px;
        text-align:left;
        font-size:140%;

}
.faq_wrap .q{
        font: normal 500 18px/30px var(--font-normal);    color: var(--color-black);
          padding:0;
         padding-bottom:20px;
          position:relative;
}
.faq_wrap .a{
        font: normal 600 18px/30px var(--font-normal);    color: var(--color-black);
                    padding:0;
          padding-bottom:10px;
          position:relative;
}

.faq_wrap .q::before{
	content:"Q";
  	position:absolute;
  top:0;
  left:-2em;
}
.faq_wrap .a::before{
	content:"A";
  	position:absolute;
  top:0;
  left:-2em;
}
#case-study .sec__cnt{
    margin-bottom:150px;
    padding:100px 50px 50px;
    display:block;
    background:#fff;
    border-radius: 0;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 3px 3px 6px 0px #9Dd08A;
}
#case-study .sec__cnt>.row{
    width: 100%;
    display: grid;
    grid-template-columns: 60% 1fr;
    column-gap:50px;
}
#case-study .checklist{
    width:100%;
    padding: 0;
    margin-top:0;
}
#case-study .checklist ul{
    column-gap:20px;
}
#case-study .cnt__ttl{
    display:block;
    margin-bottom:2em!important;
}
#case-study .sec__cnt{
    position:relative;
}
#case-study .illustration{
    position:absolute;
    right:80px;
    top:80px;
    height:300px;
    width:auto;
}

@media screen and (max-width: 768px) {
    /*-------------------------------
	sec1//sp
-------------------------------*/
    .sec1 {
        position: relative;
    }
    .news__area {
        margin-bottom: 10vw;
        max-width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
    .news__area.--archive {
        margin-bottom: 10vw;
        max-width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 5vw;
    }
    .news__area .news__item {
        box-shadow: none;
        width: 100%;
        display: grid;
        grid-template-columns: 25% 1fr;
        grid-template-rows: 60px 20px 20px;
        grid-column-gap: 8px;
        grid-row-gap: 0px;
        background-color: white;
        position: relative;
        border-bottom: 1px solid black;
        padding: 16px 0;
    }
    .news__area .news__item:first-child {
        border-top: 1px solid black;
    }
    .news__area.--archive .news__item {
        grid-template-rows: 60px 20px 20px;
    }
    .news__area.--archive {
        column-gap: 8px;
        row-gap: 0px;
    }
    .news__area:not(.--archive) .news__item:nth-child(n+4) {
        display: none;
    }
    .news__area .news__img-wrapper {
        grid-area: 1 / 1 / 4 / 2;
    }
    .news__area .news__item .news__cat {
        grid-area: 3 / 2 / 4 / 3;
    }
    .news__area .news__item .news__data {
        grid-area: 2 / 2 / 3 / 3;
    }
    .news__area .news__item .news__title {
        grid-area: 1 / 2 / 2 / 3;
    }
    .news__item>a {
        width: 100%;
        height: 100%;
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
    }
    .news__img-wrapper {
        width: 100%;
        height: 100%;
        overflow: hidden;
        transition: .4s;
        object-fit: cover;
    }
    .news__img-wrapper img {
        width: 100%;
        height: 100%;
    }
    .news__img-wrapper img:hover {
        transform: none;
        transition: none;
    }
    /*
    .news__desc {
        padding: 8px;
        height: 120px;
        background-color: #F8F8F8;
    }
    
    .news__desc-upper {
        padding-top: 12px;
        padding-bottom: 12px;
        padding-right: 16px;
        display: flex;
        justify-content: space-between;
    }
    */
    .news__cat {
        align-self: center;
        justify-self: flex-end;
        position: relative;
        font-size: 9px;
    }
    .news__cat a {
        position: relative;
        z-index: 4;
    }
    .news__cat ul li {
        margin-left: 8px;
        padding: 4px 16px;
        display: inline-block;
        color: #fff;
        background-color: #888;
        font-weight: bold;
        position: relative;
        z-index: 3;
    }
    .news__data {
        letter-spacing: 1.5px;
        display: flex;
        align-items: center;
        justify-self: flex-end;
        align-self: center;
        padding-right: 0;
        font-size: 10px;
    }
    .news__title {
        padding: 0;
        display: block;
        width: 100%;
        font-weight: bold;
        font-size: 12px;
    }
    .news__subarea .news__item {
        position: relative;
        width: 100%;
        height: fit-content;
        padding-top: 8px;
        padding-bottom: 8px;
        border-top: 1px solid #707070;
        border-bottom: 1px solid #707070;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 20px 16px 24px;
        grid-column-gap: 0px;
        grid-row-gap: 0px;
    }
    .news__subarea .news__item>* {
        align-self: center;
    }
    .news__subarea .news__img-wrapper {
        display: none;
    }
    .news__subarea .news__item .news__cat {
        grid-area: 3 / 1 / 4 / 2;
        justify-self: flex-end;
    }
    .news__subarea .news__item .news__data {
        grid-area: 2 / 1 / 3 / 2;
    }
    .news__subarea .news__item .news__title {
        grid-area: 1 / 1 / 2 / 2;
        margin: 0!important;
        padding: 0!important;
        align-self:flex-start;
    }
    .news__subarea .news__item:nth-of-type(-n+3), .news__subarea .news__item:nth-of-type(n+9) {
        display: none;
    }
    .news__subarea .news__item:nth-of-type(n+5) {
        border-top: none;
    }
    .news__subarea .news__cat {
        width: fit-content!important;
        text-align: center;
    }
    .news__subarea .news__cat ul {
        padding: 0!important;
        display:flex;
        flex-direction:row;
    }
    .news__subarea .news__cat ul li {
        margin: 0 0 0 4px!important;
        width: fit-content;
    }
    .news__subarea .news__data {
        margin-right: 0;
    }
    /*-------------------------------
	sec2//sp
-------------------------------*/
    .sec2 {
        background-image: url("../images/common/bg_nav.png");
        background-size: cover;
        background-repeat: no-repeat;
    }
    .menu {
        display: grid;
        justify-content: center;
        grid-template-columns: 1fr;
        gap: 10vw;
    }
    .menu__item img {
        box-shadow: 5px 5px 5px rgba(0, 0, 0, .5);
    }
    /*-------------------------------
	sec-sns
-------------------------------*/
    .sec-sns {
        background-image: url("../images/common/bg_sns.png");
        background-size: cover;
        background-repeat: no-repeat;
    }
    .sns__area {
        flex-direction: column;
    }
    .sns__item {
        padding: 20px;
        width: 300px;
        text-align: center;
    }
    .sns__img-wrapper {
        height: 90px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .logo-twitter {
        width: 62px;
    }
    .logo-facebook {
        width: 239px;
    }
    .logo-instagram {
        width: 196px;
    }
    .logo-youtube {
        width: 170px;
    }
    .sns-account {
        font-size: 24px;
        color: #fff;
        font-weight: bold;
    }
    .preparation {
        font-size: 4vw;
        padding-top: 0;
        padding-bottom: 0;
    }
    /*-------------------------------
	sec-partners//sp
-------------------------------*/
    .partners__area {
        display: flex;
        flex-direction: column;
    }
    .partners__area-top {
        grid-template-columns: none;
        justify-items: center;
        align-items: center;
    }
    .partners__area p {
        border: 1px solid #333;
        color: #333;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .partners__area-top p {
        width: 100%;
        height: auto;
        font-size: 6vw;
    }
    .partners__area-middle {
        margin-top: 40px;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        justify-items: center;
        align-items: center;
    }
    .partners__area-middle p {
        width: 250px;
        height: 80px;
        font-size: 18px;
    }
    /*-------------------------------
	about//sp
-------------------------------*/
    #about .mainvisual {
        background-image: url("../images/about/mainvisual.jpg");
    }
    #about article {
        padding-bottom: 10vw;
    }
    #about .vision {
        width: 100%;
        margin: 0 auto;
    }
    #about .vision .sec__msg {
        font-size: 6vw;
        line-height: 2;
    }
    #about .about {
        width: 100%;
        margin: 0 auto;
    }
    #about .about p {
        line-height: 2;
        white-space: normal;
        font-size: 5vw;
    }
    #about .history {
        display: flex;
        justify-content: space-around;
    }
    #about .about__block {
        width: 100%;
        display: flex;
        flex-direction: column;
        font-size: 6vw;
        padding-bottom: 10vw;
        white-space: nowrap;
    }
    #about .about__block-title {
        font-size: 36px;
        font-weight: bold;
    }
    #about .about__block-info {
        padding-top: 5w;
        padding-left: 0;
        text-decoration: underline;
        text-decoration-color: #71bf54;
    }
    #about .indent {
        display: inline-block;
        width: auto;
        text-align: right;
    }
    /*-------------------------------
	blogs//sp
-------------------------------*/
    #blog .mainvisual {
        background-image: url("../images/blog/mainvisual.jpg");
    }
    #blog .container {
        display: flex;
        padding-top: 100px;
        padding-bottom: 130px;
    }
    #blog .cards--col2 {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-right: 55px;
    }
    #blog .cards__item {
        max-width: 385px;
        width: 100%;
        margin-bottom: 35px;
    }
    #blog .cards__item:nth-child(odd) {
        margin-right: 20px;
    }
    #blog .cards__item:nth-child(9), .cards__item:nth-child(10) {
        margin-bottom: 0;
    }
    #blog .card__outer {
        max-width: 385px;
        height: auto;
        overflow: hidden;
        padding: 4px;
        border: 1px solid #71bf54;
        box-sizing: border-box;
    }
    #blog .card__img-wrapper {
        height: 221px;
        overflow: hidden;
    }
    #blog .card__img {
        height: 100%;
        object-fit: cover;
    }
    #blog .card__img:hover {
        transform: scale(1.1, 1.1);
        transition: .75s;
    }
    #blog .card__info {
        padding-top: 14px;
        padding-bottom: 5px;
        line-height: 1;
    }
    #blog .card__date {
        font-size: 14px;
        color: #737373;
    }
    #blog .card__cat {
        font-size: 14px;
        line-height: 1;
        color: #737373;
        padding-top: 14px;
    }
    #blog .card__text {
        overflow: hidden;
        height: 60px;
    }
    #blog .pagenation {
        margin-top: 65px;
        display: flex;
        justify-content: center;
        color: #71bf54;
        margin-right: 55px;
    }
    #blog .pagenation a {
        width: 39px;
        height: 39px;
        margin: 0 7.5px;
        line-height: 39px;
        text-align: center;
        font-size: 23px;
        font-family: UD Digi Kyokasho NP-R;
        text-decoration: none;
        border: 1px solid #71bf54;
        transition: .3s;
    }
    #blog .current {
        background: #71bf54;
        color: #fff;
    }
    /*-------------------------------
	partners//sp
-------------------------------*/
    #partners .mainvisual {
        background-image: url("../images/partners/mainvisual.jpg");
    }
    #partners .sec1 {
        position: relative;
    }
    #partners .main-partner {
        padding-bottom: 40px;
        display: flex;
        justify-content: center;
    }
    #partners .main-partner dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-items: center;
        gap: 40px;
    }
    #partners .main-partner dd {
        font-size: 40px;
        font-weight: bold;
    }
    #partners .second-partner {
        padding-top: 40px;
        padding-bottom: 40px;
        display: flex;
        justify-content: center;
    }
    #partners .second-partner dl {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: center;
        justify-items: center;
        gap: 40px;
    }
    #partners .second-partner dd {
        font-size: 24px;
        font-weight: bold;
    }
    #partners .third-partner {
        padding-top: 40px;
        padding-bottom: 40px;
        display: flex;
        justify-content: center;
    }
    #partners .third-partner dl {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
        justify-items: center;
    }
    #partners .third-partner dd {
        margin-bottom: 40px;
        font-size: 18px;
        font-weight: bold;
    }
    #partners .order {
        padding-right: 40px;
        font-size: 20px;
        text-align: right;
    }
    /*-------------------------------
single//sp
-------------------------------*/
    #single .mainvisual {
        background-image: url("../images/single/mainvisual.jpg");
    }
    #single .container {
        display: flex;
        flex-direction: column;
        padding-top: 0;
        padding-bottom: 130px;
    }
    #single .contents {
        width: 100%;
    }
    #single .info {
        margin-bottom: 15px;
    }
    #single .contents h1 {
        font-size: 25px;
        line-height: 1.5;
    }
    #single .contents .hr {
        margin-top: 20px;
        margin-bottom: 27.5px;
        height: 1px;
        background-color: #71bf54;
        border: none;
    }
    #single .contents p {
        margin-top: 32.6px;
        letter-spacing: .1px;
    }
    #single .contents p:first-child {
        margin-top: 0;
    }
    #single .contents h2 {
        padding: 10px;
        margin-top: 25px;
        font-size: 23px;
        background-color: #EEF5FF;
        display: flex;
        align-items: center;
    }
    #single .contents h2:before {
        content: '';
        display: inline-block;
        margin-right: 7px;
        width: 25px;
        height: 25px;
        background-image: url(../images/common/logo.png);
        background-size: contain;
        vertical-align: middle;
    }
    #single .contents h3 {
        padding: 10px;
        margin-top: 13px;
        font-size: 18px;
        background-color: #EEF5FF;
        border-left: 7px solid #71bf54;
    }
    #single .contents h4 {
        padding: 0;
        margin-top: 0;
        font-size: 16px;
        background-color: white;
    }
    #single .sns__link-area {
        margin-top: 40px;
        margin-bottom: 20px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    #single .sns__link-area img {
        width: 30px;
        margin: 8px;
    }
    #single .icon {
        margin: 0 7px 15px 7px;
    }
    #single .icon-twitter {
        width: 33px;
    }
    #single .icon-fb, .icon-line {
        width: 27.5px;
    }
    #single .pagenation {
        display:grid;
        width:100%;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 40px 100px;
        font-size: 18px;
    }
    #single .prev { grid-area: 1 / 1 / 2 / 2; justify-self: flex-start;}
    #single .next { grid-area: 1 / 2 / 2 / 3; justify-self: flex-end;}
    #single .back { grid-area: 2 / 1 / 3 / 3; align-self:center}
    #single .prev, #single .back, #single .next {
        margin: 0;
    }
    #single .back a{
        display:block;
        background:#71bf54;
        border-radius:30px;
        width:200px;
        height:50px;
        line-height:50px;
        text-align:center;
        margin:0 auto;
        color:white;
        position:relative;
    }
    #single .back a::after{
        content: "\f053";
        position: absolute;
        top: 0;
        bottom:0;
        left:10px;
        margin:auto;
        font-family:"Font Awesome 5 Free";
        color: white;
    }
    #single .fa-angle-left {
        padding-right: 5px;
    }
    #single .fa-angle-right {
        padding-left: 5px;
    }


    /*-------------------------------
		contact//sp
    -------------------------------*/

    #contact .mainvisual {
        background-image: url("../images/contact/mainvisual.jpg");
    }

    #contact .contents * {

    }

    #contact .contents h2 {
        font-size: 25px;
        padding: 80px 0 100px;
        text-align: center;
    }

    #contact .contents p {
        font-size: 20px;
        text-align: center;
    }

    #contact table {
        width: 100%!important;
        margin: 0 auto;
        table-layout: fixed;
    }
    #contact table tr {
        width: 100%;
        display: flex;
        flex-direction: column;
      }
    #contact table th {
        padding: 5px;
        vertical-align: middle;
        width:100%;
        text-align: left;
    }

    #contact table td{
        width:100%!important;
        padding-bottom:40px;
    }
    #contact table th,
    #contact table td{
        border:0px solid #999!important;
    }

    #contact input[type="submit"] {
        margin-top: 100px;
        margin-bottom: 200px;
        line-height: unset;
        padding:1em;
    }

    #contact .btn {
        padding: 1em 2em;
        margin-top: 60px;
    }
    #contact input:not([type="submit"]),
    #contact textarea{
        max-width:100%;
        background:#efefef;
        border-radius:4px;
    }


    /*-------------------------------
		product //sp
    -------------------------------*/
    .circle {
        width: 35vw;
        height: 35vw;
        position: relative;
        left: 0;
    }
    .sec3 .sec__cnt {
        margin-bottom:0;
    }
    table.smalltable {
        width:100%;
    }
    table.smalltable tr{
        width:90%;
        display:flex;
        flex-direction: column;
    }
    table.smalltable th{
        width:100%;
    }
    table.smalltable td{
        width:100%;
        padding:0 0 10px 0;
    }
    #case-study .sec__cnt>.row {
        grid-template-columns: 1fr;
    }
    #case-study .sec__cnt {
        margin-bottom: 60px;
    }
    .sec__cnt.--casestudy img{
        object-fit: cover!important;
    }
    .checklist .column img {
        height: 20vw;
    }
    .cnt__desc .row {
        flex-direction: column;
    }
    #checklist .checklist {
        padding: 30px 16px;
    }
    #checklist .checklist ul{
        grid-template-columns: 1fr;
    }
    #checklist .checklist .column img {
        height: 30vw;
    }
    .faq_wrap section {
        width: 100%;
    }
    .faq_wrap h2 {
        width:100%;
    }
}