@charset "UTF-8";

/*-------------

base

-------------*/

html{

    font-size: 62.5%;

}

body{

    width: 100%;

    min-width: 1200px;

    background: #fff;

    color: var(--main-black);

    font-family: var(--font-sans-serif);

    font-size: 16px;

    font-size: 1.6rem;

    line-height: normal;

    text-align: left;

    word-wrap: break-word;

}

*{

    letter-spacing: .04em;

}

*:has(> wbr){

    word-break: keep-all;

}

.sp{

    display: none;

}

a[href^="tel:"]{

    pointer-events: none;

}

.is--sample:not(.is--show){

    display: none!important;

}

  

/*--- sp ---*/

@media screen and (max-width:768px){

    body{

        min-width: 320px;

        font-size: 1.4rem;

    }

    body.is--min_win-height{

        position: relative;

    }

    body.is--min_win-height .footer{

        position: absolute;

        bottom: 0;

        left: 0;

        width: 100%;

    }

    body.is--min_win-height .footer .page-top-btn-block{

        display: none;

    }

    .sp{

        display: block;

    }

    .pc{

        display: none;

    }

    a[href^="tel:"]{

        pointer-events: auto;

    }

    img{

        width: 100%;

        height: auto;

    }

}



/*-------------

common

-------------*/

.clearfix::after,

.cf::after{

    content: "";

    display: block;

    clear: both;

}

.preload *,

.preload *::before,

.preload *::after{

    transition: none!important;

}

.textCenter,

.txt_c{

    text-align: center;

}

.textRight,

.txt_r{

    text-align: right;

}

.textIndent,

.txt_ind {

    text-indent: -1em;

    padding-left: 1em;

}

.textRed,

.txtRed{

    color: var(--text-red);

}

.textNowrap{

    white-space: nowrap;

}

.ffsPalt{

    font-feature-settings: "palt" 1;

}

.supAst{

    color: var(--text-red);

    font-size: .5em;

}

@media screen and (min-width:769px){

    .textLink:not(:hover){

        text-decoration: underline;

    }

}

@media screen and (max-width:768px){

    .textLink:not(:active){

        text-decoration: underline;

    }

}

.textSmall{

    font-size: .7em;

}

.mB5,

.m_b5{

	margin-bottom: 5px!important;

}

.mB10,

.m_b10{

	margin-bottom: 10px!important;

}

.mB15,

.m_b15{

	margin-bottom: 15px!important;

}

.mB20,

.m_b20{

	margin-bottom: 20px!important;

}

.mB30,

.m_b30{

	margin-bottom: 30px!important;

}

.mR10,

.m_r10{

	margin-right: 10px!important;

}

.floatL,

.l{

    float: left;

}

.floatR,

.r{

    float: right;

}

.bgLightBlue{

    background-color: var(--bg-lightblue);

}



/*-------------

accordion

-------------*/

.accordion-btn:not(.is--ready){

    pointer-events: none;

}

.accordion-btn.is--ready{

    cursor: pointer;

}

@media screen and (max-width:768px){

    .accordion-btn--sp:not(.is--ready){

        pointer-events: none;

    }

    .accordion-btn--sp.is--ready{

        cursor: pointer;

    }

}

.accordion-btn:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),

.accordion-content{

    position: absolute;

    opacity: 0;

    pointer-events: none;

}

@media screen and (max-width:768px){

    .accordion-btn--sp:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),

    .accordion-content--sp{

        position: absolute;

        opacity: 0;

        pointer-events: none;

    }

}

.accordion-container{

    overflow: hidden;

    transition: height .3s ease;

}

.accordion-container.is--hit_low{

    transition: height .2s ease;

}

.accordion-container:not(.is--open){

    height: 0!important;

}

@media screen and (min-width:769px){

    .accordion-container.is--limit_sp{

        height: auto!important;

    }

}

/*----------------

#contets

-----------------*/

.main.subpage{

    background: var(--bg-gray);

    padding-top: 81px;

}

#contents{

    width: var(--inner-width);

    padding: 70px 0;

    margin: 0 auto;

    box-sizing: border-box;

}

@media screen and (max-width:768px){

    #contents{

        padding: 50px 0;

    }

    .main.subpage{

        padding-top: 50px;

    }

}

/***------------

pager

------------***/

.pager{

	margin-top: 30px;

	display: flex;

	justify-content: center;

	align-items: center;

	position: relative;

}

.pager:empty {

    display: none;

}

.site-main .pager{

    width: var(--inner-width);

    margin: 30px auto 0;

}

.pager a,

.pager span{

	font-weight: bold;

	width: 

	height: 44px;

	margin: 0 5px;

	box-sizing: border-box;

	display: flex;

	justify-content: center;

	align-items: center;

    border-radius: 50%;

}

.pager .page-numbers{

	border: solid 1px var(--main-orange);

	color: orange);

	box-sizing: border-box;

	text-decoration: none;

	transition: all ease .4s;

}

.pager .page-numbers:hover{

	transition: all ease .4s;

	background: var(--main-orange);

	border: solid 1px var(--main-orange);

	color: #fff;

}

.pager .page-numbers.current{

    background: var(--main-orange);

    color: #fff;

}

.pager .prev{

    position: absolute;

    left: 0;

    background: var(--main-black);

    margin: 0;

    text-indent: 100%;

    white-space: nowrap;

    overflow: hidden;

    border: solid 1px var(--main-black);

}

.pager .prev:after{

    content: "";

    width: 5px;

    height: 5px;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    left: 3px;

    margin: auto;

    transform: rotate(-135deg);

}

.pager .next{

	position: absolute;

	right: 0;

	background: var(--main-black);

	margin: 0;

	text-indent: 100%;

	white-space: nowrap;

  overflow: hidden;

	border: solid 1px var(--main-black);

}

.pager .next:after{

	content: "";

    width: 5px;

    height: 5px;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    position: absolute;

    top: 0;

    right: 3px;

    bottom: 0;

    left: 0;

    margin: auto;

    transform: rotate(45deg);

}

.pager .

.pager .dots:hover{

	background: none;

	border: none;

	display: block;

	width: auto;

	height: auto;

	color: var(--main-orange);

}

/*sp*/

@media screen and (max-width:767px){

  .pager{

    width: var(--inner-width--sp);

    margin: 15px auto 0;

    padding-bottom: 65px;

    box-sizing: border-box;

  }

  .pager .prev{

    color: #fff;

    text-align: center;

    width: 48%;

    position: absolute;

    left: 0;

    bottom: 0;

    text-indent:inherit;

    white-space:normal;

    overflow:visible;

    border-radius: 5px;

  }

  .pager .next{

    color: #fff;

    text-align: center;

    width: 48%;

    position: absolute;

    right: 0;

    bottom: 0;

    text-indent:inherit;

    white-space:normal;

    overflow:visible;

    border-radius: 5px;

  }

  .pager .prev:after{

    content: none;

  }

  .pager .next:after{

    content: none;

  }

}



/*-------------

header

-------------*/

.header{

    width: 100%;

    display: flex;

    align-items: center;

    position: absolute;

    z-index: 99;

    min-height: 81px;

    transition: all ease .3s;

}

.header.hd-fix{

    position: fixed;

    background: #fff;

    transition: all ease .3s;

}

.header-subpage{

    background: #fff;

}

.header-logo{

    flex: 0 0 auto;

    margin-right: 10px;

    padding-left: 40px;

}

.header-nav{

    display: flex;

    align-items: center;

    margin-left: auto;

}

.header-nav-list{

    display: flex;

    height: 80px;

}

.header-nav-list--middle-wrapper a{

    color:#fff;

}

.header-nav-list--middle-sec1{

    flex: 0 1 594px;

}

.header-nav-list--middle-sec2{

    flex: 0 1 392px;

}

.header-nav-list--middle-sec3{

    flex: 0 1 190px;

}

.header-nav-list--middle-sec__title a{

    display: block;

    font-size: 1.8rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    padding-bottom: 10px;

    margin-bottom: 15px;

    border-bottom: solid 1px #fff;

}

.header-nav-list-item{

    height: 100%;

    padding: 0 10px;

}

.header-nav-list-item__link{

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    height: 100%;

    padding: 9px 0 12px;

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 4px);

    text-align: center;

    word-break: keep-all;

}

.header-nav-list--middle-item2:not(:last-child){

    margin-bottom: 5px;

}

.header-nav-list--middle-item2 a{

    display: flex;

    align-items: center;

    background: var(--sub-darkblue);

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    transition: all ease .3s;

}

.header-nav-list--middle-item2__title{

    width: 100%;

    padding: 18px 45px 18px 15px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    position: relative;

}

.header-nav-list--middle-item2__title:after {

    position: absolute;

    top: calc(50% - 3px);

    right: 15px;

    transform: rotate(45deg);

    width: 6px;

    height: 6px;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    content: "";

}

@media screen and (min-width:769px){

    .header{

        min-width: 1200px;

    }

    .header-nav-list--middle-sec__title a:hover{

        text-decoration: underline;

    }

    .header-nav-list-item:has(.header-nav-list--middle) .header-nav-list-item__link:hover::before{

        position: absolute;

        bottom: 0;

        left: -300%;

        z-index: 99;

        width: 400%;

        height: 100%;

        clip-path: polygon(0% 100%, 75% 0%, 100% 0%, 100% 100%);

        content: "";

    }

    .header-nav-list-item__link::after{

        opacity: 0;

        position: absolute;

        bottom: -1px;

        left: 0;

        width: 100%;

        height: 3px;

        background: var(--main-lightblue);

        content: "";

        transition: opacity var(--trans-ease);

    }

    .header:hover{

        background: #fff;

        transition: all ease .3s;

    }

    .header-nav-list-item:hover .header-nav-list-item__link::after{

        opacity: 1;

    }

    .header-nav-list--middle:not(.is--active){

        display: none;

        z-index: -99;

    }

    .header-nav-list--middle:not(.is--show){

        opacity: 0;

    }

    .header-nav-list--middle{

        display: flex;

        flex-wrap: wrap;

        position: absolute;

        bottom: 0;

        transform: translateY(100%);

        left: 0;

        width: 100%;

        padding: 40px 0 20px;

        overflow: hidden;

        box-shadow: 0 5px 10px -10px rgba(0,0,0,.75);

        background: var(--main-blue);

        transition: opacity var(--trans-ease);

    }

    .header-nav-list--middle-wrapper{

        width: var(--inner-width);

        min-width: 1200px;

        overflow-x: auto;

        display: flex;

        justify-content: space-between;

        margin: 0 auto;

    }

    .header-nav-list--middle-wrapper:after{

        content: none;

    }

    .header-nav-list--middle-items{

        display: flex;

        flex-flow: row wrap;

        justify-content: space-between;

    }

    .header-nav-list--middle-item{

        flex: 0 0 291px;

        margin: 0 0 20px;

    }

    .header-nav-list--middle-item__pic{

        width: 100%;

        height: 120px;

        margin-bottom: 7px;

        overflow: hidden;

    }

    .header-nav-list--middle-item__pic img{

        width: 100%;

        height: 100%;

        object-fit: cover;

        transition: transform var(--trans-ease);

    }

    a:hover .header-nav-list--middle-item__pic img{

        transform: scale(1.2);

    }

    .header-nav-list--middle-item__title{

        font-size: 1.5rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        line-height: calc(1em + 4px);

        transition: color var(--trans-ease);

    }

    .header-nav-list--middle-item2 a:hover{

        background: var(--main-lightblue);

        transition: all ease .3s;

    }

}

@media print{

    .header-nav-list--middle{

        display: none!important;

    }

}

.header-mail-btn{

    flex: 0 0 auto;

    min-width: 170px;

    margin: 0 20px 0 10px;

}

.header-mail-btn__link{

    font-size: 1.4rem;

    font-family: var(--font-en);

    font-weight: 600;

    letter-spacing: 0.2rem;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 50px;

    padding: 9px 10px 11px;

    border-radius: 25px;

    background: var(--main-lightblue);

    color: #fff;

}

.header-tel-bnr{

    flex: 0 0 auto;

    border-left: solid 1px var(--bg-darkblue);

}

.header-tel-bnr__link{

    display: block;

    background: var(--bg-blue);

}

