/*!
Template:rishun
Theme Name: rishun_child
Theme URI: https://rishuntrading.co.jp
Description: Rishun is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: RishunTrading Limited.
Author URI: https://rishuntrading.co.jp
Version: 1.0.0
Requires at least: 1.0
Tested up to: 1.0.0
Requires PHP: 5.6.0
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Rishun WordPress theme, Copyright (C) 2022 RishunTrading Limited.
Rishun WordPress theme is licensed under the GPL.
Update Author:RishunTrading Limited
Update Author URI:https://rishuntrading.co.jp/
Version:1.0.0
*/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New&display=swap');
/************************************************************/
:root{
    --color1:#0099C2;
    --color2:#00B8AE;
    --color3:#84C451;
    --color4:#ff7166;
    --color5:#f93;
    --font-color1:#00A79B;
    --font-color2:#0083B3;
    --thin-bk-color:#e0f5f7;
    --thin-bk-color2:#f2f6fe;
    --thin-bk-color3:#f2f2fe;
    --thin-bk-color4:#fee9e8;
    --thin-bk-color5:#f0f0f0;
    --linear-gradient1:linear-gradient(90deg, rgba(0,131,179,1) 0%, rgba(0,167,155,1) 100%);
    --linear-gradient2:linear-gradient(90deg, #f93 20%, #ff7166 80%);
    --thin-linear-gradient1:linear-gradient(90deg, rgba(244, 254, 234, .8) 0%, rgba(219, 248, 245, .8) 50%, rgba(195, 242, 254, .8) 100%);
    --thin-linear-gradient2:linear-gradient(90deg, rgb(244, 254, 234) 0%, rgb(219, 248, 245) 50%, rgb(195, 242, 254) 100%);
    --bk-linear-gradient1:linear-gradient(90deg, rgb(244,254,234) 0%, rgb(219,248,245) 50%, rgb(195,242,254) 100%);
    --stripe-linear-gradient:repeating-linear-gradient(45deg, #e0f0ff, #e0f0ff 2px, transparent 2px, transparent 6px);
    --phamph-color:#ffff00;
    --lato:"Lato", sans-serif;
    --noto:"Noto Sans JP", sans-serif;
    --zen-kaku:"Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    --sp-header-height:60px;
    --pc-header-height:120px;
    --sp-pgheader-height: 200px;
    --tb-pgheader-height: 250px;
    --pc-pgheader-height: 300px;
}
/*==========================================================*/
/* defalt define											*/
/*==========================================================*/
body, p{
    font-size:17px;
    font-family:var(--zen-kaku);
    font-weight:400;
}
body a{
    color:#333;
    font-family:var(--zen-kaku);
}
body a:hover{
    color:#333;
}
.nodata{
    color:#ff0000;
}
img{
    width:100%;
    height:auto;
}
.entry-body img{
    display:block;
    width:auto;
}
@media print {
    #mobile-menu {
        display: none !important;
    }
}
/*==========================================================*/
/* bread crumb  											*/
/*==========================================================*/
.breadSection .breadcrumb a{
    font-family:var();
}
/*==========================================================*/
/* common         											*/
/*==========================================================*/
.fade-in{
    transform:translateY(40px);
    opacity:0;
    transition:all 1s;
}
.fade-in.scroll-in{
    transform:translateY(0);
    opacity:1;
}
/*==========================================================*/
/* header  											*/
/*==========================================================*/
.site-header{
    height: var(--sp-header-height);
}
.site-header-wrap{
    width:100%;
    height: var(--sp-header-height);
    background:var(--header-bk-color);
    display:block;
    position:fixed;
    top:0;
    left:0;
    z-index:1800;
}
.site-header-inner{
    height:var(--sp-header-height);
}
.site-header-logo{
    width:100%;
    height:100%;
}
.site-header-logo a{
    width:auto;
    height:var(--sp-header-height);
}
.site-header-logo a img{
    width:auto;
    height:calc(100% - 10px);
    margin:5px 0;
}
.contact-btn{
    display:none;   /* This time is none */
    height:var(--sp-header-height);
}
.scrolled .site-header-wrap{
    height: var(--sp-header-height);
}
@media(min-width:992px){
    .site-header{
        height: var(--pc-header-height);
    }
    .site-header-wrap{
        height: var(--pc-header-height);
    }
    .container.site-header-container{
        grid-template-columns: 260px calc(100% - 260px);
    }
    .site-header-inner{
        height:100%;
    }
    .site-header-logo{
        display:flex;
        align-items:flex-end;
    }
    .site-header-logo a{
        display:block;
        width:100%;
        height:auto;
    }
    .site-header-logo a img{
        width:100%;
        height:auto;
    }
    .contact-btn{
        display:flex;
        grid-column: 2 / 3;
        height:100%;
    }
    .contact-btn>div {
        justify-content:flex-end;
        align-items:flex-end;
    }
    .contact-btn>div>a{
        width:180px;
        font-weight:700;
        border-radius:30px;
    }
    .pc-show-tel{
        margin-right:5px;
    }
    .pc-show-tel p{
        line-height:1;
        font-weight:400;
        font-family:var(--noto);
        color:var(--font-color2);
    }
    .pc-show-tel p small{
        font-size:12px;
    }
    .pc-show-tel p:nth-of-type(2){
        font-size:24px;
        margin-top:3px;
        letter-spacing:2px;
    }
    .pc-show-tel p a{
        pointer-events:none;
        font-weight:700;
        color:var(--font-color2);
    }
    .pc-show-tel p i{
        margin-right:5px;
    }
    .maillink{
        background:var(--linear-gradient2);
    }
    .scrolled .site-header-wrap{
        height:var(--pc-header-height);        
    }
}
/*==========================================================*/
/* mobile menu  											*/
/*==========================================================*/
.mobile-navi-btn.right{
    width:var(--ptnB-sp-header-height);
    height:var(--ptnB-sp-header-height);
    top:0;
    right:0;
    background: var(--burger-bkcolor);
    position:fixed;
    border-left:solid 1px #ddd;
}
.mobile-navi-btn.right span{
    position: absolute;
    background: #999999;
    height: 2px;
    width: 30px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    transition: all .3s;
}
.mobile-navi-btn.right span:first-of-type{
    top:30%;
}
.mobile-navi-btn.right span:nth-of-type(2){
    top:50%;
}
.mobile-navi-btn.right span:last-of-type{
    top:70%;
}
/* open */
.mobile-navi-btn.right.mobile-navi-open{
    background: var(--burger-bkcolor);
}
.mobile-navi-btn.right.mobile-navi-open span{
    background: #999999;
}
.mobile-navi-btn.right.mobile-navi-open span:nth-child(1){
    top: 32%;
    left: calc(50% - 4px);
    transform: rotate(-45deg) translate(-50%,-50%);
}
.mobile-navi-btn.right.mobile-navi-open span:nth-of-type(2){
    opacity:0;
}
.mobile-navi-btn.right.mobile-navi-open span:last-of-type{
    top: 68%;
    left: calc(50% - 6px);
    transform: rotate(45deg) translate(-50%,-50%);
}
/* mobile menu */
.mobile-menu-slide{
    padding-top:0;
    background:var(--linear-gradient1);
}
.mobile-title{
    --bs-gutter-x: 1.5rem;
    width:100%;
    height:var(--ptnB-sp-header-height);
    padding-top:5px;
    padding-bottom:5px;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);    
}
.mobile-title img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:left center;
}
.site-mobile-nav{
    padding:30px;
}
.site-mobile-nav>div{
    background:transparent;
    padding:0;
    overflow-y:auto;
    height:calc(100vh - var(--ptnB-sp-header-height) - 60px);
}
.site-mobile-menu>li{
    margin:0;
    padding:0;
    border-bottom:solid 1.5px #fff;
}
.site-mobile-menu>li>a{
    padding:0;
    width:100%;
    height:50px;
    display:flex;
    align-items:center;
    font-weight:500;
    padding-left:1em;
    position:relative;
    transition:all 0.5s;
}
.site-mobile-menu>li>a:before{
    content: "\f105";
    box-sizing: border-box;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    position:absolute;
    top:50%;
    right:20px;
    transform:translateY(-50%);
    transition:all 0.5s;
}
.site-mobile-menu>li>a:hover{
    color:#fff;
    opacity:0.8;
}
.site-mobile-menu>li>a:hover:before{
    right:10px;
}
/* mobil menu btn */
.mobile-menu-tel{
    margin-top:20px;
}
.mobile-menu-tel p{
    color:#fff;
    text-align:center;
    line-height:1.2;
}
.mobile-menu-tel p a{
    color:#fff;
    transition:all 0.5s;
}
.mobile-menu-tel p a:hover{
    opacity:0.8;
}
.mobile-menu-tel p:nth-of-type(2){
    font-size:1.5em;
    font-weight:700;
    letter-spacing:2px;
}
.mobile-menu-btn{
    display:flex;
    width:100%;
    flex-flow:row wrap;
    justify-content:space-between;
    margin-top:20px;
}
.mobile-menu-btn a{
    width:32%;
    height:80px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    border-radius:10px;
    font-size:14px;
    white-space:nowrap;
    font-weight:500;
    font-family:var(--noto);
    box-shadow:0 0 5px rgba(0,0,0,0.1);
    transition:all 0.5s;
}
.mobile-menu-btn a i{
    display:block;
    font-size:32px;
}
.mobile-menu-btn a.telnolink{
    background:#fff;
    color:var(--font-color1);
}
.mobile-menu-btn a.emaillink{
    background:#fff;
    color:var(--font-color2);
}
.mobile-menu-btn a.linelink{
    color:#fff;
}
.mobile-menu-btn a.telnolink:hover{
    background:var(--font-color1);
    color:#fff;
}
.mobile-menu-btn a.emaillink:hover{
    background:var(--font-color2);
    color:#fff;
}
.mobile-menu-btn a.linelink:hover{
    color:#fff;
    filter:brightness(1.1);
}
/*==========================================================*/
/* global menu  											*/
/*==========================================================*/
@media(min-width:992px){
    .menu-globalmenu-container{
        height:100%;
    }
    .site-header-menu{
        height:100%;
    }
    .site-header-menu>li{
        height:100%;
    }
    .site-header-menu>li>a{
        font-weight:400;
        font-size:16px;
        width:120px;
        height:100%;
        padding:0;
        display:flex;
        justify-content:center;
        align-items:center;
    }
    .site-header-menu>li>a:before{
        border-radius:0;
    }
}
/*==========================================================*/
/* page header   											*/
/*==========================================================*/
.page-header-ttl .jp{
    font-weight:900;
}
.page-header-ttl .en{
    font-weight:900;
}
.page-header:before{
    content:'';
    width:auto;
    height:var(--sp-pgheader-height);
    aspect-ratio:637/968;
    background:url('./img/pghead_hiromi.png') center center / contain no-repeat;
    filter:brightness(1.2);
    position:absolute;
    bottom:0;
    left:0;
}
@media(min-width:768px){
    .page-header:before{
        height:var(--tb-pgheader-height);
        left:calc((100% - 720px) / 2);
    }
}
@media(min-width:992px){
    .page-header:before{
        height:var(--pc-pgheader-height);
        left:calc((100% - 960px) / 2);
    }
}
@media(min-width:1200px){
    .page-header:before{
        height:var(--pc-pgheader-height);
        left:calc((100% - 1140px) / 2);
    }
}
@media(min-width:1400px){
    .page-header:before{
        height:var(--pc-pgheader-height);
        left:calc((100% - 1320px) / 2);
    }
}
/*==========================================================*/
/* topslide-sec 											*/
/*==========================================================*/
.topslide-sec{
    position:relative;
    padding:0;
}
.topslide-wrap{
    width:100%;
    height:calc(100vh - var(--sp-header-height));
}
.topslide-wrap>div{
    width:100%;
    height:100%;
}
.topslide-wrap>div .carousel-inner{
    width:100%;
    height:100%;
    position:relative;
}
.topslide-wrap>div .carousel-inner .carousel-item{
    width:100%;
    height:100%;
}
.topslide-wrap>div .carousel-inner .carousel-item>img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
.topslide-wrap>div .carousel-caption{
    width:100%;
    bottom:40px;
    left:0;
    color:#fff;
    transform:translateY(20px);
    background:var(--color1);
    opacity:0;
    z-index:5;
}
.topslide-wrap>div .carousel-item:after{
    content:'';
    width:60%;
    aspect-ratio: 86/99;
    background:url('./img/topslide_hiromi.png') center center / contain no-repeat;
    position:absolute;
    bottom:0;
    right:0;
}
.topslide-wrap>div .carousel-caption h5{
    font-size:20px;
    white-space:nowrap;
    font-weight:500;
}
.topslide-wrap>div .carousel-caption p{
    font-size:15px;
    white-space:nowrap;
    font-weight:500;
}
.topslide-wrap>div .carousel-caption:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--color1);
    position:absolute;
    top:0;
    left:0;
    z-index:10;
}
.topslide-wrap>div .carousel-item .carousel-caption.show-caption{
    animation:slider-2 0.5s ease-in forwards;
}
.topslide-wrap>div .carousel-item .carousel-caption.show-caption:before{
    animation:slider-3 2s ease-in-out forwards;
}
@keyframes slider-2{
    0%{
        transform:translateY(20px);
        opacity:0;
    }
    100%{
        transform:translateY(0);
        opacity:1;
    }
}
@keyframes slider-3{
    30%{
        left:0;
    }
    100%{
        left:150%;
    }
}
@media(min-width:768px){
    .topslide-wrap{
        height:600px;
    }
    .topslide-wrap>div .carousel-caption{
        width:fit-content;
        overflow:hidden;
        left:40px;
        padding:20px;
    }
    .topslide-wrap>div .carousel-caption h5{
        font-size:32px;
        font-weight:700;
    }
    .topslide-wrap>div .carousel-caption p{
        font-size:24px;
    }
    .topslide-wrap>div .carousel-item:after{
        width:350px;
        left:0;
        right:auto;
    }
}
@media(min-width:992px){
    .topslide-wrap{
        height:700px;
    }
    .topslide-wrap>div .carousel-caption{
        left:auto;
        right:40px;
        top:40px;
        bottom:auto;
        padding:20px;
    }
    .topslide-wrap>div .carousel-caption h5{
        font-size:28px;
        font-weight:700;
    }
    .topslide-wrap>div .carousel-caption p{
        font-size:20px;
    }
}
@media(min-width:1200px){
    .topslide-wrap>div .carousel-item:after{
        width:400px;
        left:0;
        right:auto;
    }

    .topslide-wrap>div .carousel-caption h5{
        font-size:32px;
        font-weight:700;
    }
    .topslide-wrap>div .carousel-caption p{
        font-size:24px;
    }
}
/*==========================================================*/
/* tpfeature-sec 											*/
/*==========================================================*/
.tpfeature-sec{
    position:relative;
    padding:80px 0;
    z-index:10;
}
.tpfeature-sec:before{
    content:'';
    width:80%;
    height:160px;
    background:var(--thin-linear-gradient1);
    position:absolute;
    top:30px;
    right:0;
}
.tpfeature-wrap{
    width:100%;
    position:relative;
    z-index:20;
}
.dl-tpfeature{
    display:flex;
    width:100%;
    margin:0;
    padding:0;
    flex-flow:row wrap;
}
.dl-tpfeature>dt{
    width:100%;
    margin:0 0 40px 0;
}
.dl-tpfeature>dd{
    width:100%;
    margin:0;
}
.hd-style{
    width:100%;
    margin-bottom:40px;
    position:relative;
}
.h2org{
    font-size:2.5em;
    font-weight:900;
    font-family:var(--lato);
    text-align:center;
    margin-bottom:0;
}
.hd-style p{
    display:block;
    width:fit-content;
    position:relative;
    margin-left:auto;
    margin-right:auto;
    padding-left:25px;
}
.hd-style p:before{
    content:'';
    width:20px;
    height:20px;
    background:var(--linear-gradient1);
    border-radius:50%;
    position:absolute;
    top:50%;
    left:0;
    transform:translateY(-50%);
}
.hd-style p:after{
    content:'';
    width:10px;
    height:10px;
    background:#fff;
    border-radius:50%;
    position:absolute;
    top:50%;
    left:5.5px;
    transform:translateY(-50%);
}
.dl-tpfeature>dt .box{
    padding:0 20px;
}
.dl-tpfeature>dt .box .desc{
    width:100%;
}
.dl-tpfeature>dt .box .desc p{
    line-height:2;
}
.dl-tpfeature>dt .box .desc .viewmore-btn{
    margin-top:40px;
}
.viewmore-btn a{
    width:280px;
    height:60px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--linear-gradient1);
    color:#fff;
    border-radius:30px;
    margin-left:auto;
    margin-right:auto;
    font-weight:400;
    position:relative;
    transition:all 0.5s;
}
.viewmore-btn a i{
    position:absolute;
    top:50%;
    right:40px;
    transform:translateY(-50%);
    transition:all 0.5s;
}
.viewmore-btn a:hover{
    filter:brightness(1.1);
    color:#fff;
}
.viewmore-btn a:hover i{
    right:30px;
}
/* 横スクロール */
.bizslide-pict {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: auto;
    height:220px;
}
.bizslide-pict .wrap {
    display: flex;
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    z-index:1;
}
.bizslide-pict .wrap img {
    display:block;
    width: 70%;
    height:220px;
    object-fit:cover;
    max-width:none;
    flex-shrink: 0;
    filter:grayscale(60%);
    margin:0 2px;
}
@media(min-width:768px){
    .dl-tpfeature>dt{
        max-width:740px;
        margin-left:auto;
        margin-right:auto;
    }
    .bizslide-pict {
        height:300px;
    }
    .h2org{
        font-size:4.5em;
    }
    .hd-style p{
        font-size:1.2em;
        font-weight:700;
    }
    .bizslide-pict .wrap img {
        width: 50%;
        height:300px;
    }
}
@media(min-width:992px){
    .tpfeature-sec:before{
        content:'';
        width:60%;
        height:280px;
        background:var(--thin-linear-gradient1);
        position:absolute;
        top:-40px;
        right:0;
        z-index:10;
    }
    .dl-tpfeature>dt{
        max-width:unset;
        width:50%;
        order:2;
        padding-right:calc((100% - 960px) / 2);
    }
    .dl-tpfeature>dd{
        width:50%;
        order:1;
    }
    .tpfeature-wrap .h2org{
        text-align:right;
    }
    .tpfeature-wrap .hd-style p{
        margin-right:0;
    }
    .bizslide-pict {
        height:430px;
    }
    .bizslide-pict .wrap img {
        width: 70%;
        height:430px;
    }
}
@media(min-width:1200px){
    .dl-tpfeature>dt{
        padding-right:calc((100% - 1140px) / 2);
    }
    .dl-tpfeature>dt .box{
        padding-left:40px;
    }
    .bizslide-pict {
        height:390px;
    }
    .bizslide-pict .wrap img {
        width: 70%;
        height:390px;
    }
}
@media(min-width:1400px){
    .dl-tpfeature>dt{
        padding-right:calc((100% - 1320px) / 2);
    }
}
/*==========================================================*/
/* tpstrengths-sec          								*/
/*==========================================================*/
.tpstrengths-sec{
    position:relative;
    padding:80px 0;
}
.tpstrengths-sec:before{
    content:'';
    width:100%;
    height:200px;
    background:url('./img/bk-frontpage.jpeg') center center / cover no-repeat;
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    opacity:0.8;
}
.tpstrengths-wrap{
    background:var(--thin-linear-gradient2);
}
.tpstrengths-wrap .hd-style{
    padding:40px 0;
    margin-bottom:0;
}
.heading_after{
    line-height:2;
    margin-bottom:40px;
    padding:0 20px;
}
.ul-tpstrengths{
    list-style:none;
    display:flex;
    flex-flow:row wrap;
    width:100%;
    margin:0 0 40px 0;
    padding:0 20px;
}
.ul-tpstrengths>li{
    display:block;
    width:100%;
    margin-top:110px;
    counter-increment: title 1;
}
.ul-tpstrengths>li:first-of-type{
    margin-top:50px;
}
.ul-tpstrengths>li .box{
    background:#fff;
    width:100%;
    position:relative;
    padding-top:75px;
    border-radius:20px;
    box-shadow: rgba(0, 131, 179, 0.2) 0px 0px 50px;
}
.ul-tpstrengths>li .box:before{
    content:"0" counter(title);
    color:var(--thin-bk-color);
    position: absolute;
    right: 32px;
    bottom: 32px;
    line-height: 1;
    font-family: var(--lato);
    font-weight: 900;
    font-size: 450%;
    letter-spacing: 0px;    
}
.ul-tpstrengths>li .pict{
    width:150px;
    height:150px;
    border-radius:50%;
    overflow:hidden;
    position:absolute;
    top:-75px;
    left:50%;
    transform:translateX(-50%);
    background:#fff;
}
.ul-tpstrengths>li .pict>img{
    position:relative;
    top:5%;
    left:5%;
    width:90%;
    height:90%;
    border-radius:50%;
    object-fit:cover;
}
.ul-tpstrengths>li .desc{
    padding:20px;
    position:relative;
    z-index:5;
}
.ul-tpstrengths>li .desc h3{
    font-size:1.5em;
    color:var(--font-color1);
    text-align:center;
    font-weight:700;
    margin-bottom:20px;
}
.ul-tpstrengths>li .desc h4{
    font-size:17px;
    color:var(--font-color2);
    font-weight:500;
    margin-bottom:20px;
}
.ul-tpstrengths>li .desc p{
    font-size:14px;
}
.tpstrengths-wrap .viewmore-btn{
    padding-bottom:40px;
}
@media(min-width:992px){
    .tpstrengths-sec:before{
        content:'';
        width:100%;
        height:100%;
        background:url('./img/bk-frontpage.jpeg') center center / cover no-repeat;
        filter:blur(1px);
        position:absolute;
        top:0;
        left:0;
        z-index:-1;
        background-attachment: fixed;
    }
    .ul-tpstrengths{
        justify-content:space-between;
    }
    .ul-tpstrengths>li{
        width:32%;
        display:inline-block;
        margin-top:70px;
    }
    .ul-tpstrengths>li:first-of-type{
        margin-top:70px;
    }
    .ul-tpstrengths>li .desc{
        min-height:340px;
    }
    .heading_after{
        text-align:center;
    }
}
/*==========================================================*/
/* our works                  								*/
/*==========================================================*/
.tpworks-sec{
    padding:80px 0;
}
.tpworks-wrap{
    width:100%;
}
.tpworks-sec .hd-style{
    position:relative;
}
.tpworks-sec .hd-style:before{
    content:'';
    width:50px;
    aspect-ratio:640/1462;
    background:url('./img/side_hiromi.png') center center / contain no-repeat;
    position:absolute;
    bottom:100%;
    left:50%;
    transform:translateX(-50%);
}
.ul-tpwork{
    width:100%;
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-flow:row wrap;
}
.ul-tpwork .li_tpwork{
    padding:0 5px;
    width:100%;
    margin-bottom:40px;
}
.ul-tpwork .li_tpwork a{
    width:100%;
    display:block;
    position:relative;
    transition:all 0.5s;
    box-shadow:0 0 5px rgba(0,0,0,0.1);
    border-radius:20px;
    overflow:hidden;
}
.ul-tpwork li a .pict{
    width:100%;
    padding-top:70%;
    overflow:hidden;
    position:relative;
    z-index:1;
    background:var(--thin-bk-color);
}
.ul-tpwork li a .pict>img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:all 0.5s;
    position:absolute;
    top:0;
    left:0;
    z-index:1;
}
.ul-tpwork li a .desc{
    background:#fff;
}
.ul-tpwork li a .desc h3{
    font-size:17px;
    font-weight:700;
    margin:0;
    padding:20px;
    min-height:100px;
}
.ul-tpwork li a:hover{
    opacity:0.8;
}
.ul-tpwork li a:hover img{
    transform:scale(1.2);
}
.slick-dots li button:before{
    font-size:15px;
    color:var(--font-color1);
}
.slick-dots li.slick-active button:before{
    color:var(--font-color1);
}
.tpworks-wrap .viewmore-btn{
    padding-top:40px;
}
.slick-prev, .slick-next{
    width:30px;
    height:30px;
}
.slick-prev:before, .slick-next:before{
    color:#fff;
    background:var(--linear-gradient1);
    width:30px;
    height:30px;
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0.8;
    transition:all 0.5s;
}
.slick-prev{
    left:20px;
    z-index:10;
}
.slick-next{
    right:20px;
    z-index:10;
}
.slick-prev:before{
    content: "\f104";
    box-sizing: border-box;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}
