@charset "UTF-8";

*,
::before,
::after {
    background-repeat: no-repeat;
    box-sizing: inherit
}

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0;
}
html {
  scroll-behavior: smooth;
}
@keyframes motion-title-bg {
    0% {
        height: 0%
    }

    100% {
        height: 100%
    }
}

@keyframes motion-title-bg2 {
    0% {
        width: 0%
    }

    100% {
        width: 100%
    }
}

@keyframes motion-title-bg3 {
    0% {
        height: 0%
    }

    100% {
        height: 100%
    }
}

/* html {
    font-size: 62.5%;
    font-family: YakuHanJPs_Noto, "Noto Sans JP", sans-serif;
    text-align: center;
} */

body {
    font-style: normal;
    counter-reset: num;
    color: #231815;
}

hr {
    overflow: visible;
    height: 0
}

details,
main {
    display: block;
}

.clear {
    clear: both;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-table;
}

/*\*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

ul,
ol {
    list-style-type: none;
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline-width: 0
}

.wrapper {
    position: relative;
}

.headerBgWhite,
.headerChild {
    /* background: #fff */
    background-color: rgba(255, 255, 255, 0.8);
}


.header {
    width: 100%;
    /* height: 80px; */
    height: 70px;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 9999;
    /* padding-left: 3vw; */
    transition: background .8s;
    /* border-bottom: 1px solid rgb(255, 255, 255, .3); */
}

.headerBlack {
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 9999;
    padding-left: 1vw;
    transition: background .8s
}

.headerLogoLink {
    display: block;
    width: 100%;
    max-width: 200px;
}

.headerLogoLink img {
    width: 100%;
}

.headerLogoLink:hover {
    opacity: 1
}

.headerLogoImg {
    display: block;
}

.headerInstaWhite {
    display: block;
}


@media screen and (max-width: 767px) {
    .header {
        padding-left: 1vw;
    }

    .headerSpToggleBtn {
        width: 60px;
        height: 60px;
        position: relative;
        cursor: pointer;
        transition: opacity .5s;
        z-index: 999;
    }

    .headerIn {
        width: 95%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
    }
}

@media screen and (min-width: 768px) {
    .header {
        padding-left: 3vw;
    }
    .headerSpToggleBtn {
        display: none;
    }

    .headerIn {
        width: 100%;
        width: calc(100% - 3vw);
        /* max-width: 1300px; */
        margin: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
    }
}

.headerSpToggleBtnElement {
    display: block;
    height: 1px;
    width: 30px;
    background: #fff;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    transition: .5s ease-in-out
}

.headerBgWhite .headerSpToggleBtnElement,
.headerChild .headerSpToggleBtnElement {
    background: #231815
}

/*黒*/
.headerSpToggleBtnElementB {
    display: block;
    height: 1px;
    width: 30px;
    background: #231815;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    transition: .5s ease-in-out
}

.headerBgWhite .headerSpToggleBtnElementB,
.headerChild .headerSpToggleBtnElementB {
    background: #231815
}

.headerSpToggleBtn:hover {
    opacity: .5
}

.headerSpToggleBtnElement:nth-child(1),
.headerSpToggleBtnElementB:nth-child(1) {
    top: 30px
}

.headerSpToggleBtnElement:nth-child(2),
.headerSpToggleBtnElementB:nth-child(2) {
    top: 40px
}

.headerSpToggleBtnElement:nth-child(3),
.headerSpToggleBtnElementB:nth-child(3) {
    top: 50px
}

.headerSpToggleBtnOpen .headerSpToggleBtnElement,
.headerSpToggleBtnOpen .headerSpToggleBtnElementB {
    background: #231815;
}

.headerSpToggleBtnOpen .headerSpToggleBtnElement:nth-child(1),
.headerSpToggleBtnOpen .headerSpToggleBtnElementB:nth-child(1) {
    top: 65%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg)
}

.headerSpToggleBtnOpen .headerSpToggleBtnElement:nth-child(2),
.headerSpToggleBtnOpen .headerSpToggleBtnElementB:nth-child(2) {
    opacity: 0
}

.headerSpToggleBtnOpen .headerSpToggleBtnElement:nth-child(3),
.headerSpToggleBtnOpen .headerSpToggleBtnElementB:nth-child(3) {
    top: 65%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.headerNaviItem {
    display: none;
}

.headerBgWhite .headerNaviContactBtn,
.headerChild .headerNaviContactBtn {
    border-color: #231815;
    color: #231815
}

.headerNaviContactBtn {
    display: none;
}


.headerNaviOpen .headerNaviContactBtn {
    font-size: clamp(13px, 1.6vw, 16px) !important;
    display: block;
    color: #fff;
    width: 100%;
    max-width: 250px;
    margin: 30px auto 0;
    padding-top: .6em;
    padding-bottom: .6em;
    letter-spacing: .2em;
    background-color: #231815;
    text-decoration: none;
}

.noImg {
    display: block;
    border: 1px solid #B7B6B7;
    background: url("../img/logo_b.svg") no-repeat center center/60% auto #fff
}

.headerNavi {
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center
}


.headerNaviOpen {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    justify-content: center;
    align-items: center;
    /* padding: 60px 0; */
    padding: 15px 0 60px 0;
    overflow-y: auto;
    background: #FFFFFF;
    background: rgba(255, 255, 255, 1);
    opacity: 0.95;
    filter: alpha(opacity=95) progid:DXImageTransform.Microsoft.Alpha(opacity=95);
}

.headerNaviInner {
    display: none;
}

.headerNaviOpen .headerNaviInner {
    display: block;
    width: 100%;
    max-width: 800px;
    margin: 80px auto 0px auto;
}

.headerNaviHeader {
    display: none
}

.headerNaviOpen .headerNaviHeader {
    display: block
}

.headerNaviHeaderLogo {
    display: inline-block;
    text-decoration: none
}

.headerNaviHeaderLogo:hover {
    opacity: 1
}

.headerNaviHeaderLogoImg {
    display: block;
    height: 40px;
    margin: 0 auto
}

.headerNaviHeaderTel {
    margin-top: 30px
}

.headerNaviHeaderTelLink {
    display: block;
    font-size: clamp(22px, 2vw, 40px) !important;
    line-height: 1;
    text-decoration: none;
    letter-spacing: .1em;
    color: #231815;
}

.headerNaviHeaderTelNumber {
    font-size: clamp(22px, 2vw, 40px) !important;
    letter-spacing: .1em;
}

.headerNaviHeaderTelTime {
    font-size: clamp(10px, 1vw, 13px) !important;
    line-height: 1.5;
    margin-top: .5em;
    /* letter-spacing: .2em */
}

.headerNaviList {
    display: none;
}

.headerNaviOpen .headerNaviList {
    display: block;
    margin-left: auto;
    margin-right: auto;
    color: #231815;
}

.headerNaviItem {
    display: block;
    float: left;
    position: relative;
    font-size: clamp(14px, 2vw, 16px);
    text-align: left;
    color: #231815;
    padding-top: 2.2em;
    text-align: center;
}

.headerNaviItem:nth-of-type(1),
.headerNaviItem:nth-of-type(2) {
    padding-top: 0px;
}

.headerNaviItem:nth-child(odd) {
    width: 40% !important;
    box-sizing: border-box;
    border-bottom: solid 1px #231815;
    margin-left: 5%;
    margin-right: 5%;
}

.headerNaviItem:nth-child(even) {
    width: 40% !important;
    box-sizing: border-box;
    border-bottom: solid 1px #231815;
    margin-left: 5%;
    margin-right: 5%;
}

.headerNaviLinkText {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .8s;
    padding: .2em .8em .1em;
}

.headerNaviLink:hover .headerNaviLinkText {
    opacity: 1;
    background: rgba(113, 112, 113, 0.9);
    color: #fff
}

.headerNaviOpen .headerNaviLink:hover .headerNaviLinkText {
    opacity: .5;
    background: transparent;
    color: #231815
}

.headerNaviOpen .headerNaviLinkText {
    opacity: 1;
    transform: none;
    position: static;
    padding: 0;
    color: #231815;
}

.headerNaviLinkEn {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .8s;
    padding: .2em .8em .1em;
    white-space: nowrap
}

.headerNaviLink:hover .headerNaviLinkEn {
    opacity: 0
}

.headerNaviOpen .headerNaviLinkEn {
    display: none
}

.headerNaviSubList {
    display: none;
    font-size: 1.2rem;
    position: absolute;
    top: calc(50% + 1.5em);
    left: 50%;
    transform: translateX(-50%);
    transition: background .8s
}

.headerBgWhite .headerNaviSubList,
.headerChild .headerNaviSubList {
    background: #fff;
    padding-bottom: 10px
}

.headerNaviOpen .headerNaviSubList {
    position: static;
    transform: none;
    padding-bottom: 0;
    margin-bottom: 20px !important;
    display: block
}

.headerNaviSubItem+.headerNaviSubItem {
    margin-top: .8em
}

.headerNaviSubLink {
    display: block;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    transition: background .8s, opacity .8s;
    color: #fff;
    padding: .2em .8em .1em
}

.headerBgWhite .headerNaviSubLink,
.headerChild .headerNaviSubLink {
    color: #231815
}

.headerNaviOpen .headerNaviSubLink {
    color: #231815
}

.headerNaviSubLink:hover {
    opacity: 1;
    color: #fff;
    background: rgba(113, 112, 113, 0.9)
}

.headerNaviOpen .headerNaviSubLink:hover {
    opacity: .5;
    background-color: transparent;
    color: #231815
}

.headerNaviSns {
    width: 100%;
    display: none;
    justify-content: center;
    margin-top: 20px
}

.headerNaviOpen .headerNaviSns {
    display: flex;
    margin-top: 10vh;
}

.headerNaviSnsItem {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0
}

.headerNaviSnsItem+.headerNaviSnsItem {
    margin-left: 20px
}

.headerNaviSnsLink {
    display: block;
    text-decoration: none;
    color: #231815
}

.topMainSection {
    position: relative;
    overflow: hidden;
}

.topMainSectionTop {
    position: relative;
    overflow: hidden;
}

.topMainSectionSlideImg {
    padding-top: 100vh
}

.topMainSectionSlideMovie {
    padding-top: 100vh;
    position: relative;
    overflow: hidden
}

.topMainSectionSlideMovieFile {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    min-width: 100%;
    min-height: 100%;
    z-index: 0
}


.whiteBlock {
    background: #fff;
    padding-top: 70px;
    padding-bottom: 70px;
}

.whiteBlock2 {
    background: #fff;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}


.white {
    color: #fff;
}

.whiteLine {
    border-bottom: solid 1px #fff;
}

.black {
    color: #231815;
}

.blackLine {
    border-bottom: solid 1px #231815;
}

footer {
    background: rgba(137, 137, 137, 1);
}

.footer {
    padding-top: 8vw;
    margin-top: -2px;
}


.footerName {
    font-size: clamp(11px, 1.1vw, 14px) !important;
    line-height: 4;
    color: #fff;
}

.footerAddress {
    font-size: clamp(12px, 1.3vw, 14px) !important;
    line-height: 2;
    color: #fff;
    /* letter-spacing: .05em; */
}


.footerTel {
    font-size: clamp(18px, 2.1vw, 22px) !important;
    line-height: 2;
    color: #fff;
    margin-top: 2.5vw;
    letter-spacing: 1.8px;
}

.footerTel a {
    color: #fff;
    text-decoration: none;
}

#copyright {
    font-size: clamp(9px, 1vw, 10px) !important;
    color: #fff;
    padding-bottom: 20px;
    margin-top: 5vw;
    margin-left: 20px;
}

.active2 {
    background-color: #231815;
    color: #fff !important;
}

.whiteColor {
    color: #fff !important;
}

/*セレクト*/
.selectBoxArea select {
    position: relative;
    width: 20%;
    padding-top: 10px;
    padding-bottom: 10px;
    appearance: none;
    background: #000;
    color: #FFF;
    border-radius: 8px;
    font-size: 13px;
    font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    text-align: center;
    float: right;
    margin-top: 30px;
    z-index: 10;

}

.selectBoxAreaSp select {
    display: none;
}

.nomagin {
    margin-bottom: -30px !important;
}

.selectSp {
    display: none;
}


/*無料相談会*/
.inq {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(13px, 1.5vw, 16px) !important;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #231815;
}

.inq th {
    width: 30%;
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #231815;
    font-weight: normal;
    line-height: 1.5;
    text-align: left;
    padding-left: 5%;
    vertical-align: top;
}

.inq td {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #231815;
    padding-left: 5%;
    text-align: left;
}

input.wpcf7-text {
    font-size: clamp(14px, 1.4vw, 16px) !important;
    color: #231815;
    height: 35px;
    width: 60%;
    font-family: "FOT-筑紫ゴシック Pr5N R" !important;
}

input#zip {
    width: 25% !important;
}

select.wpcf7-select {
    font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    font-size: clamp(14px, 1.4vw, 16px) !important;
    color: #231815;
    height: 35px;
    width: 25%;
    padding-left: 5px;
}

input[type=checkbox] {
    width: 15px;
    height: 15px;
}

span.wpcf7-list-item {
    display: block;
    font-size: clamp(14px, 1.4vw, 16px) !important;
    margin-bottom: 15px !important;
}

/* span.wpcf7-list-item:nth-of-type(4) {
    margin-bottom: 0px !important;
} */
span.wpcf7-list-item:last-of-type {
    margin-bottom: 0px !important;
}

.wpcf7-list-item {
    margin: 0 !important;
}

span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after {
    content: " ";
}

textarea.wpcf7-form-control.wpcf7-textarea {
    width: 60%;
    height: 150px;
    padding: 2px 8px;
    border: 1px solid #231815;
    font-family: "FOT-筑紫Aヴィンテージ明S Pr6 R", TsukuAVintageMinSPr6-R;
}

.textAreaText {
    font-size: clamp(14px, 1.4vw, 16px) !important;
    margin-bottom: 10px;
}

.submit_button {
    width: 30%;
    max-width: 100px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5%;
}

.submit_button input {
    width: 100%;
}