.header-nav-btn{

    display: none;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    /* .wrapper.header-menu--open > *:not(.header){

        filter: blur(2px);

    } */

    .header{

        display: block;

        min-height: 0;

        border: none;

    }

    .header-logo{

        display: flex;

        align-items: center;

        position: relative;

        z-index: 1;

        height: 50px;

        margin: 0;

        padding-left: var(--inner-sidespace--sp);

    }

    .header-logo img{

        width: 47px;

    }

    .header-nav:not(.is--active),

    .header-nav:not(.is--active) *{

        z-index: -99!important;

        pointer-events: none!important;

    }

    .header-nav:not(.is--show){

        opacity: 0;

    }

    .header-nav{

        flex-direction: column;

        justify-content: stretch;

        align-items: stretch;

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: calc(100vh - 50px);

        margin: 0;

        padding: 49px 0 0;

        overflow: auto;

        background: var(--main-blue);

        box-shadow: 0 5px 10px -5px rgba(0,0,0,.75);

        transition: opacity var(--trans-ease);

    }

    .header-nav-list{

        display: block;

        height: auto;

        margin-bottom: 20px;

        padding: 0;

    }

    .header-nav-list-item{

        height: auto;

        padding: 0;

        color: #fff;

    }

    .header-nav-list-item__link{

        display: block;

        padding: 18px calc(var(--inner-sidespace--sp) + 10px) 18px var(--inner-sidespace--sp);

        border-bottom: solid 1px var(--bg-darkblue);

        text-align: left;

    }

    .header-nav-list-item__link::after{

        position: absolute;

        top: calc(50% - 4px);

        right: 22px;

        transform: rotate(45deg);

        width: 8px;

        height: 8px;

        border-top: solid 2px #fff;

        border-right: solid 2px #fff;

        content: "";

    }

    .accordion-btn--sp .header-nav-list-item__link{

        pointer-events: none;

    }

    .accordion-btn--sp .header-nav-list-item__link::after{

        content: none;

    }

    .header-nav .accordion-btn--sp{

        display: block;

        position: relative;

    }

    .header-nav .accordion-btn--sp::after{

        position: absolute;

        top: calc(50% - 5px);

        right: 20px;

        width: 10px;

        height: 10px;

        background: linear-gradient(to top,rgba(255,255,255,0) 0 4px,#fff 4px 6px,rgba(255,255,255,0) 6px 10px),

        linear-gradient(to right,rgba(255,255,255,0) 0 4px,#fff 4px 6px,rgba(255,255,255,0) 6px 10px);

        content: "";

        transition: transform var(--trans-ease);

    }

    .header-nav .accordion-btn--sp.accordion--open::after{

        transform: rotate(90deg);

        background: linear-gradient(to right,rgba(255,255,255,0) 0 4px,#fff 4px 6px,rgba(255,255,255,0) 6px 10px);

    }

    .header-nav-list--middle{

        padding: 12px var(--inner-sidespace--sp);

        border-bottom: solid 1px var(--bg-darkblue);

    }

    .header-nav-list--middle-item__link{

        display: flex;

        align-items: center;

        background: var(--sub-darkblue);

        font-size: 1.5rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        transition: all ease .3s;

        position: relative;

    }

    .header-nav-list--middle-item__link::before{

        position: absolute;

        top: calc(50% - 3px);

        right: 15px;

        transform: rotate(45deg);

        width: 6px;

        height: 6px;

        border-top: solid 2px #fff;

        border-right: solid 2px #fff;

        content: "";

    }

    .header-nav-list--middle-item__pic{

        width: 70px;

    }

    .header-nav-list--middle-item__title{

        width: 100%;

        padding: 0 45px 0 15px;

        box-sizing: border-box;

        display: block;

    }

    .header-mail-btn{

        width: var(--inner-width--sp);

        margin: 0 auto 20px;

    }

    .header-tel-bnr{

        width: 100%;

        margin-top: auto;

        border: none;

    }

    .header-tel-bnr__link{

        width: 100%;

        padding-bottom: env(safe-area-inset-bottom);

        border-top: solid 1px var(--bg-darkblue);

    }

    .header-tel-bnr__link img{

        display: block;

        width: 260px;

        margin: 0 auto;

    }

    .header-nav-btn{

        display: block;

        position: absolute;

        top: 0;

        right: 0;

        z-index: 1;

        width: 50px;

        height: 50px;

        background: linear-gradient(to top,#fff 0px 2px,var(--main-blue) 2px 14px,#fff 14px) no-repeat bottom 17px left 13px / 24px 16px,var(--main-blue);

    }

    .header-nav-btn.menu--open{

        background: var(--main-blue);

    }

    .header-nav-btn::before,

    .header-nav-btn::after{

        position: absolute;

        top: 24px;

        left: 13px;

        width: 24px;

        height: 2px;

        background: #fff;

        content: "";

        transition: transform var(--trans-ease);

    }

    .header-nav-btn.menu--open::before{

        transform: rotate(45deg);

    }

    .header-nav-btn.menu--open::after{

        transform: rotate(-45deg);

    }

    .header-nav-list--middle-sec__title a{

        font-size: 1.6rem;

        padding: 11px 15px 11px 0;

        background: none;

    }

    .header-nav-list--middle-item2__pic{

        width: 70px;

    }

    .header-mail-btn__link{

        border-radius: 0;

    }

    .header-nav-list--middle-item2__title{

        padding: 0 45px 0 15px;

    }

    .header-nav-list--middle-sec1,

    .header-nav-list--middle-sec2{

        margin-bottom: 10px;

    }

    .header-nav-list--middle-sec3 .header-nav-list--middle-item2__title{

        padding: 15px 45px 15px 15px;

    }

    .header-nav-list--middle-item:not(:last-child) {

        margin-bottom: 5px;

    }

}



/*-------------

footer

-------------*/

.footer{

    position: relative;

    padding: 76px 0 98px;

    background: var(--main-blue);

    z-index: 1;

}

.footer-main{

    display: flex;

    justify-content: space-between;

    position: relative;

    width: var(--inner-width);

    margin: 0 auto;

    color: #fff;

}

.footer-nav{

    flex: 0 0 460px;

    display: flex;

    justify-content: space-between;

}

.footer-nav-list{

    flex: 0 1 260px;

}

.footer-nav-list2{

    flex: 0 1 180px;

}

.footer-nav-list2 .footer-nav-list-item{

    margin-bottom: 20px;

}

.footer-nav-list-item_btn{

    margin-bottom: 30px;

}

.footer-nav-list-item_btn a{

    font-family: var(--font-en);

    font-size: 1.4rem;

    font-weight: 500;

    background: var(--main-lightblue);

    display: flex;

    justify-content: center;

    align-items: center;

    height: 50px;

}

@media screen and (min-width:769px){

    .footer-nav-list-item:not(:nth-child(-n+3)){

        margin-top: 24px;

    }

    .footer-nav-list-item__title{

        margin-bottom: 20px;

        display: block;

    }

}

.footer-nav-list-item-inner{

    font-size: 1.6rem;

    font-weight: 600;

    line-height: calc(1em + 6px);

}

.footer-nav-list--middle{

    padding-top: 8px;

}

.footer-nav-list--middle-item{

    position: relative;

    font-size: 1.3rem;

    line-height: calc(1em + 6px);

}

.footer-nav-list--middle-item:not(:last-child){

    margin-bottom: 12px;

}

.footer-nav-list--middle-item__link{

    color: var(--sub-lightblue);

}

/* footer__info */

.footer__info-sec__title{

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    padding-bottom: 10px;

    margin-bottom: 15px;

    border-bottom: solid 1px #fff;

}

.footer__info-com{

    margin-bottom: 50px;

    font-size: 2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 6px);

}

.footer__info-address{

    margin-bottom: 28px;

    color: var(--sub-lightblue);

    font-size: 1.5rem;

    line-height: calc(1em + 8px);

}

.footer__info-address-item{

    display: flex;

}

.footer__info-address-item p:first-child{

    flex: 0 0 auto;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

}

.footer__info-address-item:not(:last-child){

    margin-bottom: 12px;

}

.footer__info-link{

    line-height: calc(1em + 6px);

}

.footer__info-link:not(:last-child){

    margin-bottom: 7px;

}

.footer__info-link a{

    display: inline-block;

    position: relative;

    padding-left: 20px;

    color: var(--sub-lightblue);

    font-size: 1.3rem;

    line-height: calc(1em + 6px);

}

.footer__info-link a:before{

    position: absolute;

    top: calc(.5em - .5px);

    left: 4px;

    transform: rotate(45deg);

    width: 5px;

    height: 5px;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    content: "";

    z-index: 1;

}

.footer__info-link a:after{

    position: absolute;

    top: calc(.5em - 5.5px);

    left: 0;

    width: 15px;

    height: 15px;

    border-radius: 50%;

    background: var(--main-darkblue);

    content: "";

}

.footer__info-link a[target="_blank"]{

    padding-right: 17px;

    background: url(../images/icon_tab_white.svg) no-repeat right bottom 4px / 13px auto;

}

/* footer__copy */

.footer__copy{

    width: 460px;

    position: absolute;

    bottom: 0;

    right: 0;

    color: var(--sub-lightblue);

    font-family: var(--font-en);

    font-size: 1.3rem;

    line-height: calc(1em + 4px);

    letter-spacing: .1em;

}

/* footer-pagetop-btn */

.footer-pagetop-btn{

    position: absolute;

    right: 40px;

    bottom: calc(40px + env(safe-area-inset-bottom));

}

.footer-pagetop-btn__link{

    display: block;

    width: 60px;

    height: 60px;

    border-radius: 50%;

    background: url(../images/page-top-arrow.svg) no-repeat center / auto,var(--main-blue);

    background-size: 14px 24px;

    border: solid 1px #fff;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .footer{

        padding: 45px 0 calc(38px + env(safe-area-inset-bottom));

    }

    .footer-main{

        display: block;

        width: 100%;

    }

    .footer-nav{

        margin: 0 0 27px;

        display: block;

    }

    .footer-nav-list{

        display: block;

        border-top: solid 1px var(--bg-darkblue);

    }

    .footer__info-sec__title{

        font-size: 1.4rem;

    }

    .footer-nav-list-item{

        position: relative;

        margin: 0;

        border-bottom: solid 1px var(--bg-darkblue);

    }

    .footer-nav-list-item_btn{

        width: var(--inner-width--sp);

        margin: 20px auto 30px;

    }

    .footer-nav-list2 .footer-nav-list-item{

        margin-bottom: 0;

    }

    .footer-nav-list-item-inner{

        font-size: 1.4rem;

        display: flex;

        align-items: center;

        position: relative;

        min-height: 50px;

        padding: 8px var(--inner-sidespace--sp);

    }

    .footer-nav-list-item-inner::after{

        position: absolute;

        top: calc(50% - 3px);

        right: calc(var(--inner-sidespace--sp_vw) + 8px);

        transform: rotate(45deg);

        width: 7px;

        height: 7px;

        border-top: solid 2px #fff;

        border-right: solid 2px #fff;

        content: "";

    }

    .footer-nav-list-item .accordion-btn--sp{

        display: block;

        position: relative;

    }

    .footer-nav-list-item .accordion-btn--sp::after{

        position: absolute;

        top: calc(50% - 10px);

        right: var(--inner-sidespace--sp_vw);

        width: 20px;

        height: 20px;

        border-radius: 50%;

        background: linear-gradient(to top,rgba(0,0,0,0) 0 3px,#fff 3px 5px,rgba(0,0,0,0) 5px) no-repeat top 6px right 6px / 10px 8px,

        linear-gradient(to right,rgba(0,0,0,0) 0 3px,#fff 3px 5px,rgba(0,0,0,0) 5px) no-repeat top 5px right 6px / 9px 10px,var(--main-blue);

        content: "";

        transition: transform var(--trans-ease);

    }

    .footer-nav-list-item .accordion-btn--sp.accordion--open::after{

        transform: rotate(90deg);

        background: linear-gradient(to right,rgba(255,255,255,0) 0 3px,#fff 3px 5px,rgba(255,255,255,0) 5px) no-repeat top 6px right 6px / 8px 10px,var(--main-blue);

    }

    .accordion-btn--sp .footer-nav-list-item-inner{

        pointer-events: none;

    }

    .accordion-btn--sp .footer-nav-list-item-inner::before,

    .accordion-btn--sp .footer-nav-list-item-inner::after{

        content: none;

    }

    .footer-nav-list--middle{

        padding: 0;

        border-top: solid 1px #5e758c;

        background: #435471;

    }

    .footer-nav-list--middle-item{

        position: relative;

        font-size: 1.3rem;

        line-height: calc(1em + 6px);

    }

    .footer-nav-list--middle-item:not(:last-child){

        margin-bottom: 0;

    }

    .footer-nav-list--middle-item__link{

        color: #fff;

        padding: 10px var(--inner-sidespace--sp) 10px calc(var(--inner-sidespace--sp) + 14px);

        display: block;

        border-bottom: solid 1px var(--main-blue);

    }

    .footer-nav-list--middle-item__link::before {

        position: absolute;

        top: calc(50% - 1px);

        left: 15px;

        width: 10px;

        height: 2px;

        background: #fff;

        content: "";

    }

    .footer-nav-list--middle-item:last-child .footer-nav-list--middle-item__link{

        border-bottom: none;

    }

    /* footer__info */

    .footer__info{

        width: var(--inner-width--sp);

        margin: 0 auto;

    }

    .footer__info-com{

        font-size: 1.8rem;

        margin-bottom: 18px;

    }

    .footer__info-address{

        margin-bottom: 18px;

        font-size: 1.4rem;

        line-height: calc(1em + 7px);

    }

    .footer__info-address-item:not(:last-child){

        margin-bottom: 13px;

    }

    .footer__info-link{

        padding-left: 13px;

    }

    .footer__info-link:not(:last-child){

        margin-bottom: 12px;

    }

    /* footer__copy */

    .footer__copy{

        width: 100%;

        padding: 0;

        position: static;

        text-align: center;

        display: block;

    }

    /* footer-pagetop-btn */

    .footer-pagetop-btn{

        right: var(--inner-sidespace--sp);

        bottom: auto;

        top: -30px;

    }

}

/*-------------

top

-------------*/

.top-img{

    width: 100%;

    position: relative;

    z-index: 0;

}

.top-img::after{

    position: absolute;

    top: 0;

    left: 0;

    z-index: 0;

    width: 100%;

    height: 100%;

    background: rgba(0,0,0,.1);

    content: "";

}

.top-img__text{

    filter: drop-shadow(0 0 5px #000);

    width: 600px;

    height: 79px;

    position: absolute;

    right: 8.33%;

    top: 0;

    bottom: 0;

    z-index: 1;

    margin: auto;

}

.top-img picture img{

    width: 100%;

    height: auto;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-img__text{

        width: var(--inner-width);

        height: auto;

        aspect-ratio: 15 / 2;

        position: absolute;

        top: 0;

        right: 0;

        bottom: 0;

        left: 0;

        margin: auto;

    }

}

/*top-message*/

.top-message{

    display: flex;

    justify-content: space-between;

    max-height: 690px;

}

.top-message__text{

    color: #fff;

    padding: 80px;

    box-sizing: border-box;

    width: 50%;

    background: url(../images/topmessage_bg.jpg) no-repeat;

    background-size: cover;

}

.top-message__img{

    display: block;

    width: 50%;

}

.top-message__img img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.top-message__title{

    margin-bottom: 40px;

    display: flex;

    flex-flow: column-reverse;

}

.top-message__title h2{

    font-size: 4.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 20px);

    letter-spacing: 0.5rem;

}

.top-message__subtitle{

    margin-bottom: 40px;

}

.top-message__subtitle_text{

    font-family: var(--font-en2);

    font-size: 1.4rem;

    font-weight: normal;

    letter-spacing: 0.2rem;

    margin-bottom: 15px;

    display: flex;

    align-items: center;

}

.top-message__subtitle_text:before{

    content: "";

    width: 16px;

    height: 16px;

    margin-right: 8px;

    background: url(../images/icon_earth.svg) no-repeat;

    background-size: cover;

}

.top-message__text-info{

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 12px);

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-message {

        display: block;

        max-height: inherit;

    }

    .top-message__title{

        margin-bottom: 30px;

    }

    .top-message__text {

        color: #fff;

        padding: 45px var(--inner-sidespace--sp);

        box-sizing: border-box;

        width: 100%;

        background: url(../images/topmessage_bg@venopramirror.com) no-repeat;

        background-size: cover;

    }

    .top-message__subtitle {

        margin-bottom: 25px;

    }

    .top-message__subtitle_img{

        width: 86.89%;

    }

    .top-message__title h2 {

        font-size: 2.4rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        line-height: calc(1em + 15px);

        letter-spacing: 0.5rem;

    }

    .top-message__text-info {

        font-size: 1.4rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        line-height: calc(1em + 15px);

    }

    .top-message__img {

        display: block;

        width: 100%;

    }

}

/*top-business*/

.top-business{

    padding: 60px 0 90px;

    box-sizing: border-box;

    background: url(../images/top_business_bg.png) no-repeat left bottom;

    background-size: cover;

}

.top-business-wrapper{

    width: var(--inner-width);

    margin: 0 auto;

}

.top-business__title{

    margin-bottom: 40px;

    text-align: center;

    display: flex;

    flex-flow: column-reverse;

}

.top-business__title h2{

    font-size: 3.2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 20px);

    letter-spacing: 0.5rem;

}

.top-business__title h2 strong{

    color: var(--main-lightblue);

}

.top-business__sub{

    color: var(--main-blue);

    font-family: var(--font-en2);

    font-size: 3.0rem;

    letter-spacing: 0.5rem;

    position: relative;

    padding: 60px 0 30px;

    box-sizing: border-box;

}

.top-business__sub:before{

    background: var(--main-blue);

    content: "";

    width: 1px;

    height: 50px;

    position: absolute;

    top: 0;

    right: 0;

    left: 0;

    margin: auto;

}

.top-business__sub:after{

    background: var(--main-blue);

    content: "";

    width: 1px;

    height: 20px;

    position: absolute;

    right: 0;

    bottom: 0;

    left: 0;

    margin: auto;

}

.top-business-items{

    display: flex;

    justify-content: space-between;

}

.top-business-item__title{

    margin-bottom: 15px;

}

.top-business-item__title a{

    color: var(--main-blue);

    display: block;

    text-align: center;

    font-size: 2.2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    padding-top: 15px;

    border-top: solid 1px var(--main-blue);

    line-height: calc(1em + 5px);

}

/*pc*/

@media screen and (min-width:769px){

    .top-business-item:first-child{

        width: 590px;

    }

    .top-business-item:nth-child(2){

        width: 320px;

    }

    .top-business-item:last-child{

        width: 250px;

    }

    .top-business-item--list_item:hover{

        transition: all ease .3s;

        box-shadow: 0 5px 10px rgba(20,42,78,.3);

    }

}

.top-business-item--list_item{

    transition: all ease .3s;

    box-shadow: 1px 1px 0 0 #000000;

}

.top-business-item--list_item:not(:last-child) {

    margin-bottom: 5px;

}

.top-business-item--list_item--link {

    display: flex;

    align-items: center;

    background: #fff;

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    transition: all ease .3s;

}

.top-business-item--list_item__title {

    width: 100%;

    padding: 18px 35px 18px 15px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    position: relative;

}

.top-business-item--list_item__title:after {

    position: absolute;

    top: calc(50% - 3px);

    right: 15px;

    transform: rotate(45deg);

    width: 6px;

    height: 6px;

    border-top: solid 2px var(--main-blue);

    border-right: solid 2px var(--main-blue);

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-business {

        padding: 40px 0 60px;

        box-sizing: border-box;

        background: url(../images/top_business_bg@venopramirror.com) no-repeat left bottom;

        background-size: cover;

    }

    .top-business__sub {

        font-size: 2.5rem;

    }

    .top-business__title h2 {

        font-size: 2.4rem;

    }

    .top-business-items {

        display: block;

    }

    .top-business-item--list_item__pic{

        width: 70px;

        min-width: 70px;

    }

    .top-business-item--list_item__title {

        padding: 11px 35px 11px 15px;

        min-height: 70px;

    }

    .top-business-item:not(:last-child){

        margin-bottom: 40px;

    }

    .top-business-item__title a {

        color: var(--main-blue);

        display: block;

        text-align: center;

        font-size: 2.2rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        padding-top: 15px;

        border-top: solid 1px var(--main-blue);

        line-height: calc(1em + 5px);

    }

    .top-business-item:last-child .top-business-item--list{

        display: flex;

        justify-content: space-between;

    }

    .top-business-item:last-child .top-business-item--list_item{

        flex: 0 1 48.62%;

        width: 48.62%;

    }

    .top-business-item:last-child  .top-business-item--list_item:not(:last-child) {

        margin-bottom: 0;

    }

}

/*top-title1*/

.top-title1{

    color: var(--main-blue);

    text-align: center;

    margin-bottom: 60px;

    display: flex;

    flex-flow: column-reverse;

}

.top-title1__main{

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

}

.top-title1__main:before{

    content: "";

    background: var(--main-blue);

    width: 25px;

    height: 1px;

    margin-right: 10px;

}

.top-title1__main:after{

    content: "";

    background: var(--main-blue);

    width: 25px;

    height: 1px;

    margin-left: 10px;

}

.top-title1__sub{

    font-family: var(--font-en3);

    font-size: 4.5rem;

    letter-spacing: 0.8rem;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-title1{

        margin-bottom: 40px;

    }

    .top-title1__main{

        font-size: 1.5rem;

    }

    .top-title1__sub{

        font-family: var(--font-en3);

        font-size: 3.5rem;

    }

}

/*top-btn*/

.top-btn{

    width:300px;

    margin: 0 auto;

}

.top-btn a{

    color: #fff;

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    width: 100%;

    height: 60px;

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    background: var(--main-blue);

    border-radius: 30px;

}

.top-btn a:after{

    content: "";

    background: url(../images/link-arrow_white.svg) no-repeat;

    background-size: cover;

    width: 12px;

    height: 8px;

    position: absolute;

    top: calc(50% - 6px);

    right: 20px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-btn{

        width:100%;

        margin: 0 auto;

    }

    .top-btn a{

        font-size: 1.5rem;

    }

}

/*top-news*/

.top-news{

    padding: 80px 0 100px;

    box-sizing: border-box;

    background: url(../images/top_news_bg.png) no-repeat right bottom,var(--bg-gray);

}

.top-news-main{

    width: var(--inner-width);

    margin: 0 auto 40px;

    padding: 40px 100px;

    box-sizing: border-box;

    background: #fff;

    box-shadow: 1px 1px 0 0 #000000;

}

.top-news-list-item:not(:last-child){

    border-bottom: solid 1px var(--border-gray);

}

.top-news-list-item-inner {

    display: flex;

    align-items: center;

    position: relative;

    padding: 25px 60px 25px 0;

    background: #fff;

    font-size: 1.6rem;

    transition: border var(--trans-ease);

}

.top-news-list-item__date {

    flex: 0 0 120px;

    margin-right: 20px;

    color: #8994a6;

    line-height: calc(1em + 8px);

}

.top-news-list-item__title {

    color: var(--sub-black);

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 8px);

    transition: color var(--trans-ease);

}

/*pc*/

@media screen and (min-width:769px){

    .top-news-list-item a:hover .top-news-list-item__title{

        color: var(--main-lightblue);

        transition: all ease .3s;

    }

    .top-news-list-item a::after {

        content: "";

        background: url(../images/link-arrow_blue.svg) no-repeat;

        background-size: cover;

        width: 12px;

        height: 8px;

        position: absolute;

        top: calc(50% - 6px);

        right: 10px;

    }

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-news{

        padding: 45px var(--inner-sidespace--sp) 50px;

        box-sizing: border-box;

        background: url(../images/top_news_bg@venopramirror.com) no-repeat right bottom,var(--bg-gray);

        background-size: 100% auto;

    }

    .top-news-main {

        width: 100%;

        margin: 0 auto 25px;

        padding: 10px 6.896% 30px;

        box-sizing: border-box;

        background: #fff;

    }

    .top-news-list-item-inner {

        display: block;

        position: relative;

        padding: 20px 0;

        background: #fff;

        font-size: 1.5rem;

        transition: border var(--trans-ease);

    }

    .top-news-list-item__date {

        font-size: 1.4rem;

        margin-right: 0;

        margin-bottom: 8px;

        display: block;

    }

}

/*top-works*/

.top-works{

    padding: 80px 0 100px;

    box-sizing: border-box;

    background: url(../images/top_works_bg.png) no-repeat center bottom,#fff;

    background-size: 100% auto;

}

.top-works-list{

    width: var(--inner-width);

    display: flex;

    justify-content: center;

    margin: 0 auto 30px;

}

.top-works-list--item{

    flex: 0 1 390px;

    background: #fff;

    box-shadow: 1px 1px 0 0 #000000;

}

.top-works-list--item a{

    display: block;

    height: 100%;

}

.top-works-list--item:not(:last-child){

    margin-right: 15px;

}

.top-works-list--item__thumb{

    width: 390px;

    height: auto;

    aspect-ratio: 39 / 26;

}

.top-works-list--item__thumb img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.top-works-list--item__main{

    padding: 30px;

    box-sizing: border-box;

}

.top-works-list--item__ind-name{

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    color: var(--main-blue);

    margin-bottom: 20px;

}

.top-works-list--item__title{

    font-size: 1.8rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 10px);

}

.top-works-list--item__ind-cate {

    display: flex;

    flex-flow: row wrap;

    margin-top: 30px;

}

.top-works-list--item__ind-cate span{

    display: flex;

    flex: 0 0 auto;

    justify-content: center;

    align-items: center;

    min-width: 75px;

    min-height: 27px;

    margin-right: 10px;

    padding: 3px 6px;

    background: var(--main-lightblue);

    color: #fff;

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: 1;

    margin-bottom: 8px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .top-works{

        padding: 45px var(--inner-sidespace--sp) 70px;

        box-sizing: border-box;

        background: url(../images/top_works_bg@venopramirror.com) no-repeat center bottom,#fff;

        background-size: 100% auto;

    }

    .top-works-list{

        width: 100%;

        display: block;

        margin: 0 auto 30px;

    }

    .top-works-list--item:not(:last-child){

        margin-right: 0;

        margin-bottom: 20px;

    }

    .top-works-list--item__thumb {

        width: 100%;

        height: auto;

        aspect-ratio: 39 / 26;

    }

    .top-works-list--item__main {

        padding: 20px 15px;

        box-sizing: border-box;

    }

    .top-works-list--item__ind-name {

        font-size: 1.5rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        color: var(--main-blue);

        margin-bottom: 15px;

    }

    .top-works-list--item__title {

        font-size: 1.6rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        line-height: calc(1em + 8px);

    }

    .top-works-list--item__ind-cate {

        margin-top: 20px;

    }

}

/*hover-shadow*/

.hover-shadow{

    transition: all ease .3s;

}

/*pc*/

@media screen and (min-width:769px){

    .hover-shadow:hover,

    .business-list-item.hover-shadow:hover{

        transition: all ease .3s;

        box-shadow: 0 5px 10px rgba(20,42,78,.3);

    }

    .top-works-list--item:hover .top-works-list--item__title{

        color: var(--main-lightblue);

        transition: all ease .3s;

    }

}



/*-------------

breadcrumbs

-------------*/

.breadcrumbs-nav{

    background: var(--bg-gray);

    width: 100%;

    padding: 6px 0;

    box-sizing: border-box;

}

.breadcrumbs{

    width: 1200px;

    margin: 0 auto;

}

.breadcrumbs-item {

    display: inline;

    font-size: 0;

}

.breadcrumbs-item__name {

    color: #8d8f92;

    position: relative;

    font-size: 1.2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 8px);

}

