/*!
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=Noto+Sans+JP:wght@100..900&family=Zen+Antique+Soft&family=Zen+Kaku+Gothic+New&display=swap');
/************************************************************/
:root{
    --logo-color1:#000;
    --logo-color2:#CA010B;
    --thin-font-color:#ddd;
    --topcatch-frame-color:rgba(0, 0, 0, 0.1);
    --noto-sans:"Noto Sans JP", sans-serif;
    --helvetica:"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    --zen-kaku:"Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    --zen-antique:"Zen Antique Soft", serif;
    --ptnB-pc-header-height:80px;
    --bk-color:#172439;
    --bk-transparent-color:rgb(23, 36, 57 ,0.85);
    --thin-bk-color:#2e4872;
    --cat-color:#0233a4;
    --link-color:#172439;
    --link-color2:#0233a4;
    --warning-color:#f9d521;
    --recruit-color:#da8e02;
    --com-third-color:#CA010B;
    --tbl-th-color:#c3c8cf;
    --tbl-bd-color:#30405a;
    --sp-pgheader-height: 200px;
    --tb-pgheader-height: 250px;
    --pc-pgheader-height: 350px;
}
/*==========================================================*/
/* defalt define											*/
/*==========================================================*/
body, p{
    font-size:17px;
    font-family:var(--zen-kaku);
    color:var(--thin-font-color);
}
body a{
    font-size:17px;
    color:#333;
    font-family:var(--zen-kaku);
    text-decoration:none;
}
body a:hover{
    color:var(--thin-font-color);
}
.nodata{
    color:var(--warning-color);
}
img{
    width:100%;
    height:auto;
}
.entry-body img{
    display:block;
    width:auto;
}
@media print {
    #mobile-menu {
        display: none !important;
    }
}
.grecaptcha-badge{
    z-index:10;
}
/*==========================================================*/
/* header         											*/
/*==========================================================*/
.site-header-wrap{
    position:fixed;
    z-index:1800;
    top:0;
    left:0;
    width:100%;
    height:var(--ptnB-sp-header-height);
    box-shadow:none;
    background:#fff;
}
.site-header-inner{
    justify-content:flex-start;
}
.site-header-logo{
    height:100%;
}
.site-header-logo a{
    display:inline-block;
    height:100%;
    padding:5px 0;
}
.site-header-logo a img{
    height:100%;
    width:auto;
}
.sp-logo{
    display:block;
}
.pc-logo{
    display:none;
}
.scrolled .site-header-wrap{
        background:rgba(255, 255, 255, 0.95);
}
@media(min-width:992px){
    .sp-logo{
        display:none;
    }
    .pc-logo{
        display:block;
    }
    .site-header.ptnB{
        height:auto;
    }
    .site-header-wrap{
        height:var(--ptnB-pc-header-height);
        background:var(--header-bk-color);
    }
    .ptnB .site-header-inner{
        height:var(--ptnB-pc-header-height);
    }
    .scrolled .sp-logo{
        display:block;
    }
    .scrolled .pc-logo{
        display:none;
    }
    .scrolled .site-header-menu>li>a{
        color:#000;
    }
    .scrolled .site-header-menu>li>a:hover{
        color:#000;
        text-shadow:none;
    }
}
/*==========================================================*/
/* mobile menu  											*/
/*==========================================================*/
.mobile-fixed-btn{
    position:fixed;
    top:0;
    right:0;
    z-index:2000;
    display:flex;
    flex-flow:row wrap;
    caret-color:transparent;
}
.mb_sign_in{
    display:flex;
    justify-content:center;
    align-items:center;
    width: calc(var(--ptnB-sp-header-height) - 10px);
    height: calc(var(--ptnB-sp-header-height) - 10px);
    background:var(--logo-color1);
    pointer-events: auto;
    cursor: pointer;
    color:#fff;
    transition:all 0.5s;
    font-family:var(--noto-sans);
    text-decoration:none;
    border-radius:50%;
    margin-top:5px;
    margin-right:5px;
}
.mb_sign_in .menu_name{
    padding:0;
}
.mb_sign_in i, .mb_sign_in svg{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}
.mb_sign_in small{
    display:block;
    font-weight:500;
    white-space:nowrap;
    font-size:12px;
    text-align:center;
}
.mb_sign_in:hover{
    opacity:0.8s;
}
.mb_sign_in:hover{
    color:#fff;
    filter:brightness(1.2);
}
/* mobile menu */
.site-mobile-menu>li{
    margin-bottom:0;
    padding-bottom:0;
    border:none;
}
.site-mobile-menu>li>a{
    display:block;
    padding:12px 5px;
    font-family:var(--helvetica);
    font-weight:700;
    letter-spacing:1.5px;
    font-size:22px;
    color:#ffffff;
    line-height:1;
    position:relative;
    transition:all 0.5s;
}
.site-mobile-menu>li>a:hover{
    background:#dddddd;
    color:#555;
}
.site-mobile-menu>li>a:not([href]):not([class]){
    color:#ffffff;
}
.site-mobile-menu>li>a .menu_name{
    padding:0;
}
.mobile-navi-btn>span{
    position: absolute;
    background: var(--logo-color1);
    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 span:first-of-type{
    top:30%;
}
.mobile-navi-btn span:nth-of-type(2){
    top:50%;
}
.mobile-navi-btn span:last-of-type{
    top:70%;
}
.mobile-navi-btn.right{
    width:var(--ptnB-sp-header-height);
    height:var(--ptnB-sp-header-height);
    top:0;
    right:0;
    background:transparent;
    position:relative;
}
.mobile-navi-btn.mobile-navi-open span{
    background:#fff;
}
.mobile-navi-btn.mobile-navi-open span:nth-child(1){
    top: 32%;
    left: calc(50% - 4px);
    transform: rotate(-45deg) translate(-50%,-50%);
}
.mobile-navi-btn.mobile-navi-open span:nth-of-type(2){
    opacity:0;
}
.mobile-navi-btn.mobile-navi-open span:last-of-type{
    top: 68%;
    left: calc(50% - 6px);
    transform: rotate(45deg) translate(-50%,-50%);
}
.mobile-navi-btn:hover{
    filter:brightness(1.2);
}
.scrolled .mobile-navi-btn.right{
    position:relative;
}
.mobile-menu-slide{
    top:0;
    left:auto;
    right:-100%;
    transition:right 0.5s ease-in;
    padding-top:calc(var(--ptnB-sp-header-height) + 20px);
}
.mobile-menu-slide.mobile-menu-open{
    left:auto;
    right:0;
}
.site-mobile-nav{
    padding-top:20px;
    padding:20px 5% 0 5%;
}
.site-mobile-nav>div{
    margin:0;
    border:0;
    background:transparent;
    padding-top:0;
    padding-bottom:0;
}
.mobile-logo{
    display:flex;
    max-width:200px;
    margin-left:auto;
    margin-right:auto;
}
.mobile-logo a{
    display:inline-block;
    width:100%;
    transition:all 0.5s;
}
.mobile-logo a:hover{
    opacity:0.8;
}
/* sub menu */
.site-mobile-menu ul.sub-menu{
    padding-left:15px;
    display:none;
}
.site-mobile-menu ul.sub-menu>li{
    margin:0;
    padding:0;
}
.site-mobile-menu ul.sub-menu>li>a{
    font-weight:700;
    font-size:22px;
    display:block;
    padding:12px 5px;
    line-height:1;
    transition:all 0.5s;
    letter-spacing:1.5px;
}
.site-mobile-menu ul.sub-menu>li>a:hover{
    background:#ddd;
    color:#555;
}
.site-mobile-menu>li.menu-item-has-children>a::before, .site-mobile-menu>li.menu-item-has-children>a::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 15px;
    height: 2px;
    background: #ffffff;
    transition: all .3s;
}
.site-mobile-menu>li.menu-item-has-children>a::before{
    right: 10px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children>a::after{
    right: 11px;
    top: calc(50% - 1px);
    -webkit-transform: rotate(90deg) translateY(-50%);
    -moz-transform: rotate(90deg) translateY(-50%);
    -ms-transform: rotate(90deg) translateY(-50%);
    transform: rotate(90deg) translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children.clicked>a{
    color:#dddddd;
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::before{
    opacity:0;
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::after {
    -webkit-transform: rotate(0deg) translateY(-50%);
    -moz-transform: rotate(0deg) translateY(-50%);
    -ms-transform: rotate(0deg) translateY(-50%);
    transform: rotate(0deg) translateY(-50%);
    background: #dddddd;
}
.site-mobile-menu>li>a:not([href]):not([class]):hover{
    color:#555;
}
.site-mobile-menu>li>a:not([href]):not([class]):hover:before{
    background:#555;
}
.site-mobile-menu>li>a:not([href]):not([class]):hover:after{
    background:#555;
}
.mobile-copyright{
    width:100%;
    padding-bottom:60px;
    position:absolute;
    bottom:0;
    left:0;
}
.mobile-copyright>a{
    display:table;
    margin-left:auto;
    margin-right:auto;
    color:#ffffff;
    margin-bottom:10px;
    font-size:14px;
    transition:all 0.5s;
}
.mobile-copyright>p{
    display:table;
    margin-left:auto;
    margin-right:auto;
    color:#ffffff;
    font-size:14px;
}
@media(min-width:576px){
    .site-mobile-nav{
        padding:20px 10% 0 10%;
    }
}
@media(min-width:992px){
    .mobile-fixed-btn{
        display:none;
    }
}
/*==========================================================*/
/* global menu    											*/
/*==========================================================*/
@media(min-width:992px){
    .site-header-menu>li>a{
        font-size:16px;
        font-family:var(--noto-sans);
        font-weight:500;
    }
    .site-header-menu>li>a:hover{
        color:#fff;
        text-shadow: 2px 0 3px var(--topcatch-frame-color),
        0 2px 3px var(--topcatch-frame-color),
        2px 2px 3px var(--topcatch-frame-color),
        -2px 0 3px var(--topcatch-frame-color),
        -2px 2px 3px var(--topcatch-frame-color),
        0 -2px 3px var(--topcatch-frame-color),
        -2px -2px 3px var(--topcatch-frame-color),
        2px -2px 3px var(--topcatch-frame-color);
    }
}
/*==========================================================*/
/* fade-in       											*/
/*==========================================================*/
.fade-in{
    opacity:0;
    transition:all 1s;
    transform:translateY(20px);
}
.fade-in.scroll-in{
    animation: fade-in ease 1s forwards;
}
.hd-style.scroll-in h2>span:before{
    animation: passing-bar 1s ease 0s 1 normal forwards;
    animation-delay: 1s;
}
.hd-style.scroll-in h2>span{
    animation:passing-txt 0s ease .5s 1 normal forwards;
    animation-delay: 1s;
}
.fade-right{
    transform:translateX(-100%);
    opacity:0;
    transition:all 1s cubic-bezier(0.77, 0, 0.175, 1);
}
.fade-left{
    transform:translateX(100%);
    opacity:0;
    transition:all 1s cubic-bezier(0.77, 0, 0.175, 1);
}
.fade-right.scroll-in{
    transform:translateX(0);
    opacity:1;
}
.fade-left.scroll-in{
    transform:translateX(0);
    opacity:1;
}
@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes passing-txt{
	0% { opacity:0; }
	70% { opacity:0; }
	100% { opacity:1; }
}
@keyframes fade-in{
	0% {
         opacity:0;
         transform:translateY(20px);
    }
	100% {
        opacity:1;
        transform:translateY(0);
    }
}
/*==========================================================*/
/* breadcrumb      											*/
/*==========================================================*/
.section.breadSection{
    background:var(--bk-color);
    color:#fff;
    position:relative;
    z-index:5;
}
.breadSection .breadcrumb a{
    color:#fff;
    vertical-align: unset;
    font-size:14px;
}
.breadSection .breadcrumb span{
    color:#fff;
}
.page-recruit .section.breadSection{
    background:var(--thin-bk-color);
}
.page-company .section.breadSection{
    background:var(--thin-bk-color);
}
/*==========================================================*/
/* before footer   											*/
/*==========================================================*/
.beforeft-sec{
    position:relative;
    background:var(--thin-bk-color);
    padding:80px 0;
    z-index:5;
}
.beforeft-wrap{
    width:100%;
}
.beforeft-wrap .hd-style{
    text-align:center;
}
.ul-beforeft{
    width:100%;
    padding:0;
    margin:0;
    list-style:none;
}
.ul-beforeft>li{
    margin-bottom:20px;
}
.ul-beforeft>li a{
    display:flex;
    justify-content:center;
    align-items: center;
    width:100%;
    max-width:280px;
    height:50px;
    border-radius:25px;
    color:#fff;
    margin-left:auto;
    margin-right:auto;
    transition:all 0.5s;
    position:relative;
    padding-left:20px;
}
.ul-beforeft>li .telnolink{
    border:solid 1px #fff;
    font-size:24px;
}
.ul-beforeft>li .contactlink{
    background:var(--recruit-color);
}
.ul-beforeft>li a i{
    display:block;
    position:absolute;
    top:50%;
    left:40px;
    transform:translateY(-50%);
    font-size:24px;
}
.ul-beforeft>li .telnolink:hover{
    background:#fff;
    color:var(--bk-color);
    transform:scale(1.1);
}
.ul-beforeft>li .contactlink:hover{
    transform:scale(1.1);
    filter:brightness(1.1);
}
@media(min-width:768px){
    .ul-beforeft{
        max-width:760px;
        margin-left:auto;
        margin-right:auto;
    }
    .ul-beforeft>li .telnolink{
        pointer-events:none;
    }
    .ul-beforeft{
        display:flex;
        flex-flow:row nowrap;
        justify-content: center;
    }
    .ul-beforeft>li{
        margin-bottom:0;
        width:50%;
    }

}
/*==========================================================*/
/* footer         											*/
/*==========================================================*/
.site-footer{
    padding-top:80px;
    padding-bottom:100px;
    position:relative;
    z-index:5;
}
.footer_widget{
    width:100%;
}
.ft-left-sec{
    width:100%;
    margin-bottom:40px;
}
.ft-left-sec .wrap{
    width:100%;
}
.ft-logo{
    width:100%;
    max-width:250px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:20px;
}
.ft_menu{
    width:100%;
    text-align:center;
    display:flex;
    flex-flow:row wrap;
    justify-content:space-evenly;
}
.ft_menu a{
    color:#fff;
    font-size:17px;
    display:table;
    font-weight:500;
    position:relative;
}
.ft_menu a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.ft_menu a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.ft_menu a:hover{
    color:#fff;
    opacity:0.8;
}
/* footermenu */
.menu-footermenu-container{
    padding-left:2rem;
    padding-right:2rem;
}
.footerwidget ul.menu{
    padding:0;
    margin:0;
    border-top:solid 1px var(--logo-color2);
    padding-top:20px;
    margin-bottom:60px;
}
.footerwidget ul.menu>li{
    padding:5px 0;
}
.footerwidget ul.menu>li a{
    font-size:17px;
    font-weight:500;
    display:table;
    width:100%;
    position:relative;
}
.footerwidget ul.menu>li a>span{
    display:flex;
    width:100%;
    justify-content:space-between;
}
.footerwidget ul.menu>li a .attr-title{
    font-size:14px;
    font-weight:400;
    color:var(--thin-font-color);
}
.footerwidget ul.menu>li a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    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:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.footerwidget ul.menu>li a:hover{
    opacity:0.8;
}
.copyright{
    font-weight:500;
    font-family:var(--noto-sans);
}
@media(min-width:768px){
    .footer_widget:first-of-type{
        width:45%;
    }
    .footer_widget:last-of-type{
        width:55%;
    }
}
@media(min-width:992px){
    .footerwidget{
        margin-bottom:60px;
    }
    .footer_widget:first-of-type{
        width:40%;
    }
    .footer_widget:last-of-type{
        width:60%;
    }
    .footerwidget ul.menu{
        margin:0;
        border-top:none;
        display:flex;
        flex-flow:row wrap;
        width:100%;
        justify-content:space-between;
        position:relative;
    }
    .footerwidget ul.menu:before{
        content:'';
        width:45%;
        height:1px;
        background:var(--logo-color2);
        position:absolute;
        top:0;
        left:0;
    }
    .footerwidget ul.menu:after{
        content:'';
        width:45%;
        height:1px;
        background:var(--logo-color2);
        position:absolute;
        top:0;
        right:0;
    }
    .footerwidget ul.menu>li{
        width:45%;
    }
}
/*==========================================================*/
/* page header          									*/
/*==========================================================*/
.page-header{
    background:url('./img/pghead-default.png') center center / cover no-repeat;
    filter:grayscale(50%);
    position:relative;
    z-index:5;
}
.page-header-ttl .jp{
    font-weight:900;
    letter-spacing: 2px;
}
@media(min-width:768px){
    .page-header-ttl .jp{
        font-size:48px;
    }
}
/*==========================================================*/
/* front page back ground									*/
/*==========================================================*/
.front-page{
    position:relative;
}
.front-page:before{
    content:'';
    width:100%;
    height:100%;
    background:url('./img/bk-top.jpg') center center / cover no-repeat;
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    filter:blur(1px) grayscale(50%);
}
/*==========================================================*/
/* top slide    											*/
/*==========================================================*/
.topslide-sec{
    position:relative;
    padding:0;
}
.topslide-wrap{
    width:100%;
    padding-top:120%;
    position:relative;
}
.topslide-wrap video{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    top:0;
    left:0;
    filter:grayscale(80%);
}
.topcatch-wrap{
    padding:20px 0 20px 0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--bk-color);
}
.topcatch-wrap .inner{
    transform:translateY(20px);
    animation: upwords 1s forwards;
    animation-delay: 1s;
    opacity:0;
}
.topcatch-wrap h2{
    font-size:1.7em;
    white-space:nowrap;
    font-family:var(--helvetica);
    font-weight:700;
    color:#fff;
}
.topcatch-wrap p{
    color:#fff;
}
@keyframes upwords{
    0% {
        transform:translateY(20px);
        opacity:0;
    }
    100%{
        transform:translateY(0);
        opacity:1;
    }
}
@media(min-width:768px){
    /* top catch */
    .topcatch-wrap{
        padding:0;
        position:absolute;
        bottom:10%;
        left:10%;
        display:block;
        background:transparent;
    }
    .topcatch-wrap h2{
        padding:0;
        color:#fff;
        line-height:1.2;
        font-weight:700;
        text-shadow: 2px 0 3px var(--topcatch-frame-color),
        0 2px 3px var(--topcatch-frame-color),
        2px 2px 3px var(--topcatch-frame-color),
        -2px 0 3px var(--topcatch-frame-color),
        -2px 2px 3px var(--topcatch-frame-color),
        0 -2px 3px var(--topcatch-frame-color),
        -2px -2px 3px var(--topcatch-frame-color),
        2px -2px 3px var(--topcatch-frame-color);
        font-size:3.2em;
    }
    .topcatch-wrap p{
        color:#fff;
        text-shadow: 2px 0 3px var(--topcatch-frame-color),
        0 2px 3px var(--topcatch-frame-color),
        2px 2px 3px var(--topcatch-frame-color),
        -2px 0 3px var(--topcatch-frame-color),
        -2px 2px 3px var(--topcatch-frame-color),
        0 -2px 3px var(--topcatch-frame-color),
        -2px -2px 3px var(--topcatch-frame-color),
        2px -2px 3px var(--topcatch-frame-color);
    }
    .topcatch-wrap p br{
        display:none;
    }
}
@media(min-width:992px){
    .topslide-wrap{
        width:100%;
        padding-top:100vh;
        position:relative;
    }
    .topcatch-wrap h2{
        font-size:4em;
    }
    .topcatch-wrap p{
        font-size:18px;
    }
}
@media(min-width:1200px){
    .topcatch-wrap h2{
        font-size:4.7em;
    }
    .topcatch-wrap p{
        font-size:20px;
    }
}
@media(min-width:1400px){
    .topcatch-wrap h2{
        font-size:5em;
    }
    .topcatch-wrap p{
        font-size:24px;
    }
}
/*==========================================================*/
/* tppage-sec      											*/
/*==========================================================*/
.tppage-sec{
    position:relative;
    padding:80px 0;
    background:var(--bk-transparent-color);
}
/*==========================================================*/
/* top mission    											*/
/*==========================================================*/
#tpmission{
    padding-top:0;
}
.dl-mission{
    width:100%;
    margin:0;
}
.dl-mission dt{
    width:100%;
    margin:0;
}
.dl-mission dd{
    width:100%;
    margin:0;
    padding:40px 20px;
}
.dl-mission dt .pict{
    width:100%;
}
.dl-mission dt .pict>img{
    filter:grayscale(50%);
}
.hd-style{
    width:100%;
    margin-bottom:30px;
}
.h2org{
    font-size:2em;
    font-family:var(--helvetica);
    color:#fff;
    font-weight:700;
}
.hd-style p{
    color:#fff;
    font-size:14px;
    font-weight:700;
}
.dl-mission dd .desc .box{
    margin-bottom:20px;
}
.dl-mission dd .desc .box p{
    color:var(--thin-font-color);
    line-height:2;
}
.ul-tpmission{
    margin:0;
    padding:0;
    display:flex;
    flex-flow:row nowrap;
    list-style:none;
    width:100%;
    justify-content:space-between;
}
.ul-tpmission li{
    width:48%;
}
.ul-tpmission li img{
    width:100%;
    aspect-ratio:5/3;
    object-fit:cover;
    filter:grayscale(50%);
}
.viewmore-btn{
    width:100%;
    margin-top:20px;
}
.viewmore-btn a{
    width:100%;
    max-width:250px;
    height:50px;
    border-radius:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--logo-color2);
    color:#fff;
    margin-left:auto;
    margin-right:auto;
    transition:all 0.5s;
}
.viewmore-btn a:hover{
    color:#fff;
    filter:brightness(1.1);
    transform:scale(1.1);
}
@media(min-width:768px){
    .dl-mission dd .fade-in.scroll-in{
        animation-delay: 1s;
    }
    .h2org{
        font-size:3em;
    }
    #tpmission{
        padding-top:80px;
    }
    .dl-mission{
        max-width:740px;
        margin-left:auto;
        margin-right:auto;
        display:flex;
        flex-flow:row wrap;
        justify-content:space-between;
    }
    .dl-mission dt{
        display:inline-block;
        width:49%;
    }
    .dl-mission dd{
        display:inline-block;
        width:49%;
        padding:0;
    }
}
@media(min-width:992px){
    .dl-mission{
        max-width:960px;
    }
    .dl-mission dd .desc .box{
        margin-bottom:40px;
    }
    .ul-tpmission li img{
        aspect-ratio:100/117;
    }
}
@media(min-width:1200px){
    .dl-mission{
        max-width:1140px;
    }
    .ul-tpmission li img{
        aspect-ratio:100/155;
    }
}
@media(min-width:1400px){
    .dl-mission{
        max-width:1320px;
    }
    .ul-tpmission li img{
        aspect-ratio:100/172;
    }
}
/*==========================================================*/
/* top service    											*/
/*==========================================================*/
.dl-tpservice{
    width:100%;
    margin:0;
}
.dl-tpservice dt{
    width:100%;
    margin:0;
    font-weight:400;
    padding:0 20px;
}
.dl-tpservice dd{
    width:100%;
    margin:0;
    padding-top:50px;
}
.dl-tpservice dt .desc{
    width:100%;
}
.dl-tpservice dt .desc .box{
    width:100%;
}
.dl-tpservice dt .desc .box p{
    color:var(--thin-font-color);
    line-height:2;
}
/* 横スクロール */
.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;
}
.viewmore-btn.pc-btn{
    display:none;
}
@media(min-width:768px){
    .dl-tpservice dt{
        max-width:740px;
        margin-left:auto;
        margin-right:auto;
    }
    .bizslide-pict {
        height:300px;
    }
    .bizslide-pict .wrap img {
        width: 50%;
        height:300px;
    }
}
@media(min-width:992px){
    .dl-tpservice dt{
        max-width:960px;
        margin-left:auto;
        margin-right:auto;
    }
    .bizslide-pict {
        height:320px;
    }
    .bizslide-pict .wrap img {
        width: 40%;
        height:320px;
    }
}
@media(min-width:1200px){
    .viewmore-btn.pc-btn{
        display:block;
    }
    .viewmore-btn.sp-btn{
        display:none;
    }
    .dl-tpservice{
        display:flex;
        flex-flow:row nowrap;
        width:100%;
        justify-content:space-between;
    }
    .dl-tpservice dt{
        max-width:unset;
        padding:0;
        width:49%;
        display:inline-block;
        margin-left:unset;
        margin-right:unset;
        padding-left:calc( (100% - 1140px) / 2 );
    }
    .dl-tpservice dd{
        padding-top:0;
        width:49%;
        display:inline-block;
    }
    .dl-tpservice dt .desc{
        width:100%;
    }
    .bizslide-pict {
        height:400px;
    }
    .bizslide-pict .wrap img {
        width: 70%;
        height:400px;
    }

}
@media(min-width:1400px){
    .dl-tpservice dt{
        padding-left:calc( (100% - 1320px) / 2 );
    }
}
/*==========================================================*/
/* top information 											*/
/*==========================================================*/
#tpinfo .hd-style .h2org{
    text-align:center;
}
#tpinfo .hd-style p{
    text-align:center;
}
.tpinfo-wrap{
    width:100%;
}
.ul-infolist{
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-flow:row wrap;
    justify-content:space-between;
}
.li_infolist{
    display:block;
    margin-top:40px;
    padding:0 20px;
}
.li_infolist a{
    width:100%;
    display:block;
    border-radius:20px;
    overflow:hidden;
    transition:all 1s;
}
.li_infolist a .pict{
    width:100%;
    position:relative;
    overflow:hidden;
}
.li_infolist a .pict>img{
    width:100%;
    aspect-ratio:5/3;
    object-fit:cover;
    transition:all 1s;
    filter:grayscale(50%);
}
.li_infolist a:hover{
    filter:brightness(1.1);
}
.li_infolist a:hover img{
    transform:scale(1.1);
    filter:grayscale(0);
}
.post-new{
    background:var(--logo-color2);
    color:#fff;
    padding:5px 10px;
    font-size:14px;
    position:absolute;
    top:10px;
    left:10px;
    line-height:1;
}
.li_infolist a .desc{
    width:100%;
    background:#fff;
    padding:10px;
}
.li_infolist a .desc time{
    font-size:14px;
}
.li_infolist a h3{
    font-size:17px;
    margin-bottom:20px;
    min-height:70px;
}
.ul-category{
    width:100%;
    display:flex;
    flex-flow:row wrap;
    justify-content:flex-end;
}
.ul-category>li{
    margin-left:5px;
}
.ul-category>li span{
    display:inline-block;
    padding:5px 10px;
    font-size:14px;
    background:var(--cat-color);
    color:#fff;
    line-height:1;
    white-space:nowrap;
}
/* slick-prev slick-arrow */
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index:5;
}
.slick-prev{
    left:0;
}
.slick-next{
    right:0;
}
.slick-prev:before, .slick-next:before{
    color:var(--logo-color2);
    opacity:1;
    font-size:40px;
}
.slick-dots{
    bottom:-50px;
}
.slick-dots li{
    width:25px;
    height:25px;
    margin:0;
}
.slick-dots li button{
    width:25px;
    height:25px;
}
.slick-dots li button:before{
    width:25px;
    height:25px;
    color:#fff;
    opacity:0.3;
    transition:all 0.5s;
    font-size:14px;
}
.slick-dots li.slick-active button:before{
    color:#fff;
}
#tpinfo .viewmore-btn{
    margin-top:60px;
}
@media(min-width:768px){
    .li_infolist{
        width:48%;
        display:inline-block;
        margin-left:auto;
        margin-right:auto;
        margin-top:40px;
    }
    .li_infolist a h3{
        min-height:50px;
    }
}
@media(min-width:992px){
    .li_infolist{
        width:24%;
        padding:0 10px;
    }
    .li_infolist a h3{
        min-height:80px;
    }
    .li_infolist a .pict>img{
        aspect-ratio:4/3;
    }
}
@media(min-width:992px){
    .li_infolist a .pict>img{
        aspect-ratio:5/3;
    }
    .li_infolist{
        width:23%;
    }
}
/*==========================================================*/
/* bk color      											*/
/*==========================================================*/
.dl-tprecruit{
    width:100%;
    margin:0;
    display:block;
}
.dl-tprecruit dt{
    font-weight:400;
    width:100%;
    margin:0 0 40px 0;
    padding:0 20px;
}
.dl-tprecruit dd{
    width:100%;
    margin:0;
}
.dl-tprecruit dt .box{
    width:100%;
}
.dl-tprecruit dt .box p{
    color:var(--thin-font-color);
}
.dl-tprecruit dd .pict{
    margin-bottom:10px;
}
.dl-tprecruit dd .pict>img{
    filter:grayscale(50%);
}
#tprecruit .viewmore-btn a{
    background:var(--recruit-color);
}
.ul-tprecruit{
    width:100%;
    padding:0;
    margin:20px 0 0 0;
    list-style:none;
    display:flex;
    flex-flow:row wrap;
    justify-content:space-between;
}
.ul-tprecruit>li{
    width:32%;
}
.ul-tprecruit>li img{
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
    filter:grayscale(60%);
}
@media(min-width:786px){
    .dl-tprecruit dt{
        max-width:760px;
        margin-left:auto;
        margin-right:auto;
    }
}
@media(min-width:992px){
    .dl-tprecruit{
        display:flex;
        flex-flow:row wrap;
        width:100%;
        justify-content:space-between;
    }
    .dl-tprecruit dt{
        display:inline-block;
        max-width:unset;
        padding:0;
        width:48%;
        order:2;
        padding-right:calc((100% - 960px) / 2);
        margin:0;
    }
    .dl-tprecruit dd{
        width:48%;
        order:1;
    }
    .dl-tprecruit dd .pict{
        margin-bottom:0;
    }
    .dl-tprecruit dd .pict>img{
        width:100%;
        height:560px;
        aspect-ratio:unset;
        object-fit:cover;
    }
    .ul-tprecruit>li img{
        height:215px;
        aspect-ratio:unset;
    }
    .dl-tprecruit dt .fade-in.scroll-in{
        animation-delay: 1s;
    }
}
@media(min-width:1200px){
    .dl-tprecruit dt{
        padding-right:calc((100% - 1140px) / 2);
    }
}
@media(min-width:1400px){
    .dl-tprecruit dt{
        padding-right:calc((100% - 1320px) / 2);
    }
    .ul-tprecruit>li img{
        height:272px;
    }
}
/*==========================================================*/
/* single         											*/
/*==========================================================*/
.page-ttl .jp{
    color:var(--bk-color);
    font-family:var(--noto-sans);
}
.entry-body{
    margin-bottom:40px;
}
.bar-btn a{
    font-family:var(--noto-sans);
    background:var(--thin-bk-color);
    color:#fff;
    border:none;
}
.bar-btn a:hover{
    color:#fff;
}
.bar-btn a:before{
    background:var(--logo-color2);
}
.bar-btn a:after{
    background:var(--logo-color2);
}
/*==========================================================*/
/* privacy policy  											*/
/*==========================================================*/
.privacy-sec{
    position:relative;
    background:var(--bk-color);
    padding-bottom:80px;
}
.privacy-sec p{
    color:#fff;
}
.detail-wrap{
    margin-top:40px;
}
.h3org{
    font-size:2em;
    color:#fff;
    padding-left:10px;
    position:relative;
    margin-bottom:20px;
}
.h3org:before{
    content:'';
    width:4px;
    height:95%;
    background:var(--logo-color2);
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
}
.privacy-sec .h3org{
    font-size:1.5em;
    padding-top:5px;
    padding-bottom:10px;
    padding-left:15px;
    border-bottom: dashed 1px #aaa;
}
.ul_pri{
    padding-left:0;
    margin-top:1em;
    margin-bottom:0;
    counter-reset: list-counter;
    list-style:none;
}
.ul_pri>li{
    font-size:17px;
    margin-top:4px;
    counter-increment: list-counter;
    padding-left:24px;
    position:relative;
    color:#fff;
}
.ul_pri>li:before{
    content:"(" counter(list-counter) ")";
    display:inline-block;
    position:absolute;
    top:0;
    left:0;
}
.privacy-sec .detail-wrap a{
    width:fit-content;
    font-weight:700;
    color:#fff;
    transition:all 0.5s;
    position:relative;
}
.privacy-sec .detail-wrap a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.privacy-sec .detail-wrap a:hover{
    opacity:0.8;
}
.privacy-sec .detail-wrap a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.privacy-sec .detail-wrap a.faxnolink{
    pointer-events:none;
    font-weight:400;
}
@media(min-width:768px){
    .privacy-sec .detail-wrap a.telnolink{
        pointer-events:none;
        font-weight:400;
    }
}
/*==========================================================*/
/* contact-sec      										*/
/*==========================================================*/
.contact-sec{
    position:relative;
    background:var(--bk-color);
}
.contact-sec .contains-wrap{
    max-width:800px;
    margin-left:auto;
    margin-right:auto;
}
.contact-sec p{
    color:#fff;
}
.contact-sec a.telnolink{
    width:fit-content;
    color:#fff;
    position:relative;
    transition:all 0.5s;
    font-weight:700;
}
.contact-sec a.telnolink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.contact-sec a.telnolink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.contact-wrap{
    margin-top:80px;
}
.div-contactfm{
    width:100%;
    margin-bottom:20px;
}
.div-contactfm label{
    width:100%;
    font-weight:500;
    margin-bottom:10px;
    position:relative;
    color:#fff;
}
input[type='text'], input[type='email'], input[type='tel']{
    width:100%;
    height:60px;
    padding:5px;
    background-color: #fff;
    box-shadow: none !important;
    line-height: 1.5em;
    appearance: none;
    border: 1px solid #c7c7c7;
}
input[type='text']:focus, input[type='email']:focus, input[type='tel']:focus{
    outline:solid 1px var(--warning-color);
}
textarea{
    width:100%;
    padding:5px;
    background-color: #fff;
    box-shadow: none !important;
    line-height: 1.5em;
    appearance: none;
    border: 1px solid #c7c7c7;
}
textarea:focus{
    outline:solid 1px var(--warning-color);
}
input[type='submit']{
    width:100%;
    max-width:460px;
    height:60px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--com-third-color);
    color:#fff;
    border:none;
    margin:0 auto;
    transition:all 0.3s;
}
input[type='submit']:hover{
    filter:brightness(1.1);
}
input[type='submit']:disabled{
    filter:brightness(0.8);
}
input[type='submit']:hover:disabled{
    filter:brightness(0.8);
}
.pripol-btn{
    padding:10px 0;
}
.pripol-btn>div{
    margin-bottom:30px;
    color:#fff;
}
.pripol-btn a{
    color:#fff;
    text-decoration:underline;
    margin-right:5px;
    transition:0.5s;
    width:fit-content;
    position:relative;
}
.pripol-btn a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.pripol-btn a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.pripol-btn a:hover{
    text-decoration:none;
    color:#fff;
    opacity:0.8;
}
.pripol-btn .square{
    display:inline-block;
    position:relative;
    padding:10px;
}
.pripol-btn .square:before{
    content:'';
    width:13px;
    height:13px;
    border:solid 1px #555;
    border-radius:2px;
    background:#fff;
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}
.checkbox-pripol{
    display:flex;
    justify-content:center;
    align-items:center;
}
.checkbox-pripol label{
    display:flex;
    align-items:center;
}
input[name='acceptance-privacypolicy']{
    width:18px;
    height:18px;
    margin-right:10px;
}
.pripol-desc{
    display:flex;
    justify-content:center;
}
.p-desc .require{
    color:#ff0000;
}
.require{
    font-weight:400;
    display:flex;
    width:50px;
    height:26px;
    justify-content:center;
    align-items:center;
    background:var(--logo-color2);
    color:#fff;
    font-size:12px;
    border-radius:13px;
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
}
.page-privacy-policy .dl-company>dd .contactlink{
    display:inline-block;
    position:relative;
    transition:all 0.5s;
}
.page-privacy-policy .dl-company>dd .contactlink:before{
    content:'';
    width:0;
    height:1px;
    display:inline-block;
    background:#000;
    position:absolute;
    left:0;
    bottom:0;
    transition:all 0.5s;
}
.page-privacy-policy .dl-company>dd .contactlink:hover{
    opacity:0.8;
}
.page-privacy-policy .dl-company>dd .contactlink:hover:before{
    width:100%;
}
.wpcf7-not-valid-tip{
    color:var(--warning-color);
}
@media(min-width:768px){
    .page-privacy-policy .org-pgheader-wrap{
        display:block;
        width:100%;
    }
    .page-privacy-policy .h1org{
        width:100%;
        transform:scalex(1.2);
        transform-origin: left center;
    }
    .page-privacy-policy .h1org small{
        transform:scalex(0.9);
    }
    .org-pghead-contact p .telnolink{
        pointer-events: none;
    }
    .tab-center{
        text-align:center;
    }
    .page-privacy-policy .dl-company>dd .contents .telnolink{
        pointer-events: none;
    }
    .contact-sec a.telnolink{
        pointer-events: none;
        font-weight:400;
    }
}
/*==========================================================*/
/* archive            										*/
/*==========================================================*/
.post-sec{
    position:relative;
    background:var(--bk-color);
}
.ul-categorylist>li>a{
    color:#fff;
}
.ul-infolist>li>a{
    background:#fff;
}
.post-sec .ul-infolist{
    justify-content:flex-start;
}
/*==========================================================*/
/* single            										*/
/*==========================================================*/
.page-ttl .jp{
    color:#fff;
    font-family:var(--zen-kaku);
}
.entry-body p{
    color:#fff;
}
/*==========================================================*/
/* single            										*/
/*==========================================================*/
.recruit-hd-sec{
    background:var(--thin-bk-color);
    padding-top:150px;
    position:relative;
    padding-bottom:0;
}
.recruit-hd-sec .contains{
    width:100%;
    background:var(--bk-color);
    padding-top:600px;
}
.recruit-hd-wrap{
    width:100%;
    padding:0 20px;
    position:absolute;
    top:50px;
    left:0;
}
.dl-flex{
    width:100%;
    margin:0;
    display:flex;
    flex-flow:row wrap;
}
.dl-flex dt{
    width:100%;
    margin-bottom:40px;
}
.dl-flex dd{
    width:100%;
}
.dl-flex dd h2{
    font-size:1.5em;
    margin-bottom:20px;
    font-weight:700;
    letter-spacing:-2px;
    color:#fff;
}
.dl-flex dd h3{
    font-size:15px;
    margin-bottom:20px;
    font-weight:700;
}
.dl-flex dd p{
    line-height:2;
}
.recruit-bd-sec{
    position:relative;
    background:var(--bk-color);
}
.h2underbar{
    font-size:1.5em;
    padding:30px;
    margin-bottom:60px;
    text-align:center;
    position:relative;
    color:#fff;
}
.h2underbar:before{
    content:'';
    width:0;
    height:4px;
    background:var(--logo-color2);
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    transition:width 1s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay:0.5s;
}
.h2underbar.scroll-in:before{
    width:120px;
}
.recruit-bd-sec{
    position:relative;
    padding-bottom:80px;
}
.tbl-box{
    width:100%;
}
.tbl-box tr{
    display:block;
    width:100%;
    margin-bottom:20px;
}
.tbl-box th{
    display:block;
    width:100%;
    padding:1em;
    text-align:center;
    background:var(--thin-bk-color);
    font-weight:500;
    letter-spacing:5px;
    font-size:17px;
    color:#fff;
}
.tbl-box td{
    display:block;
    width:100%;
    padding:1em;
    background:rgba(255,255,255,0.9);
    color:var(--logo-color1);
}
.tbl-box th p{
    color:#fff;
}
.tbl-box td p{
    color:var(--logo-color1);
}
.tbl-box td .telnolink{
    width:fit-content;
    position:relative;
    font-weight:700;
    color:var(--link-color);
}
.tbl-box td .telnolink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.tbl-box td .telnolink:hover{
    color:var(--logo-color1);
    opacity:0.8;
}
.tbl-box td .telnolink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.accesslink{
    width:fit-content;
    position:relative;
    font-weight:700;
    color:var(--link-color);
}
.accesslink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.accesslink:hover{
    color:var(--logo-color1);
    opacity:0.8;
}
.accesslink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.ul-rec, .ol-rec{
    padding-left:20px;
    margin-bottom:0;
}
.ul-rec li, .ol-rec li{
    font-size:17px;
    margin-bottom:0.5em;
}
.ul-rec li:last-of-type, .ol-rec li:last-of-type{
    margin-bottom:0;
}
.square{
    position:relative;
    padding-left:20px;
}
.square:before{
    content:'■';
    position:absolute;
    top:0;
    left:0;
}
@media(min-width:576px){
    .dl-flex{
        max-width:540px;
        margin-left:auto;
        margin-right:auto;
        padding:0 20px;
    }
}
@media(min-width:768px){
    .recruit-hd-sec{
        padding-top:230px;
    }
    .recruit-hd-sec .contains{
        padding-top:520px;
    }
    .dl-flex{
        max-width:740px;
    }
    .dl-flex dd h2{
        font-size:2em;
    }
    .br_rec{
        display:none;
    }
    .h2underbar{
        font-size:2em;
    }
    .tbl-box td .telnolink{
        pointer-events:none;
        font-weight:400;
    }
    .br_access{
        display:none;
    }
}
@media(min-width:992px){
    .recruit-hd-sec .contains{
        padding-top:270px;
    }
    .dl-flex{
        max-width:960px;
        justify-content:space-between;
    }
    .dl-flex dt{
        width:48%;
        order:2;
        margin-bottom:0;
    }
    .dl-flex dd{
        width:48%;
        order:1;
    }
    .dl-flex dd h2{
        font-size:2em;
        margin-bottom:20px;
        font-weight:700;
    }
    .dl-flex dd h3{
        font-size:14px;
        margin-bottom:20px;
    }
    .dl-flex dt .ul-tprecruit{
        margin-bottom:0;
    }
    .dl-flex dt .ul-tprecruit>li img{
        height:auto;
        aspect-ratio:2/5;
    }
    .br_rec{
        display:block;
    }
    .dl-flex dt .ul-tprecruit{
        margin-top:0;        
    }
    /* fix */
    .dl-flex dt .ul-tprecruit>li:last-of-type img{
        object-position:-80px center;
    }
    /* table */
    .tbl-box tr{
        display:table-row;
        width:100%;
        margin-bottom:0;
    }
    .tbl-box th{
        display:table-cell;
        width:30%;
        text-align:left;
        letter-spacing:5px;
        border-bottom:solid 1px rgba(255,255,255,0.5);
        padding-left:2em;
    }
    .tbl-box td{
        display:table-cell;
        width:70%;
        border-bottom:solid 1px var(--thin-bk-color);
        padding-left:2em;
    }
}
@media(min-width:1200px){
    .dl-flex{
        max-width:1140px;
    }
    .dl-flex dt .ul-tprecruit>li img{
        height:auto;
        aspect-ratio:5/11;
    }
}
@media(min-width:1400px){
    .dl-flex{
        max-width:1320px;
    }
    .dl-flex dt .ul-tprecruit>li img{
        height:auto;
        aspect-ratio:8/14;
    }
}
/*==========================================================*/
/* company            										*/
/*==========================================================*/
/* company header */
.company-jump-sec{
    position:relative;
    background:var(--thin-bk-color);
    padding-bottom:30px;
    z-index:5;
}
.ul-company-menu{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-flow:row wrap;
    width:100%;
    justify-content:space-between;
}
.ul-company-menu>li{
    width:48%;
    margin-bottom:10px;
}
.ul-company-menu>li a{
    display:flex;
    width:100%;
    height:30px;
    font-size:14px;
    color:#fff;
    justify-content:center;
    align-items:center;
    border:solid 1px #fff;
    transition:all 0.5s;
}
.ul-company-menu>li a:hover{
    background:rgba(255,255,255,0.9);
    color:var(--bk-color);
}
@media(min-width:768px){
    .ul-company-menu>li{
        width:32%;
    }
}
@media(min-width:992px){
    .ul-company-menu>li{
        width:16%;
    }
}
@media(min-width:1200px){
    .ul-company-menu>li{
        width:15%;
    }
}
/* bkfix-sec */
.bkfix-sec{
    position:relative;
    z-index:1;
    padding:100px 0;
}
.bkfix-sec .bk-img{
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
}
.bkfix-sec .bk-img>img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:grayscale(50%);
    opacity:0;
}
.bkfix-sec.active .bk-img>img{
    opacity:1;
}
@media(min-width:768px){
    .bkfix-sec{
        position:relative;
        z-index:1;
        padding:200px 0;
    }
}
/* message-sec */
.message-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.hd-reg-style{
    width:100%;
    margin-bottom:40px;
}
.hd-reg-style h2{
    font-size:2em;
    font-family:var(--helvetica);
    color:#fff;
    font-weight:700;
    text-align:center;
    padding-bottom:20px;
    margin-bottom:20px;
    position:relative;
}
.hd-reg-style h2:before{
    content:'';
    width:0;
    height:4px;
    background:var(--logo-color2);
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    transition:width 1s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay:0.5s;
}
.hd-reg-style.scroll-in h2:before{
    width:120px;
}
.hd-reg-style p{
    text-align:center;
    font-weight:700;
    font-size:14px;
}
.message-wrap{
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
}
.message-wrap h3{
    margin-bottom:40px;
    font-size:2em;
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
    font-weight:700;
}
.message-wrap p{
    line-height:2;
    font-size:1.2em;
}
.presidentname{
    width:fit-content;
    margin-left:auto;
    margin-right:0;
}
.presidentname p{
    font-family:var(--zen-antique);
    letter-spacing:1px;
    font-weight:400;
}
@media(min-width:768px){
    .hd-reg-style h2{
        font-size:3em;
    }
    .message-wrap h3{
        font-size:3em;
    }
    .message-wrap p{
        line-height:2;
        font-size:1.3em;
    }
}
@media(min-width:992px){
    .br_message{
        display:none;
    }
}
/* philosophy-sec */
.philosophy-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.philosophy-wrap{
    width:100%;
}
.philosophy-wrap h3{
    font-size:2em;
    margin-bottom:10px;
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
}
.philosophy-wrap h4{
    font-size:2em;
    margin-bottom:40px;
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
}
.philosophy-wrap p{
    line-height:2;
}
@media(min-width:768px){
    .philosophy-wrap h3{
        font-size:3em;
    }
    .philosophy-wrap h4{
        font-size:2.5em;
    }
    .philosophy-wrap{
        width:fit-content;
        margin-left:auto;
        margin-right:auto;
    }
}
@media(min-width:992px){
}
/* profile-sec */
.profile-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.tbl-company{
    width:100%;
}
.tbl-company tr{
    display:block;
    margin-bottom:20px;
}
.tbl-company th{
    display:block;
    width:100%;
    padding:1em;
    text-align:center;
    background:var(--tbl-th-color);
    font-weight:500;
    letter-spacing:5px;
    color:#000;
}
.tbl-company td{
    display:block;
    width:100%;
    padding:1em;
    background:rgba(255,255,255,0.9);
    color:var(--logo-color1);
}
.tbl-company td p{
    color:var(--logo-color1);
}
.tbl-company td a{
    width:fit-content;
    position:relative;
    color:var(--link-color);
}
.tbl-company td a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.tbl-company td a:hover{
    color:var(--link-color);
    opacity:0.8;
}
.tbl-company td a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.tbl-company td a.faxnolink{
    pointer-events:none;
    color:var(--logo-color1);
}
.ul-propartner{
    list-style:none;
    padding:0;
}
@media(min-width:768px){
    .tbl-company td a.telnolink{
        pointer-events:none;
        color:var(--logo-color1);
    }
}
@media(min-width:992px){
    .tbl-company tr{
        display:table-row;
        margin-bottom:0;
    }
    .tbl-company th{
        display:table-cell;
        width:30%;
        padding:1em;
        border-bottom:solid 1px var(--tbl-bd-color);
    }
    .tbl-company td{
        display:table-cell;
        width:70%;
        padding:1em;
        border-bottom:solid 1px var(--tbl-bd-color);
    }
}
/* history-sec */
.history-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.history-wrap{
    width:100%;
}
.dl-history{
    width:100%;
}
.dl-history dt{
    font-size:18px;
}
.dl-history dd{
    margin-bottom:20px;
}
@media(min-width:992px){
    .dl-history{
        width:100%;
        display:flex;
        flex-flow:row wrap;
        max-width:920px;
        margin-left:auto;
        margin-right:auto;
    }
    .dl-history dt{
        width:200px;
        padding-left:40px;
    }
    .dl-history dd{
        width:calc(100% - 200px);
    }
}
/* organization-sec */
.organization-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.origanization-wrap{
    width:100%;
}
.org_box {
    border: 1px solid #000;
    padding: 10px 20px;
    background: #fff;
    font-size: 17px;
    color:#000;
    width:140px;
    height:50px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.org_level{
    list-style:none;
    padding-left:90px;
}
.org-chart>.org_level{
    padding-left:10px;
    margin-bottom:0;
}
.org_level>li{
    padding:10px 0;
    position:relative;
}
.org_level>li:first-of-type{
    padding-top:20px;
}
/* biside line */
.org_level > li:not(:only-child)::after {
  content: '';
  position: absolute;
  width:140px;
  height: 2px;
  top: 35px;
  left: -20px;
  background: #fff;
  z-index: -1;
}
.org_level>li:first-of-type:not(:only-child)::after{
  top: 45px;
}
/* virtical line */
.org_level > li::before {
  content: '';
  position: absolute;
  width: 2px;
  height: 100%;
  top: 36px;
  left: -20px;
  background: #fff;
}
.org_level > li.li_top::before{
  height:50px;
  top: 70px;
  left: 70px;
}
.org_level > li.li_last:before{
    content:none;
}
.org_level.org_level_ch > li::before{
    top:0;
}
.org_level.org_level_ch > li:last-of-type:before{
    height:calc(100% / 2);
}
@media(min-width:768px){
    .org-chart{
        width:fit-content;
        margin-left:auto;
        margin-right:auto;
    }
}
@media(min-width:992px){
    .org-chart{
        width:100%;
    }
    .org-chart>.org_level{
        padding-left:0;
    }
    .org_level{
        width:100%;
        display:flex;
        justify-content:center;
        padding:0;

    }
    .org_level>li{
        padding:60px 0;
    }
    .org_level>li:first-of-type{
        padding:60px 0;
    }
    .org_box{
        margin-left:auto;
        margin-right:auto;
    }
    .org_level > li:not(:only-child)::after {
        content:none;
    }
    .org_level > li::before {
      content: none;
    }
    .org_level > li.li_top::before{
      content: none;
    }
    .org_box {
        width:120px;
        white-space:nowrap;
        position:relative;
    }
    .org_box:before{
        content:'';
        width:2px;
        height:100%;
        position:absolute;
        top:-30px;
        left:50%;
        background:#fff;
        transform:translateX(-50%);
    }
    .org_box.org_box_pre:before{
        top:auto;
        bottom:-30px;
    }
    .org_level.org_level_ch>li{
        padding:60px 5px;
    }
    .org_level{
        position:relative;
    }
    .org_level:before{
        content:'';
        width:calc(100% - 128px);
        height:2px;
        background:#fff;
        position:absolute;
        top:30px;
        left:50%;
        transform:translateX(-50%);
    }
    .org-chart>.org_level:before{
        content:none;
    }
    .li_top>.org_level:before{
        width:calc(100% - 120px);
    }
    .org_level.org_level_ch:after{
        content:'';
        width:2px;
        height:30px;
        background:#fff;
        position:absolute;
        top:0;
        left:50%;
        transform:translateX(-50%);

    }
    .org_level>li.li_top:first-of-type{
        padding-bottom:0;
    }
    /* full customize */
    .org_level.org_level_ch>li:first-of-type{
        padding-left:0;
    }
    .org_level.org_level_ch>li:last-of-type{
        padding-right:0;
    }
    .org_level>li:nth-of-type(2){
        padding-right:5px;
    }
    .org_level>li:nth-of-type(3){
        padding-left:5px;
    }
    .org_level>li:nth-of-type(4){
        padding-right:5px;
    }
    .org_level>li:nth-of-type(5){
        padding-left:5px;
    }
    .org_level:before{
        width: calc(100% - 119px);
    }
}
/* access-sec */
.access-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.access-wrap{
    width:100%;
}
.access-wrap .telnolink{
    color:#fff;
    width:fit-content;
    position:relative;
    transition:all 0.5s;
}
.access-wrap .telnolink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.access-wrap .telnolink:hover{
    color:#fff;
    opacity:0.8;
}
.access-wrap .telnolink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
.access-wrap .faxnolink{
    pointer-events:none;
    color:#fff;
}
.access-wrap .br_zipcode{
    display:none;
}
.access-wrap .map{
    width:100%;
    padding-top:100%;
    position:relative;
    overflow:hidden;
    margin:20px 0;
    border-radius:20px;
}
.access-wrap .map iframe{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    filter:grayscale(30%);
}
@media(min-width:768px){
    .access-wrap .map{
        padding-top:70%;
    }
}
@media(min-width:992px){
    .access-wrap .map{
        padding-top:500px;
    }
}
/*==========================================================*/
/* service-sec         										*/
/*==========================================================*/
.service-sec{
    position:relative;
    z-index:5;
    padding:40px 0 20px 0;
    background:var(--bk-color);
}
.service-sec .h2org{
    padding-bottom:20px;
    margin-bottom:20px;
    position:relative;
    text-align:center;
}
.service-sec .h2org:before{
    content:'';
    width:0;
    height:4px;
    background:var(--logo-color2);
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    transition:width 1s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay:0.5s;
}
.service-sec .hd-style.scroll-in .h2org:before{
    width:120px;
}
.service-sec .hd-style p{
    text-align:center;
}
/**/
.service-sec.service-work-sec{
    padding-top:20px;
    padding-bottom:80px;
}
.h3deal{
    position:relative;
    padding-left:1em;
    padding-top:0.2em;
    padding-bottom:0.2em;
    margin-bottom:20px;
    font-weight:700;
    font-size:1.5em;
}
.h3deal:before{
    content:'';
    width:3px;
    height:100%;
    background:var(--logo-color2);
    position:absolute;
    top:0;
    left:0;
}
.ul-parts{
    padding-left:20px;
    margin-bottom:10px;
}
.ul-parts li{
    font-size:17px;
}
.dl-deal{
    width:100%;
    display:flex;
    flex-flow:row wrap;
}
.dl-deal dt{
    width:100%;
    padding:0;
    font-size:17px;
    font-weight:500;
}
.dl-deal dd{
    width:100%;
    padding:0;
    margin-bottom:20px;
    font-size:17px;
}
.contactlink{
    display:inline-block;
    width:fit-content;
    position:relative;
    font-weight:700;
    color:#fff;
}
.contactlink:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;
}
.contactlink:hover{
    opacity:0.8;
}
.contactlink:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
#bizslider02.bizslide-pict{
    height:auto;
}
#bizslider02.bizslide-pict .wrap{
    position:static;
    justify-content:space-between;
    flex-flow:row wrap;
}
#bizslider02.bizslide-pict .wrap img{
    width:48%;
    height:auto;
    aspect-ratio:9/10;
    margin-bottom:20px;
}
@media(min-width:768px){
    .ul-parts .br_deal{
        display:none;
    }
    .dl-deal dt{
        width:50%;
    }
    .dl-deal dd{
        width:50%;
    }
    #bizslider02.bizslide-pict .wrap img{
        width:32%;
        height:auto;
    }
}
@media(min-width:992px){
    .dl-deal dt{
        width:50%;
        padding:0;
    }
    .dl-deal dd{
        width:50%;
        padding:0;
        margin-bottom:20px;
    }
}
@media(min-width:1200px){
    .dl-tpservice.dl-service dt .dl-deal dt{
        width:50%;
        padding:0;
    }
    .dl-tpservice.dl-service .dl-deal dd{
        width:50%;
        padding:0;
        margin-bottom:20px;
    }
    .dl-tpservice.dl-service{
        display:block;
        width:100%;
    }
    .dl-tpservice.dl-service dt{
        display:block;
        width:100%;
        max-width:1140px;
    }
    .dl-tpservice.dl-service dd{
        display:block;
        width:100%;
        padding-top:50px;
    }
    #bizslider01.bizslide-pict {
        height:320px;
    }
    .dl-deal dt{
        width:50%;
        padding:0;
        font-size:17px;
    }
    .dl-deal dd{
        width:50%;
        padding:0;
        margin-bottom:20px;
        font-size:17px;
    }
    #bizslider01.bizslide-pict .wrap img {
        width: 30%;
        height:320px;
    }
    #bizslider02.bizslide-pict .wrap img{
        width:16%;
    }
}
@media(min-width:1400px){
    .dl-tpservice.dl-service dt{
        max-width:1320px;
    }
}
/*==========================================================*/
/* equipment-sec      										*/
/*==========================================================*/
.service-sec.service-eq-sec{
    background:var(--thin-bk-color);
    padding:80px 0;
}
.dl-equipment{
    width:100%;
    margin:0;
    display:flex;
    flex-flow:row wrap;
    justify-content:space-between;
}
.dl-equipment>dt{
    width:100%;
    display:block;
    font-weight:400;
    margin-bottom:40px;
}
.dl-equipment>dd{
    width:100%;
    display:block;
}
.tbl-equipment{
    width:100%;
}
.tbl-equipment tr{
    width:100%;
    display:block;
    margin-bottom:20px;
}
.tbl-equipment th{
    width:100%;
    display:block;
    padding:0.5em;
    background:var(--bk-color);
    font-weight:700;
    color:#fff;
    font-size:17px;
}
.tbl-equipment td{
    width:100%;
    display:block;
    padding:0.5em;
    background:#fff;
    color:#000;
    font-size:17px;
}
.dl-div{
    width:100%;
    display:flex;
    margin-bottom:0;
}
.dl-div>dt{
    width:fit-content;
    padding-right:20px;
    font-weight:400;
}
.dl-div>dd{
    width:fit-content;
    display:flex;
    align-items:center;
    margin:0;
}
.ul-equipment{
    margin:0;
    padding:0;
    display:flex;
    flex-flow:row wrap;
    width:100%;
    list-style:none;
    justify-content:space-between;
}
.ul-equipment>li{
    width:calc(50% - 10px);
    margin-bottom:20px;
}
.ul-equipment>li img{
    width:100%;
    aspect-ratio:3/5;
    object-fit:cover;
}
@media(min-width:768px){
    .tbl-equipment tr{
        display:table-row;
        margin-bottom:0;
    }
    .tbl-equipment th{
        width:50%;
        display:table-cell;
        padding:0.5em;
        border-bottom:solid 1px var(--tbl-th-color);
    }
    .tbl-equipment td{
        width:50%;
        display:table-cell;
        padding:0.5em;
        border-bottom:solid 1px var(--tbl-bd-color);
    }
}
@media(min-width:992px){
    .dl-equipment>dt{
        width:69%;
        display:inline-block;
    }
    .dl-equipment>dd{
        width:29%;
        display:inline-block;
    }
    .ul-equipment>li{
        width:100%;
        margin-bottom:20px;
    }
    .ul-equipment>li img{
        width:100%;
        aspect-ratio:477/640;
        object-fit:cover;
    }
}
@media(min-width:1200px){
    .dl-equipment>dt{
        width:68%;
        display:inline-block;
    }
    .dl-equipment>dd{
        width:28%;
        display:inline-block;
    }
    .ul-equipment>li{
        margin-bottom:40px;
    }
    .ul-equipment>li img{
        width:100%;
        aspect-ratio:293/320;
        object-fit:cover;
    }
}
@media(min-width:1400px){
    .ul-equipment>li img{
        width:100%;
        aspect-ratio:341/320;
        object-fit:cover;
    }
}
/*==========================================================*/
/* gallery-sec      										*/
/*==========================================================*/
.service-sec.gallery-sec{
    padding:80px 0;
}
.gallery-wrap{
    width:100%;
}
.ul-gallery{
    display:flex;
    margin:0;
    padding:0;
    list-style:none;
    width:100%;
    justify-content:space-between;
    flex-flow:row wrap;
}
.ul-gallery>li{
    width:49%;
    margin-bottom:20px;
}
.ul-gallery>li a{
    width:100%;
    display:block;
    overflow:hidden;
    position:relative;
    transition:all 0.5s;
}
.ul-gallery>li a>img{
    filter:grayscale(50%);
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:all 0.5s;
}
.ul-gallery>li a:hover{
    filter:brightness(1.1);
}
.ul-gallery>li a:hover img{
    transform:scale(1.1);
    filter:grayscale(0);
}
@media(min-width:768px){
    .ul-gallery>li{
        width:32%;
        margin-bottom:20px;
    }
}
/*==========================================================*/
/* service-sec         										*/
/*==========================================================*/
.sitemap-sec{
    position:relative;
    z-index:5;
    padding:80px 0;
    background:var(--bk-color);
}
.ul-sitemap{
    margin:0;
    padding:0;
    list-style:none;
    width:100%;
    display:flex;
    flex-flow:row wrap;
    justify-content: space-between;
}
.ul-sitemap>li{
    display:block;
    width:100%;
    margin-bottom:20px;
    padding-left:1em;
    position:relative;
    border-left:solid 3px var(--logo-color2);
}
.ul-sitemap>li a{
    display:flex;
    width:100%;
    color:#fff;
    font-size:17px;
    padding-top:10px;
    padding-bottom:10px;
    position:relative;
    line-height:1.2;
}
.ul-sitemap>li a .en{
    width:50%;
    text-align:left;
}
.ul-sitemap>li a .jp{
    width:50%;
    text-align:right;
}
.ul-sitemap>li a:before{
    content:'';
    width:100%;
    height:1px;
    background:var(--logo-color2);
    position:absolute;
    display:block;
    bottom:0;
    left:0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.5s;    
}
.ul-sitemap>li a:hover{
    opacity:0.8;
}
.ul-sitemap>li a:hover:before{
    transform-origin: left top;
    transform: scale(1, 1);
}
@media(min-width:768px){
    .ul-sitemap>li{
        width:45%;
    }
}
/*==========================================================*/
/* faq header             									*/
/*==========================================================*/