/*ページトップ*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
}

#page-top img {
    width: 40px;
    height: 40px;
}

#page-top a {
    transition: all .3s ease;
    display: block;
}

#page-top a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 767px) {
    .topMainSectionTop {
        height: 100vh;
        /* 画面の70%の高さ */
        position: relative;
        text-align: center;
        overflow: hidden;
    }

    #video {
        height: 100%;
        /* 親要素（topMainSection）の高さに合わせる */
        width: 100vw;
        /* 画面の幅に合わせる */
        object-fit: cover;
        /* 動画を中央に配置し、領域に合わせてカバー */
        position: absolute;
        /* 絶対配置 */
        top: 50%;
        /* 縦方向の中央に配置 */
        left: 50%;
        /* 横方向の中央に配置 */
        transform: translate(-50%, -50%);
        /* 完全に中央に配置する */
    }

    .topMainSectionImgPc {
        display: none
    }

    .header {
        height: 60px;
    }

    .headerBlack {
        height: 60px;
    }

    .headerLogoLink {
        max-width: 200px;
    }

    .headerSpToggleBtn {
        width: 40px;
        height: 40px;
        margin-left: 10px
    }

    .headerSpToggleBtnElement:nth-child(1),
    .headerSpToggleBtnElementB:nth-child(1) {
        top: 10px
    }

    .headerSpToggleBtnElement:nth-child(2),
    .headerSpToggleBtnElementB:nth-child(2) {
        top: 20px
    }

    .headerSpToggleBtnElement:nth-child(3),
    .headerSpToggleBtnElementB:nth-child(3) {
        top: 30px
    }

    .whiteBlock {
        background: #fff;
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .whiteBlock2 {
        background: #fff;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    .newsList {
        width: 100%;
        position: relative;
        margin-top: 50px;
    }

    .newsList ul {
        width: 100%;
        margin-top: -10px;
    }

    .newsList ul li {
        width: 96%;
        text-align: left;
        padding-top: 15px;
        padding-bottom: 15px;
        border-bottom: solid 1px #231815;
        font-size: 14px !important;
        padding-left: 2%;
        padding-right: 2%;
    }

    .newsList ul li:nth-of-type(1) {
        border-top: solid 1px #231815;
    }

    .newsDate {
        width: 100%;
        padding-left: 0px;
        font-size: clamp(11px, 1.2vw, 13px) !important;
        display: block;
        padding-right: 0px;
    }

    .footer {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    #footerInner {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        display: flex;
        flex-wrap: wrap;
    }

    #footerInnerRight {
        width: 100%;
    }


    #footerInnerLeft {
        width: 100%;
        margin-top: 30px;
    }

    #footerInnerLeft img {
        /* width: 70%; */
        /* width: 35%; */
        /* width: 50%; */
        width: 40%;
        display: block;
        max-width: 230px;
        margin: 20px auto;
    }


    .footerName {
        font-size: 12px;
        line-height: 4;
        color: #fff;
    }

    .footerTel {
        /* font-size: 22px !important; */
        font-size: 18px !important;
        line-height: 2;
        color: #fff;
        text-align: center;
    }

    .footerTel a {
        color: #fff;
        text-decoration: none;
    }

    .footerAddress {
        font-size: 11px !important;
        line-height: 2;
        color: #fff;
        text-align: center;
        /* letter-spacing: -0.1rem; */
    }

    #copyright {
        font-size: 12px !important;
        text-align: center;
        color: #fff;
        padding-bottom: 10px;
    }

    .headerNaviOpen .headerNaviHeaderLogoImgModal {
        max-width: 150px;
    }

    .headerNaviHeaderTelLink {
        font-size: 25px;
    }

    .headerNaviHeaderTelNumber {
        font-size: 25px;
    }

    .headerNaviHeaderTelTime {
        font-size: 13px !important;
    }

    .headerNaviOpen .headerNaviList {
        /* width: 90%;
        max-width: 90%; */
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .headerNaviItem {
        font-size: 14px;
    }

    .headerNaviItem:nth-child(odd) {
        width: 45% !important;
        margin-left: 2.5%;
        margin-right: 2.5%;
        /* padding-left: 5%; */
        box-sizing: border-box;
        border: none !important;
    }

    .headerNaviItem:nth-child(even) {
        width: 45% !important;
        margin-left: 2.5%;
        margin-right: 2.5%;
        /* padding-left: 5%; */
        box-sizing: border-box;
        border: none !important;
    }

    .headerNaviLinkText {
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: opacity .8s;
        padding: .2em .8em .1em;
    }

    .headerNaviLinkEn {
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: opacity .8s;
        padding: .2em .8em .1em;
        white-space: nowrap
    }

    .headerNaviSubList {
        display: none;
        font-size: 1.2rem;
        position: absolute;
        top: calc(50% + 1.5em);
        left: 50%;
        transform: translateX(-50%);
        transition: background .8s
    }

    .headerNaviSubItem+.headerNaviSubItem {
        margin-top: .8em
    }

    .headerNaviSns {
        width: 100%;
        display: none;
        justify-content: center;
        margin-top: 20px
    }

    .headerNaviOpen .headerNaviSns {
        display: flex;
        margin-top: 15vh;
    }

    .headerNaviSnsItem {
        font-size: 2rem;
        line-height: 1;
        letter-spacing: 0
    }

    .headerNaviSnsItem+.headerNaviSnsItem {
        margin-left: 25px
    }

    /*セレクト*/
    .selectBoxArea select {
        position: relative;
        width: 70%;
        padding-top: 10px;
        padding-bottom: 10px;
        appearance: none;
        background: #000;
        color: #FFF;
        border-radius: 8px;
        font-size: 13px;
        font-family: "A1 Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        text-align: center;
        margin-top: 30px;
        z-index: 10;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
        float: none;
    }


    .selectPc {
        display: none;
    }

    .selectSp {
        display: block;
    }

    #page-top img {
        width: 40px;
        height: 40px;
    }

    #page-top {
        position: fixed;
        bottom: 20px;
        right: 10px;
        z-index: 99;
    }

    /*バガーメニューアイコンライン色*/
    .headerSpToggleBtnElement {
        /* background: #231815; */
        background: #fff;
    }

    /*スマホフッター固定メニュー*/
    .spFixBanner {
        display: flex;
        width: 100%;
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99;
        background: #fff;
        border: 3px solid #F18700;
    }

    .spFixBanner__item {
        width: 50%
    }

    .spFixBanner__link {
        display: block;
        text-decoration: none;
        /* padding-top: 5px; */
    }

    a.orange {
        color: #F18700;
    }

    .spFixBanner__item:first-child .spFixBanner__link {
        background: #F18700;
        color: #fff
    }

    .spFixBanner__link:hover {
        opacity: 1
    }

    .spFixBanner__catch {
        font-size: 12px;
        line-height: 1.8;
        display: block;
        letter-spacing: .1em
    }

    .spFixBanner__title {
        display: block;
        /* font-size: 18px; */
        font-size: clamp(16px, 2.5vw, 18px) !important;
        line-height: 1.5;
        letter-spacing: .1em;
        padding-left: 35px;
    }

    .spFixBanner__title::before {
        content: url(/img/kobetsu.svg);
        vertical-align: middle;
        display: inline-block;
        transform: scale(0.6);
        position: absolute;
        top: 20px;
        left: 20px;
    }

    .spFixBanner__tel {
        display: block;
        /* font-size: 18px; */
        font-size: clamp(16px, 2.5vw, 18px) !important;
        line-height: 1.5;
        letter-spacing: 0.05em;
        /* letter-spacing: .05em; */
        padding-left: 35px;
        /* margin-top: 4px */
    }

    .spFixBanner__tel::before {
        content: url(/img/seikyuu.svg);
        vertical-align: middle;
        display: inline-block;
        transform: scale(0.65);
        position: absolute;
        top: 20px;
        right: 39%;
    }

}

@media screen and (min-width: 768px) {
    .topMainSectionTop {
        margin: 0;
        padding: 0;
        height: 100vh;
        position: relative;
        overflow: hidden;
    }

    #video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        /* 100vwではなく100%にする */
        height: 100%;
        /* 親の100vhにフィット */
        object-fit: cover;
        display: block;
    }

    .topMainSectionImgSp {
        display: none
    }

    .topConceptLineTitle {
        width: 235px;
        padding-top: 4em;
        padding-bottom: 4em;
        background: none;
    }

    .topLineTitle {
        display: inline-block;
        font-size: clamp(11px, 1.2vw, 13px) !important;
        line-height: 1.6;
        letter-spacing: .3em;
        text-align: center;
        min-width: 200px;
        padding: 3.5em 2em;
        position: relative;
        z-index: 1
    }

    .topLineTitle--white {
        color: #fff
    }

    .is-show .topLineTitle::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background: url("../img/line.svg") no-repeat center top/auto 110px;
        position: absolute;
        top: 0px;
        left: 0;
        animation-name: motion-title-bg;
        animation-fill-mode: both;
        animation-delay: 0s;
        animation-duration: 1s;
        animation-timing-function: ease-in;
        z-index: -1
    }

    .topLineTitleWhite {
        display: inline-block;
        font-size: clamp(12px, 1.2vw, 14px) !important;
        line-height: 1.6;
        letter-spacing: .1em;
        text-align: left;
        min-width: 200px;
        padding: 3.5em 2em;
        position: relative;
        z-index: 1
    }

    .topLineTitleWhite--white {
        color: #fff
    }

    .is-show .topLineTitleWhite::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background: url("../img/line_white_new.svg") no-repeat left top/auto 90%;
        position: absolute;
        top: 0px;
        left: 30px;
        animation-name: motion-title-bg;
        animation-fill-mode: both;
        animation-delay: 0s;
        animation-duration: 1s;
        animation-timing-function: ease-in;
        z-index: -1
    }

    #footerInner {
        width: 90%;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        display: flex;
        flex-wrap: wrap;
    }

    #footerInnerRight {
        width: 30%;
        order: 0;
    }

    #footerInnerRight img {}

    #footerInnerLeft {
        width: 70%;
        order: -1;
    }

    #footerInnerLeft img {
        /* width: 70%; */
        /* width: 35%; */
        width: 50%;
        display: block;
        max-width: 400px;
    }

    .pcHidden {
        display: none;
    }

    .staffNameSp {
        display: none;
    }

    .staffJobSp {
        display: none;
    }

}

/*モーダル*/
.headerNaviHeaderLogoImgModal {
    display: none;
}

.headerNaviOpen .headerNaviHeaderLogoImgModal {
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 0 auto
}

.headerNaviOpen .headerNaviHeaderLogoImg {
    display: none;
}

.headerNaviOpen .headerNaviItem {
    width: 100%;
}

.headerNaviOpen .headerNaviItem:last-child {}

.headerNaviOpen .headerNaviItemPc {
    display: none
}

.headerNaviItemSp {
    display: none
}

.headerNaviOpen .headerNaviItemSp {
    display: block
}

@media screen and (min-width: 768px) {

    .mb10 {
        margin-bottom: 10px;
    }

    .mb20 {
        margin-bottom: 20px;
    }

    .mb50 {
        margin-bottom: 50px;
    }

    .mt30 {
        margin-top: 30px;
    }

    .mt50 {
        margin-top: 50px;
    }

    .mt70 {
        margin-top: 70px;
    }

    .mtN20 {
        margin-top: -20px !important;
    }

    .mtN30 {
        margin-top: -30px !important;
    }

    .lineNormal {
        line-height: 1.5 !important;
    }

    .whiteText {
        color: #fff;
    }

    .spBr {
        display: none;
    }
}

.wpcf7-response-output {
    font-family: "FOT-筑紫Aヴィンテージ明S Pr6 R", TsukuAVintageMinSPr6-R !important;
    font-size: clamp(12px, 2vw, 16px) !important;
    color: #dc3232 !important;
    border-color: #dc3232 !important;
}

