/*
Theme Name: tuneishi
Theme URI: http://.jp
Author: dreamnets
Author URI: 
Description: 
License: 
License URI: 
Tags: 
*/
@charset "UTF-8";

:root {
    --header-height: 100px;
    --wpadminbar-height: 0px
}

body {
    color: #000;
    background: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.02em;
    word-break: break-word;
    min-width: 320px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.otgs-development-site-front-end {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important
}

body:not(.home) .main {
    margin-top: 168px !important;
    padding-bottom: clamp(70px,7vw,93px);
    @media(width < 1000px) {
        margin-top: 97px !important
    }
}

body.modal-open {
    overflow: hidden;
    position: fixed;
    width: 100%
}

.header {
    top: var(--wpadminbar-height);
    transition: 0.4s
}

.header__white {
    background-color: #fff;
    transition: 0.4s
}

.home .intro {
    /* no loading img */
    /*
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease-in-out;
    */
    opacity: 1;
    visibility: visible;
    transition: opacity 1s ease-in-out;
}

img {
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    object-position: top
}

a {
    display: block;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: 0.4s
}

.single-news {
    font-family: var(--mfw-font)
}

.single-news__container__wrap__content a {
    display: inline;
    padding-bottom: 0;
    background-repeat: no-repeat;
    text-decoration: underline
}

.underline-animate {
    display: inline;
    padding-bottom: 0;
    background-image: linear-gradient(#000,#000);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 0 1px;
    transition: background-size 0.3s !important;
    text-decoration: none
}

.underline-animate.underline {
    text-decoration: underline;
    pointer-events: none;
    background: none
}

.link__arrow {
    width: 8px
}

@media(hover: hover) {
    a:hover {
        text-decoration:none
    }

    a:active {
        text-decoration: none
    }

    .hover-opacity:hover {
        opacity: 0.6;
        text-decoration: none
    }

    .hover-opacity:active {
        opacity: 0.6;
        text-decoration: none
    }

    .archive-news__container__post__link__ttl:hover .underline-animate {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: none
    }

    .underline-animate:hover {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: none
    }

    .underline-animate:active {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: none
    }

    .single-news__container__wrap__content a:hover {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: underline;
        transition: none !important
    }

    .archive-news__container__btn__ttl__link:hover {
        color: #000;
        text-decoration: none
    }
}

@media(hover: none) {
    a:active {
        text-decoration:underline
    }

    .hover-opacity:active {
        opacity: 0.6;
        text-decoration: none
    }

    .archive-news__container__post__link__ttl:active .underline-animate {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: none
    }

    .archive-news__container__btn__ttl__link:active {
        color: #000;
        text-decoration: none
    }

    .underline-animate:active {
        background-position: left bottom;
        background-size: 100% 1px;
        text-decoration: none
    }
}

:root {
    --mfw-font: "Helvetica","MFW-MidashiGoPr6N-MB31","Arial";
    --sub-font01: "Helvetica","Arial",sans-serif;
    --chinese-heiti: "Helvetica","MFW-UDShinGoSCGb6-Medium","Arial",sans-serif
}

html[lang="en-US"] body,html[lang="en-US"] body * {
    font-family: var(--sub-font01)
}

html[lang="zh-CN"] body,html[lang="zh-CN"] body * {
    font-family: var(--chinese-heiti)
}

[lang="en"] {
    font-family: var(--sub-font01)
}

html[lang="zh-CN"] .fa,html[lang="zh-CN"][class^="fa-"],html[lang="zh-CN"][class*=" fa-"] {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900
}

.subFont01 {
    font-family: var(--sub-font01)
}

.mw {
    width: 100%
}

.mws {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    font-family: var(--mfw-font);
}

.size32 {
    font-size: clamp(2.6rem,2.6vw,3.2rem)
}

.size26 {
    font-size: 2.6rem
}

.size22 {
    font-size: 2.2rem
}

.size20 {
    font-size: 2rem
}

.size18 {
    font-size: clamp(1.6rem,1.6vw,1.8rem)
}

.size12 {
    font-size: 1.2rem
}

.size11 {
    font-size: 1.1rem
}

.size10 {
    font-size: 1rem
}

.pc {
    display: block
}

.sp {
    display: none
}

.adjust {
    display: none
}

.adjust2 {
    display: none
}

.flex {
    display: flex
}

.none {
    display: none !important
}

.tLink {
    text-decoration: underline;
    display: inline-block
}

.notes {
    font-size: clamp(1.2rem,1.5vw,1.4rem);
    line-height: calc(18 / 12);
    letter-spacing: calc(20em / 1000);
    width: fit-content;
    margin: 10px 0 0 auto
}

.img16-9 {
    aspect-ratio: 16/9
}

.img9-16 {
    aspect-ratio: 9/16
}

.img5-2 {
    aspect-ratio: 5/2
}

.img4-1 {
    aspect-ratio: 4/1
}

.img3-2 {
    aspect-ratio: 3/2
}

.img3-1 {
    aspect-ratio: 3/1
}

.img2-1 {
    aspect-ratio: 2/1
}

.img1-1 {
    aspect-ratio: 1/1
}

.comSec {
    padding: clamp(40px,4vw,60px) 0
}

.comTtl {
    border-bottom: 1px solid #c7c7c7;
    padding-bottom: 8px;
    font-family: var(--mfw-font);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0
}

.comContent {
    margin-top: 30px
}

.page__sp__bottom {
    margin-top: 100px
}

.comMore__link {
    width: 320px;
    text-align: center;
    font-size: clamp(1.4rem,2vw,1.8rem);
    font-weight: bold;
    margin: clamp(34px,5vw,64px) auto 0;
    cursor: pointer;
    padding: 20px 0;
    border-radius: 80px;
    background: #000;
    color: #fff
}

@media(max-width: 1000px) {
    .pc {
        display:none
    }

    .sp {
        display: block
    }

    .mws {
        width: 84%
    }

    .adjust {
        display: block
    }

    .size26 {
        font-size: clamp(2rem,5.3vw,2.6rem)
    }

    .size20 {
        font-size: clamp(1.8rem,4.8vw,2rem)
    }

    body:not(.home) .main {
        margin-top: clamp(90px,23vw,140px);
        padding-bottom: clamp(70px,7vw,93px)
    }
}

.header {
    position: fixed;
    width: calc(100% - 470px);
    padding: 30px 0;
    z-index: 30;
    max-width: 1000px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto
}

body:not(.home) .header {
}

.header__inner {
    justify-content: space-between;
    align-items: center
}

.header__inner__box__logoBox {
    width: 350px;
    align-items: center
}

.header__inner__box__logoBox__link {
    position: relative
}

.header__inner__box__logoBox__link__logo__white {
    position: absolute;
    top: 0;
    left: 0;
    transition-duration: 2s;
    /* no loading img */
    opacity: 0;
}

.header__inner__box__logoBox__link__logo__white.vanish {
    opacity: 0
}

body:not(.home) .header__inner__box__logoBox__link__logo__white {
    opacity: 0
}

.header__inner__box__ttl {
    font-family: var(--mfw-font);
    align-items: center;
    margin-left: clamp(25px,7.02vw,101px);
    letter-spacing: 0;
    font-size: 1.2rem;
    @media(width < 1000px) {
        margin-left: 0;
        font-size:1.1rem}
}

.header__inner__switch {
    transform: rotate(-90deg) translateY(90%);
    will-change: opacity
}

.custom-lang-switcher {
    font-family: var(--sub-font01);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    line-height: 1.5;
    letter-spacing: 0;
    @media(width < 1000px) {
        gap: 12px
    }
}

.custom-lang-switcher a {
    text-decoration: none;
    white-space: nowrap;
    text-transform: uppercase
}

.custom-lang-switcher .current-lang {
    color: #767676
}

.custom-lang-switcher li+li ::before {
    content: "/";
    margin-right: 5px;
    @media(width < 1000px) {
        margin-right: 12px
    }
}

.front {
    position: relative;
    width: 100%;
    height: 100vh;
    .nav__group {
        .nav__group__list {
            .nav__group__list__submenu {
                display: none
            }
        }
    }
    #menu-global-en-1{
        .nav__group__list {
            .nav__group__list__submenu {
                display: none
            }
        }
    }
}

.front__fv {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 20
}

.front__fv__wrap img {
    height: 100vh;
    width: 100vw
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

.nav__group {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 250px
}

.nav__group__list {
    font-family: var(--sub-font01);
    position: relative;
    background: #fff;
    &:first-child, 
    &:last-child {
        .nav__group__list__link {
           /* font-family: var(--sub-font01)*/
        }
    }

    .nav__group__list__text {
        font-family: var(--sub-font01)
    }
}

.nav__group__list__submenu {
    display: none;
    margin-left: 15px;
    font-weight: 600;
    line-height: 1.65;
    font-family: var(--mfw-font);
    font-size: 1.5rem
}

body:not(.home) .nav__group__list__submenu__list+.nav__group__list__submenu__list {
    margin-top: 10px
}

.nav__switch {
    margin-top: 75px
}

.nav-hover {
    position: relative;
    transition: 0.4s;
    z-index: 0;
    letter-spacing: 0
}

.nav-hover:before {
    content: "";
    width: 0px;
    height: 0px;
    background: #000;
    position: absolute;
    left: 0;
    top: 0.8em;
    transform: translateY(-50%);
    z-index: -1;
    transition: 0.4s
}
.nav__group__list.nav-hover:has( > span):before{
    display: none;
}

.nav-hover__link {
    transition: 0.4s
}

@media(hover: hover) {
    .nav-hover__link:hover {
        cursor:pointer;
        transform: translateX(15px);
        text-decoration: none;
        transition: 0.4s
    }

    .nav-hover__link:hover~.nav-hover::before,.nav-hover:not(:has(.nav__group__list__submenu:hover)):hover::before {
        width: 8px;
        height: 8px;
        transition: 0.4s
    }

    .nav-hover__link:hover~.nav-hover::before,.nav-hover.is-active::before {
        width: 8px;
        height: 8px;
        transition: 0.4s
    }
}

.nav__link--current {
    display: flex;
    align-items: center;
    gap: 8px
}

.nav__link--current::before {
    display: block;
    position: relative;
    transform: none;
    width: 8px;
    height: 8px;
    top: unset
}

.nav__group__list__ttl {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: var(--sub-font01) !important
}

.left-side {
    position: fixed;
    display: inline-block;
    padding: 0 0 50px 31px;
    z-index: 10;
    height: 100vh;
    top: 0
}

.left-side__nav {
    flex-direction: column;
    justify-content: space-between;
    overflow: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-right: 16px;
    height: 100%;
    padding-top: 168px;
    @media(width < 1000px) {
        padding-top: 135px
    }
}

.left__side__nav::-webkit-scrollbar {
    display: none
}

.left-side__nav__inner:nth-child(2) {
    margin-top: 50px
}

.front .left-side {
}

.left-side__linkGroup__list {
    letter-spacing: 0;
    line-height: 1.7;
    font-family: var(--mfw-font);
    font-weight: 600;
    @media(width < 1000px) {
        line-height: 2.3
    }
}

.left-side__linkGroup__list:not(:has(a[target="_blank"])) + .left-side__linkGroup__list:has(a[target="_blank"])::before{
    content: "";
    display: block;
    background: #000;
    width: 10px;
    height: 1px;
    margin: 10px 0;
 }

.left-side__snsBox {
    margin-top: 22px;
    gap: 10px;
    @media(width < 1000px) {
        margin-top: 17px;
        gap:22px}
}

.left-side__snsBox__linkBox:nth-of-type(1) {
    width: 20px
}

.left-side__snsBox__linkBox:nth-of-type(2) {
    width: 17.28px
}

.left-side__snsBox__linkBox:nth-of-type(3) {
    width: 21.9px
}

.left-side__snsBox__linkBox:nth-of-type(4) {
    width: 22px
}

.left-side__snsBox__linkBox__link {
    display: flex;
    align-items: center;
    height: 100%
}

.left-side__small {
    font-family: var(--sub-font01);
    font-weight: 400;
    margin-top: 20px;
    flex-direction: column;
    letter-spacing: 0;
    line-height: 1.5
}

.right-side {
    width: 210px;
    position: fixed;
    right: 0;
    padding-right: 30px;
    padding-bottom: 80px;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    top: 0;
    height: 100vh;
    padding-top: 168px;
    font-family: var(--mfw-font);
    letter-spacing: 0
}

.right-side::-webkit-scrollbar {
    display: none
}

.right-side__searchBox {
    justify-content: center;
    align-items: center;
    width: 180px;
    padding: 15px 14px 15px 24px;
    border: 1px solid #9d9d9d;
    border-radius: 30px
}

.right-side__searchBox__box {
    width: 90%
}

.right-side__searchBox__box:focus-visible {
    outline-offset: 1px;
    outline: -webkit-focus-ring-color auto 1px
}

.right-side__searchBox__submit {
    width: 10%;
    cursor: pointer
}

.right-side__searchBox__submit:focus-visible {
    outline-offset: 1px;
    outline: -webkit-focus-ring-color auto 1px
}

.right-side__searchBox__submit__imgBox {
    display: flex;
    align-items: center
}

.right-side__taxonomyBox {
    margin-top: 30px
}

.right-side__taxonomyBox__inner__list+.right-side__taxonomyBox__inner__list {
    margin-top: 33px
}

.right-side__taxonomyBox__inner__list__ttl {
    padding-left: 10px;
    border-left: 2px solid #000;
    font-weight: 600;
    line-height: 1.5
}

.right-side__taxonomyBox__inner__list__kind {
    margin-top: 9px;
    font-weight: 600;
    line-height: 1.6
}

.right-side__taxonomyBox__innerSp {
    display: none;
    justify-content: center;
    align-items: center
}

.right-side__taxonomyBox__innerSp__wrap {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center
}

.right-side__taxonomyBox__innerSp__wrap:nth-child(2) {
    padding: 0 5px
}

.right-side__taxonomyBox__innerSp__wrap__btn:focus-visible {
    outline-offset: 1px;
    outline: -webkit-focus-ring-color auto 1px
}

.right-side__taxonomyBox__innerSp__wrap__btn i {
    margin-left: 6px;
    transform: rotate(0deg);
    transition: 0.4s
}

.right-side__taxonomyBox__innerSp__wrap__btn.open i {
    transform: rotate(180deg);
    transition: 0.4s
}

.right-side__taxonomyBox__innerSp__wrap__dropdown {
    position: absolute;
    top: 150%;
    left: 0;
    width: max-content;
    height: max-content;
    display: none;
    padding: 14px 20px;
    border: 1px solid #9d9d9d;
    background: #fff;
    z-index: 10;
    line-height: 3.5;
    max-width: 280px;
    white-space: initial
}


.archive-news {
    font-family: var(--mfw-font)
}

.taxonomy-archive__title {
    margin-bottom: 30px
}

.archive-news__container__btn {
    justify-content: space-between;
    gap: 19px;
    align-items: center;
    display: none;
}

.archive-news__container__btn__ttl {
    position: relative;
    text-align: center;
    width: 100%;
    line-height: 1.8;
    border-bottom: 1px solid #000;
    font-weight: 600
}

.link-archive {
    color: #767676;
    border-bottom: 1px solid #767676
}

.archive-news__container__btn__ttl__link {
    width: 100%
}

.archive-news__container__post {
    flex-direction: column;
    gap: 11px;
    margin-top: 30px
}

.archive-news__container__post__link__date,.archive-news__container__post__link__ttl {
    letter-spacing: 0
}

.archive-news__container__post+.archive-news__container__post {
    margin-top: 40px
}

.archive-news__container__post__link__tag {
    gap: 13px;
    flex-wrap: wrap;
    letter-spacing: 0
}

.archive-news__container__post__link__tag__industry__link {
    padding: 1px 10px;
    border: 1px solid #9d9d9d
}

.archive-news__container__post__link__tag__cat__link {
    padding: 1px 10px;
    background: #e1e1e1
}

.taxonomy-archive {
    font-family: var(--mfw-font)
}

.contact {
    font-family: var(--mfw-font)
}

.contact__container__ttl {
    line-height: 1.5;
    padding-bottom: 8px;
    border-bottom: 1px solid #c7c7c7;
    font-weight: 600
}

.contact__container {
    letter-spacing: 0
}

.contact__container__txt {
    margin-top: 24px;
    line-height: 1.7
}

.contact__container__flow {
    margin-top: 10px
}

.contact__container__flow--thanks {
    margin-top: 20px
}

.contact__container__flow__txt {
    position: relative;
    line-height: 1.65;
    text-align: center;
    width: 50%;
    border: 1px solid #000;
    border-left: none
}

.contact__container__flow__txt--right {
    border-left: 1px solid #000;
    border-right: none
}

.contact__container__flow__txt--right::after {
    content: "";
    position: absolute;
    top: -1px;
    right: -9px;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 5px solid #fff;
    border-right: none;
    z-index: 1
}

.contact__container__flow__txt--right::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 5px solid #000;
    border-right: none
}

.contact__container__flow__txt--out {
    color: #767676
}

.contact__container__form {
    margin-top: clamp(30px,5.7vw,40px)
}

.contact__container__form__item {
    display: block;
    margin-bottom: 15px
}

.contact__container__form__item input {
    width: 100%;
    padding: 8px 15px 8px 10px;
    border: 1px solid #767676
}

.contact__container__form__item .wpcf7-radio{
    & input{
        width: auto;
        padding: 0;
        }
    }
.contact__container__form__item ::placeholder {
    color: #767676
}

.contact__container__form__item textarea {
    width: 100%;
    padding: 8px 20px 8px 20px;
    border: 1px solid #767676
}

.contact__container__form__item+.contact__container__form__item {
    margin-top: 20px
}

.visually-hidden {
    position: fixed !important;
    top: 0px !important;
    left: 0px !important;
    width: 4px !important;
    height: 4px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important
}

.contact__container__form__item br {
    display: none
}

.contact__container__form__item__label {
    display: block;
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 1.65
}

.contact__container__form__item__tel {
    display: block;
    margin-bottom: 15px
}

.contact__container__form__item__label--required {
    background: #c53042;
    color: #fff;
    font-size: 1.1rem;
    padding: 0 7px 1px;
    line-height: 1.5;
    margin-left: 6px
}

.contact__container__form__item__label__tel3 {
    width: clamp(70px,13vw,90px) !important;
    display: inline-block;
    text-align: center
}

div.wpcf7-response-output {
    margin-top: 1em;
    color: #b50017
}

.contact__container__form__txt {
    line-height: 1.7;
    font-weight: 600;
    font-size: 12px;
    text-align: center;
    margin-top: 40px
}

.contact__container__form__txt__link {
    display: inline;
    text-decoration: underline
}

.contact__container__form__txt__link:hover {
    opacity: 0.6
}

.contact__container__form__submit {
    position: relative;
    margin-top: 24px; 
    max-width: 340px;
    width: 80%;
    height: 45px;
    margin-right: auto;
    margin-left: auto
}
.contact__container__form__submit br{
    display: none;
}
.contact__container__form__submit.is-hover::after {
    right: 10px;
    transition: 0.4s
}

.contact__container__form__submit::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 12px;
    height: 12px;
    transition: 0.4s
}

