@charset "utf-8";


html {
    font-family: "Zen Kaku Gothic New",
    sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #000;
    letter-spacing: 0.1em;
}

/*===================================
  基本設定
===================================*/
.color01 {
    color: #1caaf9;
}

.color02 {
    color: #ffa968;
}

.color03 {
    color: #f5ce4f;
}

.color04 {
    color: #a3d86b;
}

.color05 {
    color: #70cbe4;
}

.color06 {
    color: #fff206;
}

.color07 {
    color: #ff3c14;
}

.color08 {
    color: #78ca78;
}

.bgcolor01 {
    background-color: #1caaf9;
}

.bgcolor02 {
    background-color: #ffa968;
}

.bgcolor03 {
    background-color: #f5ce4f;
}

.bgcolor04 {
    background-color: #a3d86b;
}

.bgcolor05 {
    background-color: #70cbe4;
}

.bgcolor06 {
    background-color: #fff;
}

.bgcolor07 {
    background-color: #fcf8f7;
}

.bgcolor08 {
    background-color: #ecf8ff;
}

/* 
.bgcolor09 {
  background-color: #fcf8f7;
} */

/* 共通コンテンツ間隔 */
.area {
    margin-top: 100px;
    margin-bottom: 100px;
}

@media (max-width: 599px) {
    .area {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
    margin: 30px 0;
    background-color: white;
}

.breadcrumbs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.breadcrumbs-list li {
    display: inline;
    font-size: 14px;
    letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
    font-weight: bold;
    color: #1caaf9;
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    margin: 0 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.breadcrumbs-list li .name {
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .breadcrumbs {
        padding: 20px 0;
        font-size: 14px;
    }

    .breadcrumbs-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .breadcrumbs li {
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 8px;
        height: 8px;
        margin: 0 5px 1px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs {
        padding: 15px 0;
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 6px;
        height: 6px;
    }
}

/* ##### パンくずリスト breadcrumbs ここまで ##### */

/* fead関係 */

.fead-mv.mv,
.fead-up.mv,
.fead-left.mv,
.fead-right.mv {
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

[data-element-id] .fead-blur {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}

.fead-blur {
    opacity: 0;
    -webkit-filter: blur(5px);
    filter: blur(5px);
}

.fead-blur.mv {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transition: opacity 1s, -webkit-filter 3s;
    transition: opacity 1s, -webkit-filter 3s;
    transition: opacity 1s, filter 3s;
    transition: opacity 1s, filter 3s, -webkit-filter 3s;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

[data-element-id] .fead-text {
    opacity: 1;
}

.fead-text {
    overflow: hidden;
    opacity: 0;
}

.fead-text.mv {
    opacity: 1;
}

.fead-text .str {
    display: inline-block;
    opacity: 1;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

.fead-text .str.mv {
    -webkit-transition: 0.7s;
    transition: 0.7s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

.hover-zoom {
    overflow: hidden;
}

.hover-zoom img {
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.hover-zoom:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

/* parallel */
.parallel .concen-opa {
    opacity: 0.7;
}

.content-list.-alternate li .parallel-cont {
    margin-right: 5%;
}

.content-list.-alternate li:nth-of-type(even) .parallel {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.content-list.-alternate li:nth-of-type(even) .parallel .parallel-cont {
    margin-left: 5%;
    margin-right: 0;
}

.parallel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.parallel:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.parallel-rowr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.parallel-rowr:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.parallel-img img {
    border-radius: 20px;
    z-index: 2;
}

.parallel-area .parallel {
    margin-top: 100px;
}

.parallel-area .parallel {
    margin-top: 100px;
}

.parallel-area .parallel .icon {
    margin-bottom: 5px;
    font-size: 20px;
    border-bottom: 1px solid #a3d86b;
}

.parallel-area .parallel .icon::before {
    content: "\f058";
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 100%;
    color: #a3d86b;
}

@media (max-width: 599px) {
    .parallel {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

/* ##### 余白 ##### */
.space-v80>.space+.space {
    margin-top: 80px;
}

@media (max-width: 599px) {
    .space-v50\@sp>.space+.space {
        margin-top: 50px;
    }
}

/* ##### フロート float ##### */
.up-fl-left {
    float: left;
}

.up-fl-right {
    float: right;
}

.up-fl-none {
    float: none;
}

.up-flc-left {
    clear: left;
}

.up-flc-rigjt {
    clear: right;
}

.up-flc-both {
    clear: both;
}

.float-box {
    display: block;
}

.float-box::before,
.float-box:after {
    content: "";
    display: block;
    clear: both;
}

.float-box-img {
    float: right;
}

.float-box-title {
    float: left;
}

.float-box-content {
    float: left;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) .noinner {
    margin-left: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(odd) [class*=btn] {
    margin-right: 0;
}

.float-box-wrap.-noinner .float-box:nth-child(even) .noinner {
    margin-right: auto;
}

.float-box-wrap.-noinner .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-img {
    float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-title {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(odd) .float-box-content {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-img {
    float: left;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-title {
    float: right;
}

.float-box-wrap.-rowr .float-box:nth-of-type(even) .float-box-content {
    float: right;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) .noinner {
    margin-left: 0;
    margin-right: auto;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(odd) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) .noinner {
    margin-left: auto;
    margin-right: 0;
}

.float-box-wrap.-rowr.-noinner .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-img {
    float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-title {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(odd) .float-box-content {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-img {
    float: left;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-title {
    float: right;
}

.float-box-wrap.-alternate .float-box:nth-of-type(even) .float-box-content {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-img {
    float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-title {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(odd) .float-box-content {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-img {
    float: right;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-title {
    float: left;
}

.float-box-wrap.-alternate.-rowr .float-box:nth-of-type(even) .float-box-content {
    float: left;
}

@media (max-width: 1024px) {
    .up-fl-left\@tb {
        float: left;
    }

    .up-fl-right\@tb {
        float: right;
    }

    .up-fl-none\@tb {
        float: none;
    }

    .up-flc-left\@tb {
        clear: left;
    }

    .up-flc-rigjt\@tb {
        clear: right;
    }

    .up-flc-both\@tb {
        clear: both;
    }
}

@media (max-width: 599px) {
    .up-fl-left\@sp {
        float: left;
    }

    .up-fl-right\@sp {
        float: right;
    }

    .up-fl-none\@sp {
        float: none;
    }

    .up-flc-left\@sp {
        clear: left;
    }

    .up-flc-rigjt\@sp {
        clear: right;
    }

    .up-flc-both\@sp {
        clear: both;
    }
}

/* show hide */

.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 4px green !important;
    position: relative;
}

[data-element-id] .show\@tb:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: green;
}

[data-element-id] .show\@sp {
    display: inherit;
    border: solid 4px green;
    position: relative;
}

[data-element-id] .show\@sp:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: green;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* 共通要素読み込みコメント（取り込み後削除） */
[class*="load-"] {
    min-height: 50px;
    border: 3px solid #00bcd4;
    position: relative;
}

[class*="load-"]:before {
    content: "共通要素";
    display: block;
    font-weight: bold;
    color: #ff0;
    text-align: center;
    background: #00bcd4;
    position: absolute;
    z-index: 100;
}

/*===================================
  共通ブロック　block-cmn
==================================*/
/* 共通ブロック１ */
/*===================================
  共通タイトル　ttl-cmn
===================================*/
/* 共通タイトル１ */
.ttl-cmn01 {
    font-size: 28px;
    text-align: center;
}

@media (max-width: 599px) {
    .ttl-cmn01 {
        font-size: 24px;
    }
}

/*===================================
  共通リスト　list-cmn
==================================*/
/* 共通リスト１ */
/*===================================
  共通ボタン btn-cmn
===================================*/
/* 共通ボタン１ */
.btn-cmn01 {
    max-width: 180px;
    margin-top: 50px;
}

.btn-cmn01 a {
    display: block;
    padding: 5px 20px;
    color: #fff;
    text-align: center;
    background: #000;
    position: relative;
}

.btn-cmn01 a:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 5px;
}

.btn-cmn01.btn-back a:after {
    content: "\f053";
    left: 5px;
    right: inherit;
}

/*===================================
  他共通エレメント -cmn
===================================*/
/*===================================
  共通要素
===================================*/
/*h1ページタイトル */

.insta-icon, .line-icon {
    margin-left: 10px;
    line-height: 1;
}


@media (max-width: 1024px) {
    .pagettl {
        width: 100%;
    }

    .pagettl br {
        display: none;
    }
}

@media (max-width: 599px) {
    .pagettl{
      font-size: 12px;
    }
}

/**
ヘッダーheader
*/
.header.fixed {
    width: 100%;
    background: #fff;
    /* padding: 10px 0 0; */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.header .contents {
    -webkit-box-align: center;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.header .contents + * {
    align-items: center;
}

.header .logo img {
    max-height: 50px;
}

.header .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    position: relative;
    z-index: 101;
}

.header .right .txt {
    margin-right: 10px;
    line-height: 120%;
}

.header .right .txtin {
    display: block;
}

.header .right .tel a {
    font-weight: bold;
}

.header .right .tel a:before {
    align-self: center;
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 20px;
}

.header .right .tel-free a:before {
  display: block;
  content: "";
  width: 35px;
  background: url(/import/tenant_1/202.181.103.7/html/images/common/free-dial.png) no-repeat #fff;
  background-size: 101%;
  aspect-ratio: 57/37;
}

.header .right .tel-sp a:before {
    content: "\f3cd";
}

.header .right .tel-icon:before {
    content: "\f3cd";
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}

.header .right .btn>* {
    width: 250px;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 15px 20px;
    color: #fff;
    border-radius: 0 0 10px 10px;
    background: #1caaf9;
}


.header .right .tel-sp a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.header .right .mail>* {
    background: #1caaf9;
}

.header .right .mail>*::before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 free";
    font-weight: bold;
}

.header .right .tel-list>* {
    background: #ffa966;
}

.header .right .item01 {
    font-size: 16px;
    text-align: center;
    position: relative;
}

.header .right .item01>a {
    display: block;
    padding: 5px;
    cursor: pointer;
}

[data-element-id].header .right .item01.-parent {
    width: 100%;
    display: block;
    position: relative;
}

.header .right .item01.-parent:hover .list02 {
    visibility: visible;
    opacity: 1;
}

.header .right .list02 {
    width: 250px;
    visibility: hidden;
    padding: 10px;
    border-radius: 10px;
    background: #ffa966;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: calc(100% + 5px);
    left: 50%;
}

[data-element-id].header .right .list02 {
    width: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: static;
}

.header .right .item02 a {
    display: flex;
    justify-content: center;
    padding: 5px;
}



@media (max-width: 1024px) {
    .header {
        padding: 5px 0;
    }

    .header .logo img {
        max-height: 60px;
    }

    .header .right {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
        padding: 10px 0;
        background: #fff;
        position: fixed;
        bottom: 0;
        left: 0;
    }

    .header .right .btn>* {
        width: 300px;
        padding: 15px 20px;
        border-radius: 5px;
    }

    .header .right .mail>*::before {
        font-size: 20px;
    }

    .header .right .tel-sp .tel a {
        font-weight: 500;
        font-size: 35px;
        letter-spacing: 0.1em;
    }
    
    .header .right .tel-sp .tel a::before{
      color: #ffa966;
    }

    .header .right .tel a:before {
        font-size: 30px;
    }
}

@media (max-width: 599px) {
    .header .right .btn>* {
        width: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 5px 20px;
        font-size: 10px;
        border-radius: 5px;
    }

    .header .right .mail>*::before {
        margin-right: 0px;
        font-size: 20px;
    }

    .header .right .tel-sp .tel a {
        font-weight: 500;
        font-size: 20px;
        letter-spacing: 0.1em;
    }

    .header .right .tel a:before {
        font-size: 20px;
    }
}

/* 下部固定コンテンツ */
.fix-bottom {
    display: none;
}



/* 2025/09/24 */

.header .right .pattern-b .btn{
  position: relative;
  overflow: hidden;
}

.right .pattern-b .btn::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}
@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}
@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}


@media (max-width: 1024px) {
    .fix-bottom {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 250;
    }

    .fix-bottom .item {
        width: 50%;
        text-align: center;
    }

    .fix-bottom a {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 10px 5px;
    }

    .fix-bottom .tel {
        font-size: 14px;
        color: #fff;
        background: #000;
    }

    .fix-bottom .tel a:before {
        content: "\f879";
        margin-right: 5px;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
    }

    .fix-bottom .contact {
        color: #000;
        background: #eee;
    }

    .fix-bottom .contact a:before {
        content: "\f0e0";
        margin-right: 5px;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
    }
}

/**
グローバルナビ
gnav
*/
.gnav {
    padding: 10px 0;
    padding-left: 20px;
    flex-shrink: 0;
    position: relative;
    z-index: 100;
}

[data-element-id].gnav {
    width: 100% !important;
}

.gnav.fixed {
    /* position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 0 5px 0 #999;
  cursor: pointer; */
}

.gnav .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.gnav .navlogo {
    display: none;
}

.gnav .navlogo img {
    max-height: 40px;
}

.gnav .list01 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-left: 2px dashed #ccc;
}

.gnav .item01 {
    font-size: 16px;
    border-right: 2px dashed #ccc;
    padding: 0 20px;
    text-align: center;
}

.gnav .item01>a,
.gnav .item01 .itemin {
    display: block;
    padding: 5px;
    font-size: 17px;
    cursor: pointer;
    position: relative;
}

.gnav .item01 .itemin::before,
.gnav .item01 a::before {
    font-family: "font awesome 5 free";
    font-weight: bold;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: -15px;
    left: 50%;
}

.gnav .item01.icon01 .itemin::before {
    content: "\f1ad";
    color: #1caaf9;
}

.gnav .item01.icon02 .itemin::before {
    content: "\f043";
    color: #70cbe4;
}

.gnav .item01.icon03 .itemin::before {
    content: "\f0b1";
    color: #a3d86b;
}

.gnav .item01.icon04 a::before {
    content: "\f015";
    color: #ffa968;
}

.gnav .item01.icon05 a::before {
    content: "\f0a1";
    color: #f5ce4f;
}



.gnav .item01>a::after,
.gnav .item01 .itemin::after {
    content: "\f078";
    font-family: "font awesome 5 free";
    font-weight: bold;
    color: #70cbe4;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 25px;
    left: 50%;
}

.gnav .item01.-parent {
    position: relative;
}

.gnav .item01.-parent:hover .list02 {
    visibility: visible;
    opacity: 1;
}

.gnav .list02 {
    width: 200px;
    visibility: hidden;
    padding-top: 20px;
    border-radius: 0 0 10px 10px;
    background: rgb(255 255 255) content-box;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 100%;
    left: 50%;
}

[data-element-id].gnav .list02 {
    width: 150px;
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: static;
}

.gnav .item02 a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin: 10px auto;
}

.gnav .item02 a:hover {
    border-bottom: 2px solid #70cbe4;
}

[data-element-id].gnav .navlogo{
  display: block;
  margin-bottom: 30px;
  width: 300px;
  border: solid 4px green;
  position: relative;
}

[data-element-id].gnav .navlogo::after{
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: green;
}

@media (max-width: 1024px) {
    .gnav {
        width: 100%;
        max-width: 300px;
        height: 100%;
        padding: 0;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background: rgba(255, 255, 255, 0.9);
        transition: transform ease 0.5s, -webkit-transform ease 0.5s;
        transform: translate3d(100%, 0, 0);
        position: fixed;
        top: 0;
        right: 0;
    }

    .gnav.action {
        transform: translate3d(0%, 0, 0);
        z-index: 250;
    }

    .gnav .wrap {
        padding-bottom: 100px;
    }

    .gnav .navlogo {
        width: 90%;
        display: block;
        margin: 60px auto 20px;
        font-weight: bold;
        font-size: 20px;
    }

    .gnav .item01 {
        width: 100%;
        padding: 0;
        margin: 0 0 10px 0;
        text-align: left;
        border: none;
    }

    .gnav .list01 {
        width: 100%;
        display: block;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding: 20px;
        border: none;
    }

    .gnav .list02 {
        visibility: visible;
        padding-top: 0;
        padding-left: 20px;
        background: none;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: relative;
        top: 0;
        left: 0;
    }


    .gnav .list02 a {
        margin: 10px 0;
        padding: 2px 0 2px 20px;
        position: relative;
    }

    .gnav .item02:before {
        content: "ー";
        width: 5px;
        display: block;
        color: #1db4ef;
        position: absolute;
        /* top: 1%; */
        left: 15px;
    }

    .gnav .item01 .itemin::before,
    .gnav .item01 a::before {
        content: none !important;
    }

    .gnav .item01>a::after,
    .gnav .item01 .itemin::after {
        content: none !important;
    }
    [data-element-id].gnav .list01 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
}

[data-element-id] .gnav.fixed {
    position: relative;
}

/* wave */
/* 波 */
.canvas-container canvas {
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1);
}

.canvas-wave {
    position: relative;
    z-index: 10;
}

.canvas-container {
    width: 100%;
    height: 80px;
    position: absolute;
    top: -1px;
    left: 0;
}

[data-element-id] .canvas-container {
    display: none;
}


@media (max-width: 599px) {
    .canvas-container{
      top: -3px;
    }
}


/* ハンバーガーメニュー  */
.toggle {
    width: 42px;
    height: 42px;
    display: none;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    position: fixed !important;
    top: 12px;
    right: 10px;
    z-index: 251;
}

.toggle.active {
    background: #f8f8f8;
}

.toggle .bar {
    width: 28px;
    height: 2px;
    display: block;
    margin-top: -1px;
    padding: 0;
    text-indent: 9999px;
    background: #8dd5e9;
    -webkit-transition: ease 0.4s;
    transition: ease 0.4s;
    position: absolute;
    top: 50%;
    left: 7px;
}

.toggle .bar:before,
.toggle .bar:after {
    content: "";
    width: 28px;
    height: 2px;
    display: block;
    background: #8dd5e9;
    position: absolute;
    left: 0;
}

.toggle .bar:before {
    top: -10px;
}

.toggle .bar:after {
    top: 10px;
}

.toggle.active .bar {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.toggle.active .bar:after,
.toggle.active .bar:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;
    left: 0;
}

@media (max-width: 1024px) {
    .toggle {
        display: block !important;
    }
}

.overlay:after {
    content: "";
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: 0.3;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

/*トップへ戻る*/
.totop {
    width: 40px;
    height: 40px;
    font-size: 20px;
    color: #fff;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: #fea968;
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 200;
}

.totop:before {
    content: "\f077";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
}

@media (max-width: 1024px) {
    .totop {
        bottom: 20px;
        right: 10px;
    }
}

@media (max-width: 599px) {
    .totop {
        bottom: 85px;
    }
}

/**
フッター
footer
*/
#footer {
    overflow: hidden;
    background: #35a9e6;
    background-size: cover;
    position: relative;
}

#footer .copy {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
}

#footer .foot-bg {
    width: 100%;
    height: 100%;
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

@media (max-width: 1024px) {
    .footer .copy {
        padding-bottom: 50px;
    }
}

/**
フッターナビ
fnav
*/
.fnav {
    position: relative;
    /* padding: 120px 0 50px; */
    z-index: 2;
}

.fnav .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.fnav .item {
    margin-bottom: 10px;
    padding-right: 10px;
}

.fnav .item a {
    display: block;
    padding-left: 12px;
    position: relative;
}

.fnav .datawrap {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.fnav .datattl {
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 18px;
    position: relative;
}

.fnav .data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
    padding-right: 10px;
    font-weight: 400;
}

.fnav .data a {
    padding-left: 5px;
    position: relative;
}

.fnav .data a:before {
    content: "";
    content: "ー";
    padding-right: 5px;
}

@media (max-width: 1024px) {
    .fnav .wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .fnav .list01 {
        margin-bottom: 10px;
    }
}

@media (max-width: 599px) {
    .fnav .datawrap {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

    .fnav {
        padding: 40px 0 30px;
    }
}

/**
2カラムページ
*/
.column2 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.column2 .side {
    width: 200px;
}

.column2 .mainwrap {
    width: calc(100% - 250px);
}

@media (max-width: 1024px) {
    .column2 .inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .column2 .side {
        width: 100%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-bottom: 50px;
    }

    .column2 .mainwrap {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-bottom: 50px;
    }
}

/* サイドメニュー */
.side .list {
    margin-bottom: 30px;
}

@media (max-width: 1024px) {
    .side {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .side .list {
        width: 48%;
    }
}

@media (max-width: 599px) {
    .side .list {
        width: 100%;
    }
}

.list-side .datattl {
    margin-bottom: 20px;
    padding: 10px;
    font-size: 20px;
    color: #1caaf9;
    letter-spacing: 2px;
    text-align: center;
    border-radius: 5px;
    background: #d9f1fe;
    position: relative;
}

.list-side .data {
    margin-bottom: 10px;
    padding-left: 10px;
}

.list-side a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    line-height: 1;
}

.list-side a:before {
    content: "\f111";
    margin-right: 5px;
    font-family: "Font Awesome 5 free";
    font-weight: bold;
    font-size: 60%;
    color: #ffa968;
    line-height: 1;
    left: 0;
}

.list-side.type-archive .datawrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

[data-element-id].list-side.type-archive .datawrap {
    display: block;
}

.list-side.type-archive .datawrap .datattl {
    width: 100%;
}

.list-side.type-archive .datawrap .data {
    width: 48%;
}

@media (max-width: 1024px) {
}

/*===================================
  各個別コンテンツ
===================================*/
/**
トップ
*/
/*ホームビジュアル（トップ）*/
.homevisual {
    overflow: hidden;
    background: #e8f6ff;
    position: relative;
}

.homevisual .mv-bg {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.homevisual .left {
    margin-right: -7%;
    position: relative;
    z-index: 2;
}


.homevisual .right {
    z-index: 1;
}

.homevisual .img:before {
    content: "";
    display: block;
    padding-top: 40%;
    position: relative;
    z-index: -1;
}

.homevisual .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    /*IE対策*/
    font-family: "object-fit: cover; object-position: 50% 50%;";
    position: absolute;
    top: 0;
    left: 0;
}

.homevisual .right .blue {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

.homevisual .right .blue-text {
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 55%;
    left: 50%;
}

.homevisual .left .yel {
    font-weight: 900;
    letter-spacing: -2px;
    text-align: center;
    text-shadow: 1px 3px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, 0 -2px 0 #fff, -1px 0 0 #fff, 2px 0 0 #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
}

.homevisual .left .item01 {
    top: 53%;
    left: 50%;
}

.homevisual .left .item02 {
    top: 43%;
    left: 50%;
}


/*IE対策*/
.homevisual .head {
    font-weight: bold;
    font-size: 40px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute !important;
    top: 50%;
    left: 50%;
}

@media (max-width: 1024px) {
    .homevisual .right .blue {
        top: -15%;
        right: -10%;
    }

    .homevisual .left {
        margin-right: -10%;
    }
}

@media (max-width: 599px) {
    .homevisual .head {
        font-size: 28px;
    }

    .homevisual .left {
        margin-right: 0%;
    }

    .homevisual .left .item01 {
        top: 55%;
        left: 50%;
    }

    .homevisual .right .blue {
        top: 0%;
        right: -5%;
    }
}

/* A-BiSUスライダー用 */
.mainimg {
    overflow: hidden;
    position: relative;
}

.mainimg img {
    width: 100%;
}

.mainimg .uk-slidenav-position {
    min-height: 300px;
    overflow: hidden;
    position: relative;
}

.mainimg .uk-slidenav-position:after {
    content: "";
    display: block;
    padding-top: 50%;
}

.mainimg .uk-slideshow {
    height: 100% !important;
    position: absolute;
    top: 0;
}

.mainimg .uk-slideshow li {
    height: 100% !important;
}

.mainimg .uk-slideshow .uk-flex {
    height: 100%;
}

.mainimg .uk-slideshow img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    /*IE対策*/
    font-family: "object-fit: cover; object-position: 50% 50%;";
}

/*IE対策*/
/* スリックスライダー（トップ） */
.slick01 {
    padding: 0 20px;
}

.slick01.slick-dotted {
    margin-bottom: 50px;
}

.slick01 .btn-slick {
    font-size: 30px;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}

.slick01 .btn-slick.btn-back {
    left: 0;
}

.slick01 .btn-slick.btn-next {
    right: 0;
}

.slick01 .slick-dots {
    bottom: -40px;
    left: 0;
}

@media (max-width: 599px) {
    .slick01 {
        padding: 0 10px;
    }

    .slick01 .btn-slick {
        font-size: 20px;
    }
}

/* index (news/blog)*/
.news-blog .headline .ja {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 31px;
}

.news-blog .headline .en {
    margin-left: 25px;
    padding-bottom: 5px;
    font-weight: 300;
    font-size: 31px;
}

.news-blog .headline .btn {
    width: 20px;
    margin: 20px 10px;
    position: relative;
}

.news-blog .headline .btn .line01 {
    height: 2px;
    background-color: #fff;
}

.news-blog .headline .btn .line02 {
    width: 10px;
    height: 2px;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    position: absolute;
    top: 0;
    right: 1px;
}


.news-blog .news .headline {
    border-bottom: 2px solid #1caaf9;
}

.news-blog .blog .headline {
    border-bottom: 2px solid #ffa968;
}

.news-blog .content li {
    margin-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #333;
}

.news-blog .content li .date {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 10px;
    padding: 0 0.8em 3px;
    border-radius: 20px;
}

.news-blog .news-list li .date {
    color: #1caaf9;
    border: 1px solid #1caaf9;
}

.news-blog .blog-list li .date {
    color: #ffa968;
    border: 1px solid #ffa968;
}

@media (max-width: 1024px) {
    .news-blog .headline .en {
        margin-left: 0px;
    }

    .news-blog .headline .btn {
        width: 15px;
        margin: 15px 10px;
        position: relative;
    }

    .news-blog .headline .ja {
        display: block;
    }
}

@media (max-width: 599px) {
    .news-blog .headline .en {
        font-size: 22px;
    }

    .news-blog .headline .ja {
        font-size: 26px;
    }
}

/* index (service)*/

.service .photo-box ul li .box01 {
    position: relative;
    z-index: 1;
}

.service .photo-box .service-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.service .photo-box .service-pic {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.service .photo-box .tit {
    width: 170px;
    height: 170px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    letter-spacing: 1.5px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    border-radius: 100%;
    z-index: 2;
}

.service .photo-box li:nth-of-type(3n+1) .tit {
    background-color: rgb(112 203 228 / 60%);
}

.service .photo-box li:nth-of-type(3n+2) .tit {
    background-color: rgb(163 216 107 / 60%);
}

.service .photo-box li:nth-of-type(3n+3) .tit {
    background-color: rgb(245 206 79 / 60%);
}

.service .photo-box .txt {
    width: 101%;
    padding: 20px;
    background: rgba(255, 255, 255, 80%);
    z-index: 3;
}

.service .photo-box .btn-box {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: relative;
    z-index: 5;
}

.service .photo-box .dtl {
    width: 120px;
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    border-radius: 100%;
}

.btn-icon {
    font-size: 37px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 82%;
    left: 62%;
    z-index: 3;
}

.btn-icon i {
    border: 3px solid #fff;
    border-radius: 100%;
}

@media (max-width: 1024px) {
    .service .photo-box .txt {
        padding: 10px 10px;
    }

    .service .photo-box .tit {
        width: 130px;
        height: 130px;
        font-size: 20px;
        top: 21%;
    }

    .service .photo-box .dtl {
        width: 100px;
        height: 100px;
    }
}

@media (max-width: 599px) {
    .service .photo-box .txt {
        padding: 20px 10px;
    }

    .service .photo-box .tit {
        width: 150px;
        height: 150px;
        top: 23%;
    }

    .service .photo-box .dtl {
        width: 120px;
        height: 120px;
    }
}

/* index (works)*/
.works .bgi {
    background-image: url("/import/tenant_1/202.181.103.7/html/images/common/home-bg.png");
    background-size: cover;
    background-position-x: center;
}

/* index (campany-recruit)*/

.campany-recruit .box01 {
    -webkit-filter: drop-shadow(15px 15px 0px #ffed90);
    filter: drop-shadow(15px 15px 0px #ffed90);
}

.campany-recruit .box02 {
    -webkit-filter: drop-shadow(15px 15px 0px #89d57b);
    filter: drop-shadow(15px 15px 0px #89d57b);
}

.campany-recruit .btn-h {
    height: 30px;
}

.campany-recruit .btn {
    width: 25px;
    margin: 40px 10px;
    position: relative;
}

.campany-recruit .btn .line01 {
    height: 2px;
    background-color: #1caaf9;
}

.campany-recruit .btn .line02 {
    width: 10px;
    height: 2px;
    background-color: #1caaf9;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    position: absolute;
    top: 0;
    right: 1px;
}

.campany-recruit .cam-rec .tit {
    padding: 0 10px;
    border-radius: 0 20px 0 0;
    position: absolute;
    bottom: -65px;
    left: 0%;
}

.banner .rtt .img {
    -webkit-clip-path: polygon(10% 0, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(10% 0, 100% 0%, 100% 100%, 0% 100%);
}

.banner .rtt .tit::after {
    content: "\f35d";
    margin-left: 10px;
    font-family: "font awesome 5 free";
    font-weight: bold;
}

.banner .rtt i {
    width: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 120%;
    color: #fea968;
    border-radius: 100%;
    background: rgb(255 255 255 / 75%);
    position: absolute;
    top: -5%;
    left: -1%;
}

@media (max-width: 1024px) {
    .banner .rtt i {
        width: 80px;
        height: 80px;
        font-size: 100%;
        top: -5%;
        left: -1%;
    }
}

@media (max-width: 599px) {
    .banner .rtt .img {
        height: 240px;

        -webkit-clip-path: polygon(0% 40%, 180% 0%, 100% 100%, 0% 100%);
        clip-path: polygon(0% 40%, 180% 0%, 100% 100%, 0% 100%);
    }

    .banner .rtt i {
        width: 70px;
        height: 70px;
        font-size: 120%;
        top: -2%;
    }

    .campany-recruit .cam-rec .tit {
        bottom: -35px;
    }

    .campany-recruit .box01 {
        -webkit-filter: drop-shadow(15px 15px 0px #ffed90);
        filter: drop-shadow(5px 10px 0px #ffed90);
    }

    .campany-recruit .box02 {
        -webkit-filter: drop-shadow(15px 15px 0px #89d57b);
        filter: drop-shadow(5px 10px 0px #89d57b);
    }
}

/* Contact */

.contact .btn {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 30px 20px;
    color: #fff;
    border-radius: 10px;
    background: #1caaf9;
    position: relative;
}

.contact .btn::before {
    content: "\f0e0";
    margin-right: 5px;
    font-family: "font awesome 5 free";
    font-weight: bold;
}

.contact .btn::after {
    content: "\f054";
    margin-right: 5px;
    font-family: "font awesome 5 free";
    font-weight: 600;
    font-size: 80%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.contact .sp-txt {
    -webkit-clip-path: polygon(0% 0%, 93% 0%, 100% 50%, 93% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 93% 0%, 100% 50%, 93% 100%, 0% 100%);
}

.contact .sp-txt .txt::before {
    content: "\f3cd";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-right: 10px;
    font-family: "font awesome 5 free";
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}

@media (max-width: 1024px) {
    .contact .sp-txt {
        -webkit-clip-path: none;
        clip-path: none;
    }
}

/* slider */
.slider-wrap {
    /* width: 600px;
  margin: 0 auto; */
    position: relative;
}

.works-list .item>* {
    display: block;
    position: relative;
}

.works-list .item .date {
    margin: 5px 0 10px;
    color: #1db4ef;
}

.works-list .item .type {
    font-size: 24px;
    color: #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    width: 80%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

.works-list .item .fil {
    -webkit-filter: brightness(0.6);
    filter: brightness(0.6);
}

.works-list .item .cate {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.works-list .item .cate>* {
    display: inline-block;
    margin: 0 5px 5px 0;
    padding: 5px 10px;
    font-size: 14px;
    color: #fff;
    border-radius: 0 0 10px 0;
    background: #fea968;
}

.works-list .item .cate>.塗装工事 {
    background: #f5ce4f;
}

.works-list .item .cate>.防水工事 {
    background: #a3d86b;
}

.works-list .item .cate>.雨漏り修繕 {
    background: #70cbe4;
}

[data-element-id].scroll .works-list>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: scroll;
}

[data-element-id].scroll .works-list>* li {
    width: 300px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.works-list .slick-arrow {
    width: 60px;
    height: 60px;
    font-size: 0;
    outline: none;
    border: none;
    border-radius: 50%;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    cursor: pointer;
    position: absolute;
    top: 180px;
    z-index: 1;
}

.works-list .slick-arrow::before {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    border: 1px solid #09000d;
    border-width: 3px 3px 0 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 24px;
}

.works .slick_count {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.slick-next,
.slick-prev {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    position: inherit !important;
}

.slick-next {
    padding: 10px 15px 15px 10px;
}

.slick-prev {
    padding: 10px 10px 10px 15px;
}

.slick-prev::before {
    content: "";
    width: 40px;
    height: 8px;
    border-bottom: 1px solid black;
    border-left: 1px solid black;
}

.slick-next::before {
    content: "";
    width: 25px;
    height: 9px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    -webkit-transform: skew(25deg, 0);
    transform: skew(25deg, 0);
}

.slick-prev::before {
    -webkit-transform: skew(-25deg, 0deg);
    transform: skew(-25deg, 0deg);
}

.works-list .slick-prev::before {
    border-width: 0 0 3px 3px;
    right: 22px;
}

.slick-arrow:focus {
    background-color: white;
}

.slick-arrow:hover {
    background: white;
    opacity: 0.5;
}

.works .slick_count {
    width: 9em;
    font-weight: bolder;
    font-size: 26px;
    text-align: center;
}


@media (max-width: 599px) {
   .works-list .item .type {
    font-size: 22px;
    width: 90%;
  }
}

/**
下層共通
*/
/* トップビジュアル（下層共通） */
.topvisual {
    height: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    position: relative;
}

.right .tv-shadow {
    -webkit-filter: drop-shadow(20px 20px 0px #fdf2a2) !important;
    filter: drop-shadow(20px 20px 0px #fdf2a2) !important;
}

.right .tv-shadow .home-clip {
    -webkit-clip-path: polygon(50% 1%, 0% 40%, 10% 40%, 10% 100%, 90% 100%, 90% 40%, 100% 40%);
    clip-path: polygon(50% 2%, 100% 33%, 92% 33%, 92% 83%, 8% 83%, 8% 33%, 0 33%);
}

.right .tv-shadow .home-clip .uk-slideshow {
    height: 100% !important;
}

.right .tv-shadow .home-clip .uk-slideshow:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.right .tv-shadow .home-clip .uk-slideshow>li {
    height: 100% !important;
}

.right .tv-shadow .home-clip .uk-slideshow>li>div {
    height: 100% !important;
}

.right .tv-shadow .home-clip img,
.right .tv-shadow .home-clip video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1/1;
}

.topvisual .tv-bg {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.topvisual .tv-tit {
    font-size: 40px;
    color: #1caaf9;
    letter-spacing: 3px;
    text-shadow: 3px 3px 0px #fff;
    z-index: 1;
}

@media (max-width: 1024px) {
    .topvisual .tv-tit {
        font-size: 36px;
    }
}

@media (max-width: 599px) {
    .topvisual .head {
        /* font-size: 24px; */
    }
    
    .topvisual .tv-tit {
        font-size: 32px;
    }
}

/* パンくずリスト */
.breadcrumb {
    margin-top: 10px;
}

.breadcrumb .item {
    display: inline-block;
}

.breadcrumb .item:not(:last-of-type):after {
    content: "\f054";
    display: inline-block;
    margin-left: 10px;
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}

.breadcrumb .home {
    color: #000;
}

.breadcrumb .now {
    color: #000;
}

/* ページネーション */
.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pagenation .item {
    margin: 0 10px;
}

.pagenation .prev {
    margin-right: 20px;
    position: relative;
}

.pagenation .prev a:before {
    content: "\f053";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}

.pagenation .next {
    margin-left: 20px;
    position: relative;
}

.pagenation .next a:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}

.pagenation a,
.pagenation .now {
    font-weight: bold;
}

.pagenation .number a,
.pagenation .now {
    width: 30px;
    height: 30px;
    display: block;
    font-size: 20px;
    color: #000;
    line-height: 28px;
    text-align: center;
    border-radius: 50%;
}

.pagenation .number a:hover,
.pagenation .now {
    color: #1caaf9;
    background: #d9f1fe;
    opacity: 1;
}

@media (max-width: 599px) {
    .pagenation .item {
        margin: 0 5px;
    }

    .pagenation .prev {
        margin-right: 10px;
    }

    .pagenation .next {
        margin-left: 10px;
    }
}

/**
各下層ページ
*/
/* 会社案内 */
.campany-overview table {
    width: 100%;
}

.campany-overview table tr:nth-of-type(2n+1) {
    background: #d9f1fe;
}

.campany-overview table th {
    width: 18%;
    padding-left: 30px;
    font-weight: 700;
    text-align: left;
    position: relative;
}

.campany-overview table th:after {
    content: "";
    width: 30px;
    height: 2px;
    display: block;
    background-color: #333;
    position: absolute;
    top: calc(50% - 1px);
    right: -15px;
}

.campany-overview table td {
    width: 85%;
    padding: 20px 0 20px 30px;
    text-align: left;
}

@media (max-width: 599px) {
    .campany-overview table td {
        padding: 20px 10px 20px 20px;
    }

    .campany-overview table th {
        width: 30%;
        padding-left: 10px;
    }

    .campany-overview table th:after {
        width: 20px;
        right: -5px;
    }

    .map {
        height: 400px;
    }
}

/* 工事の流れ */
.flow .parallel-wrap .parallel {
    margin-bottom: 60px;
}

.flow .parallel-wrap .parallel:last-child {
    margin-bottom: 0px;
}



@media (max-width: 599px) {
    .flow .parallel-wrap .parallel .img {
        margin-bottom: 20px;
    }

    .flow .parallel-wrap .parallel {
        margin-bottom: 30px;
    }

    .parallel-area .parallel {
        margin-top: 50px;
    }
}

/* 価格の目安 */
.fees .table {
    width: 100%;
    border-collapse: collapse;
}

.fees .table tr td {
    padding: 15px 10px;
    border: solid 1px #cbcbcb;
    text-align: center;
}

.fees .table tr td.left {
    text-align: left;
}

.fees .table01 tr td:first-child {
    width: 30%;
    text-align: center;
}

.fees .table02 th,
.fees .table02 td {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    border: solid 1px #ccc;
}

.fees .table02 th {
    font-size: 18px;
    color: #fff;
    background: #a3d86b;
}

.fees .aspect01 tr td:nth-child(2n+1) {
    width: 24%;
    /* text-align: center; */
}

.fees .aspect01 tr td:nth-child(2n) {
    width: 14%;
    text-align: center;
}

.fees .aspect01 tr td:nth-child(5n){
  min-width: 250px;
}

.fees .aspect02 tr td {
    width: 25%;
}

.fees .remarks {
    width: 250px;
    flex-shrink: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.fees .remarks00 {
    width: 33%;
    flex-shrink: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.fees .remarks00 .tit+*{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70%;
  padding: 15px 10px;
}

.fees .remarks2 {
    width: 250px !important;
}

.fees .remarks .tit {
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
    color: #fff;
    text-align: center;
    border-bottom: 1px solid #ccc;
}

.fees .remarks .tit.pc-only{
  display: block;
  height: 58px;
}

.fees .remarks .txt {
    padding: 10px 9px;
    text-align: center;
}

.add-box{
  width: 100%;
    border: solid 1px #cbcbcb;
    margin-top: 30px;
}

.add-box dt {
    background: #ffa968;
    color: #fff;
    text-align: center;
    padding: 15px 5px;
    border-bottom: solid 1px #cbcbcb;
    font-weight: 400;
    font-size: 18px;
}

.add-box dd{
    padding: 20px;
}

@media screen and (max-width: 1024px) {
    .fees .table tr td {
        padding: 15px 5px;
    }
}

@media screen and (max-width: 599px) {
    .table02 .head {
        display: none;
    }

    .table02 {
        width: 100%;
    }
    
    .fees .remarks .tit.pc-only{
      display: none;
    }
    .fees .remarks .txt{
      font-size: 14px;
    }
    
    .fees .remarks00 .tit+*{
      height: auto;
      background: #f5ce4f;
      color: #fff;
    }

    .fees .table tr td {
        border: solid 1px #cbcbcb;
        font-size: 14px;
    }

    .fees .table02 td {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-bottom: none;
        /* text-align-last: left; */
    }

    .fees .table02 td:first-child {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-weight: bold;
        color: #fff;
        text-align: center;
        background: #a3d86b;
    }
    
    .fees .table04 td:first-child{
      justify-content: space-between;
      color: #000;
      background: none !important;
    }

    .fees table.table02 td:before {
        content: attr(data-label);
        display: block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        font-weight: bold;
        font-size: 0.7rem;
        color: #999;
    }

    .fees .table02 tr:last-child {
        border-bottom: solid 1px #ccc;
    }

    .fees .table03 td:first-child {
        background: #f5ce4f !important;
    }

    .fees .aspect01 tr td:nth-child(2n+1) {
        width: 100%;
        -webkit-column-gap: 5px;
        -moz-column-gap: 5px;
        column-gap: 5px;
    }

    .fees .aspect01 tr td:nth-child(2n) {
        width: 100%;
        -webkit-column-gap: 5px;
        -moz-column-gap: 5px;
        column-gap: 5px;
    }

    .fees .aspect02 tr td {
        width: 100%;
        -webkit-column-gap: 5px;
        -moz-column-gap: 5px;
        column-gap: 5px;
    }

    .fees .remarks {
        width: 100%;
        margin: 30px 0 50px;
        border: 1px solid #ccc;
    }
    
    .fees .remarks00{
        margin: 30px 0 0;
    }

    .fees .remarks2 {
        width: 250px !important;
    }

    .fees .remarks .tit {
        font-size: 16px;
        background: #ffa96d !important;
    }
    
    .add-box dt {
    font-size: 14px;
    font-weight: 700;
    }
    .add-box dd {
      font-size: 14px;
    }
}
/* スタッフ */

.staff ul li {
    -webkit-filter: drop-shadow(5px 5px 3px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(5px 5px 3px rgba(0, 0, 0, 0.2));
}

.staff ul li .js-contc{
  font-size: 12px;
}

.staff ul li .name {
    width: 200px;
    max-width: 90%;
    padding: 5px 5px;
    font-size: 18px;
    color: #fff;
    text-align: center;
    border-radius: 0 10px 0 0;
    position: absolute;
    bottom: 0px;
    left: 0;
    line-height: 1.3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.staff ul li:nth-of-type(4n+1) .name {
    background: #70cbe4;
}

.staff ul li:nth-of-type(4n+2) .name {
    background: #fea968;
}

.staff ul li:nth-of-type(4n+3) .name {
    background: #f5ce4f;
}

.staff ul li:nth-of-type(4n+4) .name {
    background: #a3d86b;
}

.staff ul li .message {
    text-align: left;
}

.partner-area .content .item{
  position: relative;
    border-radius: 5px;
    overflow: hidden;
    padding: 20px;
    background: #333;
    height: 100%;
}

.partner-area .content .item .box {
    z-index: 2;
    position: relative;
    color: #fff;
}

.partner-area .content .item .box .cmp {
  font-size: 22px;
  text-align: center;
}

.partner-area .content .item .box .name {
  font-size: 20px;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid;
    margin-bottom: 15px;
}

.partner-area .content .item .bgi {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.partner-area .content .item .bgi img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(max-width:599px){
      .partner-area .content .item {
        border-radius: 5px;
        padding: 10px;
    }
    
    .partner-area .content .item .box .cmp {
        font-size: 18px;
    }
    
    .partner-area .content .item .box .name {
        font-size: 18px;
        padding-bottom: 5px;
        margin-bottom: 10px;
    }
}

/* 雨漏り修繕 */

.cause ul.contents li.item>* {
    height: 100%;
    padding: 20px;
    border-radius: 10px;
    background: #d9f1fe;
}

.cause ul.contents li .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    color: #1caaf9;
}

.cause ul.contents li .title-big {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    font-size: 24px;
    color: #1caaf9;
}

.cause ul.contents li .title .nam {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 120%;
    line-height: 1;
}

.cause ul.contents li .title .tit {
    margin-left: 5px;
}

.cause ul.contents li .txt>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.cause ul.contents li .txt.li>*::before {
    content: "・";
}

.phenomenon .contents li .box {
    height: 100%;
    padding: 15px;
    border-radius: 10px;
    background: #fcf8f7;
}

.phenomenon .contents li .box .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: center;
    align-self: center;
    margin-top: 30px;
}

.phenomenon .contents li .box .nam {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    border-radius: 50%;
    background: #a3d86b;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: -20px;
    left: 50%;
}

.phenomenon .contents li .box .tit {
    padding: 10px 20px;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    border-radius: 0 0 30px;
    background: #a3d86b;
    position: absolute;
    top: 0px;
    left: 0;
}

[data-element-id].phenomenon .contents li .box .tit {
    z-index: 50;
}

.phenomenon .contents li .box .sub-tit::before{
    content: "◆";
}

.phenomenon .contents li .box .dtl .item{
  display: flex;
  font-size: 14px;
}
.phenomenon .contents li .box .dtl .item::before{
  content: "・";
}

.phenomenon .contents li .box .sub-tit{
    font-weight: bold;
    padding-left: 1em;
    text-indent: -1em;
    color: #ffa968;
}

.phenomenon .contents li .box .tit-q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
    font-size: 16px;
}

.phenomenon .contents li .box .dtl {
    margin-top: 20px;
}

.phenomenon .contents li .box .dtl-a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.phenomenon .contents li .box .dtl-a::before {
    content: "A.";
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 5px;
    font-weight: bold;
    font-size: 120%;
    color: #ffa968;
    line-height: 1.2;
}

.phenomenon .contents li .box .tit-q::before {
    content: "Q.";
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 5px;
    font-weight: bold;
    font-size: 120%;
    color: #fff;
    line-height: 1.3;
}

.phenomenon .contents .col1-area{
  width: 100%;
}

.phenomenon .contents .col1-area .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.phenomenon .contents .col1-area .box .img{
  width: 48%;
}

.phenomenon .contents .col1-area .box .text{
  width: 48%;
}

.phenomenon .contents .col1-area .box .text .dtl{
  margin: 0;
}

@media (max-width: 1024px) {
    .cause ul.contents li.item>* {
        padding: 10px;
    }
}

@media (max-width: 599px){
      .cause ul.contents li .title-big {
        font-size: 18px;
    }
      .phenomenon .contents .col1-area .box .img{
      width: 100%;
    }
    
    .phenomenon .contents .col1-area .box .text{
      width: 100%;
    }
}

/* 防水 */
.waterproof-type-box {
    row-gap: 30px;
    display: flex;
    flex-wrap: wrap;
}

.waterproof-type-box .sub-tit{
  font-size: 20px;
  color: #a3d86b;
  font-weight: bold;
  display: flex;
}

.waterproof-type-box .sub-tit::before{
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-size: 80%;
  margin-right: 5px;
  line-height: 2;
}

.materials-used {
    row-gap: 30px;
    display: flex;
    flex-wrap: wrap;
}

.materials-used .wp-box {
    background: #d9f1fe;
    padding: 20px;
    margin: 0 auto;
    border-radius: 5px;
    height: 100%;
    text-align: center;
}

.materials-used .wp-box .tit{
    font-size: 20px;
    color: #1caaf9;
    font-weight: bold;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    margin-bottom: 5px;
    text-align: center;
}

.necessity .contents .item >*{
  padding: 20px;
    background: #d9f1fe;
    border-radius: 10px;
}

.necessity .contents .item >* .title{
  color: #2196f3;
    font-size: 18px;
    text-align: center;
    font-weight: bold;
}

@media(max-width:599px){
  .materials-used .wp-box .tit{
    font-size: 16px;
  }
}

/* 調査 */
.serch-type-box .item>*{
  width: 100%;
  height: 100%;
  background: #70cbe4;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  border-radius: 10px;
}

.serch-todo .item>*{
  width: 100%;
  height: 100%;
  color: #1caaf9;
  border: 2px solid #1caaf9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 10px;
}

.todo-box{
  position: relative;
}

.todo-box .img{
  width: 300px;
}

.todo-box .img02 {
    position: absolute;
    top: 45%;
    left: 60%;
    transform: rotate(15deg) translate(-50%,0);
    width: 300px;
}

@media(max-width:599px){
  .serch-todo .item>*{
    font-size: 14px;
  }
  
  .todo-box .img{
    width: 250px;
  }
  
  .todo-box .img01 {
    transform: translate(15px,0) rotate(-5deg);
}

  .todo-box .img02 {
    top: 55%;
    left: 65%;
    transform: rotate(10deg) translate(-50%,0);
    width: 200px;
}
}

/* 施工事例 */
.cate-btn ul li>* {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 40px 10px;
    font-size: 20px;
    color: #fff;
    letter-spacing: 2px;
    text-align: center;
    border-radius: 10px;
    background: #fea968;
}

.works .contents li>* {
    -webkit-filter: drop-shadow(5px 5px 3px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(5px 5px 3px rgba(0, 0, 0, 0.2));
}

.works .contents li .tit {
    margin-top: 15px;
    padding-right: 1.5em;
    font-weight: 700;
    font-size: 20px;
    position: relative;
}

.works .contents li .tit::after {
    content: "\f054";
    font-family: "Font Awesome 5 free";
    font-weight: bold;
    color: #fea968;
    position: absolute;
    top: 0;
    right: 0;
}

@media (max-width: 1024px) {
    .cate-btn ul li>* {
        padding: 20px 10px;
        font-size: 18px;
    }
}

/* 施工事例詳細 */
.works_detail ul.contents li .tit {
    margin-top: 20px;
    font-size: 20px;
    text-align: center;
}

.works_detail .table {
    width: 100%;
}

.works_detail .table dl:nth-of-type(2n+1) {
    background: #fcf8f7;
}

.works_detail .table dl dt {
    width: 20%;
    width: 130px;
    padding: 20px;
    font-weight: 700;
    text-align: left;
    position: relative;
    vertical-align: top;
}

.works_detail .table dl dt:after {
    content: "";
    width: 20px;
    height: 1px;
    display: block;
    background-color: #333;
    position: absolute;
    top: 32px;
    right: 0px;
}

.works_detail .table dl dd {
    width: calc(100% - 130px);
    padding: 20px;
    text-align: left;
    vertical-align: top;
}

@media (max-width: 599px) {
    .works_detail .table dl dt {
        width: 100%;
        padding: 10px;
    }
    
    .works_detail .table dl dd {
        width: 100%;
        padding: 10px;
    }

    .works_detail .table dl dt:after {
        display: none;
    }
}

/* お知らせ・ブログ */
.article .list-article .item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #333;
}

.article .list-article .cate {
    display: inline-block;
    margin: 0 5px 2px 0px;
    padding: 0 5px;
    color: #fff;
    background: #a3d86b;
}

[data-element-id].article .list-article .time {
    width: 30%;
    font-size: 12px;
}

.article .list-article .head {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;

    -webkit-line-clamp: 2;
}

.article .articledtl01 .head {
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
}

.html-detail .txt h2 {
    margin: 1em 0;
    padding: 0.5em;
    font-weight: bold;
    font-size: 22px;
    color: #1caaf9;
    line-height: 1;
    background: #d9f1fe;
}

.html-detail .txt h3 {
    margin: 1em 0;
    padding: 0.5em;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    border-left: solid 10px #ffe07c;
}

.html-detail .txt h4 {
    margin: 1em 0;
    padding-bottom: 0.5em;
    font-weight: bold;
    font-size: 18px;
    border-bottom: dotted 2px #ffa968;
}

/* ギャラリー */
.list-gallery01 a {
    display: block;
    position: relative;
}

.list-gallery01 .img {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.list-gallery01 .block-txt {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    visibility: hidden;
    overflow: hidden;
    padding: 10px;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
    top: 0;
    left: 0;
}

.list-gallery01 .cate {
    margin-bottom: 5px;
    font-size: 14px;
}

.list-gallery01 .head {
    font-size: 18px;
}

.list-gallery01 a:hover {
    opacity: 1;
}

.list-gallery01 a:hover .img {
    opacity: 0.5;
}

.list-gallery01 a:hover .block-txt {
    visibility: visible;
    opacity: 1;
}

@media (max-width: 599px) {
    .list-gallery01 .block-txt {
        display: none;
    }

    .list-gallery01 .head {
        font-size: 14px;
    }
}

/* ギャラリー詳細 */
.gallerydtl01 .thumbnail {
    cursor: pointer;
}

/* フォーム */
.form .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 20px 0;
    border-bottom: 1px solid #999;
}

.form .datattl {
    width: 220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: bold;
    color: #000;
}

.form .require {
    display: inline-block;
    margin-left: 10px;
    padding: 0 4px;
    font-size: 14px;
    color: #fff;
    line-height: 1.6em;
    background: #ffa966;
    flex-shrink: 0;
}

.form .data {
    width: 100%;
    padding-left: 50px;
}

.form .data input {
    width: 100%;
    padding: 10px;
    border: 1px solid #999;
}

.form .data.checkbox {
    display: flex;
    flex-wrap: wrap;
}

.form .data input[type="checkbox"] {
    display: none;
}

.form .data input[type="checkbox"]+label {
    margin-right: 20px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.form .data input[type="checkbox"]+label::before {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    border: 1px solid #333;
    position: absolute;
    top: 6px;
    left: 0;
}

.form .data input[type="checkbox"]:checked+label::after {
    content: "✔";
    line-height: 1;
    position: absolute;
    top: 0px;
    left: 0px;
}

.form .data input[type="checkbox"]:checked+label {
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

.form .data input[type="number"] {
    width: 70px;
    margin-right: 10px;
}

.form .data select {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    border: 1px solid #999;
}

.form .data textarea {
    width: 100%;
    height: 170px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: 1px solid #999;
}

.form .data01 div {
    display: inline-block;
}

.form .btn {
    margin: 30px 0;
}

/* .form .btn button {
  margin: 10px 20px;
  padding: 0.2em;
  width: 200px;
  border: none;
  border-radius: 2em;
  background: #000;
  color: #fff;
  text-align: center;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
} */

.form .btn button:hover {
    opacity: 0.6;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .form .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .form .box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .form .datattl {
        display: block;
        margin-bottom: 10px;
    }

    .form .data {
        padding-left: 0;
    }
}

@media (max-width: 599px) {
    .form .data.checkbox {
        flex-direction: column;
    }
}

/* title */
.title00 {
    font-weight: 300;
    font-size: 94px;
}

.title00-min {
    font-weight: 300;
    font-size: 94px;
}

.title01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.title02 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-bottom: 10px;
    font-size: 44px;
    color: #1caaf9;
    background-image: url("/import/tenant_1/202.181.103.7/html/images/common/line-item-blue.png");
    background-repeat: repeat-x;
    background-position: 50% 100%;
}

.title03 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-bottom: 10px;
    font-weight: 700;
    font-size: 36px;
    background-image: url("/import/tenant_1/202.181.103.7/html/images/common/line-item-orange.png");
    background-repeat: repeat-x;
    background-position: 50% 100%;
}

.title04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    vertical-align: middle;
    padding: 0.5em 1em;
    font-size: 30px;
    color: #fff;
    line-height: 1.3;
    border-radius: 25px;
    background: #70cbe4;
}

.title04:before {
    content: "●";
    margin-right: 8px;
    color: #fff;
}

.title05 {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 26px;
}

.title06 {
    font-weight: bold;
    font-size: 36px;
    border-bottom: 2px solid #333;
    padding-left: 3em;
}

.title06:first-letter {
    font-size: 150%;
    color: #1caaf9;
}

.title07 {
    display: table-cell;
    padding-left: 55px;
    font-size: 36px;
    color: #27acd9;
}

.title07:before {
    content: "";
    width: 40px;
    height: 6px;
    border-top: solid 6px #27acd9;
    position: absolute;
    top: 0.8em;
    left: 0;
}

.title08 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-bottom: 10px;
    font-weight: 700;
    font-size: 36px;
    background-image: url("/upload/tenant_1/line-item-light-blue.png");
    background-repeat: repeat-x;
    background-position: 50% 100%;
}

.title09 {
    border-left: 7px solid;
    font-size: 32px;
    padding: 0.5rem 1rem 0.5rem 1rem;
}

.title-sub {
    font-weight: 700;
    font-size: 36px;
}

@media (max-width: 1024px) {
    .title00 {
        font-size: 80px;
    }

    .title02 {
        font-size: 36px;
        white-space: nowrap;
    }

    .title06 {
        height: 2.6em;
        font-size: 34px;
        line-height: 1.7;
    }
}

@media (max-width: 599px) {
    .title00 {
        font-size: 75px;
    }

    .title02 {
        font-size: 36px;
    }

    .title00-min {
        font-size: 60px;
    }

    .frog-a-min {
        top: -30% !important;
        left: -10px !important;
    }

    .title03 {
        font-size: 26px;
    }

    .title04 {
        font-size: 26px;
    }

    .title05 {
        font-size: 20px;
    }

    .title06 {
        font-size: 24px;
    }

    .title07 {
        font-size: 26px;
    }

    .title08 {
        font-size: 24px;
    }
    
    .title09 {
    font-size: 24px;
}

    .title-sub {
        font-size: 26px;
    }
}

/* border-radius */
.br20 {
    overflow: hidden;
    border-radius: 20px;
}

.br10 {
    overflow: hidden;
    border-radius: 10px;
}

.border01 {
    border: 1px solid #1caaf9;
}

.border-b01 {
    border-bottom: 1px solid #333;
}

.fz28 {
    font-size: 28px !important;
}

/* button */
button {
    border: none;
}

.btn00 a,
.btn00 button {
    width: 260px;
    max-width: 100%;
    display: flex;
    padding: 10px 30px;
    font-size: 17px;
    letter-spacing: 0.2em;
    text-align: center;
    border-radius: 100px;
    position: relative;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.btn00 a::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 80%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.btn00.back a::after {
    content: "\f053" !important;
    left: 10px !important;
    right: inherit;
}

.btn00.large a,
.btn00.large button {
    width: 350px;
}

.btn01 a,
.btn01 button {
    color: #fff;
    background: #fea968;
}

.btn02 a,
.btn02 button {
    color: #1caaf9;
    border: 1px solid #1caaf9;
    background: #fff;
}

.btn03 a,
.btn03 button {
    color: #fff;
    background: #999;
}

@media (max-width: 599px) {
}

/* 囲み01 */
.brackets-text {
    display: inline-block;
    padding: 1em 0.5em 1em 1em;
    line-height: 1.7;
    position: relative;
    margin: 0 10px;
}

.brackets-text:before,
.brackets-text:after {
    content: "";
    width: 20px;
    height: 30px;
    display: inline-block;
    position: absolute;
}

.brackets-text:before {
    border-top: solid 1px #1caaf9;
    border-left: solid 1px #1caaf9;
    top: 0;
    left: 0;
}

.brackets-text:after {
    border-bottom: solid 1px #1caaf9;
    border-right: solid 1px #1caaf9;
    bottom: 0;
    right: 0;
}

.brackets-text02 {
    padding: 3em;
    line-height: 1.7;
    background: #fcf8f7;
    position: relative;
}

.fz29 {
    font-size: 29px !important;
}

@media (max-width: 1024px) {
    .brackets-text02 {
        padding: 1em;
    }
}

/* frog */

.frog {
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation: yurayura 2s linear infinite;
    animation: yurayura 2s linear infinite;
    position: absolute;
    top: -30px;
    left: 0px;
}

/* .frog-a {
  top: -13%;
  left: 13px;
}

.frog-c {
  top: -12%;
  left: 0%;
}

.frog-f {
  top: -17%;
  left: -3%;
}

.frog-m {
  top: 0%;
  left: 15px;
}

.frog-r {
  top: -13%;
  left: 13px;
}

.frog-s {
  top: -17%;
  left: 0%;
}

.frog-w {
  top: -16%;
  left: 9%;
}

.frog-k {
  top: -100%;
  left: -18px;
} */

.frog-free {
    top: 13%;
    left: 5px;
}

.frog-free02 {
    top: 13%;
    left: 0%;
}

.frog-free03 {
    top: -75%;
    left: 0%;
}

@media (max-width: 1024px) {
    /* .frog-a {
    top: -15%;
    left: 10px;
  }

  .frog-c {
    top: -18%;
    left: 0%;
  }

  .frog-f {
    top: -25%;
    left: -3%;
  }

  .frog-m {
    top: -8%;
  }

  .frog-s {
    top: -26%;
    left: -1%;
  }

  .frog-w {
    top: -23%;
    left: 8%;
  } */

    .frog-free {
    top: 15%;
    left: 5px;
  }
}

@media (max-width: 599px) {
    /* .frog-a {
    top: -21%;
    left: 3px;
  }

  .frog-c {
    top: -25%;
    left: 0%;
  }

  .frog-f {
    top: -30%;
    left: -3%;
  }

  .frog-m {
    top: -13%;
    left: 3%;
  }

  .frog-r {
    top: -30%;
    left: 13%;
  } */
    .frog-free {
        top: -20%;
        left: 0%;
    }

    .frog-free02 {
        top: -15%;
        left: -4px;
    }

    .frog-free03 {
        top: -65%;
        left: 2%;
    }
}

@-webkit-keyframes yurayura {
    0%,
    100% {
        -webkit-transform: rotate(4deg);
        transform: rotate(4deg);
    }

    50% {
        -webkit-transform: rotate(-4deg);
        transform: rotate(-4deg);
    }
}

@keyframes yurayura {
    0%,
    100% {
        -webkit-transform: rotate(4deg);
        transform: rotate(4deg);
    }

    50% {
        -webkit-transform: rotate(-4deg);
        transform: rotate(-4deg);
    }
}

.ff-ui {
    font-family: system-ui;
}

.ls-m-3px {
    letter-spacing: -3px;
}

[data-element-id].pattern-a{
  border: 2px solid  #8b008b;
}

[data-element-id].pattern-a::after{
    content: "Aパターン";
    width: 100%;
    display: block;
    padding: 0.5em 0.2em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: #8b008b;
}

[data-element-id].pattern-b{
  border: 2px solid #556b2f;
}

[data-element-id].pattern-b::after{
    content: "Bパターン";
    width: 100%;
    display: block;
    padding: 0.5em 0.2em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: #556b2f;
}

label {
  flex-shrink: 0;
}

/* 09/24 */

.service .photo-box .dtl {
  width: 150px;
  height: 150px;
  font-size: 14px;
}