.breadcrumbs-item:not(:last-child) .breadcrumbs-item__name {

    margin-right: 23px;

}

.breadcrs--current .breadcrumbs-item__name {

    color: #1a1a1a;

}

.breadcrumbs-item:not(:last-child) .breadcrumbs-item__name::after {

    display: inline-block;

    position: absolute;

    top: calc(50% - 2px);

    right: -12px;

    transform: rotate(45deg);

    width: 5px;

    height: 5px;

    border-right: 1px solid var(--main-lightblue);

    border-top: 1px solid var(--main-lightblue);

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .breadcrumbs-nav{

        display: none;

    }

}

/*-------------

page-header

-------------*/

.page-header-wrapper{

    width: 100%;

    background: linear-gradient(rgba(20,41,78,.9),rgba(20,41,78,.9)),url(../images/common-bg_01.jpg) no-repeat center / cover;

    min-height: 300px;

}

.page-header-inner{

    color: #fff;

    display: flex;

    justify-content: center;

    width: var(--inner-width);

    margin: 0 auto;

    height: 100%;

    min-height: 300px;

    flex-flow: column;

}

.page-header-title__en{

    font-family: var(--font-en4);

    font-weight: normal;

    font-size: 7.0rem;

    letter-spacing: 1.5rem;

}

.page-header-title__main{

    font-size: 2.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    letter-spacing: 0.2rem;

    margin-bottom: 15px;

    display: flex;

    align-items: center;

}