.contact__container__form__submit__btn {
    position: relative;
    display: block;
    background: #000;
    color: #fff;
    max-width: 340px;
    width: 100%;
    padding: 10px 0;
    font-size: 1.4rem;
    cursor: pointer;
    margin: 0 auto;
    text-align: center;
    transition: 0.4s
}

.contact__container__form__submit__btn:focus-within {
    outline-offset: 1px;
    outline: -webkit-focus-ring-color auto 1px
}

.contact__container__form__submit__btn:hover {
    opacity: 0.6;
    transition: 0.4s
}

.single__ttl {
    line-height: 1.5;
    padding-bottom: 8px;
    border-bottom: 1px solid #c7c7c7;
    font-weight: 600;
    letter-spacing: 0
}

.single__date {
    font-size: 1.2rem;
    margin-top: 30px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.5
}

.taxonomy__date {
    margin-top: 3cqh
}

.taxonomy__box {
    margin-top: 10px;
    gap: 12px;
    flex-wrap: wrap
}

.single__tab {
    font-size: 1.2rem;
    line-height: 1.5;
    padding: 0 10px;
    background: #e1e1e1;
    border: 1px solid #e1e1e1
}

.choice__tag {
    font-size: 1.2rem;
    line-height: 1.5;
    padding: 0 10px;
    border: 1px solid #e1e1e1;
    background: #fff;
    font-weight: 600;
    letter-spacing: 0
}