.slick-next:before{
    content: "\f105";
    box-sizing: border-box;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}
@media(min-width:768px){
    .tpworks-wrap{
        width:100%;
        padding:0 20px;
    }
    .ul-tpwork .li_tpwork{
        width:50%;
    }
}
@media(min-width:992px){
    .ul-tpwork .li_tpwork{
        width:33.333%;
    }
    .tpworks-sec .hd-style:before{
        content:'';
        width:100px;
        aspect-ratio:640/1462;
        position:absolute;
        bottom:auto;
        top:50%;
        left:auto;
        right:calc(((100% - 960px) / 2) + 100px);
        transform:translateY(-50%);
    }
}
/*==========================================================*/
/* tpapp-sec                  								*/
/*==========================================================*/
.tpapp-sec{
    position:relative;
    padding:80px 0;
    background:var(--stripe-linear-gradient);
}
.tpapp-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.tpapp-sec-wrap{
    width:100%;
}
.ul-appflow{
    width:100%;
    display:flex;
    flex-flow:row wrap;
    margin:0;
    padding:0;
    list-style:none;
}
.ul-appflow>li{
    width:100%;
    margin-bottom:40px;
    position:relative;
}
.ul-appflow>li:before{
    content: "\f103";
    box-sizing: border-box;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    position:absolute;
    bottom:-30px;
    left:50%;
    transform:translateX(-50%);
    font-size:1.5em;
    color:var(--font-color1);
}
.ul-appflow>li:last-of-type:before{
    content:none;
}
.ul-appflow>li .box{
    background:var(--linear-gradient1);
    border-radius:40px;
    padding:40px 20px;
    max-width:300px;
    margin-left:auto;
    margin-right:auto;
}
.ul-appflow>li .box .pict{
    width:100px;
    overflow:hidden;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:20px;
}
.ul-appflow>li .box .desc{
    width:100%;
}
.ul-appflow>li .box .desc h3{
    color:#fff;
    font-weight:700;
    text-align:center;
    font-size:1.5em;
    margin-bottom:20px;
}
.ul-appflow>li .box .desc h3 .num{
    font-family:var(--noto);
    letter-spacing:1px;
}
.ul-appflow>li .box .desc p{
    color:#ffffff;
}
.ul-appflow>li .box .desc h3 .pcbr{
    display:none;
}
@media(min-width:768px){
    .ul-appflow{
        justify-content:space-between;
    }
    .ul-appflow>li{
        width:48%;
    }
    .ul-appflow>li:before{
        content: "\f101";
        top:50%;
        bottom:auto;
        right:-30px;
        left:auto;
        transform:translateY(-50%);
    }
    .ul-appflow>li:nth-of-type(2):before{
        content:none;
    }
    .ul-appflow>li .box .desc h3{
        min-height:60px;
        display:flex;
        align-items:center;
        justify-content:center;
    }
}
@media(min-width:992px){
    .ul-appflow>li{
        width:22%;
    }
    .ul-appflow>li .box .desc h3{
        min-height:90px;
    }
    .ul-appflow>li .box .desc h3 .pcbr{
        display:block;
    }
    .ul-appflow>li .box .desc p{
        min-height:140px;
    }
    .ul-appflow>li:nth-of-type(2):before{
        content: "\f101";
    }
}
/*==========================================================*/
/* tpinfo-sec                  								*/
/*==========================================================*/
.tpinfo-sec{
    position:relative;
    background:var(--stripe-linear-gradient);
    padding:80px 0 180px 0;
}
.tpinfo-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color3);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
/* info box */
.ul-tpinfo li a{
    border-radius:20px;
    overflow:hidden;
    display:block;
}
.new-mark{
    top:5px;
    left:5px;
    line-height:1;
    border-radius:5px;
}
.tpinfolist-img{
    background:#f0f0f0;
}
/*==========================================================*/
/* before-footer              								*/
/*==========================================================*/
.beforeft-sec{
    background:var(--thin-linear-gradient1);
    padding:80px 0;
    position:relative;
}
.beforeft-wrap{
    width:100%;
}
.beforeft-sec .hd-style{
    position:relative;
}
.beforeft-sec .hd-style:before{
    content:'';
    width:300px;
    aspect-ratio:860/500;
    background:url('./img/beforefooter_hiromi.png') center center / contain no-repeat;
    position:absolute;
    top:-234px;
    left:50%;
    transform:translateX(-50%);
}
.ul-beforeft{
    width:100%;
    display:flex;
    flex-flow:row wrap;
    list-style:none;
    margin:0;
    padding:0;
    flex-flow:row wrap;
}
.ul-beforeft>li{
    width:100%;
    margin-bottom:20px;
}
.ul-beforeft>li a{
    width:100%;
    max-width:280px;
    height:60px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:30px;
    margin-left:auto;
    margin-right:auto;
    padding-left:20px;
    position:relative;
    font-size:1.1em;
    transition:all 0.5s;
}
.ul-beforeft>li a i{
    font-size:2em;
    position:absolute;
    top:50%;
    left:40px;
    transform:translateY(-50%);
}
.ul-beforeft>li a.telnolink{
    background:#fff;
    font-size:1.5em;
    font-family:var(--lato);
    font-weight:700;
    color:var(--font-color1);
    border:solid 1px var(--font-color1);
}
.ul-beforeft>li a.telnolink i{
    font-size:1.5em;
}
.ul-beforeft>li>p{
    text-align:center;
}
.ul-beforeft>li a.telnolink:hover{
    background:var(--font-color1);
    color:#fff;
}
.ul-beforeft>li a.maillink{
    background:var(--linear-gradient2);
}
.ul-beforeft>li a.maillink:hover{
    color:#fff;
    filter:brightness(1.1);
}
.ul-beforeft>li a.linelink{
    background:var(--hd-left-bt-color);
}
.ul-beforeft>li a.linelink:hover{
    color:#fff;
    filter:brightness(1.1);
}
@media(min-width:768px){
    .ul-beforeft>li a.telnolink{
        pointer-events:none;
    }
}
@media(min-width:992px){
    .ul-beforeft{
        justify-content:space-between;
    }
    .ul-beforeft>li{
        width:32%;
    }
}
/*==========================================================*/
/* footer                     								*/
/*==========================================================*/
.site-footer{
    background:var(--linear-gradient1);
    padding:80px 0;
}
.footer_widget{
    width:100%;
}
.ft-left{
    width:100%;
    margin-bottom:60px;
}
.ft-logo{
    max-width:250px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:40px;
}
.ft-logo a{
    transition:all 0.5s;
}
.ft-logo a:hover{
    opacity:0.8;
}
.ft-company{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    padding-left:30px;
    max-width:300px;
}
.ft-company h2{
    font-weight:500;
    color:#fff;
    font-size:20px;
    position:relative;
}
.ft-company h2:before{
    content:'';
    width:20px;
    height:20px;
    background:var(--thin-linear-gradient2);
    border-radius:50%;
    position:absolute;
    top:50%;
    left:-30px;
    transform:translateY(-50%);
}
.ft-company h2:after{
    content:'';
    width:10px;
    height:10px;
    background:var(--font-color2);
    border-radius:50%;
    position:absolute;
    top:50%;
    left:-25.5px;
    transform:translateY(-50%);
}
.ft-company p{
    color:#fff;
}
.ft-company p a{
    color:#fff;
    transition:all 0.5s;
}
.ft-company p a:hover{
    opacity:0.8;
}
.footerwidget .ul-ft-company{
    margin:20px 0;
    padding:0;
    display:flex;
    flex-flow:row nowrap;
    width:100%;
    list-style:none;
    justify-content:space-between;
}
.footerwidget .ul-ft-company>li{
    width:fit-content;
}
.footerwidget ul>li a{
    font-size:17px;
    transition:all 0.5s;
}
.footerwidget .ul-ft-company>li a{
    display:table;
    position:relative;
}
.footerwidget .ul-ft-company>li a:before{
    content:'';
    width:100%;
    height:1px;
    background:#fff;
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.footerwidget .ul-ft-company>li a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
/* footer menu */
.menu-footermenu-container{
    width:100%;
}
.footerwidget ul.menu{
    padding:0;
    margin:0 0 40px 0;
    display:flex;
    flex-flow:row wrap;
    justify-content:flex-start;
    align-items:center;
}
.footerwidget ul.menu>li{
    width:50%;
}
.footerwidget ul.menu>li a{
    width:100%;
    height:50px;
    display:flex;
    justify-content: center;
    align-items:center;
    border:solid 1px #fff;
    transition:all 0.5s;
}
.footerwidget ul.menu>li a:hover{
    background:rgba(255,255,255,0.8);
    color:var(--font-color2);
}
@media(min-width:768px){
    .footer_widget{
        width:50%;
    }
    .footerwidget ul.menu>li{
        margin-bottom:10px;
    }
    .footerwidget ul.menu>li a{
        width:fit-content;
        height:auto;
        display:inline-block;
        border:none;
        position:relative;
        padding-left:20px;
    }
    .footerwidget ul.menu>li a:before{
        content: "\f105";
        font-weight: 900;
        font-family: "Font Awesome 6 Free";
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        text-rendering: auto;
        color:#fff;
        font-size:12px;
        position:absolute;
        top:50%;
        left:0;
        transform:translateY(-50%);
        transition:all 0.5s;
    }
    .footerwidget ul.menu>li a:hover{
        background:transparent;
        color:#fff;
    }
    .footerwidget ul.menu>li a:hover:before{
        left:5px;
    }
    .footerwidget ul.menu>li a:after{
        content:'';
        width:100%;
        height:1px;
        background:#fff;
        position:absolute;
        display:block;
        bottom:0;
        left:0;
        transform: scale(0, 1);
        transform-origin: right top;
        transition:transform 0.5s;
    }
    .footerwidget ul.menu>li a:hover:after{
        transform-origin: left top;
        transform: scale(1, 1);
    }
    .ft-company p a{
        pointer-events:none;
    }
}
@media(min-width:992px){
    .footer_widget:first-of-type{
        width:360px;
    }
    .footer_widget:last-of-type{
        width:calc(100% - 360px);
    }
    .ft-logo{
        margin-left:0;
        max-width:300px;
    }
    .ft-company{
        width:fit-content;
        margin-left:0;
        max-width:unset;
    }
    .br_zip{
        display:none;
    }
    .footerwidget ul.menu>li{
        width:33.333%;
    }
}
/*==========================================================*/
/* tpfaq-sec                   								*/
/*==========================================================*/
.tpfaq-sec{
    padding:80px 0;
    position:relative;
    background:var(--thin-linear-gradient2);
}
.tpfaq-wrap{
    background:#fff;
    box-shadow:0 0 5px rgba(0,0,0,0.1);
    padding:20px 10px;
    border-radius:20px;
}
.tpfaq-sec .viewmore-btn{
    padding-top:40px;
}
.dl_faq {
    padding-bottom:2rem;
}
.dl_faq>dt {
    position: relative;
    padding:1rem 30px 1rem 45px;
    background:var(--linear-gradient1);
    color:#fff;
    cursor: pointer;
    margin-top:20px;
}
.dl_faq>dt::before {
    content: 'Q.';
    position: absolute;
    top:1rem;
    left:1rem;
    color:var(--phamph-color);
    font-weight: 700;
}
.dl_faq>dt span {
    position: absolute;
    background:#fff;
    top:50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right:1rem;
    width:1rem;
    height:3px;
}
.dl_faq>dt span:nth-of-type(1) {
    top:calc(50% - 1px);
    right:calc(1rem + 1.3px);
    -webkit-transform: rotate(90deg) translateY(-50%);
    -moz-transform: rotate(90deg) translateY(-50%);
    -ms-transform: rotate(90deg) translateY(-50%);
    transform: rotate(90deg) translateY(-50%);
    transition: all .3s;
}
.dl_faq>dt.active span:nth-of-type(1) {
    right:1rem;
    -webkit-transform: rotate(0deg) translateY(-50%);
    -moz-transform: rotate(0deg) translateY(-50%);
    -ms-transform: rotate(0deg) translateY(-50%);
    transform: rotate(0deg) translateY(-50%);
}
.dl_faq>dt h3 {
    color:#fff;
    font-size: 17px;
    margin-bottom:0;
    line-height: 1.6;
}
.dl_faq>dt:first-of-type {
    margin-top:0;
}
.dl_faq>dd {
    display: none;
    padding:1rem;
    padding-left: 45px;
    background: rgba(0,0,0,0.05);
    position: relative;
    margin-bottom: 2rem;
}
.dl_faq>dd::before {
    content: 'A.';
    position: absolute;
    top:1rem;
    left:1rem;
    color:var(--color4);
    font-weight: 700;
    margin-bottom: 20px;
}
.dl_faq>dd a{
    font-weight:700;
    color:var(--color4);
    position:relative;
    display:inline-block;
    transition:all 0.5s;
}
.dl_faq>dd a:before{
    content:'';
    width:0;
    height:1px;
    background:var(--color4);
    position:absolute;
    left:0;
    bottom:0;
    transition:all 0.5s;
}
.dl_faq>dd a:hover{
    opacity:0.8;
}
.dl_faq>dd a:hover:before{
    width:100%;
}

@media(min-width:400px){
    .dl_faq>dt::before {
        left:20px;
    }
    .dl_faq>dd {
        padding:20px;
        padding-left: 45px;
    }
    .dl_faq>dd::before {
        top:20px;
        left:20px;
    }
}
@media(min-width:768px){
    .tpfaq-wrap{
        padding:40px;
    }
    .topfaq-sec{
        padding-bottom:80px;
    }
    .dl_faq>dt {
        padding-left: 55px;
    }
    .dl_faq>dt::before {
        left:30px;
    }
    .dl_faq>dd {
        padding:30px;
        padding-left: 55px;
    }
    .dl_faq>dd::before {
        top:30px;
        left:30px;
    }
}
@media(min-width:992px){
    .dl_faq {
        max-width:900px;
        margin: 0 auto;
    }
    .dl_faq>dt {
        padding-left: 65px;
    }
    .dl_faq>dt::before {
        left:40px;
    }
    .dl_faq>dd {
        padding:40px;
        padding-left: 65px;
    }
    .dl_faq>dd::before {
        top:40px;
        left:40px;
    }
}
/*==========================================================*/
/* contact-sec     											*/
/*==========================================================*/
.page-contact .site-beforefooter{
    display:none;
}
.contact-sec{
    position:relative;
    padding-bottom:40px;
}
.page-contact .beft-sec{
    display:none;
}
.page-contact .beft-reflet-sec{
    padding-top:40px;
}
.beforeform1{
    margin-bottom:40px;
}
.telWrap{
    margin-bottom:20px;
    border:solid 10px var(--thin-bk-color);
    padding:20px;
    border-radius:20px;
    margin-bottom:0;
}
.lineWrap{
    margin-bottom:20px;
}
.telWrap h2, .lineWrap h2{
    font-size:20px;
    margin-bottom:20px;
    color:var(--color1);
    font-weight:700;
    text-align:center;
}
.aftertel{
    text-align:center;
}
.telWrap .telnolink{
    width:100%;
    max-width:280px;
    height:60px;
    border-radius:30px;
    background:var(--color1);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:all 0.5s;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    padding-left:20px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
    font-size:24px;
    font-family:var(--lato);
    letter-spacing:1px;
}
.telWrap .telnolink i{
    font-size:32px;
    position:absolute;
    top:50%;
    left:30px;
    transform:translateY(-50%);
}
.telWrap .telnolink:hover{
    filter:brightness(1.1);
    color:#fff;
}
.line-btn a{
    width:100%;
    max-width:280px;
    height:60px;
    border-radius:30px;
    background:var(--hd-left-bt-color);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:all 0.5s;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    padding-left:20px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
}
.line-btn a i{
    font-size:32px;
    position:absolute;
    top:50%;
    left:30px;
    transform:translateY(-50%);
}
.line-btn a:hover{
    filter:brightness(1.1);
    color:#fff;
}
/* contactfrm */
.contactfrm-sec{
    background:var(--thin-bk-color2);
    padding:40px 0 80px 0;
}
.beforeform2{
    margin-bottom:30px;
}
.contact_notice{
    padding-left:20px;
    position:relative;
    margin-top:10px;
    font-size:14px;
}
.contact_notice:before{
    content:'※';
    position:absolute;
    top:0;
    left:0;
}
.form_group{
    width:100%;
    margin-bottom:30px;
    border-top: solid 1px #ccc;
    padding-top:20px;
}
.labelwrap{
    width:100%;
}
.form_group input, .form_group textarea, .form_group select{
    width:100%;
    padding:10px;
    border:none;
    outline:solid 1px #888;
    border-radius:5px;
}
.form_group input:focus, .form_group textarea:focus, .form_group select:focus{
    outline:solid 1px var(--color1);
}
.form_group input, .form_group select{
    height:50px;
    display:flex;
    justify-content:flex-start;
    align-items:center;
}
.formttl{
    display:block;
    margin-bottom:0.5em;
    position:relative;
    font-weight:500;
}
.for_require:before{
    content:'必須';
    padding:5px 10px;
    background:var(--color4);
    color:#fff;
    position:absolute;
    top:0;
    right:0;
    font-size:12px;
    line-height:1;
}
.for_option:before{
    content:'任意';
    padding:5px 10px;
    background:#aaa;
    color:#fff;
    position:absolute;
    top:0;
    right:0;
    font-size:12px;
    line-height:1;
}
.ttlsmall{
    font-size:14px;
    font-weight:400;
}
.wpcf7Formwrap .form_accept {
    padding: 17px 0;
}
.form_accept p:first-of-type{
    margin-bottom:1em;
}
.wpcf7Formwrap .form_accept a, .form_accept a:hover {
    color: var(--color4);
}
.form_accept i {
    margin: 0 7px 0 3px;
}
.wpcf7Formwrap input {
    max-width: 100%;
}
.wpcf7Formwrap input[type="checkbox"] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin-bottom: 3px;
    margin-right: 3px;
    border: 1px solid #aaa;
    position: relative;
    background: #fff;
}
.wpcf7Formwrap .form_accept .wpcf7-list-item label {
    font-weight: bold;
}
.wpcf7Formwrap input[type="submit"]:disabled {
    cursor: not-allowed;
    box-shadow: none !important;
    border: 1px solid #f8f8f8 !important;
    background-color: #f8f8f8 !important;
    color: #999 !important;
}
.wpcf7Formwrap input[type="submit"] {
    margin-top:40px;
    padding: 18px;
    width: 100%;
    border: 1px solid var(--font-color2);
    background-color: var(--font-color2);
    color: #fff;
    transition: all .25s;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 18px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width:400px;
}
.wpcf7Formwrap input[type="submit"]:hover{
    filter:brightness(1.1);
}
.br_area{
    display:none;
}
.zip-wrap{
    margin-bottom:10px;
    display:flex;
    width:100%;
    align-items:center;
    flex-direction: row;
}
.zip-wrap strong{
    width:25px;
}
.zip-wrap #zipcode{
    width:100px;
}
.address-wrap{
    width:100%;
}
.add-wrap{
    padding-left:25px;
    width:100%;
}
@media(min-width:768px){
    .beforeform1{
        width:fit-content;
        margin-left:auto;
        margin-right:auto;
    }
    .contact_method{
        display:flex;
        flex-flow:row nowrap;
        justify-content:space-between;
    }
    .telWrap{
        display:inline-block;
        width:59%;
    }
    .telWrap .telnolink{
        pointer-events:none;
        background:transparent;
        color:var(--font-color2);
        font-weight:900;
        font-size:24px;
    }
    .lineWrap{
        display:inline-block;
        width:39%;
        padding-top:30px;
    }
    .telWrap h2, .lineWrap h2{
        text-align:center;
    }
    .dl-tel dd a{
        pointer-events:none;
        font-weight:400;
        color:#000;
    }
    .dl-tel{
        width:100%;
        display:flex;
        flex-flow:row wrap;
    }
    .dl-tel dt{
        width:200px;
        font-size:14px;
        margin-bottom:10px;
    }
    .dl-tel dd{
        width:calc(100% - 200px);
        margin-bottom:10px;
    }
    .dl-tel dd a{
        font-size:17px;
    }
    .labelwrap{
        display:flex;
    }
    .formttl{
        width:290px;
        padding-left:1em;
    }
    .labelwrap>.wpcf7-form-control-wrap{
        width:calc(100% - 290px);
        padding-left:20px;
        padding-right:20px;
    }
    .address-wrap{
        width:calc(100% - 290px);
        padding-left:20px;
        padding-right:20px;
    }
    .wpcf7Formwrap .form_accept .wpcf7-form-control-wrap{
        display:block;
        width:100%;
    }
    .wpcf7Formwrap .form_accept .wpcf7-acceptance{
        display:block;
        width:100%;
    }
    .wpcf7Formwrap .form_accept .wpcf7-list-item{
        display:block;
        width:100%;
    }
    .wpcf7Formwrap .form_accept .wpcf7-list-item label{
        display:table;
        margin-left:auto;
        margin-right:auto;
    }
    .br_area{
        display:block;
    }
}
@media(min-width:992px){
    .telWrap{
        display:inline-block;
        width:60%;
    }
    .lineWrap{
        display:inline-block;
        width:40%;
        padding-top:30px;
    }
    .dl-tel dt{
        width:320px;
        font-size:17px;
    }
    .dl-tel dd{
        width:calc(100% - 320px);
        margin:0;
    }
    .dl-tel dd a{
        font-size:20px;        
    }
    .contactWrap{
        max-width:800px;
        margin-left:auto;
        margin-right:auto;
    }
    .labelwrap{
        display:flex;
        justify-content:space-between;
    }
    .formttl{
        width:38%;
    }
    .labelwrap>.wpcf7-form-control-wrap{
        width:58%;
        padding-left:0;
        padding-right:20px;
    }
    .address-wrap{
        width:58%;
        padding-left:0;
        padding-right:20px;
    }
    .br_area{
        display:none;
    }
}
/*==========================================================*/
/* privacy policy  											*/
/*==========================================================*/
.privacy-policy-sec{
    position:relative;
}
.h3org{
    font-size:1.5em;
    font-weight:700;
    margin-bottom:20px;
    margin-top:40px;
}
.h3org.first{
    margin-top:0;
}
.privacy-policy-sec p{
    line-height:2;
}
.privacy-policy-sec ul>li{
    font-size:17px;
    margin-top:0.5em;
}
.contactlink{
    width:fit-content;
    position:relative;
    transition:all 0.5s;
    font-weight:700;
}
.contactlink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--color4);
    transform: scale(0, 1);
    transform-origin: right top;
    position:absolute;
    bottom:0;
    left:0;
    transition:transform 0.5s;
}
.contactlink:hover{
    opacity:0.8;
}
.contactlink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
/*==========================================================*/
/* company-sec     											*/
/*==========================================================*/
.company-sec{
    position:relative;
    padding-bottom:80px;
}
.tbl-company{
    width:100%;
}
.tbl-company tr{
    width:100%;
    display:block;
    margin-bottom:20px;
}
.tbl-company th{
    display:block;
    background:var(--font-color2);
    color:#fff;
    padding:0.5em;
    border:solid 1px var(--font-color2);
    font-size:17px;
}
.tbl-company td{
    display:block;
    color:#000;
    padding:0.5em;
    border:solid 1px var(--font-color2);
    font-size:17px;
}
.office-wrap{
    width:100%;
    border-radius:10px;
    overflow:hidden;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}