@media screen and (max-width:767px) {


    .inqForm {
        width: 95%;
        margin-right: auto;
        margin-left: auto;
        /* font-size: clamp(13px, 1.5vw, 16px) !important; */
        font-size: 16px;
        box-sizing: border-box;
    }

    .formBlock {
        width: 100%;
        margin-bottom: 10px;
    }

    .formBlock2 {
        width: 100%;
        margin-bottom: 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .formBlock input[type=text],
    .formBlock input[type=email],
    .formBlock input[type=tel],
    .formBlock input[type=number],
    .formBlock input[type=date],
    .formBlock select,
    .formBlock textarea {
        line-height: 1.6;
        height: 2.5em !important;
        display: block;
        width: 100% !important;
        padding: .3em;
        color: #231815 !important;
        font-size: 16px !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
        border-radius: 0px !important;
        background-color: #FFF;
        border: solid 1px #231815;
    }

    .formBlock input[type=text]::placeholder,
    .formBlock input[type=email]::placeholder,
    .formBlock input[type=tel]::placeholder,
    .formBlock input[type=date]::placeholder,
    .formBlock textarea::placeholder {
        color: #9fa0a0 !important;
        font-size: 11px !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock textarea {
        padding-top: 8px !important;
    }

    .formBlock2 input[type=text],
    .formBlock2 input[type=email],
    .formBlock2 input[type=tel],
    .formBlock2 input[type=number],
    .formBlock2 input[type=date],
    .formBlock2 select,
    .formBlock2 textarea {
        line-height: 1.6;
        height: 2.5em !important;
        display: block;
        width: 100% !important;
        padding: .3em;
        color: #231815 !important;
        font-size: 16px !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
        border-radius: 0px !important;
        background-color: #FFF;
        border: solid 1px #231815;
    }

    .formBlock2 input[type=text]::placeholder,
    .formBlock2 input[type=email]::placeholder,
    .formBlock2 input[type=tel]::placeholder,
    .formBlock2 input[type=date]::placeholder,
    .formBlock2 textarea::placeholder {
        color: #9fa0a0 !important;
        font-size: 11px !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    select.is-empty {
        font-size: 11px !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
        height: 3.65em !important;
        padding: .3em .7em;
        color: #9fa0a0 !important;
    }

    .submit_button2 {
        /* width: 30%;
        max-width: 100px; */
        width: 80px;
        margin-left: auto;
        margin-right: auto;
        /* margin-top: 5%; */
    }

    /* .submit_button input {
        width: 100%;
    } */

    .inqForm .wpcf7-form-control-wrap:has(>input[aria-required=true]):before,
    .inqForm .wpcf7-form-control-wrap:has(>select[aria-required=true]):before {
        position: absolute;
        content: "必須";
        width: 3em;
        text-align: center;
        /* right: 1em; */
        top: .9em;
        /* top: 1em; */
        right: .5em;
        font-size: .6em;
        /* font-weight: bold; */
        padding: .2em;
        background: #009591;
        color: #fff;
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    select::-ms-expand {
        display: none;
    }

    .formBlockSize1 {
        width: 100%;
        position: relative;
        margin-bottom: 10px;
    }

    .formBlockSize2 {
        width: 100%;
        position: relative;
    }

    .formBlockSize3 {
        width: 48.5%;
        /* position: relative; */
    }

    .formBlockSize3 input.wpcf7-text {
        width: 100% !important;
        /* position: relative; */
    }

    .formBlock input::-webkit-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock input:-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock input::-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input::-webkit-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input:-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input::-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input:-ms-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }


    .flatpickr-input input {
        padding: 0px;
    }

    .formMainImg {
        /* width: 100%;
        z-index: 0;
        position: relative;
        font-size: 0;
        margin-top: 20px;
        display: flex;
        align-items: center;
        justify-content: center; */
        width: 100%;
        z-index: 0;
        position: relative;
        font-size: 0;
        margin-top: 20px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
    }

    .formMainImg img {
        width: 100%;
        ;
        height: auto;
    }

    #formBox {
        position: absolute;
        z-index: 100;
        text-align: center;

    }

    #formBox h3 {
        font-size: clamp(30px, 8.5vw, 40px) !important;
        color: #fff;
        letter-spacing: .1em;
    }

    .wpcf7-not-valid-tip {
        font-size: .75em !important;
    }
}

@media screen and (min-width:768px) {
    .inqForm {
        width: 95%;
        margin-right: auto;
        margin-left: auto;
        font-size: clamp(13px, 1.5vw, 16px) !important;
        max-width: 1000px;
        box-sizing: border-box;
        margin-top: 5vh;
    }

    .formBlock {
        width: 100%;
        margin-bottom: 15px;
    }

    .formBlock2 {
        width: 100%;
        margin-bottom: 15px;
        display: flex;
        justify-content: space-between;
    }

    .formBlock input[type=text],
    .formBlock input[type=email],
    .formBlock input[type=tel],
    .formBlock input[type=number],
    .formBlock input[type=date],
    .formBlock select,
    .formBlock textarea {
        line-height: 1.6;
        height: 3.3em !important;
        display: block;
        width: 100% !important;
        padding: .7em;
        /* color: #9fa0a0 !important; */
        color: #231815 !important;
        font-size: 16px !important;
        /* font-size: clamp(14px, 1.4vw, 16px) !important; */
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        background-color: #FFF;
        border: solid 1px #231815;
        border-radius: 0px;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock textarea {
        padding-top: 10px !important;
    }

    .formBlock input[type=text]::placeholder,
    .formBlock input[type=email]::placeholder,
    .formBlock input[type=tel]::placeholder,
    .formBlock input[type=date]::placeholder,
    .formBlock textarea::placeholder {
        color: #9fa0a0;
        font-size: 13px !important;
        /* font-size: clamp(14px, 1.4vw, 16px) !important; */
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input[type=text],
    .formBlock2 input[type=email],
    .formBlock2 input[type=tel],
    .formBlock2 input[type=number],
    .formBlock2 input[type=date],
    .formBlock2 select,
    .formBlock2 textarea {
        line-height: 1.6;
        height: 3.3em !important;
        display: block;
        width: 100% !important;
        padding: .7em;
        /* color: #9fa0a0 !important; */
        color: #231815 !important;
        font-size: 16px !important;
        /* font-size: clamp(14px, 1.4vw, 16px) !important; */
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        background-color: #FFF;
        border: solid 1px #231815;
        border-radius: 0px;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input[type=text]::placeholder,
    .formBlock2 input[type=email]::placeholder,
    .formBlock2 input[type=tel]::placeholder,
    .formBlock2 input[type=date]::placeholder,
    .formBlock2 textarea::placeholder {
        color: #9fa0a0;
        font-size: 13px !important;
        /* font-size: clamp(14px, 1.4vw, 16px) !important; */
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    span.wpcf7-list-item {
        display: block;
        font-size: clamp(13px, 1.4vw, 14px) !important;
        margin-bottom: 15px !important;
    }

    span.wpcf7-list-item:last-of-type {
        margin-bottom: 0px !important;
    }

    .wpcf7-list-item {
        margin: 0 !important;
    }

    span.wpcf7-list-item-label::before,
    span.wpcf7-list-item-label::after {
        content: " ";
    }

    .submit_button2 {
        /* width: 30%;
        max-width: 100px; */
        width: 100px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 5%;
        margin-bottom: 5%;
        position: relative;
        overflow: hidden;
        height: 100px;
    }

    .inqForm .wpcf7-form-control-wrap:has(>input[aria-required=true]):before,
    .inqForm .wpcf7-form-control-wrap:has(>select[aria-required=true]):before {
        position: absolute;
        content: "必須";
        width: 3em;
        text-align: center;
        right: 1em;
        /* top: .65em; */
        top: 1em;
        font-size: .7em;
        /* font-weight: bold; */
        padding: .2em;
        background: #009591;
        color: #fff;
        /*追加*/
        display: inline-block;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    select::-ms-expand {
        display: none;
    }

    .formBlockSize1 {
        width: 57%;
        position: relative;
    }

    .formBlockSize2 {
        width: 40%;
        position: relative;
    }

    .formBlockSize3 {
        width: 48.5%;
        position: relative;
    }

    .placeholder::before {
        content: attr(placeholder);
        color: rgb(117, 117, 117);
    }

    .placeholder::-webkit-datetime-edit-fields-wrapper {
        display: none;
    }

    .placeholder::-webkit-calendar-picker-indicator {
        display: none;
    }

    .formBlock input::-webkit-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock input:-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock input::-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input::-webkit-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input:-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input::-moz-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .formBlock2 input:-ms-input-placeholder {
        /* font-family: TsukuAOldMinPr6-L !important; */
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
    }

    .flatpickr-input input {
        padding: 0px;
    }

    .formMainImg {
        width: 100%;
        z-index: 0;
        position: relative;
        font-size: 0;
        margin-top: 20px;
        display: flex;
        align-items: center;
    }

    .formMainImg img {
        width: 100%;
        height: auto;
    }

    #formBox {
        position: absolute;
        left: 10%;
        transform: translateY(-15%) translateX(-10%);
        z-index: 100;
        text-align: left;
    }

    #formBox h3 {
        font-size: clamp(22px, 3vw, 35px) !important;
        color: #fff;
        letter-spacing: .1em;
    }

    select.is-empty {
        /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
        color: #9fa0a0 !important;
        font-family: "FOT-筑紫ゴシック Pr5N R" !important;
        font-size: 13px !important;
        height: 4em !important;
    }
}

.wpcf7-not-valid-tip {
    text-align: left;
    /* font-family: "FOT-筑紫Aオールド明朝 Pr6 L" !important; */
    font-family: "FOT-筑紫ゴシック Pr5N R" !important;
}

select option {
    color: #9fa0a0 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450 !important;
    color: #46b450 !important;
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
}


@media screen and (max-width: 767px) {
    .headerLogoLink img {
        width: 160px;
    }

    .bargerHead {
        display: none;
    }

    .headerNaviOpen .headInsta {
        display: none;
    }

    #headMenu {
        /* display: none; */
        width: calc(100% - 160px) !important;
    }

    #headMenu ul {
        display: none;
    }

    .headerNaviOpen .bargerHead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: calc(100% - 50px);
        /* margin-top: -7px !important; */
    }

    #bHeadLogo {
        max-width: 160px;
        /* padding-left: 1vw; */
        margin-left: 3.5%;
    }

    #bHeadLogo img {
        max-width: 100%;
    }

    .headerSpToggleBtnOpen .headerSpToggleBtnElement:nth-child(1),
    .headerSpToggleBtnOpen .headerSpToggleBtnElementB:nth-child(1) {
        top: 60%;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .headerSpToggleBtnOpen .headerSpToggleBtnElement:nth-child(3),
    .headerSpToggleBtnOpen .headerSpToggleBtnElementB:nth-child(3) {
        top: 60%;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
}

@media screen and (min-width: 768px) {
    .headerLogoLink img {
        width: 100%;
    }

    #headMenu {
        /* width: 100%; */
        width: calc(100% - 300px);
        display: flex !important;
        justify-content: right !important;
    }

    #headMenu ul {
        /* width: 100%; */
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 20px;
        border-bottom: solid 1px #fff;
    }

    #headMenu ul.textBlackColor {
        border-bottom: solid 1px #231815 !important;
    }

    .headerBgWhite #headMenu ul {
        border-bottom: none !important;
    }

    #headMenu ul li {
        font-size: clamp(12px, 1.5vw, 14px) !important;
        padding: 0px 0px;
        text-align: right;
        color: #231815;
        margin-right: 25px;
    }

    /* #headMenu ul li:last-of-type {
        margin-right: 15px !important;
    } */
    .headerBgWhite2 #headMenu ul li a {
        color: #231815;
        text-decoration: none;
    }

    #headMenu ul li a:hover {
        opacity: 0.7;
    }

    #headMenu ul li a {
        color: #fff;
        text-decoration: none;
    }

    #headMenu ul.textBlackColor li a {
        color: #231815 !important;
        text-decoration: none;
    }

    .headerBgWhite #headMenu ul li a,
    .headerChild #headMenu ul li a {
        color: #231815
    }

    .headerBgWhite2 #headMenu ul li {
        color: #231815 !important;
    }

    .hide {
        display: none !important;
    }

    .bargerHead {
        display: none;
    }

    .headerNaviOpen .bargerHead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        /* width: calc(100% - 70px); */
        width: 100%;
        border-bottom: solid 1px #231815;
    }

    #bHeadLogo {
        max-width: 270px;
        padding-left: 1vw;
    }

    #bHeadLogo img {
        max-width: 100%;
    }
}

@media screen and (min-width: 880px) {
    #headMenu ul li {
        margin-right: 50px;
    }
}

/*メニュー内容*/
@media screen and (max-width: 767px) {
    .headerNaviOpen .headerNaviInner {
        max-width: 100%;
        /* margin: 0 auto */
        margin: 30px auto 0px auto;
    }

    .bagerMenuArea {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 30px;
    }

    .bagerNavi {
        width: 95%;
        order: 0;
        display: flex !important;
        flex-wrap: wrap;
        margin-left: auto;
        margin-right: auto;
        margin-top: 60px !important;
    }

    .bagerNavi li {
        width: 49% !important;
    }

    .bargerSub {
        width: 100%;
        order: -1;
    }

    ul.bargerFormBox {
        width: 95%;
        display: flex;
        margin-left: auto;
        margin-right: auto;
        justify-content: space-between;
    }

    ul.bargerFormBox li {
        width: 49%;
        border: 2px solid #f18700;
        text-align: center;
        padding: 10px 0px;
        position: relative;
    }

    ul.bargerFormBox li p {
        font-size: clamp(10px, 1.2vw, 12px) !important;
    }

    ul.bargerFormBox li:nth-of-type(1) {
        background-color: #f18700;
        color: #fff;
    }

    ul.bargerFormBox li:nth-of-type(2) {
        background-color: #fff;
        color: #f18700;
    }

    .bargerFormBoxTItle {
        display: flex;
        align-items: center;
        font-size: clamp(16px, 2vw, 18px) !important;
        justify-content: center;
        margin: 5px 0px;
    }

    .iconMargin {
        margin-right: 5px;
        width: 25px;
    }

    .modalInfo {
        display: none;
    }

    .stylusInfo {
        font-size: clamp(11px, 2.5vw, 13px) !important;
        text-align: center;
    }

    .modalInfoSp {
        width: 100%;
        margin-top: 50px;
    }
}

@media screen and (min-width: 768px) {
    .bagerMenuArea {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-top: 50px;
    }

    .bagerNavi {
        width: 60%;
    }

    .bargerSub {
        width: 30%;
        margin-left: 10%;
    }

    ul.bargerFormBox {
        width: 90%;
        display: flex;
        flex-wrap: wrap;
        margin-left: auto;
        margin-right: auto;
    }

    ul.bargerFormBox li {
        width: 100%;
        border: 2px solid #f18700;
        text-align: center;
        padding: 10px 0px;
        position: relative;
    }

    ul.bargerFormBox li:hover {
        opacity: 0.7;
    }

    ul.bargerFormBox li p {
        font-size: clamp(10px, 1.2vw, 12px) !important;
    }

    ul.bargerFormBox li:nth-of-type(1) {
        background-color: #f18700;
        color: #fff;
        margin-bottom: 20px;
    }

    ul.bargerFormBox li:nth-of-type(2) {
        background-color: #fff;
        color: #f18700;
    }

    .bargerFormBoxTItle {
        display: flex;
        align-items: center;
        font-size: clamp(16px, 2vw, 18px) !important;
        justify-content: center;
        margin: 5px 0px;
    }

    .iconMargin {
        margin-right: 5px;
        width: 25px;
    }

    .modalInfo {
        width: 100%;
        margin-top: 50px;
    }

    .modalInfoSp {
        display: none;
    }
}

@keyframes motion-title-bg-hover {
    0% {
        height: 0%
    }

    100% {
        height: 100%
    }
}