.page-header-title__main:before {

    content: "";

    width: 24px;

    height: 24px;

    margin-right: 10px;

    background: url(../images/icon_earth.svg) no-repeat;

    background-size: cover;

}

.is--ja-main .page-header-title__main {

    font-size: 2.0rem;

    font-family: var(--font-en4);

    font-weight: normal;

    letter-spacing: 0.5rem;

    margin-bottom: 15px;

    display: flex;

    align-items: center;

}

.is--ja-main .page-header-title__en{

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    font-size: 4.6rem;

    letter-spacing: 0.5rem;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .page-header-wrapper{

        min-height: 150px;

    }

    .page-header-inner{

        min-height: 150px;

        padding: 15px 0;

        box-sizing: border-box;

    }

    .page-header-title__en{

        font-size: 4.0rem;

        letter-spacing: 1rem;

    }

    .page-header-title__main {

        font-size: 1.5rem;

    }

    .page-header-title__main:before {

        content: "";

        width: 20px;

        height: 20px;

        margin-right: 8px;

    }

    .is--ja-main .page-header-title__main {

        font-size: 1.5rem;

        margin-bottom: 10px;

    }

    .is--ja-main .page-header-title__en{

        font-size: 2.8rem;

        letter-spacing: 0.5rem;

    }

}

/*-------------

title1

-------------*/

.title1{

    color: var(--main-blue);

    font-size: 3.4rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    text-align: center;

    margin-bottom: 30px;

    padding-bottom: 20px;

    position: relative;

}

.title1:after{

    content: "";

    background: var(--main-blue);

    width: 40px;

    height: 2px;

    position: absolute;

    right: 0;

    left: 0;

    bottom: 0;

    margin: auto;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .title1{

        color: var(--main-blue);

        font-size: 2.4rem;

        margin-bottom: 25px;

        padding-bottom: 15px;

    }

    .title1:after{

        width: 30px;

        height: 2px;

    }

}

/*-------------

contact

-------------*/

.form-text{

    font-size: 1.5rem;

    color: var(--sub-black);

    text-align: center;

    margin-bottom: 30px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .form-text{

        font-size: 1.4rem;

        color: var(--sub-black);

        text-align: left;

        margin-bottom: 20px;

    }

}

/*form-basic*/

.form-basic{

    width: 820px;

    margin: 0 auto 15px;

}

/*contact-wrapper*/

.contact .main.subpage{

    background:var(--bg-gray);

}

.contact-wrapper{

    width: 100%;

    padding: 80px 190px;

    box-sizing: border-box;

    background: #fff;

}

.form-basic__row:not(:last-child){

    margin-bottom: 40px;

}

.form-basic__row-head{

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    margin-bottom: 15px;

}

.form-basic__block input[type="text"],

.form-basic__block input[type="email"]{

    background: var(--input-color);

    padding: 10px 15px;

    box-sizing: border-box;

    min-height: 50px;

    width: 100%;

}

.form-basic__block textarea{

    background: var(--input-color);

    padding: 10px 15px;

    box-sizing: border-box;

    width: 100%;

    height: 180px;

}

.form-basic__btnlist{

    display: flex;

    justify-content: space-between;

    flex-flow: row wrap;

}

.form-basic__btnlist li{

    flex: 0 1 49.75%;

    font-size: 1.5rem;

    font-weight: 500;

    cursor: pointer;

    display: block;

    box-sizing: border-box;

    position: relative;

}

.form-basic__btnlist li:not(:nth-of-type(-n +2)){

    margin-top: 6px;

}

.form-basic__btnlist li input[type=checkbox] {

    margin-right: 10px;

    position: absolute;

    top: 0;

    bottom: 0;

    left: 10px;

	width:14px;

	height:14px;

    margin: auto;

}

.form-basic__btnlist li label {

    width: 100%;

    border: solid 1px #e2e3e4;

    border-radius: 3px;

    width: 100%;

    display: block;

    padding: 9px 10px 9px 30px;

}

.form-basic__btnlist li input[type=checkbox]:checked + label {

    border: solid 1px var(--check-border);

    background: var(--check-bg);

}

.form-basic__head--req:before{

    content: "必須";

    color: #fff;

    font-size: 1.3rem;

    background: var(--bg-red);

    margin-right: 5px;

    padding: 2px 5px;

    box-sizing: border-box;

}

.form-basic__head--any:before{

    content: "任意";

    color: var(--main-darkgray);

    font-size: 1.3rem;

    background: var(--bg-darkgray);

    margin-right: 5px;

    padding: 2px 5px;

    box-sizing: border-box;

}

.form-basic-btn-block{

    margin-top: 40px;

}

.form-basic-submit-btn{

    color: #fff;

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    background: var(--main-lightblue);

    width: 300px;

    height: 60px;

    display: flex;

    justify-content: center;

    align-items: center;

    margin: 0 auto;

}

.confirm .form-basic__row{

    border-bottom: solid 1px var(--border-gray);

    padding-bottom: 20px;

    margin-bottom: 30px;

}

.form-basic__block.list{

    line-height: calc(1em + 10px);

}

.form-basic-submit-btn.is-back{

    margin-top: 15px;

    background: #b3b5b6;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.contact{

        width: 100%;

    }

    .contact-wrapper {

        width: 100%;

        padding: 40px var(--inner-sidespace--sp) 55px;

        box-sizing: border-box;

        background: #fff;

    }

    .form-basic {

        width: 100%;

    }

    .form-basic__btnlist {

        display: block;

    }

    .form-basic__btnlist li:not(:nth-of-type(-n +2)) {

        margin-top: 0;

    }

    .form-basic__btnlist li:not(:last-child) {

        margin-bottom: 8px;

    }

    .form-basic__block textarea {

        height: 150px;

    }

    .form-basic-submit-btn {

        font-size: 1.4rem;

        width: 100%;

        height: 55px;

    }

}

/*form-complete__header*/

.form-coder{

    text-align: center;

    color: var(--main-blue);

    font-size: 3.4rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    text-align: center;

    margin-bottom: 30px;

    padding-bottom: 20px;

    position: relative;

}

.form-complete__header:after {

    content: "";

    background: var(--main-blue);

    width: 40px;

    height: 2px;

    position: absolute;

    right: 0;

    left: 0;

    bottom: 0;

    margin: auto;

}

.form-complete__header p{

    color: var(--main-lightblue);

    font-size: 1.8rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    text-align: center;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .form-complete__header{

        color: var(--main-blue);

        font-size: 2.4rem;

        margin-bottom: 25px;

        padding-bottom: 15px;

    }

}

/*-------------

privacy

-------------*/

.privacy-wrapper{

    width: 100%;

    padding: 100px;

    box-sizing: border-box;

    background: #fff;

}

.privacy article:not(:last-child){

    margin-bottom: 90px;

}

.privacy article > section:not(:last-child){

    margin-bottom: 40px;

}

.privacy-title1{

    color: var(--main-blue);

    font-size: 3.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    border-bottom: solid 1px var(--main-blue);

    display: table;

    margin-bottom: 40px;

}

.privacy-title2{

    color: var(--main-lightblue);

    font-size: 2.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    border-bottom: solid 1px var(--main-lightblue);

    display: table;

    margin-bottom: 25px;

    margin-top: 40px;

}

.privacy-title3{

    color: var(--main-blue);

    font-size: 2.2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    margin-bottom: 20px;

    padding-left: 100px;

    box-sizing: border-box;

}

.privacy-text{

    font-size: 1.5rem;

    padding-left: 100px;

    box-sizing: border-box;

    line-height: calc(1em + 10px);

}

.privacy-text a{

    color: var(--main-lightblue);

    text-decoration: underline;

}

.privacy-text a[href^="tel:"]{

    color: var(--main-black);

    text-decoration: none;

}

.privacy-text:not(:last-child),

.privacy-list:not(:last-child){

    margin-bottom: 20px;

}

.privacy-list{

    padding-left: 100px;

    box-sizing: border-box;

    font-size: 1.5rem;

}

.privacy-list li {

    position: relative;

    padding-left: 15px;

    margin-bottom: 10px;

}

.privacy-list li:before {

    position: absolute;

    top: 0.45em;

    left: 0;

    width: 9px;

    height: 9px;

    border-radius: 50%;

    background: var(--main-vividblue);

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.privacy{

        width: 100%;

    }

    .privacy-text a[href^="tel:"]{

        color: var(--main-lightblue);

        text-decoration: underline;

    }

    .privacy-wrapper {

        width: 100%;

        padding: 40px var(--inner-sidespace--sp) 55px;

        box-sizing: border-box;

        background: #fff;

    }

    .privacy-title1{

        padding-bottom: 15px;

        margin-bottom: 20px;

        display: block;

    }

    .privacy-title1 h2{

        font-size: 2.0rem;

        text-indent: -2.5rem;

        padding-left: 2.5rem;

    }

    .privacy-title2 {

        font-size: 1.8rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        display: block;

        padding-bottom: 10px;

        margin-bottom: 20px;

        margin-top: 40px;

    }

    .privacy-title3 {

        color: var(--main-blue);

        font-size: 1.6rem;

        : var(--font-sans-serif-bold);

        font-weight: bold;

        margin-bottom: 15px;

        padding-left: 2.2rem;

        box-sizing: border-box;

    }

    .privacy-text {

        font-size: 1.4rem;

        padding-left: 2.2rem;

        line-height: calc(1em + 10px);

    }

    .privacy-list {

        padding-left: 2.2rem;

        box-sizing: border-box;

        font-size: 1.4rem;

    }

    .privacy article:not(:last-child){

        margin-bottom: 55px;

    }

    .privacy article > section:not(:last-child){

        margin-bottom: 25px;

    }

}

/*-------------

company

-------------*/

.company-wrapper{

    width: 100%;

    padding: 100px;

    box-sizing: border-box;

    background: #fff;

}

.company article:not(:last-child){

    margin-bottom: 90px;

}

.company-title1{

    margin-bottom: 40px;

    display: flex;

    flex-flow: column-reverse;

}

.company-title1-main{

    color: var(--main-blue);

    font-size: 4.2rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

}

.company-title1-sub{

    color: var(--main-lightblue);

    font-family: var(--font-en4);

    font-size: 1.8rem;

    display: flex;

    align-items: center;

    letter-spacing: 0.2rem;

}

.company-title1-sub:after{

    content: "";

    background: var(--main-lightblue);

    width: 40px;

    height: 1px;

    margin-left: 10px;

    margin-top: -5px;

}

.company-tb{

    width: 820px;

    margin: -30px auto 50px;

}

.company-tb tr{

    border-bottom: solid 1px var(--border-gray);

}

.company-tb tr th{

    width: 150px;

    color: var(--main-blue);

    font-size: 1.5rem;

    font-family: var(--font-sans-serif-bold-bold);

    font-weight: bold;

    line-height: calc(1em + 15px);

    padding: 20px 0;

}

.company-tb tr td{

    color: var(--sub-black);

    font-size: 1.5rem;

    padding: 20px 0;

    line-height: calc(1em + 15px);

}

.company-tb tr td .company-tb_list2 li{

    width: 250px;

    display: flex;

    justify-content: space-between;

}

.company-tb tr td .company-tb_list2 li.long{

    width: 340px;

}

.company-title2{

    color: var(--main-lightblue);

    font-size: 2.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    border-bottom: solid 1px var(--main-lightblue);

    display: table;

    margin-bottom: 25px;

}

.company-sec:not(:last-child){

    margin-bottom: 50px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.company{

        width: 100%;

    }

    .company-wrapper {

        width: 100%;

        padding: 40px var(--inner-sidespace--sp) 55px;

        box-sizing: border-box;

        background: #fff;

    }

    .company-title1 {

        margin-bottom: 30px;

    }

    .company-title1-main {

        color: var(--main-blue);

        font-size: 2.6rem;

    }

    .company-title1-sub {

        font-size: 1.5rem;

        letter-spacing: 0.2rem;

    }

    .company-tb {

        width: 100%;

        margin: -20px auto 50px;

    }

    .company-tb tr th {

        width: 100%;

        display: block;

        color: var(--main-blue);

        font-size: 1.4rem;

        line-height: calc(1em + 15px);

        padding: 20px 0 8px;

    }

    .company-tb tr td {

        display: block;

        font-size: 1.4rem;

        padding: 0 0 20px 15px;

        line-height: calc(1em + 15px);

    }

    .company-tb tr td ul li{

        position: relative;

        padding-left: 15px;

        line-height: calc(1em + 8px);

    }

    .company-tb tr td ul li:not(:last-child){

        margin-bottom: 8px;

    }

    .company-tb tr td ul li:before {

        position: absolute;

        top: 0.5em;

        left: 0;

        width: 6px;

        height: 6px;

        border-radius: 50%;

        background: var(--border-gray);

        content: "";

    }

    .company-tb tr td .company-tb_list2 li {

        width: 100%;

        display: flex;

        justify-content: space-between;

    }

    .company-tb tr td .company-tb_list2 li.long {

        width: 100%;

    }

    .company-title2 {

        font-size: 2rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        padding-bottom: 10px;

        margin-bottom: 30px;

    }

    .company-sec:not(:last-child){

        margin-bottom: 30px;

    }

}

/*company-support-list*/

.company-support-list{

    width: 820px;

    margin: 0 auto;

    display: flex;

    flex-flow: row wrap;

}

.company-support-list li{

    margin-bottom: 5px;

}

.company-support-list li:not(:nth-of-type(5n)){

    margin-right: 5px;

}

.company-support-list li img{

    border: solid 1px var(--border-gray);

    box-sizing: border-box;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .company-support-list{

        width: 100%;

        margin: 0 auto;

        display: flex;

        justify-content: space-between;

        flex-flow: row wrap;

    }

    .company-support-list li{

        flex: 0 1 48.275%;

        margin-bottom: 10px;

    }

    .company-support-list li:not(:nth-of-type(5n)){

        margin-right: 0;

    }

    .company article:not(:last-child) {

        margin-bottom: 80px;

    }

}

/*company-location--items*/