.ul-office{
    list-style:none;
    padding:0;
    margin:0;
}
.ul-office li{
    margin-bottom:0.5em;
}
.ul-office li:last-of-type{
    margin-bottom:0;
}
.ul-office li .inner{
    width:100%;
    display:flex;
    flex-direction: row;
}
.ul-office li .inner p{
    width:fit-content;
    margin-left:5px;
    margin-right:5px;
}
.faxnolink{
    pointer-events: none;
}
.ul-bizpartner{
    margin:0;
    padding:0;
    list-style:none;
}
.ul-bizpartner>li{
    margin-bottom:0.5em;
}
.ul-bizpartner>li:last-of-type{
    margin-bottom:0;
}
.ul-items{
    margin:0;
    padding:0;
    list-style:none;
}
.ul-items>li{
    margin-bottom:0.5em;
}
.ul-items>li:last-of-type{
    margin-bottom:0;
}
.ul-award{
    margin:0;
    padding:0;
    list-style:none;
}
.ul-award>li{
    margin-bottom:0.5em;
}
.ul-award>li:last-of-type{
    margin-bottom:0;
}
.access-sec{
    padding:80px 0 180px 0;
    background:var(--stripe-linear-gradient);
}
.access-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.map{
    position:relative;
    width:100%;
    padding-top:150%;
}
.map iframe{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}
@media(min-width:768px){
    .ul-office .telnolink{
        pointer-events: none;
        font-weight:500;
    }
    .br_companyname{
        display:none;
    }
    .br_office{
        display:none;
    }
    .br_permission{
        display:none;
    }
    .tbl-company th{
        padding:1em;
    }
    .tbl-company td{
        padding:1em;
    }
    .map{
        padding-top:70%;
    }
}
@media(min-width:992px){
    .tbl-company tr{
        display:table-row;
    }
    .tbl-company th{
        display:table-cell;
        width:200px;
        border-bottom:rgba(255,255,255,0.5) solid 1px;
    }
    .tbl-company td{
        display:table-cell;
        width:calc(100% - 200px);
    }
    .tbl-company tr:last-of-type th{
        border-bottom-color:var(--font-color2);
    }
    .map{
        padding-top:500px;
    }
}
@media(min-width:992px){
    .tbl-company th{
        width:30%;
        padding:1em 2em;
    }
    .tbl-company td{
        width:70%;
        padding:1em 2em;
    }
}
/*==========================================================*/
/* flow          											*/
/*==========================================================*/
.flow-sec{
    position:relative;
    padding:80px 0;
}
.page-flow .section.breadSection{
    background:var(--thin-bk-color);
}
.flow-sec.flow-first-sec{
    background:var(--thin-bk-color);
    padding:40px 0;
}
.beforeflow{
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
    background:var(--linear-gradient1);
    color:#fff;
    padding:20px;
    border-radius:20px;
}
.ul-flow{
    margin:0;
    padding:0;
    list-style:none;
    display:block;
    width:100%;
    position:relative;
}
.ul-flow:before{
    content:'';
    width:5px;
    height:100%;
    background:var(--thin-bk-color);
    position:absolute;
    top:0;
    left:75px;
    z-index:-1;
}
.ul-flow>li{
    width:100%;
    margin-bottom:60px;
}
.ul-flow>li:last-of-type{
    margin-bottom:0;
}
.ul-flow>li .step{
    width:150px;
    height:40px;
    font-size:1.5em;
    font-family:var(--lato);
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius:20px;
    background:var(--stripe-linear-gradient);
    position:relative;
    letter-spacing:1px;
    margin-bottom:20px;
}
.ul-flow>li .step:before{
    content:'';
    width:100%;
    height:100%;
    border-radius:20px;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.dl-flow{
    margin-left:50px;
    width:calc(100% - 50px);
}
.dl-flow>dt{
    width:100%;
    margin-bottom:20px;
}
.dl-flow>dd{
    width:100%;
    margin:0;
}
.dl-flow>dt h3{
    font-weight:700;
    color:var(--font-color2);
    font-size:1.5em;
    margin-bottom:10px;
    white-space:nowrap;
    letter-spacing:-1px;
}
.dl-flow>dd .pict{
    width:100%;
    display:flex;
    flex-flow:row nowrap;
    justify-content:space-between;
}
.ul-flow>li:nth-of-type(2) .dl-flow>dd .pict img{
    width:32%;
}
.ul-flow>li:nth-of-type(3) .dl-flow>dd .pict img{
    width:32%;
}
.ul-flow>li:nth-of-type(4) .dl-flow>dd .pict img{
    width:32%;
}
.flow-sec.flow-last-sec{
    background:var(--stripe-linear-gradient);
    padding:40px 0 180px 0;
}
.flow-last-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color3);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.flow-last-sec .bizslide-pict{
    width:100%;
    height:180px;
}
.bizslide-pict .wrap img {
    width: 60%;
    height:180px;
    filter:grayscale(0);
}
@media(min-width:768px){
    .ul-flow>li .step{
        width:200px;
        height:50px;
        font-size:2em;
        border-radius:25px;
    }
    .flow-last-sec .bizslide-pict{
        width:100%;
        height:250px;
    }
    .bizslide-pict .wrap img {
        width: 40%;
        height:250px;
        filter:grayscale(0);
    }
}
@media(min-width:992px){
    .dl-flow{
        display:flex;
        flex-flow:row nowrap;
        width:100%;
        justify-content: space-between;
        margin-bottom:0;
    }
    .dl-flow>dt{
        width:49%;
    }
    .dl-flow>dd{
        width:49%;
    }
    .ul-flow>li:nth-of-type(2n) .dl-flow>dt{
        order:2;
    }
    .ul-flow>li:nth-of-type(2n) .dl-flow>dd{
        order:1;
    }
    .ul-flow>li:nth-of-type(2n+1) .dl-flow>dt{
        padding-left:40px;
    }
    .ul-flow>li:nth-of-type(2) .dl-flow>dd .pict img{
        width:32%;
        height:338px;
        object-fit:cover;
    }
    .ul-flow>li:nth-of-type(3) .dl-flow>dd .pict img{
        width:32%;
        height:338px;
        object-fit:cover;
    }
    .ul-flow>li:nth-of-type(4) .dl-flow>dd .pict img{
        width:32%;
        height:338px;
        object-fit:cover;
    }
    .flow-last-sec .bizslide-pict{
        width:100%;
        height:260px;
    }
    .bizslide-pict .wrap img {
        width: 30%;
        height:260px;
        filter:grayscale(0);
    }
}
@media(min-width:1200px){
    .ul-flow>li:nth-of-type(2) .dl-flow>dd .pict img{
        height:404px;
    }
    .ul-flow>li:nth-of-type(3) .dl-flow>dd .pict img{
        height:404px;
    }
    .ul-flow>li:nth-of-type(4) .dl-flow>dd .pict img{
        height:404px;
    }
    .flow-last-sec .bizslide-pict{
        width:100%;
        height:300px;
    }
    .bizslide-pict .wrap img {
        width: 30%;
        height:300px;
        filter:grayscale(0);
    }
}
@media(min-width:1400px){
    .ul-flow>li:nth-of-type(2) .dl-flow>dd .pict img{
        height:470px;
    }
    .ul-flow>li:nth-of-type(3) .dl-flow>dd .pict img{
        height:470px;
    }
    .ul-flow>li:nth-of-type(4) .dl-flow>dd .pict img{
        height:470px;
    }
}
/*==========================================================*/
/* faq          											*/
/*==========================================================*/
.faq-sec{
    position:relative;
    padding-bottom:180px;
}
.beforefaq{
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:40px;
}
/*==========================================================*/
/* works          											*/
/*==========================================================*/
.archive-works .section.breadSection{
    background:var(--stripe-linear-gradient);
}
.archive-works .section.breadSection:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.works-sec{
    position:relative;
    background:var(--stripe-linear-gradient);
    padding-bottom:180px;
}
.works-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.ul-woks{
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    justify-content:center;
    flex-flow:row wrap;
}
.ul-woks>li{
    width:100%;
    margin-bottom:40px;
}
.ul-woks>li a{
    display:block;
    width:80%;
    margin-left:auto;
    margin-right:auto;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
    border-radius:10px;
    overflow:hidden;
    transition:all 1s;
}
.ul-woks>li a>.pict{
    background:var(--thin-bk-color);
    overflow:hidden;
}
.ul-woks>li a>.pict>img{
    width:100%;
    aspect-ratio:5/3;
    object-fit:cover;
    transition:all 1s;
}
.ul-woks>li a>.desc{
    background:#fff;
    padding:10px;
    position:relative;
    min-height:150px;
}
.ul-woks>li a>.desc .p-ttl{
    color:var(--font-color2);
}
.ul-woks>li a>.desc time{
    position:absolute;
    bottom:10px;
    right:10px;
}
.ul-woks>li a:hover{
    filter:brightness(1.1);
}
.ul-woks>li a:hover img{
    transform:scale(1.1);
}
@media(min-width:768px){
    .ul-woks>li{
        width:50%;
        padding:0 5px;
    }
    .ul-woks>li a{
        width:100%;
    }
}
@media(min-width:992px){
    .ul-woks>li{
        width:33.333%;
        padding:0;
    }
    .ul-woks>li a>.desc .p-ttl{
        font-size:16px;
    }
    .ul-woks>li:nth-of-type(3n + 1){
        padding-right:2%;
    }
    .ul-woks>li:nth-of-type(3n + 2){
        padding-right:1%;
        padding-left:1%;
    }
    .ul-woks>li:nth-of-type(3n){
        padding-left:2%;
    }
}
/*==========================================================*/
/* works          											*/
/*==========================================================*/
.single-works .section.breadSection{
    background:var(--stripe-linear-gradient);
}
.single-works .section.breadSection:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.works-sec{
    position:relative;
    background:var(--stripe-linear-gradient);
}
.works-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.single-works .works-sec{
    padding:20px 0 180px 0;
}
.single-works-wrap{
    background:#fff;
    padding:20px;
    border-radius:20px;
    overflow:hidden;
}
/*==========================================================*/
/* our strength    											*/
/*==========================================================*/
.page-our-strengths .section.breadSection{
    background:var(--font-color2);
    color:#fff;
}
.page-our-strengths .breadSection .breadcrumb span{
    color:#fff;
}
.our-strengths-sec{
    background:var(--font-color2);
}
.our-strengths-wrap{
    width:100%;
}
.our-strengths-wrap p.heading_after{
    color:#fff;
}
/*==========================================================*/
/* service      											*/
/*==========================================================*/
.page-service .tpworks-sec{
    background:var(--stripe-linear-gradient);
    position:relative;
}
.page-service .tpworks-sec:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
/*==========================================================*/
/* strengths      											*/
/*==========================================================*/
.feature-sec{
    padding:80px 0;
    position:relative;
}
.feature-sec.bk-point2{
    padding-bottom:180px
}
.h2feature{
    width:fit-content;
    font-weight:700;
    margin-left:auto;
    margin-right:auto;
    background: var(--linear-gradient1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size:2em;
}
.page-style p{
    font-size:12px;
    white-space:nowrap;
    color:var(--font-color2);
    font-weight:700;
    text-align:center;
}
.page-style{
    margin-bottom:40px;
}
.beforelamp{
    margin-bottom:40px;
    font-weight:500;
}
.h3page{
    text-align:center;
    color:var(--color5);
    font-weight:700;
    margin-bottom:30px;
}
.feature-sec .ul-appflow>li .box{
    padding:40px 10px;
}
.feature-sec .ul-appflow>li .box .pict{
    width:150px;
    height:150px;
    border-radius:50%;
}
.feature-sec .ul-appflow>li .box .desc h3{
    font-size:1.2em;
}
.feature-sec .ul-appflow>li .box .desc p{
    text-align:justify;
}
.fit-content{
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
}
.bk-point{
    background:var(--stripe-linear-gradient);
}
.bk-point:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.bk-point2{
    background:var(--thin-bk-color3);
}
.appeal-wrap{
    border:solid 5px var(--font-color2);
    padding:20px;
    margin-bottom:40px;
    border-radius:20px;
}
.ul-appeal{
    padding-left:20px;
    margin-top:30px;
}
.ul-appeal>li{
    font-size:18px;
    margin-top:10px;
    font-weight:700;
    color:var(--font-color2);
}
.dl-appeal{
    margin:0;
    width:100%;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.dl-appeal>dt{
    margin:0;
    width:100%;
}
.dl-appeal>dt .pict{
    width:100%;
}
.dl-appeal>dt .pict>img{
    width:100%;
    aspect-ratio:5/3;
    object-fit:cover;
}
.dl-appeal>dd{
    margin:0;
    width:100%;
    padding:10px;
    background:#fff;
}
.customer_name{
    margin-bottom:10px;
    font-weight:600;
}
@media(min-width:768px){
    .h2feature{
        font-size:3em;
    }
    .page-style p{
        font-size:14px;
    }
    .feature-sec .ul-appflow>li .box .desc p{
        min-height:90px;
    }
    .dl-appeal{
        display:flex;
        padding:10px;
        flex-flow:row nowrap;
        background:#fff;
    }
    .dl-appeal>dt{
        width:30%;
        order:2;
    }
    .dl-appeal>dd{
        width:70%;
        order:1;
        background:transparent;
    }
    .appeal-wrap{
        padding:40px;
    }
    .dl-appeal>dt .pict>img{
        aspect-ratio:4/3;
        border-radius:10px;
        overflow:hidden;
    }
    .dl-appeal:nth-of-type(2n) dt{
        order:1;
    }
    .dl-appeal:nth-of-type(2n) dd{
        order:2;
    }
}
@media(min-width:992px){
    .feature-sec .ul-appflow>li .box .desc p{
        min-height:140px;
    }
    .dl-appeal>dt .pict>img{
        aspect-ratio:7/5;
    }
}
/*==========================================================*/
/* service      											*/
/*==========================================================*/
.page-service .section.breadSection{
    background:var(--stripe-linear-gradient);
    position:relative;
}
.page-service .section.breadSection:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--thin-bk-color2);
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}
.service-sec{
    position:relative;
}
.page-service .service-sec .hd-style .h2org, .page-service .background-sec .hd-style .h2org, .page-service .tpworks-sec .hd-style .h2org{
    width:fit-content;
    font-weight:700;
    margin-left:auto;
    margin-right:auto;
    background: var(--linear-gradient1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.service-sec .hd-style{
    margin-bottom:80px;
}
.dl-service{
    display:flex;
    flex-flow:row wrap;
    margin-bottom:40px;
}
.dl-service>dt{
    display:block;
    width:100%;
    margin-bottom:20px;
}
.dl-service>dd{
    display:block;
    width:100%;
}
.dl-service>dd p{
    line-height:2;
    text-align:justify;
}
.dl-service>dd strong{
    color:var(--font-color2);
}
.dl-service>dt .pict{
    width:calc(100% - 20px);
    position:relative;
}
.dl-service>dt .pict>img{
    border-radius:20px;
    overflow:hidden;
    position:relative;
    z-index:5;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.dl-service>dt .pict:before{
    content:'';
    width:100%;
    height:100%;
    background:var(--linear-gradient1);
    position:absolute;
    top:-20px;
    right:-20px;
    border-radius:20px;
    z-index:1;
}
/**/
.srv-contact-sec{
    background:var(--linear-gradient1);
    padding-bottom:20px;
}
.srv-contact-sec p{
    color:#fff;
}
.srv-contact-sec .p_srv_contact{
    text-align:center;
    font-size:1.5em;
    font-weight:700;
    margin-bottom:40px;
    font-family:var(--noto);
}
/**/
.background-sec{
    padding:80px 0;
}
.background-wrap{
    width:100%;
}
.background-wrap .box{
    padding:20px;
    border:4px solid var(--font-color2);
    border-radius:20px;
}
.background-wrap .box p{
    line-height:2;
    text-align: justify;
}
.background-wrap .box p strong{
    color:var(--font-color2);
}
.servicework-sec{
    padding-bottom:180px;
}
@media(min-width:768px){
    .service-sec .hd-style p br{
        display:none;
    }
    .dl-service{
        justify-content: space-between;
    }
    .dl-service>dt{
        width:48%;
        margin-bottom:40px;
    }
    .dl-service>dd{
        width:48%;
        margin-bottom:40px;
        display:flex;
        align-items:center;
    }
    .dl-service:nth-of-type(2n) dt{
        order:2;
    }
    .dl-service:nth-of-type(2n) dd{
        order:1;
    }
    .srv-contact-sec .p_srv_contact{
        font-size:2em;
    }
    .background-sec .hd-style p br{
        display:none;
    }
    .background-wrap .box{
        padding:40px;
        border:4px solid var(--font-color2);
        border-radius:40px;
    }
}
/*==========================================================*/
/* single         											*/
/*==========================================================*/
.post-sec{
    padding-bottom:180px;
}