/*実例詳細タイル*/
@media screen and (max-width: 767px) {
    .spNone {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .pcNone {
        display: none;
    }
}

/*タイル*/
@media screen and (max-width: 767px) {
    .tileArea {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: 0px;
    }

    .tailBlockTitle {
        display: flex;
        align-items: last baseline;
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

    .tailBlockTitle h2 {
        /* font-size: clamp(22px, 4vw, 28px) !important; */
        font-size: clamp(22px, 4vw, 28px) !important;
        text-align: left;
        width: 100%;
    }

    .spTailSmallText {
        font-size: clamp(11px, 2vw, 13px) !important;
        text-align: right !important;
        width: 100%;
        margin-top: 10px;
    }

    .spTailSmallText {
        font-size: clamp(11px, 2vw, 13px) !important;
        text-align: right !important;
        margin-top: 10px;
    }

    /* ====== Masonry グリッド ====== */
    .grid {
        width: 100%;
    }

    .grid-sizer,
    .grid-item--width1 {
        width: 50%;
    }

    .grid-item--width2 {
        width: 100%;
    }

    .grid-item {
        position: relative;
        box-sizing: border-box !important;
    }

    /* ====== 画像 ====== */
    .grid-item--width1 img,
    .grid-item--width2 img {
        width: 100%;
        display: block;
    }

    /* ====== タイルの白 1px border ====== */
    .grid-item::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid #fff;
        /* 白 1px */
        pointer-events: none;
        box-sizing: border-box;
    }

    /* ====== テキストエリア ====== */
    .tailTextArea {
        position: absolute;
        bottom: 40px;
        left: 10px;
        color: #fff;
        text-align: left;
    }

    .tailTextArea2 {
        position: absolute;
        top: 30px;
        left: 5%;
        color: #fff;
        text-align: left;
    }

    /* ====== 推奨ラベル ====== */
    .recommend {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 10px;
        color: #fff;
        display: inline-block;
        padding: 7px 10px 5px 10px;
        background: rgba(35, 24, 21, 0.7);
    }

    /* ====== タイポグラフィ ====== */
    .extralargeTailText {
        font-size: clamp(35px, 6.5vw, 48px) !important;
        line-height: 1.2 !important;
        margin-bottom: 10px;
    }

    .bigTailText {
        font-size: clamp(28px, 5.5vw, 35px) !important;
        line-height: 1.2 !important;
    }

    .bigTailText2 {
        font-size: clamp(22px, 5vw, 30px) !important;
        line-height: 1.2 !important;
    }

    .middleTailText {
        font-size: clamp(20px, 5vw, 28px) !important;
        line-height: 1.5 !important;
    }

    .middleTailText2 {
        font-size: clamp(16px, 2vw, 20px) !important;
        line-height: 1.5 !important;
    }

    .smallTailText {
        font-size: clamp(13px, 1.5vw, 15px) !important;
        line-height: 1.8 !important;
    }

    .smallTailText2 {
        font-size: clamp(10px, 1.3vw, 13px) !important;
        line-height: 1.8 !important;
    }

    .smallTailText3 {
        font-size: clamp(14px, 1.7vw, 16px) !important;
        line-height: 1.8 !important;
    }

    .tailTextMargin {
        margin-bottom: 20px;
    }

    .noBackBlock {
        width: 100%;
        padding-bottom: 40px;
    }

    /* ============================= */
    /*          スマホ用              */
    /* ============================= */

    /* 600px 以下で1カラム化 */
    /* スマホでも2カラム表示（例: max-width: 600px） */
    @media (max-width: 600px) {

        .grid-sizer,
        .grid-item--width1 {
            width: 50%;
            /* 2カラム維持 */
        }

        .grid-item--width2 {
            width: 100%;
            /* 2倍幅は横幅いっぱい */
        }
    }
}

@media screen and (min-width: 768px) {

    /* ====== Tile Area 全体 ====== */
    .tileArea {
        width: 100%;
        margin: 0 auto;
        font-size: 0;
        /* インライン要素の隙間を消す */
    }

    /* ====== ブロックタイトル ====== */
    .tailBlockTitle {
        text-align: left;
        display: flex;
        align-items: baseline;
        width: 90%;
        /* max-width: 1200px; */
        margin: 0 auto 70px;
    }

    .tailBlockTitle h2 {
        font-size: clamp(26px, 3.2vw, 32px) !important;
        margin-right: 20px;
    }

    .tailSmallText {
        font-size: clamp(13px, 1.5vw, 16px) !important;
    }

    /* ====== Masonry グリッド設定 ====== */
    .grid {
        width: 100%;
    }

    .grid-sizer,
    .grid-item--width1 {
        width: 25%;
        /* 4列レイアウト想定 */
    }

    .grid-item--width2 {
        width: 50%;
        /* 2列ぶん */
    }

    /* ====== 共通スタイル ====== */
    .grid-item {
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
    }

    /* 擬似要素で border を描画（縦横均等に見せる） */
    .grid-item::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid #fff;
        /* ★白の1px border */
        pointer-events: none;
        box-sizing: border-box;
    }

    /* ====== 画像表示 ====== */
    .grid-item img {
        width: 100%;
        display: block;
        transition: transform 0.6s ease;
    }

    .grid-item:hover img {
        transform: scale(1.1);
    }

    /* ====== テキストエリア ====== */
    .tailTextArea {
        position: absolute;
        bottom: 35px;
        left: 5%;
        color: #fff;
        text-align: left;
    }

    .tailTextArea2 {
        position: absolute;
        top: 35px;
        left: 5%;
        color: #fff;
        text-align: left;
    }

    /* ====== 推奨ラベル ====== */
    .recommend {
        position: absolute;
        top: 1px;
        left: 0;
        font-size: 12px;
        color: #fff;
        display: inline-block;
        padding: 5px 20px 3px 20px;
        background: rgba(35, 24, 21, 0.7);
        line-height: 1 !important;
    }

    /* ====== タイポグラフィ ====== */
    .extralargeTailText {
        font-size: clamp(75px, 8.5vw, 90px) !important;
        line-height: 1.2 !important;
        margin-bottom: 10px;
    }

    .bigTailText {
        font-size: clamp(48px, 4.5vw, 60px) !important;
        line-height: 1.2 !important;
        margin-bottom: 10px;
    }

    .bigTailText2 {
        font-size: clamp(24px, 2.8vw, 36px) !important;
        line-height: 1.2 !important;
        margin-bottom: 10px;
    }

    .middleTailText {
        font-size: clamp(30px, 3.5vw, 40px) !important;
        line-height: 1.8 !important;
        margin-bottom: 10px;
    }

    .middleTailText2 {
        font-size: clamp(20px, 2.2vw, 26px) !important;
        line-height: 1.8 !important;
        margin-bottom: 10px;
    }

    .smallTailText {
        font-size: clamp(16px, 1.8vw, 18px) !important;
        line-height: 1.8 !important;
        margin-bottom: 10px;
    }

    .smallTailText2 {
        font-size: clamp(10px, 1.3vw, 13px) !important;
        line-height: 1.8 !important;
        margin-bottom: 10px;
    }

    .smallTailText3 {
        font-size: clamp(16px, 1.8vw, 18px) !important;
        line-height: 1.8 !important;
        margin-bottom: 10px;
    }

    .tailTextMargin {
        margin-bottom: 20px;
    }

}