.single__postTtl {
    line-height: 1.55;
    margin-top: 10px;
    letter-spacing: 0;
    font-weight: 600;
    margin-bottom: 30px
}

.single-news__container__wrap__atcm__imgWrap {
    margin-top: 23px
}

.single-news__container__wrap__atcm__name {
    margin-top: 10px;
    line-height: 1.7;
    letter-spacing: 0;
    font-weight: 600
}

.single-news__container__wrap__content p {
    line-height: 1.75;
    letter-spacing: 0;
    margin-top: 30px;
    font-weight: 600
}

.single-news__container__wrap__attachment {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 75px
}

.taxonomy-archive__list__item__link {
    margin-top: 14px
}

.taxonomy-archive__no-results {
    margin-top: 30px
}

.search {
    flex-direction: column
}

.js-tab-buttons {
    margin-top: 30px
}

.search__results__no-results {
    margin-top: 30px
}

.search-news__container__btn__ttl:not(.is-active) {
    color: #767676;
    border-bottom: 1px solid #767676
}

.search-news__container__btn__ttl:not(.is-active):hover {
    color: #000;
    cursor: pointer
}

.js-tab-content {
    display: none
}

.js-tab-content.is-show {
    display: block
}

.single-sus__container__wrap__postTtl {
    line-height: 1.55;
    letter-spacing: 0
}