.company-location--items{

    display: flex;

    justify-content: space-between;

    width: 820px;

    margin: 0 auto 10px;

}

.company-location--item{

    flex: 0 1 400px;

    background: var(--bg-gray);

    padding-bottom: 220px;

    position: relative;

}

.company-location--item iframe{

    position: absolute;

    bottom: 0;

}

.company-location--item_wrapper{

    padding: 25px;

    box-sizing: border-box;

}

.company-location--title{

    color: var(--main-blue);

    font-size: 2.0rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    padding: 0 0 10px 25px;

    margin-bottom: 10px;

    border-bottom: solid 1px var(--main-blue);

    position: relative;

}

.company-location--title:before{

    content: "";

    width: 14px;

    height: 14px;

    background: linear-gradient(135deg, #d2a000 0%, #d2a000 50%, #e8cf80 50%, #e8cf80 100%);

    position: absolute;

    top: 9px;

    left: 0;

}

.company-location--item dl{

    display: flex;

    flex-flow: row wrap;

    font-size: 1.5rem;

}

.company-location--item dl dt{

    flex: 0 1 70px;

    margin-right: 10px;

    color: #727f95;

    font-weight: bold;

    font-family: var(--font-sans-serif-bold);

}

.company-location--item dl dd{

    flex: 0 1 270px;

}

.company-location--item dl dd:not(:last-of-type){

    margin-bottom: 10px;

}

.company-location--btn{

    width: 820px;

    text-align: right;

    margin: 0 auto;

}

.company-location--btn a{

    color: var(--sub-black);

    font-size: 1.5rem;

    text-decoration: underline;

    position: relative;

    padding-left: 17px;

}

.company-location--btn a:before{

    content: "";

    background: var(--main-lightblue);

    width: 13px;

    height: 13px;

    position: absolute;

    top: 4px;

    left: 0;

}

.company-location--btn a:after{

    content: "";

    position: absolute;

    top: 7px;

    left: 5px;

    width: 0;

    height: 0;

    border-left: 3px solid #fff;

    border-top: 3px solid transparent;

    border-bottom: 3px solid transparent;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .company-location--items{

        display: block;

        width: 100%;

    }

    .company-location--title {

        color: var(--main-blue);

        font-size: 1.8rem;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

        padding: 0 0 8px 25px;

        margin-bottom: 10px;

        border-bottom: solid 1px var(--main-blue);

        position: relative;

    }

    .company-location--title:before {

        top: 8px;

    }

    .company-location--item {

        padding-bottom: 200px;

    }

    .company-location--item:not(:last-child){

        margin-bottom: 20px;

    }

    .company-location--item_wrapper {

        padding: 15px 15px 25px;

    }

    .company-location--item dl dt {

        flex: 0 1 27.18%;

        margin-right: 0;

        padding-right: 8px;

        box-sizing: border-box;

    }

    .company-location--item dl dd {

        flex: 0 1 72.82%;

    }

    .company-location--item iframe {

        width: 100%;

        height: 200px;

        position: absolute;

        bottom: 0;

    }

    .company-location--btn{

        width: 100%;

        text-align: left;

        margin: 0 auto;

    }

}

/*company-history-tb*/

.company-history-tb{

    width: 820px;

    margin: 0 auto;

    border-top: solid 1px var(--border-darkblue);

    position: relative;

}

.company-history-tb:before{

    content: "";

    background: var(--main-blue);

    width: 2px;

    height: calc(100% - 50px);

    position: absolute;

    top: 50px;

    left: 170px;

}

.company-history-tb:after{

    content: "";

    background: linear-gradient(0deg, rgba(20, 42, 78, 0) 0%, rgba(20, 42, 78, 1) 100%);;

    width: 2px;

    height: 30px;

    position: absolute;

    bottom: -30px;

    left: 170px;

}

.company-history-tb tr{

    border-bottom: solid 1px var(--border-darkblue);

}

.company-history-tb tr th{

    width: 170px;

    color: #b8bfca;

    padding: 20px;

    box-sizing: border-box;

    font-family: var(--font-en3);

    font-weight: 600;

    font-style: normal;

    font-size: 5.0rem;

}

.company-history-tb tr td{

    padding: 20px 0 20px 50px;

    box-sizing: border-box;

    vertical-align:middle;

}

.company-history-tb tr td dl{

    padding: 10px 0;

    box-sizing: border-box;

    display: flex;

    flex-flow: row wrap;

    align-items: baseline;

}

.company-history-tb tr td dl dt{

    flex: 0 1 40px;

    font-size: 1.8rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    position: relative;

}

.company-history-tb tr td dl dt:before{

    content: "";

    width: 10px;

    height: 10px;

    background: #fff;

    border: solid 2px var(--main-blue);

    box-sizing: border-box;

    position: absolute;

    top: 10px;

    left: -54px;

    border-radius: 50%;

}

.company-history-tb tr td dl dt small{

    font-size: 1.4rem;

}

.company-history-tb tr td dl dd{

    color: var(--sub-black);

    font-size: 1.5rem;

    flex: 0 0 560px;

    padding-left: 20px;

    box-sizing: border-box;

}

.company-history-tb tr td dl dd:not(:last-of-type){

    margin-bottom: 20px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .company-history-tb {

        width: 100%;

        margin: 0 auto;

        border-top: solid 1px var(--border-darkblue);

        position: relative;

    }

    .company-history-tb tr th {

        width: 26%;

        color: #b8bfca;

        padding: 20px 0;

        font-size: 3.0rem;

    }

    .company-history-tb:before {

        content: "";

        background: var(--main-blue);

        width: 2px;

        height: calc(100% - 45px);

        position: absolute;

        top: 45px;

        left: 26%;

    }

    .company-history-tb tr td {

        padding: 20px 0 20px 25px;

        box-sizing: border-box;

        vertical-align: middle;

    }

    .company-history-tb tr td dl {

        padding: 5px 0;

        display: block;

    }

    .company-history-tb tr td dl dd {

        font-size: 1.4rem;

        padding-left: 0;

    }

    .company-history-tb tr td dl dt:before {

        content: "";

        width: 10px;

        height: 10px;

        background: #fff;

        border: solid 2px var(--main-blue);

        box-sizing: border-box;

        position: absolute;

        top: 10px;

        left: -29px;

        border-radius: 50%;

    }

    .company-history-tb:after {

        left: 26%;

    }

}

/*company-sustainability*/

.company-sustainability-main{

    width: 820px;

    margin: 0 auto 50px;

}

.company-sustainability-main p{

    font-size: 1.5rem;

    color: var(--sub-black);

    margin-bottom: 20px;

    line-height: calc(1em + 15px);

}

.company-sustainability-sub{

    width: 820px;

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

.company-sustainability-sub img{

    margin-right: 20px;

}

.company-sustainability-sub p{

    font-size: 1.5rem;

    color: var(--sub-black);

    line-height: calc(1em + 12px);

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .company-sustainability-main{

        width: 100%;

        margin: 0 auto 40px;

    }

    .company-sustainability-sub{

        width: 100%;

        display: block;

    }

    .company-sustainability-sub img{

        margin: 0 0 25px;

        padding: 0 30px;

    }

    .company-sustainability-main p{

        font-size: 1.4rem;

        line-height: calc(1em + 10px);

    }

    .company-sustainability-sub p{

        font-size: 1.4rem;

        line-height: calc(1em + 10px);

    }

}



/*-------------

contents--footer

-------------*/

.contents--footer{

    padding: 75px 0 100px;

    border-top: solid 1px var(--border-gray);

    background: url(../images/common-bg_02.jpg) no-repeat center bottom / max(100%,1920px) auto,#fff;

}

.contents--footer.is--backbtn-only{

    padding-top: 0;

    border-top: none;

    background: none;

}

.contents--footer__backbtn{

    width: 300px;

    margin: 0 auto;

}

.contents--footer__backbtn__link{

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    height: 60px;

    border: solid 1px var(--main-blue);

    border-radius: 30px;

    background: #fff;

    color: var(--sub-black);

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

}

.contents--footer__backbtn__link::after{

    position: absolute;

    top: calc(50% - 5px);

    left: 24px;

    transform: rotate(180deg);

    width: 14px;

    height: 10px;

    background: url(../images/link-arrow_blue.svg) no-repeat center / contain;

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    /* contents--footer */

    .contents--footer{

        padding: 30px 0 80px;

        background: url(../images/common-bg_02@venopramirror.com) no-repeat center bottom / auto 300px,#fff;

    }

    .contents--footer__backbtn{

        width: 250px;

    }

    .contents--footer__backbtn__link{

        height: 50px;

    }

}



/*-------------

works

-------------*/

#contents.works{

    padding-bottom: 100px;

}

.works-list-item{

    background: #fff;

    box-shadow: 1px 1px 0 #000;

}

.works-list-item:not(:last-child){

    margin-bottom: 30px;

}

.works-list-item-inner{

    display: flex;

    align-items: center;

    position: relative;

    min-height: 380px;

    padding-left: 630px;

}

.works-list-item__thumb{

    position: absolute;

    top: 0;

    left: 0;

    width: 630px;

    height: 100%;

}

.works-list-item__thumb img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.works-list-item-main{

    flex: 1 1 auto;

    padding: 25px 50px 33px;

    overflow: hidden;

}

.works-list-item__ind{

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 8px 0;

    margin-bottom: 22px;

}

.works-list-item__ind-cate{

    display: flex;

    flex: 0 0 auto;

    justify-content: center;

    align-items: center;

    min-width: 75px;

    max-width: 100%;

    min-height: 27px;

    margin-right: 10px;

    padding: 3px 6px;

    background: var(--main-lightblue);

    color: #fff;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.works-list-item__ind-name{

    font-size: 1.8rem;

    line-height: calc(1em + 4px);

}

.works-list-item__title{

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 4;

    overflow: hidden;

    font-family: var(--font-sans-serif-bold);

    font-size: 30px;

    font-weight: bold;

    line-height: calc(1em + 15px);

}

.works-list-item__btn{

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    width: 180px;

    height: 50px;

    margin: 43px auto 0 0;

    border-radius: 25px;

    background: #e7eaed;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.6rem;

    font-weight: bold;

}

.works-list-item__btn::after{

    position: absolute;

    top: calc(50% - 5px);

    right: 18px;

    width: 14px;

    height: 10px;

    background: url(../images/link-arrow_blue.svg) no-repeat center / contain;

    content: "";

}

/* works-pager */

.works-pager{

    display: flex;

    justify-content: center;

    position: relative;

    margin-top: 40px;

    padding: 0 55px;

}

.works-pager .page-numbers{

    display: flex;

    justify-content: center;

    align-items: center;

    width: 50px;

    height: 50px;

    margin: 0 5px;

    border: solid 1px var(--main-blue);

    background: #fff;

    color: var(--main-blue);

    font-family: var(--font-en);

    font-size: 1.6rem;

    font-weight: bold;

    line-height: 1;

}

.works-pager .page-numbers.current{

    background: var(--main-blue);

    color: #fff;

}

.works-pager .page-numbers.prev,

.works-pager .page-numbers.next{

    margin: 0;

    padding: 0;

    background: var(--main-black);

    font-size: 0;

    line-height: 0;

}

.works-pager .page-numbers.prev{

    position: absolute;

    top: 0;

    left: 0;

}

.works-pager .page-numbers.prev::before{

    display: block;

    transform: rotate(45deg);

    width: 8px;

    height: 8px;

    margin-left: 3px;

    border-bottom: solid 2px #fff;

    border-left: solid 2px #fff;

    content: "";

}

.works-pager .page-numbers.next{

    position: absolute;

    top: 0;

    right: 0;

}

.works-pager .page-numbers.next::before{

    display: block;

    transform: rotate(45deg);

    width: 8px;

    height: 8px;

    margin-right: 3px;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.works{

        padding-bottom: 80px;

    }

    .works-list-item:not(:last-child){

        margin-bottom: 15px;

    }

    .works-list-item-inner{

        display: block;

        min-height: 0;

        padding: 0;

    }

    .works-list-item__thumb{

        position: static;

        width: 100%;

        height: auto;

        aspect-ratio: 2 / 1;

    }

    .works-list-item-main{

        padding: 25px 20px 30px;

    }

    .works-list-item__ind{

        gap: 3px 0;

        margin-bottom: 10px;

    }

    .works-list-item__ind-cate{

        min-height: 26px;

        margin-right: 10px;

        font-size: 1.4rem;

    }

    .works-list-item__ind-name{

        font-size: 1.5rem;

    }

    .works-list-item__title{

        font-size: 1.8rem;

        line-height: calc(1em + 9px);

    }

    .works-list-item__btn{

        width: 100%;

        height: 45px;

        margin: 16px auto 0;

        font-size: 1.6rem;

    }

    .works-list-item__btn::after{

        right: 14px;

    }

    /* works-pager */

    .works-pager{

        margin-top: 30px;

        padding: 0 49px 0;

    }

    .works-pager .page-numbers{

        width: 44px;

        height: 44px;

        margin: 0 2.5px;

    }

}



/*-------------

works-dtl

-------------*/

#contents.works-dtl{

    position: relative;

    z-index: 1;

    width: 100%;

    padding: 50px 0 0;

}

#contents.works-dtl::before{

    position: absolute;

    top: 0;

    left: 0;

    z-index: -1;

    width: 100%;

    height: 300px;

    background: linear-gradient(rgba(20,41,78,.9),rgba(20,41,78,.9)),url(../images/common-bg_01.jpg) no-repeat center / cover;

    content: "";

}

.works-dtl-head{

    display: flex;

    width: 1200px;

    min-height: 250px;

    margin: 0 auto;

    background: var(--bg-gray);

}

.works-dtl-head__visual{

    flex: 0 0 580px;

}

.works-dtl-head__visual img{

    width: 100%;

    height: auto;

}

.works-dtl-head-main{

    flex: 1 1 auto;

    padding: 40px 40px 0;

}