@media screen and (max-width: 767px) {
    #startBtn {
        width: 100%;
        text-align: center;
        max-width: 100px;
        margin: 30vw auto 0px auto;
        opacity: 1;
        pointer-events: auto;
        transition: opacity 1s ease;
    }

    #startBtn img {
        width: 100%;
    }

    #startBtn:hover img {
        cursor: pointer;
    }

    #startBtn {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        position: absolute;
        cursor: pointer;
        box-sizing: border-box;
        overflow: hidden;
        /* bottom: 15%; */
        bottom: 120px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    #innerBox {
        width: 40%;
        position: absolute;
        top: 25%;
        left: 50%;
        transform: translateY(25%) translateX(-50%);
        max-width: 110px;
    }

    /* #innerBox {
        width: 30%;
        position: absolute;
        max-width: 105px;
        top: 25%;
        right: 0;
        left: 0;
        margin: 0 auto;
        z-index: 100;
        text-align: center;
    } */

    #innerBox h2 {
        width: 100%;
    }

    #innerBox h2 img {
        width: 100%;
    }




    .fullBlock {
        width: 100%;
    }

    .imgArea {
        width: 100%;
        height: 50vh;
        overflow: hidden;
        /* はみ出した部分を隠す */
        position: relative;
    }

    .imgArea img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 中央を保持しつつ両端をトリミング */
        object-position: center;
        /* 中央を基準に切る */
    }

    .imgTextArea {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 95%;
        text-align: center;
    }

    .imgTextArea h3 {
        font-size: clamp(20px, 4vw, 30px) !important;
        color: #fff;
        /* margin-bottom: 20px; */
    }

    .imgTextArea p {
        font-size: clamp(13px, 2.5vw, 16px) !important;
        /* line-height: 3.5; */
        line-height: 2;
        letter-spacing: 0.15rem;
        color: #fff;
    }

    .spMTop1 {
        margin-top: 15% !important;
    }
    .spMTop2 {
        margin-top: 20%;
    }

    .spMTop3 {
        margin-top: 20px;
    }

    .spMTop4 {
        margin-top: 30%;
    }
    .spPTop1 {
        padding-top: 5% !important;
    }
    .spPbottom1 {
        padding-bottom: 5% !important;
    }
    .bannerBlock {
        width: 100%;
        height: 50vh;
        overflow: hidden;
        /* はみ出した部分を隠す */
        position: relative;
    }

    .bannerBlock img.blandImg {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 中央を保持しつつ両端をトリミング */
        object-position: center;
        /* 中央を基準に切る */
    }

    .blandIn {
        width: 90%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /* 中央に配置 */
        font-size: 0;
    }

    .blandTitle {
        font-size: clamp(11px, 2vw, 13px) !important;
        color: #fff;
        text-align: left;
    }

    .blandCatch {
        font-size: clamp(26px, 3vw, 32px) !important;
        color: #fff;
    }

    .blandLogoArea {
        position: absolute;
        right: 5%;
        width: 27%;
        bottom: 10%;
        max-width: 200px;
    }

    .blandLogoArea img {
        width: 100%;
    }

    .blandLogoArea2 {
        position: absolute;
        right: 5%;
        width: 35%;
        bottom: 10%;
        max-width: 350px;
    }

    .blandLogoArea2 img {
        width: 100%;
    }

    .blandLogoArea3 {
        position: absolute;
        right: 5%;
        width: 15%;
        bottom: 10%;
        max-width: 150px;
    }

    .blandLogoArea3 img {
        width: 100%;
    }

    .imgFullArea {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    .leftImgArea {
        width: 100%;
    }

    .leftImgArea img {
        width: 100%;
    }

    .rightTextArea {
        width: 95%;
        margin: 1.5vw auto 0px auto;
    }

    .rightImgArea {
        width: 100%;
        order: -1;
    }

    .rightImgArea img {
        width: 100%;
    }

    .leftTextArea {
        width: 95%;
        margin: 1.5vw auto 0px auto;
        position: relative;
        order: 0;
    }

    .topTitle {
        font-size: clamp(20px, 4vw, 24px) !important;
        line-height: 1.5;
    }

    .topText {
        font-size: clamp(13px, 3vw, 16px) !important;
        margin-top: 20px;
        line-height: 2;
        margin-bottom: 3.5vw;
    }

    /*矢印*/
    .btnFlex {
        position: absolute;
        bottom: 0px;
        right: 20px;
        display: flex;
        align-items: center;
    }

    .btnFlex2 {
        position: absolute;
        bottom: 0px;
        right: 5%;
        display: flex;
        align-items: center;
        /* width: 150px; */
    }

    .btnFlex3 {
        position: absolute;
        bottom: 0px;
        right: 5%;
        display: flex;
        align-items: center;
    }

    .btnFlex4 {
        position: absolute;
        right: 7.5%;
        display: flex;
        align-items: center;
        bottom: -70px;
    }

    .btnFlexNo {
        position: absolute;
        right: 20px;
        display: flex;
        align-items: center;
        bottom: -40px;
    }

    .btnFlex2No {
        position: absolute;
        right: 5%;
        display: flex;
        align-items: center;
        bottom: -40px;
        /* width: 150px; */
    }

    .btn01 {
        /* width: 15%; */
        max-width: 100px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.1rem;
        padding: .8em 1.5em;
        text-align: left;
        margin: 0px 0px 15px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn01::before,
    .btn01::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .5em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #fff;
        border-bottom: 1px solid rgba(255, 255, 255, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn01::after {
        right: 100%;
    }

    .btn01Text {
        font-size: 13px;
        color: #fff;
        margin-right: 10px;
        margin-left: 10px;
        padding: .8em 0;
    }

    /*ブラック*/
    .btn02 {
        /* width: 15%; */
        max-width: 100px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.1rem;
        padding: .8em 1.5em;
        text-align: left;
        margin: 0px 0px 15px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn02::before,
    .btn02::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .5em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #231815;
        border-bottom: 1px solid rgba(35, 24, 21, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn02::after {
        right: 100%;
    }

    .btn02Text {
        font-size: 13px;
        color: #231815;
        margin-right: 10px;
        margin-left: 10px;
        padding: .8em 0;
    }

    .imgFullArea2 {
        width: 100%;
        height: 50vh;
        overflow: hidden;
        /* はみ出した部分を隠す */
        position: relative;
    }

    .imgFullArea2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 中央を保持しつつ両端をトリミング */
        object-position: center;
        /* 中央を基準に切る */
    }

    .migrationTextArea1 {
        width: 90%;
        position: absolute;
        left: 5%;
        top: 7vw;
        text-align: center;
    }

    h3.migrationTitle {
        font-size: clamp(45px, 6vw, 50px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .migrationText1 {
        font-size: clamp(12px, 1.6vw, 14px) !important;
        color: #fff;
    }

    .migrationTextArae {
        position: absolute;
        width: 95%;
        left: 5%;
        bottom: 60px;
    }

    h4.migrationTitle2 {
        font-size: clamp(20px, 2vw, 24px) !important;
        color: #fff;
        line-height: 1.5;
    }

    .mainContentTitle {
        display: flex;
        align-items: last baseline;
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

    .mainContentTitle h2 {
        font-size: clamp(22px, 4vw, 28px) !important;
        text-align: left;
        width: 100%;
    }

    .topNews {
        width: 100%;
        height: 60vh;
        overflow: hidden;
        /* はみ出した部分を隠す */
        position: relative;
    }

    .topNews img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 中央を保持しつつ両端をトリミング */
        object-position: center;
        /* 中央を基準に切る */
    }

    .topNewsArea {
        position: absolute;
        width: 95%;
        top: 50%;
        left: 2.5%;
        transform: translateY(-50%);
    }

    .topNewsAreaTitle {
        display: flex;
        align-items: baseline;
        width: 100%;
        margin: 0 auto 0px;
        color: #fff;
    }

    .topNewsAreaTitle h2 {
        font-size: clamp(22px, 4vw, 28px) !important;
        margin-right: 20px;
    }

    ul.newsLIst {
        width: 100%;
        font-size: clamp(13px, 2.5vw, 16px) !important;
        margin: 3vw 0px 0px 0px;
    }

    ul.newsLIst li {
        margin-bottom: 1.5vw;
    }

    ul.newsLIst li a {
        color: #fff;
        text-decoration: none;
        display: flex;
        /* 横並び */
        align-items: flex-start;
        /* 上揃え */
    }

    ul.newsLIst li a:hover {
        text-decoration: underline;
    }

    .newsDate {
        width: 15%;
        /* 常に固定幅（％やpxでも可） */
        min-width: 90px;
        /* スマホで潰れすぎないよう保険 */
        font-size: clamp(13px, 2.5vw, 16px) !important;
    }

    ul.newsLIst li a {
        flex: 1;
        /* 残り幅いっぱい使う */
        word-break: break-word;
        /* 長い語句も折り返す */
    }

    h2.footerCatch {
        width: 30%;
        margin: 0 auto 10% auto;
    }
    h2.footerCatch img.footerCatchImg {
        width: 100% !important;
    }

    h2.footerCatch span {
        text-align: justify;
        line-height: 0.8;
        /* さらに詰める */
        margin: 0;
        padding: 0;
        display: block;
    }

    h2.footerCatch span::after {
        content: "";
        display: inline-block;
        width: 100%;
        height: 0;
        line-height: 0;
    }

    .mainFooterMenu {
        width: 100%;
        margin-top: 50px;
    }

    .mainFooterMenu li {
        font-size: clamp(14px, 2.5vw, 16px) !important;
        margin-bottom: 20px;
    }

    .mainFooterMenu li a {
        position: relative;
        color: #fff;
        text-decoration: none;
    }

    .subFooterMenu {
        width: 95%;
        margin-top: 2vw;
        margin-left: 5%;
    }

    .subFooterMenu li {
        font-size: clamp(13px, 2.2vw, 14px) !important;
        margin-bottom: 1.5vw;
    }

    .subFooterMenu li a {
        color: #fff;
        text-decoration: none;
    }

    .mainFooterMenu li.underLine {
        border-bottom: solid 1px #fff;
    }

    ul.snsArea {
        display: flex;
        align-items: center;
    }

    ul.snsArea li {
        max-width: 100%;
        margin-right: 10px;
    }

    .modalLogoArea {
        /* width: 50%; */
        width: 40%;
        max-width: 230px;
        margin-left: auto;
        margin-right: auto;
    }

    .modalLogoArea img {
        width: 100%;
    }

    .modalTelArea {
        /* font-size: clamp(20px, 6.5vw, 28px) !important; */
        letter-spacing: 1.8px;
        font-size: 18px !important;
        text-align: center;
        line-height: 2;
    }

    .modalTelArea a {
        color: #231815;
        text-decoration: none;
    }

    .modalSnsArea {
        width: 70%;
        margin: 0px auto;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 5px;
        border-top: solid 1px #231815;
    }

    .snsIcon {
        display: block;
        margin: 10px 7.5%;
    }

    .snsIcon img {
        width: calc(100% * 1.5);
    }

    .modalCopyright {
        text-align: center;
        font-size: 11px !important;
        margin-top: 10vw;
    }

    /*モーダルメニュー*/
    .mainModalMenu {
        width: 80%;
        margin: 0 auto;
    }

    .mainModalMenu li {
        font-size: clamp(16px, 3.5vw, 18px) !important;
        margin-bottom: 20px;
    }

    .mainModalMenu li a {
        position: relative;
        color: #231815;
        text-decoration: none;
    }

    .subModalMenu {
        width: 95%;
        margin-top: 2vw;
        margin-left: 5%;
    }

    .subModalMenu li {
        font-size: clamp(14px, 3vw, 16px) !important;
        margin-bottom: 1.5vw;
    }

    .subModalMenu li a {
        color: #231815;
        text-decoration: none;
    }

    /*会社案内*/
    .mainImgArea {
        height: 100vh;
        position: relative;
        overflow: hidden;
    }

    .mainImgArea img {
        /* height: 100%;
        object-fit: cover; */
        height: 100%;
    width: 100%;          /* 横も100%に */
    object-fit: cover;    /* 画像を領域いっぱいに */
    object-position: center center; /* 中央に配置 */
    }

    .englishText {
        display: inline-block;
        font-size: clamp(13px, 2vw, 16px) !important;
        color: #fff;
        border-bottom: solid 1px #fff;
    }

    .imgPageTitleArea {
        width: 90%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
    }
    .imgPageTitleAreaLiving {
        width: 90%;
        position: absolute;
        left: 50%;
        top: 80%;
        transform: translateY(-80%) translateX(-50%);
    }

    .pageTitle {
        margin: 20vw 0px 5vw 0px;
        font-size: clamp(30px, 7vw, 48px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }
    .pageTitleLiving {
        margin: 37.1vh 0px 5vw 0px;
        /* margin: 72.1vw 0px 5vw 0px; */
        font-size: clamp(30px, 7vw, 48px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .pageTitleJp {
        font-size: clamp(18px, 4vw, 28px) !important;
        color: #fff;
    }

    .contentBlock {
        width: 95%;
        margin: 0 auto;
    }

    .textCenter {
        text-align: center;
    }

    .subTitle1 {
        font-size: clamp(22px, 4vw, 28px) !important;
        color: #231815;
    }

    .subTitle1Text {
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 2.5;
        color: #231815;
        margin: 7.5vw 0 5vw 0;
    }

    .subTitle2 {
        font-size: clamp(16px, 4vw, 20px) !important;
        color: #231815;
        display: inline-block;
        padding: 0 50px 5px 50px;
        border-bottom: solid 1px #231815;
    }

    .subTitle2sub {
        font-size: clamp(11px, 2vw, 13px) !important;
        color: #231815;
    }

    .subTitle3 {
        font-size: clamp(28px, 5.5vw, 35px) !important;
        color: #231815;
        margin: 5.5vw 0 0 0;
        line-height: 1.5;
    }

    .mBottm1 {
        margin-bottom: 20vw;
    }

    .mBottm2 {
        margin-bottom: 15vw;
    }

    .mBottm3 {
        margin-bottom: 7.5vw;
    }

    .mBottm4 {
        margin-bottom: 100px;
    }

    .subTitle4 {
        font-size: clamp(24px, 5vw, 30px) !important;
        color: #231815;
        margin: 5.5vw 0 0 0;
        line-height: 1.5;
        font-weight: bold;
    }

    .subImg {
        width: 70%;
        max-width: 400px;
        margin: 10vw auto 0 auto;
    }

    .subImg img {
        width: 100%;
    }

    .subTitle5 {
        font-size: clamp(26px, 5.5vw, 33px) !important;
        color: #231815;
        margin: 2.5vw 0 0 0;
        line-height: 1.5;
        font-weight: bold;
    }

    .englishSunTitle1 {
        font-size: clamp(14px, 2vw, 16px);
        color: #231815;
        line-height: 1.8;
    }

    .subImg2 {
        width: 100%;
        /* max-width: 1200px; */
        margin: 10vw auto 0 auto;
        position: relative;
    }

    .subImg2 img {
        width: 100%;
    }

    #modal_glass {
        position: absolute;
        top: -10px;
        right: 0;
        width: 30px;
        border-radius: 5px;
        cursor: pointer;
    }

    #modal_glass img {
        width: 100%;
    }

    .companyGuide {
        width: 100%;
        margin: 5vw auto;
        color: #231815;
        border-top: solid 1px #231815;
        border-collapse: collapse;
    }

    .companyGuide th,
    .companyGuide td {
        display: block;
        width: calc(100% - 20px);
        font-size: clamp(14px, 2.6vw, 16px) !important;
        text-align: left;
        line-height: 1.8 !important;
    }

    .companyGuide th {
        border-bottom: dashed 1px #231815;
        font-weight: bold;
        padding: 15px 0px 15px 20px;
    }

    .companyGuide td {
        border-bottom: solid 1px #231815;
        padding: 25px 0px 25px 20px;
    }

    .companyGuide td a {
        color: #231815;
        text-decoration: none;
    }

    .companyGuide td ul {
        margin-left: 20px;
        list-style-type: disc;
        list-style-position: outside;
    }

    .pTop1 {
        padding-top: 5%;
    }

    .contentBlockFlex {
        width: 95%;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    .contentBlockFlex dt {
        width: 100%;
    }

    .contentBlockFlex dt p {
        font-size: clamp(24px, 5vw, 30px) !important;
    }

    .contentBlockFlex dd {
        width: 100%;
        /* margin-left: 2.5%; */
        margin-top: 8.5%;
    }

    .contentBlockFlex dd p.ddText {
        /* font-size: clamp(12px, 3vw, 14px) !important; */
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 2.2;
    }

    .positionSize {
        font-size: clamp(11px, 2.5vw, 13px) !important;
    }

    .pName {
        font-size: clamp(20px, 5vw, 28px) !important;
        float: right;
        margin-top: 50px;
        padding-right: 10%;
    }

    /*山梨で暮らす*/
    .livingBlock {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    .leftTextBlockLiving {
        width: 95%;
        margin: 0 auto;
    }

    .leftTextBlockLiving p {
        /* font-size: clamp(12px, 3vw, 14px) !important; */
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 2.2;
    }

    .rightImgBlockLiving {
        width: 100%;
        margin: 0 auto;
    }

    .rightImgBlockLiving img {
        width: 100%;
    }

    h3.livingTitle {
        position: absolute;
        left: 5%;
        bottom: 20px;
        font-size: clamp(22px, 4vw, 28px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .imgFullAreaMargin {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin-top: 1px;
    }

    .imgFullAreaMarginLeft {
        border-bottom: solid 1px #fff;
        width: 100%;
        height: 50vh;
        overflow: hidden;
        position: relative;
    }

    .imgFullAreaMarginRight {
        border-bottom: solid 1px #fff;
        width: 100%;
        height: 50vh;
        overflow: hidden;
        position: relative;
    }

    .imgFullAreaMarginLeft,
    .imgFullAreaMarginRight {
        display: flex;
        /* align-items: flex-start; */
        justify-content: center;
    }

    .imgFullAreaMarginLeft img,
    .imgFullAreaMarginRight img {
        width: 100%;

        object-fit: cover;
    }

    .imgFullAreaMarginIn {
        position: absolute;
        top: 50%;
        /* 上から50% */
        left: 5%;
        right: 5%;
        color: #fff;
        text-align: left;
        max-width: 90%;
        word-break: break-word;
        transform: translateY(-50%);
        /* 高さの半分だけ上にずらす */
    }

    .imgFullAreaMarginIn h4 {
        font-size: clamp(20px, 4vw, 24px) !important;
        margin-bottom: 3%;
    }

    .imgFullAreaMarginIn h5 {
        font-size: clamp(14px, 1.8vw, 18px) !important;
    }

    .imgFullAreaMarginIn p {
        font-size: clamp(13px, 1.5vw, 16px) !important;
        margin-bottom: 3%;
        line-height: 1.4;
    }

    .contactBigTitle {
        margin: 0 auto 3vh auto;
        font-size: clamp(24px, 4vw, 30px) !important;
        text-align: center;
    }

    .contactMiddleTitle {
        font-size: clamp(20px, 2vw, 26px) !important;
        margin: 0 auto;
        text-align: center;
    }

    .contactSmallTitle {
        font-size: clamp(18px, 1.8vw, 22px) !important;
        margin: 0 auto;
        text-align: center;
    }

    .livingContactText1 {
        font-size: clamp(12px, 1.2vw, 14px) !important;
        max-width: 1300px;
        margin: 20px auto;
        text-align: center;
    }

    .livingInfoArea {
        margin: 4.5vh auto 5.5vh auto;
        max-width: 1300px;
        text-align: center;
    }

    .livingTelTitle {
        font-size: clamp(18px, 1.54vw, 20px) !important;
    }

    .livingTel {
        font-size: clamp(20px, 2.2vw, 28px) !important;
        line-height: 2;
    }

    .livingContactText2 {
        font-size: clamp(12px, 1.2vw, 14px) !important;
        max-width: 1300px;
        margin: 0px auto;
        text-align: center;
    }

    .btnFlexContact {
        position: absolute;
        right: 0;
        left: 0;
        margin: 30px auto 10vh auto;
        display: inline-block;
        background-color: #fff;
        border: none !important;
        /* width: 150px; */
    }

    .btn03 {
        width: 20%;
        max-width: 80px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.4rem;
        padding: .8em 2em;
        text-align: left;
        margin: -35px 0px 10px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn03::before,
    .btn03::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .3em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #231815;
        border-bottom: 1px solid rgba(35, 24, 21, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn03::after {
        right: 100%;
    }

    .btn03Text {
        font-size: 14px;
        color: #231815;
        margin-right: 15px;
        margin-left: 15px;
        padding: .8em 0;
        display: block;
        margin-top: -30px;
    }

    .wpcf7-response-output {
        margin-top: 7em !important;
    }

    .livingPdTop {
        padding-top: 5vh;
    }

    .imgFullArea2 img.livinImg {
        width: 100% !important;
        height: 100%;
        object-fit: cover;
        /* 中央を保持しつつ両端をトリミング */
        object-position: 70% 50% !important;
        /* 中央を基準に切る */
    }

    .wpcf7-response-output {
        width: 90%;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /*20251008修正*/
    .leftTextAreaTop {
        width: 95%;
        margin: 1.5vw auto 5vw auto;
        position: relative;
        order: 0;
    }

    .rightImgAreaTop {
        width: 100%;
        order: -1;
    }

    .rightImgAreaTop img {
        width: 100%;
    }

    .mgTop1 {
        margin-top: 7% !important;
    }

    /*採用情報*/
    .tabs {
        width: 95%;
        margin: 0 auto;
    }

.tabMenu {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    /* border-top, border-left は削除 */
}

.tabMenu li {
    flex: 0 0 calc(100% / 2); /* 2列固定 */
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    padding: 10px 0;
    background: #fff;
    color: #f9bb00;
    border: 1px solid #f9bb00; /* 各liに枠線 */
    font-size: clamp(12px, 1.3vw, 14px) !important;
    margin-right: -1px;   /* 線の重なり防止 */
    margin-bottom: -1px;  /* 線の重なり防止 */
}

/* アクティブタブ */
.tabMenu li.active {
    background: #f9bb00;
    color: #fff;
}

    .tabContent {
        display: none;
        padding: 15px 0px;
        background: #fff;
        margin-top: 7.5vh;
    }

    .tabContent.active {
        display: block;
    }

    .recruitContent {
        width: 100%;
    }

    .recruitContent h3 {
        width: 100%;
        text-align: center;
        font-size: clamp(16px, 3vw, 18px) !important;
        color: #f9bb00;
        line-height: 2.5;
    }

    .recruitItem {
        width: 100%;
        border-top: solid 1px #231815;
        font-size: clamp(12px, 1.3vw, 14px) !important;
    }

    .recruitItem th {
        display: block;
        padding: 10px 0px 10px 10px;
        border-bottom: solid 1px #231815;
        text-align: left;
        line-height: 1.8;
    }

    .recruitItem td {
        display: block;
        padding: 10px 0px 40px 10px;
        border-bottom: solid 1px #231815;
        text-align: left;
        line-height: 1.8;
    }

    ul.environment {
        width: 95%;
        display: flex;
        flex-wrap: wrap;
        /* 複数行に折り返す */
        gap: 20px 10px;
        /* アイテム間の水平・垂直間隔 */
        padding: 0;
        margin: 0 auto;
        list-style: none;
    }

    ul.environment li {
        flex: 0 0 calc((100% - 20px) / 2);
        /* 3列固定、間隔20pxを引く */
    }

    ul.environment li img {
        width: 100%;
    }

    ul.environment li p {
        /* font-size: clamp(11px, 1vw, 14px) !important; */
        font-size: clamp(13px, 2.2vw, 16px) !important;
        text-align: left;
    }

    h3.smallTitle {
        font-size: clamp(18px, 3.5vw, 22px);
        /* width: 100%; */
        margin: 10vh auto 0px;
        line-height: 1;
        border-bottom: solid 1px #231815;
        padding-left: 10px;
    }

    .recruitBlockBox {
        width: 95%;
        margin: 5vh auto 2vh;
    }

    dl.recruitBlock {
        display: flex;
        margin-top: 5vh;
        flex-wrap: wrap;
    }

    dl.recruitBlock dt {
        width: 100%;
        font-size: clamp(18px, 2.5vw, 20px) !important;
        line-height: 2;
    }

    dl.recruitBlock dd {
        width: 100%;
        margin-top: 3.5vh;
    }

    dl.recruitBlock dd p {
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 2;
        margin-bottom: 2.5vh;
    }

    .benefits {
        width: 95%;
        margin: 5vh auto 0px;
        border: 0;
        border-top: solid 1px #231815;
        font-size: clamp(13px, 1.3vw, 16px) !important;
    }

    .benefits th {
        display: block;
        background-color: rgba(249, 187, 0, 0.3);
        padding: 10px 0px 10px 20px;
        border-bottom: solid 1px #231815;
        text-align: left;
    }

    .benefits td {
        display: block;
        padding: 20px 0px 20px 20px;
        border-bottom: solid 1px #231815;
    }

    .profileArea {
        width: 100%;
        display: flex;
        align-items: center;
        /* 垂直方向を中央揃え */
        justify-content: space-between;
        /* 両端に配置 */
        border-bottom: solid 1px #231815;
        margin: 5vh 0 0px 0;
    }

    .profileSmall {
        font-size: clamp(12px, 2vw, 14px) !important;
        color: #231815;
        /* 必要に応じて色 */
    }

    .profileName {
        font-size: clamp(16px, 2.2vw, 18px) !important;
        text-align: right;
        flex: 1;
        color: #231815;
        /* 中央の名前が幅を占める */
    }

    .interview {
        width: 100%;
        margin-bottom: 2.5vh;
    }

    .interview h4 {
        font-size: clamp(16px, 3.5vw, 18px) !important;
        margin: 0px 0 5px;
    }

    .interview p {
        width: 100%;
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 1.8;
    }

    /*追加20251008*/
    dl.recruitBlock2 {
        display: flex;
        margin-top: 5vh;
        flex-wrap: wrap;
    }

    dl.recruitBlock2 dt {
        width: 100%;
        font-size: clamp(18px, 2.5vw, 20px) !important;
        line-height: 2;
    }

    dl.recruitBlock2 dd {
        width: 100%;
        margin-top: 3.5vh;
    }

    dl.recruitBlock2 dd p {
        font-size: clamp(13px, 2.2vw, 16px) !important;
        line-height: 2;
        margin-bottom: 2.5vh;
    }

    /*news*/
    .newsTitle {
        /* display: flex;
        align-items: flex-end;
        font-size: clamp(22px, 4vw, 28px) !important;
        border-bottom: solid 1px #231815;
        justify-content: space-between; */
        display: inline-block;
        font-size: clamp(22px, 4vw, 28px) !important;
        border-bottom: solid 1px #231815;
        line-height: 0.7;
        margin-top: 5vh;
    }
/* .spCenter {
    text-align: center !important;
} */
    .newsTitleEn {
        font-size: clamp(14px, 1.8vw, 16px) !important;
        margin-right: 10px;
    }

    .newsAreaMax {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 5vh auto;
    }

    .newsAreaMax li {
        width: 48%;
        margin-bottom: 40px;
        position: relative;
    }

    .newsAreaMax:after {
        content: "";
        display: block;
        width: 48%;
        /* .boxに指定したwidthと同じ幅を指定する */
        height: 0;
    }

    .newsAreaMax li img {
        width: 100%;
        object-fit: cover;
        aspect-ratio: 1/1;
    }

    .newsPageDate {
        font-size: clamp(13px, 2.2vw, 14px) !important;
        margin-bottom: 10px;
    }

    .newsPageTitle {
        font-size: clamp(13px, 2.2vw, 14px) !important;
        line-height: 1.5;
    }
    .pagination {
        text-align: center;
    }
    .pagination a {
        color: #231815;
    }
    .page-numbers {
        color: #231815;
        margin: 0 7px;
        font-size: clamp(14px, 2.5vw, 16px) !important;
    }
    /*応募詳細*/
    .application {
        text-align: center;
        margin: 10vh 0 0px 0;
    }
    .applicationBtn {
        display: inline-block;
        text-align: center;
        background-color: #f9bb00;
        color: #FFF;
        font-size: clamp(14px, 1.6vw, 16px) !important;
        padding: 10px 20vw;
        margin-bottom: 30px;
    }
    .recruitText1 {
        font-size: clamp(14px, 1.6vw, 16px) !important;
        color: #231815;
        margin-bottom: 30px;
    }
    .recruitText2 {
        font-size: clamp(14px, 1.6vw, 16px) !important;
        color: #231815;
        margin-bottom: 10px;
    }
    .recruitText3 {
        font-size: clamp(14px, 1.6vw, 16px) !important;
        color: #231815;
        line-height: 2 !important;
        margin-bottom: 10px;
    }
    .recruitText3 a {
        color: #231815;
        text-decoration: none;
    }
    .recruitTextBox {
        display: inline-block;
        text-align: center;
        border: solid 1px #231815;
        color: #231815;
        font-size: clamp(14px, 1.6vw, 16px) !important;
        padding: 10px 2.5vw;
        margin-bottom: 30px;
    }
}

@media screen and (min-width: 768px) {

    #startBtn {
        width: 100%;
        text-align: center;
        max-width: 180px;
        /* margin: 200px auto 0px auto; */
        opacity: 1;
        pointer-events: auto;
        transition: opacity 1s ease;
    }

    #startBtn img {
        width: 100%;
    }

    #startBtn:hover img {
        cursor: pointer;
    }

    #startBtn {
        width: 180px;
        height: 180px;
        border-radius: 50%;
        position: absolute;
        right: 0;
        left: 0;
        margin: 0 auto;
        /* bottom: 5vw; */
        bottom: 12vh;
        cursor: pointer;
        box-sizing: border-box;
        overflow: hidden;
    }

    /* 回転用の線 */
    #startBtn:hover::after {
        content: '';
        position: absolute;
        top: -1px;
        left: -1px;
        width: 100%;
        height: 100%;
        border: 2px solid transparent;
        border-top-color: #fff;
        /* 回転部分の色 */
        border-radius: 50%;
        /* 初期状態はアニメーションなし */
    }

    /* ホバー時だけ回転させる */
    #startBtn:hover::after {
        animation: rotate 1s linear infinite;
    }

    /* 回転アニメーション */
    @keyframes rotate {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .imgArea {
        width: 100%;
        position: relative;
    }

    .imgArea img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .imgTextArea {
        position: absolute;
        top: 50%;
        /* right: 15%; */
        left: 53%;
        transform: translateY(-50%);
        width: 45%;
        max-width: 450px;
        text-align: center;
    }

    .imgTextArea h3 {
        font-size: clamp(22px, 2vw, 25px) !important;
        color: #fff;
        margin-bottom: 80px;
    }

    .imgTextArea p {
        font-size: clamp(14px, 1.3vw, 16px) !important;
        /* line-height: 3.5; */
        line-height: 3vw;
        letter-spacing: 1.2px;
        color: #fff;
    }

    #innerBox {
        width: 20%;
        position: absolute;
        max-width: 200px;
        top: 25%;
        right: 0;
        left: 0;
        margin: 0 auto;
        z-index: 100;
        text-align: center;
    }

    #innerBox h2 {
        width: 100%;
    }

    #innerBox h2 img {
        width: 100%;
    }

    .mTop1 {
        margin-top: 10% !important;
    }
    .pTop2 {
        padding-top: 10% !important;
    }

    .mTop2 {
        margin-top: 5% !important;
    }

    .mTop3 {
        margin-top: 20px !important;
    }

    /*矢印*/
    .btnFlex {
        position: absolute;
        bottom: 10px;
        right: 20px;
        display: flex;
        align-items: center;
    }

    .btnFlex2 {
        position: absolute;
        bottom: 10px;
        right: 2.5%;
        display: flex;
        align-items: center;
        /* width: 150px; */
    }

    .btnFlex3 {
        position: absolute;
        bottom: 30px;
        right: 2.5%;
        display: flex;
        align-items: center;
    }

    .btnFlex4 {
        position: absolute;
        right: 7.5%;
        display: flex;
        align-items: center;
    }

    .btnFlexNo {
        position: absolute;
        right: 20px;
        display: flex;
        align-items: center;
        bottom: -20px;
    }

    .btnFlex2No {
        position: absolute;
        right: 2.5%;
        display: flex;
        align-items: center;
        bottom: -20px;
        /* width: 150px; */
    }

    .btn01 {
        /* width: 15%; */
        max-width: 100px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.4rem;
        padding: .8em 1.5em;
        text-align: left;
        margin: 0px 0px 15px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn01::before,
    .btn01::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .5em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #fff;
        border-bottom: 1px solid rgba(255, 255, 255, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn01::after {
        right: 100%;
    }

    .btn01Text {
        font-size: 16px;
        color: #fff;
        margin-right: 20px;
        margin-left: 20px;
        padding: .8em 0;
    }

    .btn01:hover {
        opacity: 1
    }

    .btn01:hover::after {
        transition: right .8s;
        right: 0
    }

    .btn01:hover::before {
        display: none
    }

    /*ブラック*/
    .btn02 {
        /* width: 15%; */
        max-width: 100px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.4rem;
        padding: .8em 1.5em;
        text-align: left;
        margin: 0px 0px 15px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn02::before,
    .btn02::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .5em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #231815;
        border-bottom: 1px solid rgba(35, 24, 21, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn02::after {
        right: 100%;
    }

    .btn02Text {
        font-size: 16px;
        color: #231815;
        margin-right: 20px;
        margin-left: 20px;
        padding: .8em 0;
    }

    .btn02:hover {
        opacity: 1
    }

    .btn02:hover::after {
        transition: right .8s;
        right: 0
    }

    .btn02:hover::before {
        display: none
    }

    .bannerBlock {
        width: 100%;
        position: relative;
        padding-bottom: 0px !important;
        margin-bottom: 0px !important;
        margin-top: -1px !important;
        font-size: 0px !important;
        overflow: hidden;
        box-sizing: border-box;
    }

    .bannerBlock img.blandImg {
        width: 100%;
        display: block;
        transition: transform 0.8s ease;
    }

    .bannerBlock:hover img.blandImg {
        transform: scale(1.1);
    }

    .blandIn {
        width: 90%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /* 中央に配置 */
        font-size: 0;
    }

    .blandTitle {
        font-size: clamp(15px, 1.6vw, 18px) !important;
        color: #fff;
        text-align: left;
    }

    .blandCatch {
        font-size: clamp(35px, 3.7vw, 40px) !important;
        color: #fff;
    }

    .blandLogoArea {
        position: absolute;
        right: 2.5%;
        width: 30%;
        bottom: 12%;
        max-width: 200px;
    }

    .blandLogoArea img {
        width: 100%;
    }

    .blandLogoArea2 {
        position: absolute;
        right: 2.5%;
        width: 35%;
        bottom: 12%;
        max-width: 250px;
    }

    .blandLogoArea2 img {
        width: 100%;
    }

    .blandLogoArea3 {
        position: absolute;
        right: 5%;
        width: 15%;
        bottom: 12%;
        max-width: 150px;
    }

    .blandLogoArea3 img {
        width: 100%;
    }

    .imgFullArea {
        width: 100%;
        display: flex;
    }

    .leftImgArea {
        width: 53%;
    }

    .leftImgArea img {
        width: 100%;
    }

    .rightTextArea {
        width: 38%;
        margin-left: 5%;
        /* margin-top: 2.5%; */
        margin-top: 1.5vw;
    }

    .rightImgArea {
        width: 53%;
        margin-left: 2%;
        margin-right: ;
    }

    .rightImgArea img {
        width: 100%;
    }

    .leftTextArea {
        width: 38%;
        margin-left: 7%;
        /* margin-right: 2.5%; */
        /* margin-top: 2.5%; */
        /* margin-top: 1.5vw; */
        position: relative;
    }

    .topTitle {
        font-size: clamp(24px, 2.5vw, 28px) !important;
        line-height: 1.8;
    }

    .topText {
        font-size: clamp(14px, 1.3vw, 16px) !important;
        margin-top: 20px;
        line-height: 2.2;
        margin-bottom: 3.5vw;
    }

    .mainContentTitle {
        display: flex;
        align-items: baseline;
        width: 90%;
        /* max-width: 1200px; */
        margin: 0 auto 40px;
    }

    .mainContentTitle h2 {
        /* font-size: clamp(22px, 4vw, 28px) !important; */
        font-size: clamp(26px, 3.2vw, 32px) !important;
        margin-right: 20px;
    }

    .imgFullArea2 {
        width: 100%;
        position: relative;
        font-size: 0px;
    }

    .imgFullArea2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .migrationTextArea1 {
        width: 35%;
        max-width: 350px;
        position: absolute;
        left: 5%;
        bottom: 80px;
    }

    h3.migrationTitle {
        /* font-size: clamp(60px, 6vw, 70px) !important; */
        font-size: clamp(75px, 8.5vw, 90px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .migrationText1 {
        /* font-size: clamp(13px, 1.6vw, 16px) !important; */
        font-size: clamp(16px, 1.8vw, 18px) !important;
        color: #fff;
    }

    .migrationTextArae {
        position: absolute;
        left: 48%;
        bottom: 80px;
    }

    h4.migrationTitle2 {
        font-size: clamp(25px, 2.5vw, 32px) !important;
        color: #fff;
        line-height: 1.5;
    }

    .fullBlock {
        width: 100%;
    }

    .topNews {
        position: relative;
        font-size: 0px !important;
    }

    .topNews img {
        width: 100%;
    }

    .topNewsArea {
        position: absolute;
        width: 60%;
        top: 48%;
        right: 10px;
        transform: translateY(-48%);
    }

    .topNewsAreaTitle {
        display: flex;
        align-items: baseline;
        width: 100%;
        margin: 0 auto 0px;
        color: #fff;
    }

    .topNewsAreaTitle h2 {
        font-size: clamp(28px, 3.5vw, 35px) !important;
        margin-right: 20px;
    }

    ul.newsLIst {
        width: 100%;
        font-size: clamp(14px, 1.5vw, 16px) !important;
        margin: 2.5vw 0px 0px 0px;
    }

    ul.newsLIst li {
        margin-bottom: 1.5vw;
    }

    ul.newsLIst li a {
        color: #fff;
        text-decoration: none;
        display: flex;
        /* 横並び */
        align-items: flex-start;
        /* 上揃え */
    }

    ul.newsLIst li a:hover {
        text-decoration: underline;
    }

    .newsDate {
        width: 20%;
        /* 常に固定幅（％やpxでも可） */
        min-width: 100px;
        /* スマホで潰れすぎないよう保険 */
        /* font-size: clamp(12px, 1.3vw, 14px) !important; */
        font-size: clamp(14px, 1.5vw, 16px) !important;
    }

    ul.newsLIst li a {
        flex: 1;
        /* 残り幅いっぱい使う */
        word-break: break-word;
        /* 長い語句も折り返す */
    }

    h2.footerCatch {
        width: 45%;
        max-width: 250px;
        margin-bottom: 10%;
    }
    h2.footerCatch img.footerCatchImg {
        width: 100% !important;
    }


    .mainFooterMenu {
        width: 100%;
        margin-top: 2.5vw;
    }

    .mainFooterMenu li {
        font-size: clamp(14px, 1.5vw, 16px) !important;
        margin-bottom: 1.2vw;
    }

    .mainFooterMenu li a {
        position: relative;
        color: #fff;
        text-decoration: none;
    }

    .mainFooterMenu li a {
        color: #fff;
        text-decoration: none;
        transition: color 0.3s ease;
        /* 色をゆっくり変化 */
    }

    .mainFooterMenu li a:hover {
        color: rgba(255, 255, 255, 0.5);
        /* 白を50%の濃さに */
    }

    .subFooterMenu {
        width: 95%;
        margin-top: 1.5vw;
        margin-left: 5%;
    }

    .subFooterMenu li {
        font-size: clamp(13px, 1.5vw, 14px) !important;
        margin-bottom: 0.5vw;
    }

    .subFooterMenu li a {
        color: #fff;
        text-decoration: none;
    }

    .mainFooterMenu li.underLine {
        border-bottom: solid 1px #fff;
    }

    ul.snsArea {
        display: flex;
        align-items: center;
    }

    ul.snsArea li {
        max-width: 100%;
        margin-right: 10px;
    }

    /*会社案内*/
    .mainImgArea {
        width: 100%;
        margin: 0;
        padding: 0;
        height: 100vh;
        position: relative;
        overflow: hidden;
    }

    .mainImgArea img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


    .englishText {
        display: inline-block;
        font-size: clamp(18px, 2.2vw, 20px) !important;
        color: #fff;
        padding-right: 30px;
        border-bottom: solid 1px #fff;
    }

    .imgPageTitleArea {
        width: 90%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
    }
    .imgPageTitleAreaLiving {
        width: 90%;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
    }

    .pageTitle {
        margin: 10vw 0px 5vw 5%;
        /* font-size: clamp(60px, 6.5vw, 72px) !important; */
        font-size: clamp(75px, 8.5vw, 90px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }
    .pageTitleLiving {
        margin: 10vw 0px 5vw 5%;
        /* font-size: clamp(60px, 6.5vw, 72px) !important; */
        font-size: clamp(75px, 8.5vw, 90px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .pageTitleJp {
        font-size: clamp(28px, 4vw, 32px) !important;
        color: #fff;
        margin-left: 5%;
    }

    .contentBlock {
        width: 95%;
        margin: 0 auto;
    }

    .textCenter {
        text-align: center;
    }

    .subTitle1 {
        /* font-size: clamp(22px, 4vw, 28px) !important; */
        font-size: clamp(26px, 3.2vw, 32px) !important;
        color: #231815;
    }

    .subTitle1Text {
        /* font-size: clamp(13px, 2vw, 14px) !important; */
        font-size: clamp(13px, 3vw, 16px) !important;
        line-height: 2.5;
        color: #231815;
        margin: 5vw 0 5vw 0;
    }

    .subTitle2 {
        font-size: clamp(26px, 4vw, 30px) !important;
        color: #231815;
        display: inline-block;
        padding: 0 4vw 5px 4vw;
        border-bottom: solid 1px #231815;
    }

    .subTitle2sub {
        font-size: clamp(14px, 1.5vw, 16px) !important;
        color: #231815;
    }

    .subTitle3 {
        font-size: clamp(48px, 8.5vw, 60px) !important;
        color: #231815;
        margin: 4.5vw 0 0 0;
        line-height: 1.5;
    }

    .mBottm1 {
        margin-bottom: 12.5vw;
    }

    .mBottm2 {
        margin-bottom: 7vw;
    }

    .mBottm3 {
        margin-bottom: 3.5vw;
    }

    .subTitle4 {
        font-size: clamp(38px, 5.5vw, 48px) !important;
        color: #231815;
        margin: 4.5vw 0 0 0;
        line-height: 1.5;
        font-weight: bold;
    }

    .subImg {
        width: 40%;
        max-width: 500px;
        margin: 5vw auto 0 auto;
    }

    .subImg img {
        width: 100%;
    }

    .subTitle5 {
        font-size: clamp(43px, 6vw, 55px) !important;
        color: #231815;
        margin: 2.5vw 0 0 0;
        line-height: 1.5;
        font-weight: bold;
    }

    .englishSunTitle1 {
        font-size: clamp(18px, 1.8vw, 20px);
        color: #231815;
        line-height: 1.8;
    }

    .subImg2 {
        width: 80%;
        /* max-width: 1200px; */
        margin: 10vw auto 0 auto;
        position: relative;
    }

    .subImg2 img {
        width: 100%;
    }

    #modal_glass {
        position: absolute;
        top: 0;
        right: 0;
        width: 30px;
        border-radius: 5px;
        cursor: pointer;
        /* border: solid 1px #231815; */
    }

    #modal_glass img {
        width: 100%;
    }

    .companyGuide {
        width: 90%;
        max-width: 800px;
        margin: 5vw auto;
        color: #231815;
        border-top: solid 1px #231815;
    }

    .companyGuide th,
    .companyGuide td {
        padding: 15px 0px;
        font-size: clamp(13px, 1.3vw, 16px) !important;
        text-align: left;
        line-height: 1.8 !important;
    }

    .companyGuide th {
        width: 30%;
        padding-left: 30px;
        border-bottom: solid 1px #231815;
    }

    .companyGuide td {
        border-bottom: solid 1px #231815;
    }

    .companyGuide td ul {
        margin-left: 20px;
        list-style-type: disc;
        list-style-position: outside;
    }

    .pTop1 {
        padding-top: 5%;
    }

    .contentBlockFlex {
        width: 95%;
        display: flex;
        margin: 0 auto;
        max-width: 1300px;
    }

    .contentBlockFlex dt {
        width: 40%;
    }

    .contentBlockFlex dt p {
        font-size: clamp(26px, 3.3vw, 45px) !important;
    }

    .contentBlockFlex dd {
        width: 58%;
        margin-left: 2%;
        margin-top: 8.5%;
    }

    .contentBlockFlex dd p.ddText {
        font-size: clamp(13px, 1.3vw, 16px) !important;
        line-height: 2.2;
    }

    .positionSize {
        font-size: clamp(12px, 1.2vw, 13px) !important;
    }

    .pName {
        font-size: clamp(22px, 2.8vw, 30px) !important;
        float: right;
        margin-top: 30px;
        padding-right: 10%;
    }

    /*山梨で暮らす*/
    .livingBlock {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .leftTextBlockLiving {
        width: 40%;
        margin-left: 10%;
    }

    .leftTextBlockLiving p {
        font-size: clamp(13px, 1.3vw, 16px) !important;
        line-height: 2.2;
    }

    .rightImgBlockLiving {
        width: 50%;
    }

    .rightImgBlockLiving img {
        width: 100%;
    }

    h3.livingTitle {
        position: absolute;
        left: 10%;
        bottom: 50px;
        /* font-size: clamp(40px, 4.5vw, 48px) !important; */
        font-size: clamp(48px, 4.5vw, 60px) !important;
        line-height: 1.2 !important;
        color: #fff;
    }

    .imgFullAreaMargin {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin-top: 1px;
    }

    .imgFullAreaMarginLeft {
        width: calc(50% - 1px);
        position: relative;
        border-right: solid 1px #fff;
        border-bottom: solid 1px #fff;
    }

    .imgFullAreaMarginRight {
        width: calc(50% - 1px);
        position: relative;
        border-bottom: solid 1px #fff;
        border-left: solid 1px #fff;
    }

    .imgFullAreaMarginLeft,
    .imgFullAreaMarginRight {
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }

    .imgFullAreaMarginLeft img,
    .imgFullAreaMarginRight img {
        width: 100%;
        object-fit: cover;
    }

    .contactBigTitle {
        max-width: 1300px;
        margin: 0 auto 3vh auto;
        font-size: clamp(48px, 4.61vw, 60px) !important;
        text-align: center;
        line-height: 1.4;
    }

    .contactMiddleTitle {
        font-size: clamp(28px, 3vw, 32px) !important;
        max-width: 1300px;
        margin: 0 auto;
        text-align: center;
    }

    .contactSmallTitle {
        font-size: clamp(25px, 2.8vw, 30px) !important;
        max-width: 1300px;
        margin: 0 auto;
        text-align: center;
    }

    .livingContactText1 {
        font-size: clamp(13px, 1.3vw, 16px) !important;
        max-width: 1300px;
        margin: 20px auto;
        text-align: center;
    }

    .livingInfoArea {
        margin: 4.5vh auto 5.5vh auto;
        max-width: 1300px;
        text-align: center;
    }

    .livingTelTitle {
        font-size: clamp(22px, 2.2vw, 28px) !important;
    }

    .livingTel {
        font-size: clamp(28px, 3vw, 35px) !important;
        line-height: 2;
        letter-spacing: 1.2px;
    }

    .livingContactText2 {
        font-size: clamp(13px, 1.3vw, 16px) !important;
        max-width: 1300px;
        margin: 0px auto;
        text-align: center;
    }

    .btnFlexContact {
        position: absolute;
        right: 0;
        left: 0;
        margin: 50px auto 0px auto;
        display: inline-block;
        background-color: #fff;
        border: none !important;
        /* width: 150px; */
    }

    .btn03 {
        width: 20%;
        max-width: 80px;
        display: inline-block;
        text-decoration: none;
        position: relative;
        font-size: 1.4rem;
        padding: .8em 2em;
        text-align: left;
        margin: -35px 0px 10px 0px;
        letter-spacing: .1em;
        cursor: pointer;
        overflow: hidden;
    }

    .btn03::before,
    .btn03::after {
        content: '';
        display: inline-block;
        bottom: calc(50% - .3em);
        right: 0;
        width: 100%;
        height: 9px;
        position: absolute;
        border-right: 1px solid #231815;
        border-bottom: 1px solid rgba(35, 24, 21, 0.8);
        transform: skewX(50deg);
        transform-origin: bottom;
    }

    .btn03::after {
        right: 100%;
    }

    .btn03Text {
        font-size: 14px;
        color: #231815;
        margin-right: 15px;
        margin-left: 15px;
        padding: .8em 0;
        display: block;
        margin-top: -30px;
    }

    .btn03:hover {
        opacity: 1
    }

    .btn03:hover::after {
        transition: right .8s;
        right: 0
    }

    .btn03:hover::before {
        display: none
    }

    .wpcf7-response-output {
        margin-top: 10em !important;
    }

    .pcMbottom1 {
        margin-bottom: 150px;

    }

    .livingPdTop {
        padding-top: 10vh;
    }

    .wpcf7-response-output {
        width: 100%;
        max-width: 900px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /*採用情報*/
    .tabs {
        width: 80%;
        margin: 0 auto;
        max-width: 1200px;
    }

.tabMenu {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}

/* タブ3列固定・間の線を重ならないよう調整 */
.tabMenu li {
    flex: 0 0 calc((100% - 2px) / 3); /* 線の重なりを回避 */
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    padding: 10px 0;
    background: #fff;
    color: #f9bb00;
    border: 1px solid #f9bb00;
    font-size: clamp(13px, 1.5vw, 16px) !important;
    margin-right: -1px; /* 右線の重なり防止 */
    margin-bottom: -1px; /* 下線の重なり防止 */
}

/* アクティブ */
.tabMenu li.active {
    background: #f9bb00;
    color: #fff;
}
    .tabContent {
        display: none;
        padding: 15px;
        background: #fff;
        margin-top: 7.5vh;
    }

    .tabContent.active {
        display: block;
    }

    .recruitContent {
        width: 100%;
    }

    .recruitContent h3 {
        width: 100%;
        text-align: center;
        /* font-size: clamp(18px, 1.8vw, 22px) !important; */
        font-size: clamp(22px, 4.5vw, 26px) !important;
        color: #f9bb00;
        line-height: 2.5;
    }

    .recruitItem {
        width: 100%;
        border-top: solid 1px #231815;
        /* font-size: clamp(12px, 1.3vw, 14px) !important; */
        font-size: clamp(14px, 1.6vw, 16px) !important;
    }

    .recruitItem th {
        width: 20%;
        padding: 20px 0px 20px 10px;
        border-bottom: solid 1px #231815;
        text-align: left;
        vertical-align: top;
        line-height: 1.8;
    }

    .recruitItem td {
        padding: 20px 0px;
        border-bottom: solid 1px #231815;
        text-align: left;
        line-height: 1.8;
    }

    ul.environment {
        width: 95%;
        max-width: 1300px;
        display: flex;
        flex-wrap: wrap;
        /* 複数行に折り返す */
        gap: 80px 40px;
        /* アイテム間の水平・垂直間隔 */
        padding: 0;
        margin: 0 auto;
        list-style: none;
    }

    ul.environment li {
        flex: 0 0 calc((100% - 80px) / 3);
        /* 3列固定、間隔20pxを引く */
    }

    ul.environment li img {
        width: 100%;
    }

    ul.environment li p {
        /* font-size: clamp(11px, 1vw, 14px) !important; */
        font-size: clamp(14px, 2.6vw, 16px) !important;
        text-align: center;
    }

    h3.smallTitle {
        /* font-size: clamp(18px, 2vw, 20px); */
        font-size: clamp(22px, 2vw, 24px) !important;
        width: 100%;
        margin: 20vh auto 0px;
        line-height: 1;
        border-bottom: solid 1px #231815;
        padding-left: 10px;
    }

    .recruitBlockBox {
        width: 95%;
        max-width: 1300px;
        margin: 5vh auto 2vh;
    }

    dl.recruitBlock {
        display: flex;
        padding-left: 10px;
        margin-top: 5vh;
    }

    dl.recruitBlock dt {
        width: 40%;
        font-size: clamp(20px, 2.7vw, 35px) !important;
        line-height: 2;
    }

    dl.recruitBlock dd {
        width: 60%;
        /* margin-top: 7vh; */
    }

    dl.recruitBlock dd p {
        /* font-size: clamp(12px, 1.4vw, 14px) !important; */
        font-size: clamp(14px, 1.6vw, 16px) !important;
        line-height: 2;
        margin-bottom: 2.5vh;
    }

    /*追加20251008*/
    dl.recruitBlock2 {
        display: flex;
        padding-left: 10px;
        margin-top: 5vh;
    }

    dl.recruitBlock2 dt {
        width: 40%;
        font-size: clamp(20px, 2.7vw, 35px) !important;
        line-height: 2;
    }

    dl.recruitBlock2 dd {
        width: 60%;
        margin-top: 6vh;
    }

    dl.recruitBlock2 dd p {
        /* font-size: clamp(12px, 1.4vw, 14px) !important; */
        font-size: clamp(14px, 1.6vw, 16px) !important;
        line-height: 2;
        margin-bottom: 2.5vh;
    }

    .benefits {
        width: 95%;
        max-width: 1300px;
        margin: 5vh auto 0px;
        border: 0;
        border-top: solid 1px #231815;
        /* font-size: clamp(13px, 1.3vw, 16px) !important; */
        font-size: clamp(14px, 1.6vw, 16px) !important;
    }

    .benefits th {
        width: 23%;
        background-color: rgba(249, 187, 0, 0.3);
        padding: 20px 0px 20px 20px;
        border-bottom: solid 1px #231815;
        border-right: solid 1px #231815;
        text-align: left;
        vertical-align: top;
        line-height: 2;
    }

    .benefits td {
        padding: 20px 0px 20px 40px;
        border-bottom: solid 1px #231815;
        line-height: 2;
    }

    .carrierImg {
        width: 100%;
        margin-top: 10vh;
    }

    .carrierImg img {
        width: 100%;
    }

    .profileArea {
        width: 100%;
        display: flex;
        align-items: center;
        /* 垂直方向を中央揃え */
        justify-content: space-between;
        /* 両端に配置 */
        border-bottom: solid 1px #231815;
        margin: 5vh 0 0px 0;
    }

    .profileSmall {
        /* font-size: clamp(9px, 1vw, 13px) !important; */
        font-size: clamp(12px, 1.4vw, 13px) !important;
        color: #231815;
        /* 必要に応じて色 */
    }

    .profileName {
        /* font-size: clamp(13px, 1.6vw, 16px) !important; */
        font-size: clamp(18px, 2.5vw, 20px) !important;
        text-align: right;
        flex: 1;
        color: #231815;
        /* 中央の名前が幅を占める */
    }

    .interview {
        width: 90%;
        margin-bottom: 2.5vh;
    }

    .interview h4 {
        /* font-size: clamp(13px, 1.5vw, 16px) !important; */
        font-size: clamp(18px, 2.5vw, 20px) !important;
        margin: 0px 0 5px;
    }

    .interview p {
        width: 100%;
        /* font-size: clamp(10px, 1vw, 13px) !important; */
        font-size: clamp(14px, 1.6vw, 16px) !important;
        line-height: 1.8;
    }

    /*20251008修正*/
    .leftTextAreaTop {
        margin-top: 1.5vw;
        position: relative;
        width: 37.5%;
        padding: 0px 0px 0px 5% !important;
        /* font-size: clamp(22px, 2vw, 40px) !important; */
    }

    .rightImgAreaTop {
        width: 60%;
    }

    .rightImgAreaTop img {
        width: 100%;
    }

    .mgTop1 {
        margin-top: 7% !important;
    }

    /*news*/
    .newsTitle {
        display: flex;
        align-items: flex-end;
        font-size: clamp(35px, 3.7vw, 40px) !important;
        border-bottom: solid 1px #231815;
        justify-content: space-between;
        line-height: 0.7;
        width: 30%;
        max-width: 280px;

    }

    .newsTitleEn {
        font-size: clamp(14px, 1.8vw, 16px) !important;
    }

    .newsAreaMax {
        width: 100%;
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 10vh auto;
    }

    .newsAreaMax li {
        width: 22%;
        margin-bottom: 40px;
        position: relative;
    }

    .newsAreaMax:after {
        content: "";
        display: block;
        width: 22%;
        /* .boxに指定したwidthと同じ幅を指定する */
        height: 0;
    }

    .newsAreaMax:before {
        content: "";
        display: block;
        width: 22%;
        /* .boxに指定したwidthと同じ幅を指定する */
        height: 0;
        order: 1;
        /* 疑似要素beforeの順番を必ず指定する*/
    }

    .newsAreaMax li img {
        width: 100%;
        object-fit: cover;
        aspect-ratio: 1/1;
    }

    .newsPageDate {
        font-size: clamp(13px, 2.2vw, 14px) !important;
        margin-bottom: 10px;
    }

    .newsPageTitle {
        font-size: clamp(13px, 2.2vw, 14px) !important;
        line-height: 1.5;
    }
    .pagination {
        text-align: center;
    }
    .pagination a {
        color: #231815;
    }
    .page-numbers {
        color: #231815;
        margin: 0 7px;
        font-size: clamp(16px, 2vw, 18px) !important;
    }
    /*応募詳細*/
    .application {
        text-align: center;
        margin: 15vh 0 0px 0;
    }
    .applicationBtn {
        display: inline-block;
        text-align: center;
        background-color: #f9bb00;
        color: #FFF;
        font-size: clamp(16px, 1.6vw, 18px) !important;
        padding: 10px 7.5vw;
        margin-bottom: 30px;
    }
    .recruitText1 {
        font-size: clamp(16px, 1.6vw, 18px) !important;
        color: #231815;
        margin-bottom: 30px;
    }
    .recruitText2 {
        font-size: clamp(16px, 1.6vw, 18px) !important;
        color: #231815;
        margin-bottom: 10px;
    }
    .recruitText3 {
        font-size: clamp(16px, 1.6vw, 18px) !important;
        color: #231815;
        line-height: 2 !important;
        margin-bottom: 10px;
    }
    .recruitText3 a {
        color: #231815;
        text-decoration: none;
    }
    .recruitTextBox {
        display: inline-block;
        text-align: center;
        border: solid 1px #231815;
        color: #231815;
        font-size: clamp(16px, 1.6vw, 18px) !important;
        padding: 10px 2.5vw;
        margin-bottom: 30px;
    }
    .blandBtnGlobal {
        cursor: pointer;
    }
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 0.9em;
    font-weight: normal;
    display: block;
}

.fade-in-text {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
    transition-delay: calc(var(--delay) * 0.5s);
    padding-bottom: 24px;
}

.fade-in-text.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-text2 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
    transition-delay: calc(var(--delay) * 0.5s);
    padding-bottom: 24px;
}

.fade-in-text2.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-text3 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
    transition-delay: calc(var(--delay) * 0.5s);
    padding-bottom: 24px;
}

.fade-in-text3.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-text4 {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1s ease-out, transform 1s ease-out;
    transition-delay: calc(var(--delay) * 0.5s);
    padding-bottom: 24px;
}

.fade-in-text4.visible {
    opacity: 1;
    transform: translateY(0);
}

.fontColorBlack {
    color: #231815 !important;
}

.backColorGray {
    background-color: #F3F3F3;
}

@media screen and (min-width: 434px) {
    .br433 {
        display: none;
    }
}

@media screen and (min-width:768px) and (max-width:1300px) {
    .imgFullAreaMarginIn {
        position: absolute;
        top: 10%;
        left: 7.5%;
        right: 7.5%;
        color: #fff;
        text-align: left;
        max-width: 85%;
        word-break: break-word;
    }

    .imgFullAreaMarginIn h4 {
        font-size: 20px !important;
        /* font-size: clamp(18px, 1.5vw, 22px) !important; */
        margin-bottom: 10px;
    }

    .imgFullAreaMarginIn h5 {
        font-size: 14px !important;
        /* font-size: clamp(9px, 1.2vw, 14px) !important; */
    }

    .imgFullAreaMarginIn p {
        /* font-size: 13px; */
        font-size: clamp(8px, 1.2vw, 13px) !important;
        margin-bottom: 2.5%;
        line-height: 1.4;
    }
}

@media screen and (min-width: 1301px) {
    .imgFullAreaMarginIn {
        position: absolute;
        top: 12.5%;
        left: 10%;
        right: 10%;
        color: #fff;
        text-align: left;
        max-width: 80%;
        word-break: break-word;
    }

    .imgFullAreaMarginIn h4 {
        font-size: 38px !important;
        /* font-size: clamp(30px, 2.6vw, 38px) !important; */
        margin-bottom: 3%;
    }

    .imgFullAreaMarginIn h5 {
        font-size: 18px !important;
        /* font-size: clamp(14px, 1.8vw, 18px) !important; */
        margin-left: 10px;
    }

    .imgFullAreaMarginIn p {
        /* font-size: clamp(14px, 1.3vw, 16px) !important; */
        font-size: 16px !important;
        margin-bottom: 2.5%;
        line-height: 1.4;
        margin-left: 10px;
    }
}

/*carrierImg*/
/* .carrierImg {
        width: 100%;
        margin-top: 10vh;
    }

    .carrierImg img {
        width: 100%;
    } */
.carrierImg {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.carrierImg img {
    display: block;
    width: auto;
    height: auto;
}

@media screen and (max-width: 767px) {
    .carrierImg {
        overflow-x: auto;
        margin-top: 0px !important;
        /* 横スクロール有効 */
    }

    .carrierImg img {
        width: auto;
        height: 75vh;
        /* 元サイズを維持 */
    }
    .noPost {
        width: 90%;
        margin: 10% auto 0px;
        font-size: clamp(18px, 4vw, 22px) !important;
    }
    .noNews {
        color: #fff;
    }
}

@media screen and (min-width: 768px) {
    .carrierImg {
        overflow: visible;
        /* 横スクロールしないように */
    }

    .carrierImg img {
        width: 100%;
        /* PCでは画面にフィットさせたいなら100% */
        margin-top: 10vh;
    }

    /* ScrollHint のヒントを PC では非表示にする */
    .js-scroll::before,
    .js-scroll::after {
        content: none !important;
    }
    .noPost {
        width: 90%;
        margin: 10% auto 0px;
        font-size: clamp(22px, 4vw, 28px) !important;
    }
    .noNews {
        color: #fff;
    }
}

.textAlignR {
    display: block;
    width: 100%;
    text-align: right;
    line-height: 2.5;
    margin-bottom: 2.5vh;
}

.maxWide1 {
    max-width: 1200px;
    margin: 0 auto;
}

.linkArea {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}

.pdNo1 {
    padding-top: 5vh !important;
}