.single-sus__container__wrap__mainImg {
    margin-top: 24px
}

.single-sus__container__wrap__mainImg__img {
    aspect-ratio: 500/200
}

.single-sus__container__wrap__block__wrap__heading {
    line-height: 1.55;
    margin-top: 38px;
    letter-spacing: 0
}

.single-sus__container__wrap__block__wrap__contents {
    letter-spacing: 0;
    line-height: 1.7;
    margin-top: 20px;
    & a {
        text-decoration: underline
    }
}

.single-sus__container__wrap__block__wrap__centerImg {
    margin-top: 30px
}

.single-sus__container__wrap__block__wrap__flexbox {
    margin-top: 34px;
    column-gap: 10px
}

.single-sus__container__wrap__block__wrap__fullImg {
    margin-top: 30px
}

.single-sus__container__postList {
    margin-top: 75px
}

.single-sus__container__postList__ttl {
    line-height: 1.65
}

.single-sus__container__postList__wrap__post+.single-sus__container__postList__wrap__post {
    margin-top: 30px
}

.susImg__caption {
    margin-top: 10px
}

#lightbox {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important
}

.lightbox .lb-image {
    max-width: 90vw !important;
    max-height: 90vh !important
}

.lightbox .lb-outerContainer,.lightbox .lb-container {
    max-width: 90vw !important;
    max-height: 90vh !important
}