.works-dtl-head__posttype{

    margin-bottom: 17px;

    color: var(--main-lightblue);

    font-family: var(--font-sans-serif-bold);

    font-size: 1.8rem;

    font-weight: bold;

    line-height: 1;

}

.works-dtl-head__title{

    font-family: var(--font-sans-serif-bold);

    font-size: 30px;

    font-weight: bold;

    line-height: calc(1em + 15px);

}

.works-dtl-head__ind{

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 7px 0;

    margin-top: 18px;

}

.works-dtl-head__ind-cate{

    display: flex;

    flex: 0 0 auto;

    justify-content: center;

    align-items: center;

    min-width: 75px;

    min-height: 27px;

    margin-right: 10px;

    padding: 3px 6px;

    background: var(--main-lightblue);

    color: #fff;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.works-dtl-head__ind-name{

    font-size: 1.8rem;

    line-height: calc(1em + 6px);

}

.works-dtl-head__info{

    width: 100%;

    margin-top: 35px;

}

.works-dtl-head__info__head,

.works-dtl-head__info__data{

    border-top: solid 1px var(--main-blue);

    border-bottom: solid 1px var(--main-blue);

    padding: 12px 15px;

    font-size: 1.5rem;

    line-height: calc(1em + 7px);

}

.works-dtl-head__info__head{

    position: relative;

    min-width: 105px;

    padding-left: 10px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    white-space: nowrap;

}

.works-dtl-head__info__head::after{

    position: absolute;

    top: 8px;

    right: 0;

    width: 1px;

    height: calc(100% - 16px);

    background: var(--main-blue);

    content: "";

}

.works-dtl-head__info__data{

    color: #000;

    width: 100%;

    padding: 12px 15px;

}

/* works-dtl-business */

.works-dtl-business{

    display: block;

    margin: 0 auto 60px;

}

.works-dtl-business-list{

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 20px;

    padding: 0 40px;

}

.works-dtl-business-list .business-list-item{

    flex: 0 0 390px;

    background: #fff;

    box-shadow: 1px 1px 0 #000;

}

.works-dtl-business-list .business-list-item__link{

    display: block;

    height: 100%;

}

.works-dtl-business-list .business-list-item__pic{

    display: block;

    width: 100%;

    aspect-ratio: 2 / 1;

}

.works-dtl-business-list .business-list-item__pic img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.works-dtl-business-list .business-list-item-main{

    padding: 26px 30px 34px;

}

.works-dtl-business-list .business-list-item__title{

    display: block;

    margin-bottom: 15px;

    color: var(--main-lightblue);

    font-family: var(--font-sans-serif-bold);

    font-size: 2rem;

    font-weight: bold;

    line-height: calc(1em + 8px);

}

.works-dtl-business-list .business-list-item__desc{

    display: block;

    font-size: 1.5rem;

    line-height: calc(1em + 12px);

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.works-dtl::before{

        height: auto;

        aspect-ratio: 32 / 15;

        background: linear-gradient(rgba(20,41,78,.9),rgba(20,41,78,.9)),url(../images/common-bg_01@venopramirror.com) no-repeat center / cover;

    }

    .works-dtl-head{

        display: block;

        width: var(--inner-width--sp);

        min-height: 0;

    }

    .works-dtl-head-main{

        padding: 20px 0 0;

    }

    .works-dtl-head__posttype{

        margin-bottom: 10px;

        font-size: 1.6rem;

    }

    .works-dtl-head__title{

        font-size: 2rem;

        line-height: calc(1em + 10px);

    }

    .works-dtl-head__ind{

        margin-top: 15px;

    }

    .works-dtl-head__ind-cate{

        min-height: 26px;

        margin-right: 10px;

        font-size: 1.4rem;

    }

    .works-dtl-head__ind-name{

        font-size: 1.5rem;

    }

    .works-dtl-head__info{

        margin-top: 30px;

    }

    .works-dtl-head__info__head,

    .works-dtl-head__info__data{

        padding: 12px 10px;

        font-size: 1.4rem;

        line-height: calc(1em + 8px);

    }

    .works-dtl-head__info__head{

        min-width: 95px;

    }

    /* works-dtl-business */

    .works-dtl-business{

        width: var(--inner-width--sp);

        margin-bottom: 40px;

    }

    .works-dtl-business-list{

        display: block;

        padding: 0;

    }

    .works-dtl-business-list .business-list-item:not(:last-child){

        margin-bottom: 15px;

    }

    .works-dtl-business-list .business-list-item-main{

        padding: 21px 20px 25px;

    }

    .works-dtl-business-list .business-list-item__title{

        margin-bottom: 10px;

        font-size: 1.8rem;

    }

    .works-dtl-business-list .business-list-item__desc{

        font-size: 1.4rem;

        line-height: calc(1em + 11px);

    }

}



/*-------------

single

-------------*/

.single-blocks--default{

    width: 820px;

    margin: 0 auto;

    padding: 55px 0 80px;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .single-blocks--default{

        width: var(--inner-width--sp);

        padding: 45px 0 50px;

    }

}



/*-------------

business

-------------*/

.biz-lead{

    display: flex;

    align-items: center;

    width: 1000px;

    margin: 0 auto 70px;

}

.biz-lead-visual{

    flex: 0 0 470px;

    margin-right: 60px;

}

.biz-lead__title{

    position: relative;

    margin-bottom: 37px;

    padding-bottom: 29px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 2.2rem;

    font-weight: bold;

    line-height: calc(1em + 11px);

}

.biz-lead__title::before{

    position: absolute;

    bottom: 4px;

    left: 0;

    width: 120px;

    height: 1px;

    background: var(--main-blue);

    content: "";

}

.biz-lead__title::after{

    position: absolute;

    bottom: 0;

    left: 20px;

    width: 450px;

    height: 1px;

    background: linear-gradient(to right,var(--main-blue) 0 410px,rgba(255,255,255,0) 410px 415px,var(--main-blue) 415px);

    content: "";

}

.biz-lead__text{

    font-size: 1.5rem;

    line-height: calc(1em + 15px);

}

/* biz-links */

.biz-links{

    padding: 50px 100px 100px;

    background: #fff;

}

.biz-links-nav{

    margin-bottom: 100px;

}

.biz-links-nav-list{

    display: flex;

    gap: 0 5px;

}

.biz-links-nav-list-item{

    flex: 1;

    position: relative;

    border-top: solid 1px var(--main-black);

    border-bottom: solid 1px var(--main-black);

}

.biz-links-nav-list-item::after{

    position: absolute;

    top: 5px;

    right: -3px;

    width: 1px;

    height: calc(100% - 10px);

    background: var(--main-black);

    content: "";

}

@media screen and (min-width:769px){

    .biz-links-nav-list-item:last-child::after{

        content: none;

    }

}

.biz-links-nav-list-item__link{

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    height: 48px;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.6rem;

    font-weight: bold;

    transition: color .3s ease,background .3s ease;

}

.biz-links-nav-list-item__link::after{

    position: absolute;

    top: calc(50% - 4px);

    right: 15px;

    transform: rotate(45deg);

    width: 6px;

    height: 6px;

    border-right: solid 2px var(--main-lightblue);

    border-bottom: solid 2px var(--main-lightblue);

    content: "";

}

@media screen and (min-width:769px){

    .biz-links-nav-list-item__link:hover{

        background: #EDF8FF;

        color: var(--main-lightblue);

    }

}

/* biz-links__sect */

.biz-links__sect:not(:last-of-type){

    margin-bottom: 100px;

}

.biz-links__sect-title{

    margin-bottom: 50px;

}

.biz-links__sect-title__link{

    display: inline-flex;

    align-items: center;

}

.biz-links__sect-title__link::after{

    display: block;

    flex: 0 0 50px;

    aspect-ratio: 1 / 1;

    margin-left: 20px;

    border: solid 2px var(--border-gray);

    border-radius: 50%;

    background: url(../images/link-arrow_blue.svg) no-repeat center / auto;

    content: "";

    transition: all .3s ease;

}

.biz-links__sect-title__text{

    flex: 0 0 auto;

    padding: 5px 0 4px;

    border-bottom: solid 1px var(--main-blue);

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 30px;

    font-weight: bold;

    line-height: calc(1em + 10px);

    transition: all .3s ease;

}

@media screen and (min-width:769px){

    .biz-links__sect-title__link:hover::after{

        border-color: #EBF4FC;

        background-color: #EBF4FC;

    }

    .biz-links__sect-title__link:hover .biz-links__sect-title__text{

        color: var(--main-lightblue);

        border-bottom-color: var(--main-lightblue);

    }

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.business{

        width: 100%;

    }

    .biz-lead{

        display: block;

        width: var(--inner-width--sp);

        margin-bottom: 45px;

    }

    .biz-lead-visual{

        width: 78.125vw;

        margin: 0 auto 22px;

    }

    .biz-lead__title{

        margin-bottom: 24px;

        padding-bottom: 21px;

        font-size: 2rem;

        line-height: calc(1em + 10px);

    }

    .biz-lead__title::before{

        bottom: 3px;

        width: 40%;

    }

    .biz-lead__title::after{

        left: 7%;

        width: 93%;

        background: linear-gradient(to right,var(--main-blue) 0 85%,rgba(255,255,255,0) 85% 87%,var(--main-blue) 87%);

    }

    .biz-lead__text{

        font-size: 1.4rem;

        line-height: calc(1em + 11px);

    }

    /* biz-links */

    .biz-links{

        padding: 40px var(--inner-sidespace--sp) 50px;

    }

    .biz-links-nav{

        margin-bottom: 50px;

    }

    .biz-links-nav-list{

        flex-wrap: wrap;

        gap: 0 6px;

    }

    .biz-links-nav-list-item{

        flex: 0 0 calc(50% - 3px);

    }

    .biz-links-nav-list-item:not(:nth-child(-n+2)){

        border-top: none;

    }

    .biz-links-nav-list-item::after{

        top: 6px;

        right: -4px;

        height: calc(100% - 12px);

    }

    .biz-links-nav-list-item:nth-child(2n)::after{

        content: none;

    }

    .biz-links-nav-list-item__link{

        justify-content: flex-start;

        height: 42px;

        padding: 0 10px;

        font-size: 1.4rem;

    }

    .biz-links-nav-list-item__link::after{

        position: absolute;

        top: calc(50% - 4px);

        right: 15px;

        transform: rotate(45deg);

        width: 6px;

        height: 6px;

        border-right: solid 2px var(--main-lightblue);

        border-bottom: solid 2px var(--main-lightblue);

        content: "";

    }

    /* biz-links__sect */

    .biz-links__sect:not(:last-of-type){

        margin-bottom: 50px;

    }

    .biz-links__sect-title{

        margin-bottom: 40px;

    }

    .biz-links__sect-title__link::after{

        margin-left: 15px;

    }

    .biz-links__sect-title__text{

        font-size: 2.4rem;

    }

}



/*-------------

business-list--common

-------------*/

.business-list--common{

    display: flex;

    flex-wrap: wrap;

    gap: 80px 40px;

}

.business-list--common .business-list-item{

    flex: 0 0 480px;

}

.business-list--common .business-list-item__pic{

    position: relative;

    width: 100%;

    height: 300px;

    margin-bottom: 36px;

}

@media screen and (min-width:769px){

    .business-list--common .business-list-item__pic::after{

        opacity: 0;

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        border: solid 3px var(--main-lightblue);

        content: "";

        transition: opacity .3s ease;

    }

    .business-list--common .business-list-item__link:hover .business-list-item__pic::after{

        opacity: 1;

    }

}

.business-list--common .business-list-item__pic img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.business-list--common .business-list-item__title{

    margin-bottom: 20px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 2.2rem;

    font-weight: bold;

    line-height: calc(1em + 8px);

}

.business-list--common .business-list-item__desc{

    font-size: 1.5rem;

    line-height: calc(1em + 12px);

}