.lightbox img {
    object-fit: contain !important
}

@media(hover: hover) {
}

@media(hover: none) {
}

@media(max-width: 1000px) {
    body:not(.home) .main {
        flex-direction:column-reverse
    }

    .header {
        width: calc(100% - 60px);
        max-width: 550px
    }

    .header__inner__box__logoBox {
        width: clamp(193px,51.6592vw,320px)
    }

    body:not(.home) .header__inner__box__ttl,body:not(.home) .header__inner__switch {
        display: none
    }

    .home .header__inner__box__ttl,.home .header__inner__switch {
        display: flex
    }

    .home .hbg__btn {
        display: none
    }

    .home .header__inner {
        flex-direction: column;
        align-items: flex-start
    }

    .header__inner__box {
        margin: 0;
        gap: 27px;
        justify-content: space-between;
        width: 100%
    }

    .header__inner__box__ttl {
        align-items: flex-end
    }

    .header__inner__switch {
        margin-top: clamp(23px,6vw,30px);
        margin-right: 0;
        margin-left: auto;
        transform: rotate(0deg) translateY(0)
    }

    .hbg__btn {
        position: relative;
        width: 43px;
        height: 18px
    }

    .hbg__btn::before {
        content: "";
        position: absolute;
        top: 0;
        width: 100%;
        height: 4px;
        background-color: #000000;
        transition: all 0.4s
    }

    .hbg__btn::after {
        content: "";
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 4px;
        background-color: #000000;
        transition: all 0.4s
    }

    .hbg__menu {
        position: fixed;
        left: 0;
        width: 100%;
        height: 100%;
        top: calc(var(--header-height) + var(--wpadminbar-height));
        background-color: #fff;
        transition: all 0.4s;
        transform: translateX(100%);
        z-index: 100;
        padding: 0 30px 120px 30px;
        overflow: auto
    }

    .hbg__menu__active {
        transform: translateX(0)
    }

    .hbg__menu__nav {
        padding: 0 20px 20px;
        margin-top: -1px
    }

    .hbg__menu__nav__switch {
        justify-content: flex-start;
        margin-top: 28px
    }

    .hbg__btn__active::before {
        transition: all 0.4s;
        top: 45%
    }

    .hbg__btn__active::after {
        transition: all 0.4s;
        bottom: 45%
    }

    .overlay {
        position: fixed;
        top: 52px;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.5);
        z-index: 1;
        display: none;
        opacity: 0
    }

    .front__fv__wrap img {
        width: 100vw;
        object-fit: cover;
        object-position: center
    }

    body:not(.home) .left-side {
        display: none
    }

    .right-side {
        width: 90%;
        max-width: 500px;
        margin: 0 auto;
        position: relative;
        padding-right: 0;
        padding-bottom: 40px;
        height: auto;
        overflow: visible;
        padding-top: 0
    }

    .right-side__searchBox {
        width: 193px;
        margin-right: 0;
        margin-left: auto
    }

    .right-side__taxonomyBox__innerSp {
        display: flex
    }

    .archive-news__container__btn {
        gap: 21px
    }

    .single-news__container__wrap__content p {
        margin-top: clamp(20px,6.25vw,30px)
    }
}

.notFound,.comingSoon,.maintenance {
    margin: clamp(80px,20vw,180px) auto;
    text-align: center
}

.notFound__ttl,.comingSoon__ttl,.maintenance__ttl {
    font-family: var(--sub-font01);
    font-size: clamp(5rem,12vw,8rem);
    font-weight: bold
}

.notFound__text,.comingSoon__text,.maintenance__text {
    margin-top: 50px;
    font-size: clamp(1.8rem,4vw,2rem);
    line-height: 1.4
}

.notFound__url {
    font-size: clamp(1.2rem,3vw,1.8rem);
    margin-top: 50px
}

.privacy {
    font-family: var(--mfw-font)
}

.privacy-inner {
    max-width: 500px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0
}

.privacy-inner h2 {
    margin-top: 40px;
    font-size: 2.6rem;
    line-height: 1.55;
    letter-spacing: 0;
    font-weight: 600
}

.overview {
    margin-top: 15px
}

@media(max-width: 520px) {
    .privacy-inner h2 {
        margin-top:40px;
        font-size: 2rem;
        line-height: 3rem
    }

    .overview {
        font-size: 1.4rem
    }
}

.primary-list {
    padding-top: 50px;
    padding-bottom: 15px;
    font-size: 1.5rem
}

.flex-list {
    display: flex;
    justify-content: space-between;
    padding-bottom: 15px
}

.primary-list .flex-list {
    font-size: 2rem
}

.flex-list p:first-child {
    width: 4%
}

.flex-list p:last-child {
    width: 96%
}

.primary-list .flex-list p:first-child {
    width: 6%
}

.primary-list .flex-list p:last-child {
    width: 94%
}

.flex-list.digits p:first-child {
    width: 8%
}

.flex-list.digits p:last-child {
    width: 92%
}

@media(max-width: 555px) {
    .header {
        width:100%;
        padding-left: 30px;
        padding-right: 30px
    }
}

@media(max-width: 520px) {
    .primary-list {
        padding-top:30px;
        padding-bottom: 10px;
        font-size: 1.4rem
    }

    .flex-list {
        padding-bottom: 10px
    }

    .primary-list .flex-list {
        font-size: 1.8rem
    }

    .flex-list p:first-child {
        width: 6%
    }

    .flex-list p:last-child {
        width: 94%
    }

    .primary-list .flex-list p:first-child {
        width: 8%
    }

    .primary-list .flex-list p:last-child {
        width: 92%
    }

    .flex-list.digits p:first-child {
        width: 12%
    }

    .flex-list.digits p:last-child {
        width: 88%
    }
}

.secondary-list {
    padding-left: 0.5rem
}