.business-list--common .business-list-item__view-more{

    display: flex;

    align-items: center;

    margin-top: 34px;

    color: var(--main-lightblue);

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.business-list--common .business-list-item__view-more::after{

    flex: 0 0 14px;

    height: 10px;

    margin-left: 10px;

    background: url(../images/link-arrow_blue.svg) no-repeat center / contain;

    content: "";

}

@media screen and (min-width:769px){

    .business-list--common.is--pcCol_3{

        gap: 60px 35px;

    }

    .business-list--common.is--pcCol_3 .business-list-item{

        flex: 0 0 310px;

    }

    .business-list--common.is--pcCol_3 .business-list-item__pic{

        height: 180px;

        margin-bottom: 21px;

    }

    .business-list--common.is--pcCol_3 .business-list-item__title{

        margin-bottom: 15px;

        font-size: 2rem;

    }

    .business-list--common.is--pcCol_3 .business-list-item__view-more{

        margin-top: 24px;

    }

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .business-list--common{

        display: block;

    }

    .business-list--common .business-list-item:not(:last-child){

        margin-bottom: 40px;

    }

    .business-list--common .business-list-item__pic{

        height: auto;

        aspect-ratio: 2 / 1;

        margin-bottom: 21px;

    }

    .business-list--common .business-list-item__title{

        margin-bottom: 10px;

        font-size: 1.8rem;

    }

    .business-list--common .business-list-item__desc{

        font-size: 1.4rem;

        line-height: calc(1em + 11px);

    }

    .business-list--common .business-list-item__view-more{

        margin-top: 20px;

    }

}



/*-------------

pages

-------------*/

.pages-container{

    padding: 100px;

    background: #fff;

}

.pages-container-head{

    margin: -100px -100px 0;

    padding: 100px 100px 0;

}

/* pages-lead */

.pages-lead-title{

    position: relative;

    margin-bottom: 32px;

    padding-bottom: 27px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 30px;

    font-weight: bold;

    line-height: calc(1em + 15px);

}

.pages-lead-title::after{

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 4px;

    background: linear-gradient(to right,var(--main-blue),var(--main-blue)) no-repeat top left / 120px 1px,

    linear-gradient(to left,var(--main-blue) 0 35px,rgba(255,255,255,0) 35px 40px,var(--main-blue) 40px) no-repeat bottom left 20px / calc(100% - 20px) 1px;

    content: "";

}

.pages-lead-text{

    line-height: calc(1em + 16px);

}

.pages-lead-text:not(:last-child){

    margin-bottom: 1em;

}

/* pages-sect */

.pages-sect:not(:first-child){

    margin-top: 120px;

}

.pages-sect:not(:last-child){

    margin-bottom: 120px;

}

.pages-sect-title{

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    margin: -13px 0 60px;

    gap: 17px 10px;

}

.pages-sect-title__main{

    flex: 0 0 auto;

    max-width: 100%;

    padding: 9px 0 8px;

    border-bottom: solid 1px var(--main-blue);

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 34px;

    font-weight: bold;

    line-height: calc(1em + 8px);

}

.pages-sect-title__sub{

    flex: 0 0 auto;

    max-width: 100%;

    color: var(--main-lightblue);

    font-feature-settings: "palt" 1;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: calc(1em + 8px);

}

/* pages-column */

.pages-column--indent{

    padding-left: 100px;

}

[class*="pages-column"]:has(.pages-column__title--num){

    counter-reset: columntitleNum;

}

.pages-column__title--num{

    display: flex;

    align-items: center;

    position: relative;

    min-height: 48px;

    margin: -3px 0 20px;

    padding: 0 0 12px 45px;

    border-bottom: solid 1px var(--border-gray);

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 2rem;

    font-weight: bold;

    line-height: calc(1em + 6px);

}

.pages-column__title--num::before{

    display: flex;

    justify-content: center;

    align-items: center;

    position: absolute;

    top: 3px;

    left: 0;

    width: 30px;

    aspect-ratio: 1 / 1;

    background: var(--main-lightblue);

    color: #fff;

    font-family: var(--font-en3);

    font-size: 16px;

    content: counter(columntitleNum,decimal-leading-zero);

    counter-increment: columntitleNum;

}

/* pages-linklist */

.pages-linklist{

    display: flex;

    flex-wrap: wrap;

    gap: 70px 35px;

}

.pages-linklist-item{

    flex: 0 0 310px

}

.pages-linklist-item__pic{

    display: block;

    position: relative;

    width: 100%;

    aspect-ratio: 2 / 1;

    margin-bottom: 21px;

}

@media screen and (min-width:769px){

    .pages-linklist-item__pic::after{

        opacity: 0;

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        border: solid 3px var(--main-lightblue);

        content: "";

        transition: opacity .3s ease;

    }

    .pages-linklist-item__link:hover .pages-linklist-item__pic::after{

        opacity: 1;

    }

}

.pages-linklist-item__pic img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.pages-linklist-item__title{

    margin-bottom: 15px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 2rem;

    font-weight: bold;

    line-height: calc(1em + 8px);

}

.pages-linklist-item__text{

    font-size: 1.5rem;

    line-height: calc(1em + 12px);

}

.pages-linklist-item__view-more{

    display: flex;

    align-items: center;

    margin-top: 24px;

    color: var(--main-lightblue);

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.pages-linklist-item__view-more::after{

    flex: 0 0 14px;

    height: 14px;

    margin-left: 10px;

    background: url(../images/icon_tab_lightblue.svg) no-repeat center / contain;

    content: "";

}

@media screen and (min-width:769px){

    .pages-linklist.is--pcCol_2{

        gap: 80px 40px;

    }

    .pages-linklist.is--pcCol_2 .pages-linklist-item{

        flex: 0 0 480px

    }

    .pages-linklist.is--pcCol_2 .pages-linklist-item__pic{

        margin-bottom: 36px;

    }

    .pages-linklist.is--pcCol_2 .pages-linklist-item__title{

        margin-bottom: 19px;

        font-size: 2.2rem;

    }

    .pages-linklist.is--pcCol_2 .pages-linklist-item__text{

        line-height: calc(1em + 15px);

    }

    .pages-linklist.is--pcCol_2 .pages-linklist-item__view-more{

        margin-top: 23px;

    }

}

/* pages__works */

.pages__works{

    display: block;

    margin: 0 auto 80px;

}

.pages__works-list{

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 20px;

    padding: 0 40px;

}

.pages__works-list-item{

    flex: 0 0 390px;

    background: #fff;

    box-shadow: 1px 1px 0 #000;

}

.pages__works-list-item__link{

    display: block;

    height: 100%;

}

.pages__works-list-item__pic{

    display: block;

    width: 100%;

    aspect-ratio: 2 / 1;

}

.pages__works-list-item__pic img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.pages__works-list-item-main{

    padding: 25px 30px 35px;

}

.pages__works-list-item__title{

    font-family: var(--font-sans-serif-bold);

    font-size: 2rem;

    font-weight: bold;

    line-height: calc(1em + 10px);

}

.pages__works-list-item__ind{

    display: flex;

    align-items: center;

    margin-top: 20px;

}

.pages__works-list-item__ind-cate{

    display: flex;

    flex: 0 0 auto;

    justify-content: center;

    align-items: center;

    min-width: 75px;

    min-height: 27px;

    margin-right: 10px;

    padding: 3px 6px;

    background: var(--main-lightblue);

    color: #fff;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.pages__works-list-item__ind-name{

    overflow: hidden;

    font-size: 1.5rem;

    line-height: 1;

    white-space: nowrap;

    text-overflow: ellipsis;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents:has(> .pages-container){

        width: 100%;

    }

    .pages-container{

        padding: 40px var(--inner-sidespace--sp) 50px;

    }

    .pages-container-head{

        margin: -40px calc(-1 * var(--inner-sidespace--sp)) 0;

        padding: 40px var(--inner-sidespace--sp) 0;

    }

    /* pages-lead */

    .pages-lead-title{

        margin-bottom: 24px;

        padding-bottom: 21px;

        font-size: 2rem;

        line-height: calc(1em + 10px);

    }

    .pages-lead-text{

        line-height: calc(1em + 11px);

    }

    /* pages-sect */

    .pages-sect:not(:first-child){

        margin-top: 60px;

    }

    .pages-sect:not(:last-child){

        margin-bottom: 60px;

    }

    .pages-sect-title{

        margin: -10px 0 25px;

    }

    .pages-sect-title__main{

        padding: 6px 0 7px;

        font-size: 2.4rem;

    }

    .pages-sect-title__sub{

        font-size: 1.4rem;

    }

    /* pages-column */

    .pages-column--indent{

        padding-left: 30px;

    }

    .pages-column__title--num{

        font-size: 1.8rem;

    }

    /* pages-linklist */

    .pages-linklist{

        display: block;

    }

    .pages-linklist-item:not(:last-child){

        margin-bottom: 40px;

    }

    .pages-linklist-item__title{

        margin-bottom: 14px;

        font-size: 1.8rem;

    }

    .pages-linklist-item__text{

        font-size: 1.4rem;

        line-height: calc(1em + 11px);

    }

    .pages-linklist-item__view-more{

        margin-top: 20px;

    }

    /* pages__works */

    .pages__works{

        width: var(--inner-width--sp);

        margin-bottom: 40px;

    }

    .pages__works-list{

        display: block;

        padding: 0;

    }

    .pages__works-list-item:not(:last-child){

        margin-bottom: 15px;

    }

    .pages__works-list-item-main{

        padding: 20px 20px 25px;

    }

    .pages__works-list-item__title{

        font-size: 1.8rem;

        line-height: calc(1em + 9px);

    }

    .pages__works-list-item__ind{

        margin-top: 14px;

    }

    .pages__works-list-item__ind-cate{

        min-height: 26px;

        margin-right: 10px;

        font-size: 1.4rem;

    }

}



/*-------------

solar-system

-------------*/

.solar-sys-lead{

    padding-bottom: 52px;

    background: url(../images/bg_soloar-system.jpg) no-repeat top / cover;

}

@media screen and (min-width:769px){

    .solar-sys-lead{

        padding-right: 300px;

    }

}

/* solar-sys-str */

.solar-sys-str__visual{

    margin-bottom: 40px;

}

.solar-sys-str-list-item:not(:last-child){

    margin-bottom: 50px;

}

.solar-sys-str-list-item__text{

    margin-bottom: -6px;

    font-size: 1.5rem;

    line-height: calc(1em + 12px);

}

.solar-sys-str-list-item__text:not(:last-child){

    margin-bottom: 14px;

}

.solar-sys-str-license-list{

    display: flex;

    flex-wrap: wrap;

    padding: 21px 25px 22px;

    background: var(--bg-lightgray);

    border-radius: 5px;

    gap: 4px 20px;

}

.solar-sys-str-license-list-item{

    flex: 0 1 auto;

    min-width: 270px;

    position: relative;

    padding-left: 17px;

    font-size: 1.4rem;

    line-height: calc(1em + 7px);

}

.solar-sys-str-license-list-item::before{

    position: absolute;

    top: calc(.5em + 1px);

    left: 0;

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: #DDB840;

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .solar-sys-lead{

        margin-bottom: 33px;

        padding-bottom: 40.625vw;

        background: url(../images/bg_soloar-system@venopramirror.com) no-repeat bottom / 100% auto;

    }

    /* solar-sys-str */

    .solar-sys-str__visual{

        margin-bottom: 24px;

    }

    .solar-sys-str-list-item:not(:last-child){

        margin-bottom: 30px;

    }

    .solar-sys-str-list-item__text{

        margin-bottom: -5px;

        font-size: 1.4rem;

        line-height: calc(1em + 11px);

    }

    .solar-sys-str-list-item__text:not(:last-child){

        margin-bottom: 15px;

    }

    .solar-sys-str-license-list{

        padding: 16px 20px 17px;

        gap: 7px 20px;

    }

    .solar-sys-str-license-list-item{

        min-width: 0;

        padding-left: 15px;

    }

}



/*-------------

energy

-------------*/

.energy-lead-body{

    display: flex;

}

.energy-lead__pic{

    flex: 0;

    margin-right: 40px;

}

/* energy-lineup */

.energy-lineup:not(:last-child){

    margin-bottom: 40px;

    padding-bottom: 40px;

    border-bottom: solid 1px var(--main-blue);

}

.energy-lineup-title{

    display: flex;

    align-items: center;

    position: relative;

    min-height: 60px;

    margin: -3px 0 30px;

    padding-left: 69px;

    font-family: var(--font-sans-serif-bold);

    color: var(--main-lightblue);

    font-size: 2.4rem;

    font-weight: bold;

    line-height: calc(1em + 6px);

}

.energy-lineup-title::before{

    position: absolute;

    top: 3px;

    left: 0;

    width: 54px;

    height: 54px;

    border-radius: 50%;

    background: #E5F1FB no-repeat center / auto;

    content: "";

}

.energy-lineup-title.is--icon_petro::before{

    background-image: url(../images/energy_icon_petroleum.svg);

}

.energy-lineup-title.is--icon_gas::before{

    background-image: url(../images/energy_icon_gas.svg);

}

.energy-lineup-title.is--icon_bcp::before{

    background-image: url(../images/energy_icon_bcp.svg);

}

.energy-lineup-title.is--icon_elect::before{

    background-image: url(../images/energy_icon_electric.svg);

}

.energy-lineup-body{

    display: flex;

}

.energy-lineup__pic{

    flex: 0 0 390px;

    margin-right: 40px;

}

.energy-lineup__desc{

    flex: 1 1 auto;

}

.energy-lineup__desc-text{

    font-size: var(--fs-bodytext);

    line-height: calc(1em + 12px);

}

.energy-lineup__desc-prod{

    margin-top: 29px;

}

.energy-lineup__desc-prod-head{

    position: relative;

    margin-bottom: 11px;

    padding-left: 23px;

    font-family: var(--font-sans-serif-bold);

    font-size: 1.5rem;

    font-weight: bold;

    line-height: 1;

}

.energy-lineup__desc-prod-head::before{

    position: absolute;

    top: calc(.5em - 1.5px);

    left: 0;

    width: 15px;

    height: 3px;

    background: #D2A000;

    content: "";

}

.energy-lineup__desc-prod-body{

    font-size: 1.5rem;

    line-height: calc(1em + 8px);

}

/* energy-gold */

@media screen and (min-width:769px){

    .energy-gold-body{

        display: flex;

    }

    .energy-gold__pic{

        flex: 0;

        margin-right: 40px;

    }

    .energy-lineup__pic{

        position: relative;

        border: solid 3px transparent;

        transition: all ease .3s;

        box-sizing: border-box;

    }

    .energy-lineup__pic:after {

        opacity: 0;

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        border: solid 3px var(--main-lightblue);

        content: "";

        transition: opacity .3s ease;

    }

    .energy-lineup a:hover .energy-lineup__pic:after{

        opacity: 1;

    }

}

.energy-gold__text{

    margin-top: -6px;

    font-size: var(--fs-bodytext);

    line-height: calc(1em + 12px);

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .energy-lead-body{

        display: block;

    }

    .energy-lead__pic{

        display: none;

    }

    /* energy-lineup */

    .energy-lineup:not(:last-child){

        margin-bottom: 35px;

        padding-bottom: 35px;

    }

    .energy-lineup-title{

        min-height: 56px;

        margin-bottom: 20px;

        padding-left: 60px;

        font-size: 2rem;

    }

    .energy-lineup-title::before{

        width: 50px;

        height: 50px;

    }

    .energy-lineup-body{

        display: block;

    }

    .energy-lineup__pic{

        margin: 0 0 19px;

    }

    .energy-lineup__desc-text{

        line-height: calc(1em + 11px);

    }

    .energy-lineup__desc-prod{

        margin-top: 20px;

    }

    .energy-lineup__desc-prod-head{

        margin-bottom: 11px;

    }

    /* energy-gold */

    .energy-gold__text{

        margin-top: 14px;

        line-height: calc(1em + 11px);

    }

}



/*-------------

saving

-------------*/

@media screen and (min-width:769px){

    .saving-lead{

        padding-right: 440px;

        background: url(../images/bg_saving.png) no-repeat top right / auto;

    }

}

/* saving-feature */

.saving-feature:not(:last-child){

    margin-bottom: 50px;

}

.saving-feature__title--middle{

    margin: -5px 0 15px;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 1.8rem;

    font-weight: bold;

    line-height: calc(1em + 10px);

    text-decoration: underline;

    text-decoration-color: var(--main-blue);

    text-underline-offset: 6px;

}

.saving-feature__desc{

    margin-top: -6px;

    font-size: var(--fs-bodytext);

    line-height: calc(1em + 12px);

}

.saving-feature__desc:not(:last-child){

    margin-bottom: 24px;

}

.saving-feature__desc p:not(:last-child){

    margin-bottom: 8px;

}

/* saving-feature-field-list */

.saving-feature-field-list{

    display: flex;

    gap: 0 12px;

}

.saving-feature-field-list-item{

    flex: 0 0 140px;

}

.saving-feature-field-list-item__pic{

    width: 100%;

    aspect-ratio: 1 / 1;

}

.saving-feature-field-list-item__pic img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.saving-feature-field-list-item__desc{

    margin: 3px 0 -1px;

    font-size: 1.5rem;

    line-height: calc(1em + 3px);

    text-align: center;

}

/* saving-feature__table */

.saving-feature__table{

    width: 100%;

    counter-reset: thNum;

}

.saving-feature__table:not(:first-child){

    margin-top: 30px;

}

.saving-feature__table__row{

    border-bottom: solid 1px var(--border-gray);

}

.saving-feature__table__head{

    position: relative;

    width: 280px;

    padding: 27px 40px 27px 0;

    color: var(--main-blue);

    font-family: var(--font-sans-serif-bold);

    font-size: 1.8rem;

    font-weight: bold;

    line-height: calc(1em + 6px);

}

.saving-feature__table__head::before{

    display: inline-block;

    margin-right: 10px;

    color: var(--main-lightblue);

    font-family: var(--font-en3);

    content: counter(thNum,decimal-leading-zero)".";

    counter-increment: thNum;

}

@media screen and (min-width:769px){

    .saving-feature__table__head::after{

        position: absolute;

        top: 10px;

        right: 0;

        width: 1px;

        height: calc(100% - 20px);

        background: var(--border-gray);

        content: "";

    }   

}

.saving-feature__table__data{

    padding: 24px 0 24px 40px;

    font-size: var(--fs-bodytext);

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .saving-lead{

        padding-bottom: 40.625vw;

        background: url(../images/bg_saving@venopramirror.com) no-repeat center bottom / 100% auto;

    }

    /* saving-feature */

    .saving-feature:not(:last-child){

        margin-bottom: 30px;

    }

    .saving-feature__title--middle{

        margin-bottom: 20px;

        font-size: 1.6rem;

        text-underline-offset: 10px;

    }

    .saving-feature__desc{

        line-height: calc(1em + 11px);

    }

    .saving-feature__desc:not(:last-child){

        margin-bottom: 15px;

    }

    .saving-feature__desc p:not(:last-child){

        margin-bottom: 9px;

    }

    /* saving-feature-field-list */

    .saving-feature-field-list{

        flex-wrap: wrap;

        gap: 15px 10px;

    }

    .saving-feature-field-list-item{

        flex: 0 0 calc((100% - 20px) / 3);

    }

    .saving-feature-field-list-item__desc{

        margin: 4px 0 -1px;

        font-size: 1.3rem;

    }

    /* saving-feature__table */

    .saving-feature__table__row{

        display: block;

        width: 100%;

    }

    .saving-feature__table__row:not(:last-child){

        margin-bottom: 27px;

    }

    .saving-feature__table__head{

        display: block;

        width: 100%;

        padding: 0 0 11px;

        font-size: 1.6rem;

    }

    .saving-feature__table__data{

        display: block;

        width: 100%;

        padding: 0 0 25px;

    }

}



/*-------------

solar-power

-------------*/

.solar-pw-lead-body{

    display: flex;

}

.solar-pw-lead__pic{

    flex: 0;

    margin-right: 40px;

}

.solar-pw-pagebtn{

    width: 340px;

    margin: 30px auto 0;

}

.solar-pw-pagebtn__link{

    display: flex;

    justify-content: center;

    align-items: center;

    position: relative;

    height: 60px;

    background: var(--main-blue);

    color: #fff;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    font-size: 1.5rem;

}

.solar-pw-pagebtn__link::after{

    position: absolute;

    top: calc(50% - 7px);

    right: 15px;

    width: 14px;

    height: 14px;

    background: url(../images/icon_tab_white.svg) no-repeat center / contain;

    content: "";

}

@media screen and (min-width:769px){

    .plant-frame{

        position: relative;

    }

    .plant-frame:not(.is--loading) .loader{

        display: none;

    }

    .plant-frame.is--loading .loader,

    .plant-frame.is--loading .loader:before,

    .plant-frame.is--loading .loader:after {

        border-radius: 50%;

        width: 2.5em;

        height: 2.5em;

        animation-fill-mode: both;

        animation: load7 1.2s infinite ease-in-out;

    }

    .plant-frame.is--loading .loader {

        color: var(--main-lightblue);

        font-size: 6px;

        position: absolute;

        top: calc(50% - 1.25em);

        left: calc(50% - 1.25em);

        text-indent: -9999em;

        -webkit-transform: translateZ(0);

        -ms-transform: translateZ(0);

        transform: translateZ(0);

        -webkit-animation-delay: -0.16s;

        animation-delay: -0.16s;

    }

    .plant-frame.is--loading .loader:before,

    .plant-frame.is--loading .loader:after {

        content: '';

        position: absolute;

        top: 0;

    }

    .plant-frame.is--loading .loader:before {

        left: -3.5em;

        -webkit-animation-delay: -0.32s;

        animation-delay: -0.32s;

    }

    .plant-frame.is--loading .loader:after {

        left: 3.5em;

    }

    @keyframes load7 {

        0%,

        80%,

        100% {

            box-shadow: 0 2.5em 0 -1.3em;

        }

        40% {

            box-shadow: 0 2.5em 0 0;

        }

    }

    .plant-frame.is--loading iframe{

        opacity: 0;

    }

    .plant-frame iframe{

        transition: opacity .3s ease .15s,height .3s ease;

    }

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .solar-pw-lead-body{

        display: block;

    }

    .solar-pw-lead__pic{

        width: 75vw;

        margin: 0 auto 14px;

    }

    .solar-pw-map-zoombtn{

        margin-top: 5px;

    }

    .solar-pw-map-zoombtn__link{

        display: flex;

        justify-content: center;

        align-items: center;

        height: 50px;

        border: solid 1px var(--border-gray);

        background: #fff;

        font-family: var(--font-sans-serif-bold);

        font-weight: bold;

    }

    .solar-pw-map-zoombtn__link::before{

        width: 20px;

        height: 20px;

        margin-right: 5px;

        background: url(../images/icon_zoom.svg) no-repeat center / contain;

        content: "";

    }

    .solar-pw-pagebtn{

        width: 100%;

        margin-top: 5px;

    }

    .solar-pw-pagebtn__link{

        height: 50px;

        font-size: 1.4rem;

    }

}



/*------------------

solar-module

--------------------*/

.solar-module-wrapper{

    width: 100%;

    padding: 100px;

    box-sizing: border-box;

    background: #fff;

    z-index: 0;

    position: relative;

}

.solar-module-sec:not(:last-child){

    margin-bottom: 90px;

}

.solar-module-head{

    position: relative;

}

.solar-module-head:after{

    content: "";

    background: url(../images/pic_solar-module_01.png) no-repeat;

    width: 480px;

    height: 480px;

    position: absolute;

    top: 0;

    right: 0;

    z-index: 0;

    z-index: -1;

}

.solar-module-head .pages-lead-title{

    width: 660px;

}

.solar-module-head .pages-lead-text{

    width: 500px;

}

.solar-module-list-item{

    display: flex;

}

.solar-module-list-item:not(:last-child){

    margin-bottom: 40px;

}

.solar-module-head__pic{

    margin-right: 30px;

}

.solar-module--text{

    flex: 0 1 550px;

}

.solar-module-list-item__text{

    font-size: 1.5rem;

    line-height: calc(1em + 12px);

}

.solar-module--text .pages-column__title--num::before {

    position: absolute;

    top: -12px;

    left: 0;

    bottom: 0;

    width: 30px;

    margin: auto;

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.solar-module{

        width: 100%;

    }

    .solar-module-wrapper {

        width: 100%;

        padding: 40px var(--inner-sidespace--sp) 55px;

        box-sizing: border-box;

        background: #fff;

    }

    .solar-module-sec:not(:last-child){

        margin-bottom: 60px;

    }

    .solar-module-head .pages-lead-title{

        width: 100%;

    }

    .solar-module-head .pages-lead-text{

        width: 100%;

    }

    .solar-module-head:after{

        content: none;

    }

    .solar-module-list-item{

        display: block;

    }

    .solar-module-head__pic {

        margin-right: 0;

        margin-bottom: 20px;

    }

}



/*------------------

infrastructure

--------------------*/

.infrastructure-wrapper{

    width: 100%;

    padding: 100px;

    box-sizing: border-box;

    background: #fff;

}

.infrastructure-sec:not(:last-child){

    margin-bottom: 90px;

}

.infrastructure-main{

    width: 820px;

    margin: 0 auto;

}

.infrastructure-main img{

    margin-bottom: 40px;

}

.infrastructure-main p{

    color: var(--sub-black);

    line-height: calc(1em + 15px);

}

/*infrastructure-link*/

.infrastructure-link{

    display: flex;

    margin-bottom: 70px;

}

.infrastructure-link__inner:not(:last-child){

    margin-right: 10px;

}

.infrastructure-link__inner a{

    font-size: 1.6rem;

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    padding: 0 30px 10px 0;

    box-sizing: border-box;

    border-bottom: solid 1px var(--main-blue);

    position: relative;

}

.infrastructure-link__inner a:after {

    position: absolute;

    top: calc(50% - 10px);

    right: 5px;

    transform: rotate(45deg);

    width: 6px;

    height: 6px;

    border-right: solid 2px var(--main-lightblue);

    border-bottom: solid 2px var(--main-lightblue);

    content: "";

}

/*--- sp ---*/

@media screen and (max-width:768px){

    #contents.infrastructure{

        width: 100%;

    }

    .infrastructure-wrapper {

        width: 100%;

        padding: 40px var(--inner-sidespace--sp) 55px;

        box-sizing: border-box;

        background: #fff;

    }

    .infrastructure-sec:not(:last-child){

        margin-bottom: 60px;

    }

    .infrastructure-main{

        width: 100%;

    }

    .infrastructure-main p{

        font-size: 1.4rem;

        line-height: calc(1em + 15px);

    }

    .infrastructure-link{

        display: flex;

        margin-bottom: 40px;

    }

}



/*-------------

news

-------------*/

.news-list{

    margin-bottom: 30px;

    padding: 40px 100px;

    background: #fff;

}

.news-list-item:not(:last-child){

    border-bottom: solid 1px var(--border-gray);

}

.news-list-item-inner {

    display: flex;

    align-items: center;

    position: relative;

    padding: 25px 60px 25px 0;

    background: #fff;

    font-size: 1.6rem;

    transition: border var(--trans-ease);

}

.news-list-item__date {

    flex: 0 0 120px;

    margin-right: 20px;

    color: #8994a6;

    line-height: calc(1em + 8px);

}

.news-list-item__title {

    color: var(--sub-black);

    font-family: var(--font-sans-serif-bold);

    font-weight: bold;

    line-height: calc(1em + 8px);

    transition: color var(--trans-ease);

}

@media screen and (min-width:769px){

    .news-list-item a:hover .news-list-item__title{

        color: var(--main-lightblue);

        transition: all ease .3s;

    }

    .news-list-item a::after {

        content: "";

        background: url(../images/link-arrow_blue.svg) no-repeat;

        background-size: cover;

        width: 12px;

        height: 8px;

        position: absolute;

        top: calc(50% - 6px);

        right: 10px;

    }

}

/*--- sp ---*/

@media screen and (max-width:768px){

    .news-list{

        padding: 10px 6.25vw 15px;

    }

    .news-list-item-inner {

        display: block;

        position: relative;

        padding: 20px 0;

        background: #fff;

        font-size: 1.5rem;

        transition: border var(--trans-ease);

    }

    .news-list-item__date {

        font-size: 1.4rem;

        margin-right: 0;

        margin-bottom: 8px;

        display: block;

    }

}



/*-------------

news-dtl

-------------*/

.news-dtl-head{

    width: 820px;

    margin: 0 auto;

    padding-bottom: 18px;

    border-bottom: solid 1px var(--main-blue);

}

.news-dtl-head__date{

    display: block;

    margin-bottom: 17px;

    color: var(--main-lightblue);

    font-family: var(--font-en);

    font-size: 2.1rem;

    font-weight: 600;

    line-height: 1;

}

.news-dtl-head__title{

    font-family: var(--font-sans-serif-bold);

    font-feature-settings: "palt" 1;

    font-size: 30px;

    font-weight: bold;

    line-height: calc(1em + 15px);

}

.news-dtl .single-blocks--default{

    padding-top: 40px;

}

@media screen and (max-width:768px){

    /*--- sp ---*/

    .news-dtl-head{

        width: var(--inner-width--sp_vw);

        padding-bottom: 15px;

    }

    .news-dtl-head__date{

        margin-bottom: 10px;

        font-size: 1.8rem;

    }

    .news-dtl-head__title{

        font-size: 2rem;

        line-height: calc(1em + 10px);

    }

    .news-dtl .single-blocks--default{

        padding-top: 30px;

    } 

}