.secondary-list .flex-list,.third-list .flex-list {
    padding-bottom: 0
}

.third-list {
    padding-left: 1.5rem
}

.sign {
    margin-top: 30px;
    width: fit-content;
    border-bottom: 1px solid #000000
}

.info {
    margin-top: 10px
}

.enactment-date {
    margin-top: 70px;
    text-align: right
}

.privacy-inner span {
    display: block
}

@media(max-width: 520px) {
    .secondary-list,.third-list {
        font-size:1.4rem
    }

    .sign {
        margin-top: 20px
    }

    .info {
        font-size: 1.1rem
    }

    .enactment-date {
        font-size: 1.4rem
    }
}

.cookie-inner {
    max-width: 500px;
    line-height: 2.8rem;
    font-family: var(--mfw-font)
}

.cookie-inner h2 {
}

.overview {
    margin-top: 15px
}

@media(max-width: 520px) {
    .cookie-inner h2 {
    }

    .overview {
        font-size: 1.4rem
    }
}

.primary-list {
    padding-top: 50px;
    padding-bottom: 15px;
    font-size: 1.5rem
}

.flex-list {
    display: flex;
    justify-content: space-between;
    padding-bottom: 15px
}

.primary-list .flex-list {
    font-size: 2rem
}

.flex-list p:first-child {
    width: 4.7%
}

html[lang="en-US"] .flex-list p:first-child {
    width: 6.7%
}

.flex-list p:last-child {
    width: 96%
}

.primary-list .flex-list p:first-child {
    width: 6%
}

.primary-list .flex-list p:last-child {
    width: 94%
}

.flex-list.digits p:first-child {
    width: 8%
}

.flex-list.digits p:last-child {
    width: 92%
}

@media(max-width: 520px) {
    .primary-list {
        padding-top:30px;
        padding-bottom: 10px;
        font-size: 1.4rem
    }

    .flex-list {
        padding-bottom: 10px
    }

    .primary-list .flex-list {
        font-size: 1.8rem
    }

    .flex-list p:first-child {
        width: 6%
    }

    .flex-list p:last-child {
        width: 94%
    }

    .primary-list .flex-list p:first-child {
        width: 8%
    }

    .primary-list .flex-list p:last-child {
        width: 92%
    }

    .flex-list.digits p:first-child {
        width: 12%
    }

    .flex-list.digits p:last-child {
        width: 88%
    }

    .adjust2 {
        display: block
    }
}

.secondary-list {
    padding-left: 0.5rem
}

.secondary-list .flex-list,.third-list .flex-list {
    padding-bottom: 0
}

.third-list {
    padding-left: 1.5rem
}

.sign {
    margin-top: 30px;
    width: fit-content;
    border-bottom: 1px solid #000000
}

.info {
    margin-top: 10px
}

.enactment-date {
    margin-top: 70px;
    text-align: right
}

.c-heading--sm {
    font-size: 18px;
    margin-bottom: 10px
}

.third-list2 {
    margin: 10px 0 20px
}

.cookie-inner a {
    display: inline;
    text-decoration: underline;
    text-underline-offset: 5px
}

.primary-list .about-title {
    font-size: 2.6rem;
    line-height: 4rem;
    letter-spacing: 0.3rem
}

@media(max-width: 520px) {
    .primary-list .about-title {
        font-size:2rem;
        line-height: 3rem
    }

    .overview {
        font-size: 1.4rem
    }
}

@media(max-width: 520px) {
    .c-heading--sm {
        font-size:18px;
        margin-bottom: 10px
    }

    .secondary-list,.third-list {
        font-size: 1.4rem
    }

    .sign {
        margin-top: 20px
    }

    .info {
        font-size: 1.1rem
    }

    .enactment-date {
        font-size: 1.4rem
    }
}
.link__arrow img {
    width: 14px;
    height: auto;
    display: block
}

.fa-solid {
    transition: 0.4s;
    font-family: "Font Awesome 6 Free" !important
}

.fo14 {
    font-size: 14px
}
.accordion-title {
    position: relative;
    padding-left: 1.5em;
    cursor: pointer
}

.about-grope-row:nth-of-type(n+2) .accordion-inner {
    display: block
}

.accordion-inner {
    margin-bottom: 30px
}

.accordion-wrap {
    margin-top: 12px
}

.group .about__container__acTtl__icon {
    position: relative;
    width: 18px;
    height: 2px;
    background: #000
}

.no-link {
    cursor: auto;
    pointer-events: none
}

h5 a br {
    display: none
}

.about__container__history__row:has(span:empty) {
    display: none
}

[id^="datasign_cmp"]::part(floating-container) {
    left: 30px;
    bottom: 5px
}

[id^="datasign_cmp"]::part(floating-button) {
    min-width: 28px;
    height: 28px;
    line-height: 28px
}

[id^="datasign_cmp"]::part(floating-button)::after {
    width: 18px;
    height: 18px
}

@media(max-width: 650px) {
    [id^="datasign_cmp"]::part(floating-container) {
        left:5px;
        bottom: 10px
    }
}

.sustainability-introduction {
    display: flex;
    flex-flow: column;
    gap: 2rem;
    .item {
        border: 1px solid #000000;
        font-size: 12px;
        >p {
            display: none
        }

        & a {
            display: flex;
            padding: 1.2rem;
            position: relative;
            &:before {
                content: "";
                background: url("https://www.tsuneishi-g.jp/wp/wp-content/uploads/2024/01/arrow_icon.png");
                width: 10px;
                height: 18px;
                position: absolute;
                top: 50%;
                right: 2.3rem;
                transform: translate(0,-50%);
                transition: 0.4s;
                @media(width < 1000px) {
                    right: 1.2rem
                }
            }

            &:hover {
                &:before {
                    transform: translate(5px,-50%)
                }
            }
        }

        & img {
            width: 24rem;
            @media(width < 1000px) {
                width: 14rem
            }
        }
    }
}


.single-news__container__wrap__content table {
    max-width: 100%
}

.page__container .comContent {
    & a{
        display: inline;
        text-decoration: underline;
        text-underline-offset: 5px;
        }
    ul.listnone{
        & li {
            list-style-type: none;
            margin-bottom: 0;
            margin-left: 10px;
            padding-left: 10px;
            }
        }
    .wp-block-paragraph+.wp-block-paragraph {
        margin-top: 30px
    }

    .wp-block-paragraph+.wp-block-heading,.wp-block-list+.wp-block-heading {
        margin-top: 30px
    }

    .wp-block-paragraph+h1.wp-block-heading,.wp-block-list+h1.wp-block-heading,.wp-block-paragraph+h2.wp-block-heading,.wp-block-list+h2.wp-block-heading,.wp-block-paragraph+h3.wp-block-heading,.wp-block-list+h3.wp-block-heading {
        margin-top: 60px
    }

    & h2.wp-block-heading {
        margin-top: 40px;
        font-size: 2.6rem;
        line-height: 1.55;
        letter-spacing: 0;
        font-weight: 600;
        margin-bottom: 30px
    }

    & h3.wp-block-heading {
        font-size: 2rem;
        margin-bottom: 30px
    }

    & h4.wp-block-heading {
        font-size: 1.7rem;
        margin-bottom: 20px;
        &.heading-sub{
            margin-bottom: 0;
            line-height: 1.5;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 1.4rem;
        }
        &.heading-sub + h2.wp-block-heading{
            margin-top: 5px;        
        }
    }

    & h5.wp-block-heading {
        font-size: 1.7rem;
        margin-bottom: 20px
    }

    & h6.wp-block-heading {
        font-size: 1.7rem;
        margin-bottom: 20px
    }
}

ul.wp-block-list {
    margin: 30px 0;
    &:first-child {
        margin-top: 0
    }

    &:last-child {
        margin-bottom: 0
    }

    & li {
        list-style-type: disc;
        margin-bottom: 10px;
        margin-left: 24px;
        padding-left: 10px
    }

    & .wp-block-list {
        margin: 20px 0
    }

    & ul>li {
        list-style-type: circle
    }
}

ol.wp-block-list {
    margin: 30px 0;
    &:first-child {
        margin-top: 0
    }

    &:last-child {
        margin-bottom: 0
    }

    &>li {
        list-style-type: decimal;
        margin-bottom: 10px;
        margin-left: 24px;
        padding-left: 10px
    }

    & .wp-block-list {
        margin: 20px 0
    }

    & ol>li {
        list-style-type: lower-roman
    }
}

.wp-block-image {
    margin: 30px 0;
    &:first-child {
        margin-top: 0
    }

    &:last-child {
        margin-bottom: 0
    }
    .wp-element-caption {
        font-size: 1.1rem;
        margin-top: 10px;
        line-height: 1.7;
        letter-spacing: 0;
        font-weight: 600
    }
}

.wp-block-columns {
    margin: 30px 0;
    &:first-child {
        margin-top: 0
    }

    &:last-child {
        margin-bottom: 0
    }
}

.wp-block-table {
    & table {
        width: 100%;
        border: 0;
        border-spacing: 0;
        height: auto !important;
        border-top: 1px solid #e1e1e1;
        border-left: 1px solid #e1e1e1
    }

    & td {
        border: 0;
        padding: 5px 5px 5px 15px;
        border-bottom: 1px solid #e1e1e1;
        border-right: 1px solid #e1e1e1
    }

    & td:first-child {
        width:30%;
        padding: 5px 5px 5px 15px;
        background-color: #e1e1e1;
        border-bottom: 1px solid #fff
    }
}

.map {
    & iframe {
        width: 100%
    }
}


.grecaptcha-badge {
    display: none !important;
    }
.page-id-24 .grecaptcha-badge,
.page-id-109 .grecaptcha-badge {
    display: block !important;
    }