@charset "UTF-8";
/*-----------------------共通、PC-----------------------*/
/*------------------基本設定------------------*/
/*使用フォント*/
@font-face {
    font-family: 'BIZUDPGothic-Bold';
    src: url('../fonts/BIZUDPGothic-Bold.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'BIZUDPGothic-Regular';
    src: url('../fonts/BIZUDPGothic-Regular.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'NotoSansJP-Bold';
    src: url('../fonts/NotoSansJP-Bold.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'NotoSansJP-Medium';
    src: url('../fonts/NotoSansJP-Medium.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'NotoSansJP-Regular';
    src: url('../fonts/NotoSansJP-Regular.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'RedditSans-VariableFont_wght';
    src: url('../fonts/RedditSans-VariableFont_wght.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'ZenKakuGothicNew-Bold';
    src: url('../fonts/ZenKakuGothicNew-Bold.woff2') format('woff2');
    font-display: swap;
}
@font-face {/*BIZUDPの一部文字置き換え*/
    font-family: "lowline-only";
    src: local("Hiragino Sans"), local("Hiragino-Sans"), local("游ゴシック体"),
      local("YuGothic"), local("Meiryo"), local("Meiryo UI"), local("メイリオ");
    unicode-range: U+005F, U+FF3F;
    font-display: swap;
}
/*使用フォント ここまで*/
/*基本書式*/
body,main,header,footer{
    background: #fff;
    font-family: "lowline-only" , "BIZUDPGothic-Regular" , "BIZ UDPGothic" , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo ,"ＭＳ Ｐゴシック" , sans-serif;
    font-style:normal;
    line-height:1.78;
    letter-spacing:0.04em;
    font-size: 17px;
    font-weight: normal;
    color: #333;
    line-break:strict;
    word-break:break-word;
    overflow-wrap:break-word;
    word-wrap:break-word;
    font-feature-settings:"palt";
    vertical-align: middle;
    text-align: left;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,h6{
    line-height: 1.78;
    font-size: 1.5em;
    letter-spacing: 0.05em;
}
a{
    color: #1c6969;
    text-underline-offset:0.2em;
    transition: opacity .3s;
}
a:hover{
    opacity: .5;
    transition: opacity .3s;
    cursor: pointer;
}
button{transition: opacity .3s;}
button:hover{opacity: .5; transition: opacity .3s;}
ul,li{list-style: none;}
.no_sp{display: inline-block;}/*PCのみ表示・適用*/
.grecaptcha-badge {visibility: hidden;}/*reCAPTCHAのロゴを非表示にする*/
:target {scroll-margin-top: 30px;}
/*基本書式 ここまで*/
:root{color-scheme: light;}/*ライトモードのみの運用*/
/*footerを最下部に固定*/
html {height: 100%;}
body {min-height: 100%;display: flex;flex-direction: column;}
main {flex: 1;z-index: 2;overflow-x: hidden;}
/*footerを最下部に固定 ここまで*/
body{opacity: 0.01;/*フェードイン初期値*/overflow-x: hidden;}
/*コンテンツフレーム*/
.contents-area-1680{
    width: 100%;
    max-width: 1880px;
    height: auto;
    padding: 0 100px;
    margin: 0 auto;
}
.contents-area-1440{
    width: 100%;
    max-width: 1640px;
    height: auto;
    padding: 0 100px;
    margin: 0 auto;
}
.contents-area-1024{
    width: 100%;
    max-width: 1224px;
    height: auto;
    padding: 0 100px;
    margin: 0 auto;
}
.flex-sp-column{display: flex;}
.flex{display: flex;}
.flex-column{display: flex;flex-direction: column;}
.flex-g30{gap: 30px;}
.flex-g50{gap: 50px;}
.jc-center{justify-content: center;}
.ai-center{align-items: center;}
/*汎用margin・padding*/
.m0a{margin: 0 auto !important;}
.mt0{margin-top: 0 !important;}
.mt30{margin-top: 30px !important;}
.mt50{margin-top: 50px !important;}
.pt30{padding-top: 30px !important;}
.pt50{padding-top: 50px !important;}
.pt80{padding-top: 80px !important;}
.pt100{padding-top: 100px !important;}
.pt150{padding-top: 150px !important;}
.pb30{padding-bottom: 30px !important;}
.pb50{padding-bottom: 50px !important;}
.pb100{padding-bottom: 100px !important;}
.pb150{padding-bottom: 150px !important;}
/*グラデーション -hdr-gradient の定義*/
:root {/*グリーンのグラデーションから灰色*/
    --hdr-gradient: linear-gradient(
      to right in oklab,
      hsl(189 100% 17%) 0%, hwb(172 24% 23%) 16% 16%, hwb(0 93% 7%) 16% 16%
    );
    --sdr-gradient: linear-gradient(to right, #004a57 0%, #31c4b0 16% 16%, #eeeeee 16% 16%);
}
/*その他スタイル調整　汎用*/
.biz-b{font-family: 'BIZUDPGothic-Bold' !important;font-weight: normal;}
.biz-r{font-family: 'BIZUDPGothic-Regular' !important;font-weight: normal;}
.biz-b-green{font-family: 'BIZUDPGothic-Bold';font-weight: normal; color: #1c6969;}
.noto-b{font-family: 'NotoSansJP-Bold';font-weight: normal;}
.fs-0_85{font-size: 0.85rem;}
.fs-1_3{font-size: 1.3rem;}
.fs-2{font-size: 2rem;}
.t-marker-p{background:linear-gradient(transparent 64%, #ffdaff 64%);}
.t-marker-y{background:linear-gradient(transparent 64%, #fff789 64%);}
.t-right{text-align: right;}
.t-center{text-align: center;}
/*------------------基本設定 ここまで------------------*/
/*汎用パーツ*/
/*ロゴ*/
.logo-bex-default{
    display: block;
    width: 50px;
    height: 50px;
    margin-right: 10px;
    background-image: url("../images/icon_bex1.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .logo-bex-default{background-image: url("../images/icon_bex1.png");}
.logo-bex-white{
    display: block;
    width: 46px;
    height: 46px;
    margin-right: 13px;
    background-image: url("../images/icon_bex2.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .logo-bex-white{background-image: url("../images/icon_bex2.png");}
.logo-youtube-white{
    display: block;
    width: 35px;
    height: 35px;
    margin-right: 10px;
    background-image: url("../images/icon_simple-youtube.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .logo-youtube-white{background-image: url("../images/icon_simple-youtube.png");}
.logo-facebook-white{
    display: block;
    width: 35px;
    height: 35px;
    margin-right: 10px;
    background-image: url("../images/icon_awesome-facebook-f.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .logo-facebook-white{background-image: url("../images/icon_awesome-facebook-f.png");}
/*カード左右操作ボタン*/
.card-arrowarea{display: flex; margin-right: 15px;}
.card-arrow-prev,.card-arrow-next{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #3A474F;
    transition: all .3s;
}
.card-arrow-prev{border-radius: 2px 0 0 2px;}
.card-arrow-next{border-radius: 0 2px 2px 0;}
.card-arrow-prev:hover,.card-arrow-next:hover{opacity: .5;cursor: pointer;transition: all .3s;}
.card-arrow-prev::after{
    content: "";
    display: block;
    position: absolute;
    height: 23px;
    width: 2px;
    background-color: #fff;
    margin-left: 40px;
}
.card-arrow-prev::before{
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    padding-left: 12px;
    position: absolute;
    background-image: url("../images/icon_arrow2.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
.no-webp .card-arrow-prev::before{background-image: url("../images/icon_arrow2.png");}
.card-arrow-next::before{
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    padding-left: 12px;
    position: absolute;
    background-image: url("../images/icon_arrow1.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .card-arrow-next::before{background-image: url("../images/icon_arrow1.png");}
/*カード一覧*/
.cardlist-area .slick-list{overflow: visible !important;}
.cardlist-area .slick-list.draggable{width: 350px;}
.cardlist-area li.slick-slide {
  height: auto;
  min-height: 340px;
  width: 330px !important;
}
.cardlist-dots{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}
.cardlist-dots li{
  background-color: #fff;
  width: 60px;
  height: 4px;
  margin: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cardlist-dots li.slick-active{background-color: #008f82;}
.cardlist-dots button{
  color: transparent;
  background-color: transparent;
  width: 60px;
  height: 7px;
  font-size: 0px;
  border: none;
}
/*カード*/
.cardlist li{background-color: #fff; margin-right: 20px; }
.cardlist li a{text-decoration: none;}
.card-textarea{padding: 20px;color: #727171;min-height: 195px;}
.card-text1{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
    margin-bottom: 14px;
}
.card-term{
    background-color: #637A77;
    color: #fff;
    font-size: .8em;
    margin-right: 8px;
    display: flex;
    padding: 0 18px;
    height: 23px;
    align-items: center;
}
.card-term.topics{background-color: #11648b;}
.card-term.seminar{background-color: #008883;}
.card-term.pickup{background-color: #006a7f;}
.page-taxonomy .card-term,
.page-works_list-archive .card-term{background-color: #637A77 ;}
.card-date{font-size: .9em;}
.card-title{text-align: start;margin-bottom: 15px;}
.card-link{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-end;
}
.card-link-icon{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: .8em;
    position: absolute;
    bottom: 20px;
}
.card-link-icon::after{
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background-image: url("../images/icon_news_readmore1.webp");
    background-size: auto 1.5em;
    background-position: right bottom;
    background-repeat: no-repeat;
  }
.no-webp .newslist_report::after{background-image: url("../images/icon_news_readmore1.png");}
.slick-slide img {
    display: block;
    object-fit: cover;
    width: 330px;
    height: 180px;
}
/*カード ここまで*/
/*汎用パーツ ここまで*/

/*-------------header-------------*/
header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: auto;
    background-color: #fff;
    border-bottom: solid 1px #efefef;
    font-size: 14px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
}
header a{text-decoration: none;color: #333;}
.header-logo{
    display: flex;
    align-items: center;
    width: auto;
    height: 50px;
    margin: 0 20px 0 38px;
    white-space: nowrap;
}
/*メインメニュー*/
.header-nav{
    width: auto;
    height: 80px;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.header-nav-contents{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 80px;
}
.header-nav-contents > div{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.header-nav-sub-opener,
.header-nav-item{
    display: flex;
    width: auto;
    padding: 0 15px;
    height: 80px;
    align-items: center;
}
/*サブメニューがある要素のアイコン*/
.header-nav-sub-opener span:before{
  content: "";
  display: block;
  width: 10px;
  padding-left: 10px;
  height: 2px;
  background-color: #008883;
  margin-top: 3px;
  margin-left: 3px;
  transform: rotate(45deg);
}
.header-nav-sub-opener span::after{
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  background-color: #008883;
  transform: rotate(-45deg);
  position: absolute;
  margin-top: -2px;
  margin-left: 9px;
}
/*サブメニューがある要素のアイコン ここまで*/
/*サブメニュー挙動*/
.header-nav-sub{
    display: flex;
    justify-content: center;
    width: 0px;
    height: 0px;
    flex-direction: column;
    position: absolute;
    top: 80px;
    left: 0;
    z-index: 1;
    opacity: 0;
    align-items: center;
    background-image: linear-gradient(152deg, #008f83f1 15% 0%, #006a7ff1 78% 100%);
    overflow: hidden;
}
.header-nav-sub > li{width: 100%;height: 100%;}
.header-nav-sub > li > a{
    color: #fff;
    font-size: 1.1rem;
    font-family: 'NotoSansJP-Medium';font-weight: normal;
    border: 1px solid #fff;
    display: inline-block;
    text-align: center;
    width: 0px;
    height: 0px;
    padding: 0px;
}
.header-nav-headline{display: none;}
@media only screen and (min-width: 1281px) {/*レスポンシブメニュー切り替えまでのみ適用*/
    .header-nav-hassub:hover .header-nav-headline,
    .header-nav-hassub:has(:hover) .header-nav-headline,
    .header-nav-hassub:has(:focus) .header-nav-headline{
        display: flex;
        position: absolute;
        color: #fff;
        top: 182px;
        left: calc(50% - 15em);
        font-family: 'NotoSansJP-Medium';
        font-weight: normal;
        font-size: 35px;
        z-index: 25;
        height: auto;
        width: auto;
        max-width: 10em;
        word-break: auto-phrase;
        justify-content: flex-end;
        align-items: flex-start;
        letter-spacing: .09em;
    }
    .header-nav-hassub:hover .header-nav-sub,
    .header-nav-hassub:has(:hover) .header-nav-sub,
    .header-nav-hassub:has(:focus) .header-nav-sub{
        height: 40em;/*background-sizeのheightと合わせる*/
        width: 100%;
        z-index: 20;
        opacity: 1;
        transition: height .3s ease;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-content: flex-start;
        align-items: center;
        gap: 3em;
        padding: 8em 6em 3em 50%;
        background-image: url("../images/page/bg-fig1-green4.webp"),linear-gradient(152deg, #008f83f9 15% 0%, #006a7ff9 78% 100%);
        background-repeat: no-repeat;
        background-size: auto 40em;
        background-blend-mode: lighten;
    }
    .no-webp .header-nav-hassub:hover .header-nav-sub,
    .header-nav-hassub:has(:hover) .header-nav-sub,
    .header-nav-hassub:has(:focus) .header-nav-sub{background-image: url("../images/page/bg-fig1-green4.png"),linear-gradient(152deg, #008f83f9 15% 0%, #006a7ff9 78% 100%);}
    .header-nav-hassub:hover .header-nav-sub > li > a,
    .header-nav-hassub:has(:hover) .header-nav-sub > li > a,
    .header-nav-hassub:has(:focus) .header-nav-sub > li > a{
        width: 100%;
        height: auto;
        padding: 3px;
        border: none;
        text-align: left;
        font-size: 19px;
    }
    .header-nav-sub > li{
        width: auto;
        min-width: 250px;
        height: auto;
    }
}
/*サブメニュー挙動 ここまで*/
.header-nav-contact{
    display: flex;
    align-items: center;
    color: #fff;
    background-color: #3A474F;
    padding: 0 30px;
    width: auto;
    height: 80px;
    white-space: nowrap;
    margin-left: 15px;
}
.header-nav-contact > div{display: flex;align-items: center;}
.icon-contact-header{
    display: block;
    width: 26px;
    height: 16px;
    padding-left: 16px;
    margin-right: 8px;
    margin-top: 3px;
    background-image: url("../images/icon_contact1.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.no-webp .icon-contact-header{background-image: url("../images/icon_contact1.png");}
.header-nav-no_pc{display: none !important;}
/*メインメニュー ここまで*/
/*-------------header ここまで-------------*/

/*-------------footer-------------*/
.button-gotop{
    display: block;
    width: 70px;
    height: 70px;  
    background-image: url("../images/btn_gotop1.webp");
    background-size: contain;
    background-position: center;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.3));
    position: fixed;
    right: 50px;
    z-index: 100;
    background-repeat: no-repeat;
    bottom: -100px;
    opacity: 0;
}
.no-webp .button-gotop{background-image: url("../images/btn_gotop1.png");}
footer a,footer address{text-decoration: none;color: #fff;font-style: normal;}
footer a.link-underline{text-decoration: underline solid #fff;}
.footer-content-area{
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1024px;
    height: auto;
    margin: 0 auto;
}
.footer-nav{display: flex;}
.footer-top{
    margin: 0 auto;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
    color: #fff;
    padding: 80px 30px;
}
.footer-logo,.footer-youtube,.footer-facebook{display: flex;align-items: center;width: fit-content;height: auto;}
.footer-logo{font-family: 'NotoSansJP-Bold';font-weight: normal;}
.footer-youtube,.footer-facebook{font-family: 'BIZUDPGothic-Bold'; font-weight: normal; margin-top: 30px;}
.footer-facebook{margin-top: 15px;}
.footer-area1 > address{margin-top: 50px;}
.footer-address-osaka{margin-top: 30px;}
.footer-contact{
    width: 250px;
    display: flex;
    background-color: #fff;
    align-items: center;
    justify-content: center;
    font-family: 'BIZUDPGothic-Bold';
    color: #394f57;
    padding: 15px;
    border-radius: 70px;
    margin-top: 30px;
}
.footer-contact::before{
    content: "";
    display: block;
    width: 28px;
    height: 23px;
    margin-right: 15px;
    background-image: url("../images/icon_contact2.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.no-webp .footer-contact::before{background-image: url("../images/icon_contact2.png");}
.footer-nav{display: flex;align-items: flex-start;justify-content: space-between;}
.footer-area1,.footer-nav{flex-shrink: 1;width: 100%;}
.footer-nav-headline{margin: 25px 0 10px 0;font-family: 'BIZUDPGothic-Bold';}
.footer-nav-headline:nth-child(1){margin-top: 0;}
.footer-banner-area{
    border-top: 1px solid #fff;
    margin-top: 80px;
    padding-top: 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 50px 5%;
}
.footer-banner-area li{
    display: block;
    width: 30%;
    height: auto;
}
.footer-banner-area a {display: block; width: 100%;}
.footer-banner-area a img{
    width: 100%;
    height: auto;
    aspect-ratio: 7 / 2 ;
    object-fit: cover;
}
.footer-bottom{
    background-color: #333;
    color: #fff;
    font-size: 15px;
    padding: 50px 30px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.footer-bottom > .footer-content-area{flex-direction: column;}
.footer-policy{ display: flex;flex-wrap: wrap; justify-content: flex-end; gap: 50px; }
.footer-copylight{ text-align: center; font-size: 12px; margin-top: 30px; }
/*-------------footer ここまで-------------*/

/*------------------main------------------*/
/*-------------home-------------*/
/*homeレイアウト共通*/
.home-sectionblock{padding: 60px 0;z-index: 11;position: relative;}
.home-bgarea {
    width: 100%;
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    height: 250px;
    overflow: hidden;
}
/*homeレイアウト共通ここまで*/

/*home FV*/
.home-fv-area{width: 100%;height: auto;z-index: 10;position: relative;}
.home-fv-img{width: 100%;height: auto;}
.home-fv-img img{width: 100%;height: auto;}
.home-fv-slide{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fv-slide-img2,.fv-slide-img3{position: absolute;}
/*fv-slide アニメーション設定*/
.fv-slide-img2{animation: fvslide_img2 25s infinite;animation-timing-function: ease-in-out;}
@keyframes fvslide_img2 {
    0% {opacity: 0;}
    23% {opacity: 0;}
    33% {opacity: 1;}
    66% {opacity: 1;}
    100% {opacity: 0;}
}
.fv-slide-img3{animation: fvslide_img3 25s infinite;animation-timing-function: ease-in-out;}
@keyframes fvslide_img3 {
    0% {opacity: 0;}
    56% {opacity: 0;}
    66% {opacity: 1;}
    90% {opacity: 1;}
    100% {opacity: 0;}
}
/*fv-slide アニメーション設定 ここまで*/
/*home FV ここまで*/

/*home news*/
.home-sectionarea.area1{
    z-index: 10;
    background-color: #DBDCDD;
    position: relative;
    overflow-x: hidden !important;
}
.home-news-bg1{
    display: block;
    width: 120%;
    height: 250px;
    max-width: 1440px;
    position: absolute;
    margin: 0 auto;
    content: "";
    background-image: url("../images/bg_bex2.webp");
    background-size: auto 250px;
    background-position: left top;
    background-repeat: no-repeat;
}
.no-webp .home-news-bg1{background-image: url("../images/bg_bex2.png");}
.home-news-headlinearea{
    width: 85%;
    max-width: 1024px;
    margin: 0 auto 30px auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.home-news-headline{
    color: #363636;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    font-size: 2em;
    line-height: 1em;
    margin-left: 40px;
}
.home-news-headline span{font-size: .5em;}
.home-news-nav{display: flex;}
.home-news-readmore{
    display: inline-block;
    padding: 6px 45px;
    border-radius: 2px;
    width: auto;
    height: 40px;
    background-color: #3A474F;
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    font-size: .85em;
    text-decoration: none;
    letter-spacing: .08em;
}
.home-news-newsarea.cardlist-area{
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
}
/*home news ここまで*/

/*home service*/
.home-service-bg1{
    display: block;
    width: 120%;
    height: 250px;
    max-width: 1440px;
    position: absolute;
    margin: 0 auto;
    content: "";
    background-image: url("../images/bg_bex1.webp");
    background-size: auto 250px;
    background-position: left top;
    background-repeat: no-repeat;
    overflow: hidden;
}
.no-webp .home-service-bg1{background-image: url("../images/bg_bex1.png");}
.home-service{
    width: 85%;
    max-width: 1024px;
    margin: 0 auto;
}
.home-service-headline{
    color: #363636;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    font-size: 2em;
    line-height: normal;
    margin-left: 40px;
    filter: drop-shadow(0 0px 5px rgba(255, 255, 255, 1.0));
}
.home-service-headline span{font-size: .5em;}
.home-service-headline-sub{margin: 15px 0 30px 42px;}
.home-service1,.home-service2{
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    height: auto;
    aspect-ratio: 1024 / 344;
}
.home-service1 a,.home-service2 a{text-decoration: none;}
.service-headline{
    font-family: 'NotoSansJP-Medium';font-weight: normal;
    line-height: 1.1;
    font-size: 2.1em;
    color: #fff;
    padding: 20px;
    width: 100%;
    height: auto;
}
.home-service-proposal{
    width: 65%;
    height: auto;
    display: flex;
    justify-content: space-between;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
    background-image: url("../images/front-page/service_proposal1.webp");
    background-size: cover;
    background-repeat: no-repeat;
}
.no-webp .home-service-proposal{background-image: url("../images/front-page/service_proposal1.png");}
.home-service-design{
    width: 35%;
    height: auto;
    display: flex;
    justify-content: space-between;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    background-image: url("../images/front-page/service_designworks.webp");
    background-size: cover;
    background-repeat: no-repeat;
}
.no-webp .home-service-design{background-image: url("../images/front-page/service_designworks.png");}
.home-service-consulting{
    width: 35%;
    height: auto;
    display: flex;
    justify-content: space-between;
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    background-image: url("../images/front-page/service_consulting.webp");
    background-size: cover;
    background-repeat: no-repeat;
}
.no-webp .home-service-consulting{background-image: url("../images/front-page/service_consulting.png");}
.home-service-public{
    width: 65%;
    height: auto;
    display: flex;
    justify-content: space-between;
    border-left: 4px solid #fff;
    border-top: 4px solid #fff;
    background-image: url("../images/front-page/service_public.webp");
    background-size: cover;
    background-repeat: no-repeat;
}
.no-webp .home-service-public{background-image: url("../images/front-page/service_public.png");}
.service-headline span{font-size: .7em;}
.home-service-headlinearea > div{background-color: #fff;}/*画像hover時のスケ防止*/
/*home service ここまで*/

/*-------------home_ppp/pfi-------------*/
.home_pfiarea{
    width: 85%;
    max-width: 1024px;
    margin: 0 auto;
  }
  .home_pfi_index{
    color: #363636;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: 2em;
    line-height: 1em;
    filter: drop-shadow(0 0px 5px rgba(255, 255, 255, 1.0));
    display: flex;
    margin-bottom: 30px;
  }
  .home_pfi_index_text{margin-left: 60px;}
  .home_pfi_index span{font-size: .5em;}
  .home_pfi_index::before{
    display: block;
    content: "";
    width: 45px;
    height: 75px;
    background-image: url("../images/index1.webp");
    background-size: contain;
    background-position: center bottom;
    position: absolute;
    background-repeat: no-repeat;
  }
  .no-webp .home_pfi_index::before{background-image: url("../images/index1.png");}
  /*記事一覧スタイル*/
  
  .home_pfilist li{margin-top: 15px;}
  .home_pfilist a{
    color: #333;
    display: flex;
    align-items:baseline;
    justify-content: flex-start;
    text-decoration: none;
  }
  .home_pfi_textarea1{display: flex;align-items: center;}
  .home_pfi_date{
    min-width: 110px;
    width: auto;
    margin-right: 20px;
    white-space: nowrap;
  }
  .asset_pfi_term{
    padding: 0 20px;
    background-color: #1EA2A2;
    border-radius: 50px;
    min-width: 10rem;
    font-size: 15px;
    width: auto;
    height: auto;
    margin-right: 20px;
    text-align: center;
    white-space: nowrap;
    color: #fff;
  }
  .headline-cat.ppppfi,
  .headline-cat.advisory{background-color: #1EA2A2;}
  .asset_pfi_term.sounding,
  .headline-cat.sounding{background-color: #1E68A2;}
  .asset_pfi_term.designated,
  .headline-cat.designated{background-color: #1E84A2;}
  .asset_pfi_term.feasibility,
  .headline-cat.feasibility{background-color: #637A77;}
  .home_pfi_title {line-height: 1.3em;display: inline-block;}
  .home_pfi_title span{
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url("../images/icon_link1.webp");
    background-size: 1em auto;
    background-position: center bottom;
    margin-left: 0.5em;
    position: absolute;
    margin-top: 1.5px;
    background-repeat: no-repeat;
  }
  .no-webp .home_pfi_title span{background-image: url("../images/icon_link1.png");}
  /*記事一覧スタイル　ここまで*/
  
  a.asset_button1 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 40px;
    width: 400px;
    border-radius: 2px;
    height: auto;
    min-height: 60px;
    background-color: #3A474F;
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    font-size: .9em;
    letter-spacing: .06em;
    margin: 0 auto;
    text-decoration: none;
  }
  a.asset_button1 > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    height: auto;
    letter-spacing: .08em;
  }
  a.asset_button1 > div::after{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(../images/icon_arrow3.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
  }
  .no-webp a.asset_button1 > div::after{background-image: url("../images/icon_arrow3.png");}

  a.asset_button2 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70%;
    max-width: 550px;
    border-radius: 2px;
    height: auto;
    padding: 25px 40px;
    background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    font-size: 1.2rem;
    margin: 0 auto;
    text-decoration: none;
  }
    a.asset_button2 > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    height: auto;
    letter-spacing: .08em;
  }
  a.asset_button2 > div::after{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(../images/icon_arrow3.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
  }
  .no-webp a.asset_button2 > div::after{background-image: url("../images/icon_arrow3.png");}
  .page-front a.asset_button2 > div > br{display: none;}
  /*-------------home_ppp/pfiここまで-------------*/

/*single*/
/*breadcrumbs*/
.breadcrumbs-area{
    background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
    width: 100%;
    height: auto;
    padding: .5em 0;
}
.breadcrumbs{
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
}
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs a:visited{
    color: #fff;
    text-decoration: none;
    font-size: .93rem;
}
/*breadcrumbs ここまで*/
/*page-headline-area*/
.page-headline-area{
    background-image: url("../images/bg-single-1.webp");
    background-size: 1500px auto;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0;
}
.no-webp .page-headline-area{background-image: url("../images/bg-single-1.png");}
.page-headline-area:after{
    content: "";
    display: block;
    width:100%;
    height: 3px;
    background: linear-gradient(90deg, #008f82 15% 0%, #006a7f 78% 100%);
    transform: translateY(50px);
}
.page-headline-area > .contents-area-1024{gap: 20px; display: flex; flex-direction: column;}
.headline-date{
    font-size: .85rem;
    color: #5e5e5e;
}
.headline-title{
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    font-size:2rem;
    color: #333;
    line-height: normal;
}
.headline-cat-area{
    display: flex;
    width: 100%;
    height: auto;
    flex-wrap: wrap;
    gap: 20px;
}
.headline-cat-area:has(.headline-cat){padding-top: 10px;}
.headline-cat{
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 10rem;
    height: auto;
    color: #fff;
    background-color: #006a7f;
    text-align: center;
    font-size: .94rem;
    letter-spacing: .15rem;
}
a.headline-cat{text-decoration: none;}
.headline-cat.news{background-color: #637A77;}
.headline-cat.news.celected{color: #637A77; background-color: #fff; border: solid 1.5px #637A77;}
.headline-cat.pickup{background-color: #006a7f;}
.headline-cat.pickup.celected{color: #006a7f; background-color: #fff; border: solid 1.5px #006a7f;}
.headline-cat.pressrelease{background-color: #637A77;}
.headline-cat.pressrelease.celected{color: #637A77; background-color: #fff; border: solid 1.5px #637A77;}
.headline-cat.topics{background-color: #11648b;}
.headline-cat.topics.celected{color: #11648b; background-color: #fff; border: solid 1.5px #11648b;}
.headline-cat.seminar{background-color: #008883;}
.headline-cat.seminar.celected{color: #008883; background-color: #fff; border: solid 1.5px #008883;}
.page-archive .headline-cat{background-color: #006a7f;}
.headline-cat.celected,
.page-archive .headline-cat.celected{color: #006a7f;background-color: #fff; border: solid 1.5px #006a7f;}
.page-thumbnailarea img{margin: 0 auto;}
/*投稿書式*/
.single-editcontent p,
.single-editcontent table,
.single-editcontent ol,
.single-editcontent ul{
  margin: 30px 0 0 0;
}
.single-editcontent h1,
.single-editcontent h2,
.single-editcontent h3,
.single-editcontent h4,
.single-editcontent h5,
.single-editcontent h6{
  margin: 45px 0 0 0;
}
.single-editcontent table p,
.single-editcontent table ol,
.single-editcontent table ul,
.single-editcontent table h1,
.single-editcontent table h2,
.single-editcontent table h3,
.single-editcontent table h4,
.single-editcontent table h5,
.single-editcontent table h6{
  margin: 0;
}
.single-editcontent p{
  display: inline-block;
  width: 100%;
}
.single-editcontent div,.edit-content-area div{width: 100%;}
div.mejs-overlay-button{width: 80px !important;}/*video要素に付くプレーヤーボタン*/
.single-editcontent a{
  display: flex;
  width: fit-content;
  height: auto;
  font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
  color: #1c6969;
  text-decoration: underline #1c6969;
  text-underline-offset: .15em;
}
.single-editcontent a span{
  color: #1c6969;
}
.single-editcontent a::before{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("../images/temp2502-icon-link.webp");
  background-repeat: no-repeat;
  background-size: 1em 1em;
  margin-right: .5em;
  margin-top: .4em;
  padding-left: 1em;
}
.no-webp .single-editcontent a::before{
  background-image: url("../images/temp2502-icon-link.png");
}
.single-editcontent a.link-blank span::after{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-top: .2em;
  margin-left: .35em;
  padding-left: 1em;
  background-image: url("../images/temp2502-icon-blanklink.webp");
  background-size: 1em 1em;
  background-repeat: no-repeat;
  transform: translateY(.15em);
}
.no-webp .single-editcontent a.link-blank span::after{
  background-image: url("../images/temp2502-icon-link.png");
}
.single-editcontent a.link-pdf span::after{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-top: .2em;
  margin-left: .3em;
  padding-left: 1em;
  background-image: url("../images/temp2502-icon-pdf.webp");
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(.1em);
}
.no-webp .single-editcontent a.link-pdf span::after{
  background-image: url("../images/temp2502-icon-link.png");
}
.single-editcontent li a,
.single-editcontent td a{
  margin: 0;
}
.single-editcontent a.no-icon::after,
.single-editcontent a.no-icon::before{content: none;}
.single-editcontent li{
  display: flex;
  margin: .35em 0;
  counter-increment: n;
}
.single-editcontent ol li::before{
    content: "" counter(n) ".";
    display: inline-block;
    width: auto;
    margin-right: .5em;
    flex-shrink: 0;
}
.single-editcontent ul li::before{
  content: "";
  display: inline-block;
  width: .3em;
  height: .3em;
  padding-left: .3em;
  margin-top: .2em;
  margin-right: .5em;
  border-radius: 1em;
  background-color: #1c6969;
  transform: translateY(.5em);
}
.single-editcontent blockquote,.single-editcontent aside{
  margin: 30px 0 0 0;
  padding: 5px 35px 35px 35px;
  background-color: #f4f4f4;
  border: none;
}
.single-editcontent blockquote::before{
  content: none;
}
.single-editcontent td{
  border: 1px solid #d1d1d1;
  padding: 1.3rem;
}
.single-editcontent td:first-child{
  background-color: #f4f4f4;
}
.single-editcontent .td-f-green td:first-child{
    background-color:#157580;
    color: #fff;
}
.single-editcontent .editarea-contact td{
  border: none;
}
.single-editcontent .editarea-contact td:first-child{
  background-color: unset;
}
.single-editcontent table.editarea-contact{
  border: solid 1px #d1d1d1;
  border-radius: 15px;
  border-collapse: separate !important;
  padding: 15px;
}
.single-editcontent h1{
  display: inline-block;
  width: 100%;
  height: auto;
  font-size: 1.7em;
  line-height: 1.78;
  font-weight: normal;
}
.single-editcontent h1::after{
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: var(--hdr-gradient);
  margin: .3em 0 0 0;
}
.single-editcontent h2{
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 1.5em;
  font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
  line-height: 1.78;
  border-left: solid 5px #1c6969;
  padding: 1.2em 0 1.2em 1.2em;
}
.single-editcontent h3{
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 1.1em;
  font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
  line-height: 1.78;
  border-left: solid 3px #b4b4b4;
  padding: .5em 0 .5em 1.2em;
}
.single-editcontent h4{
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 1.1em;
  font-weight: normal;
  line-height: 1.78;
  border-left: solid 3px #1c6969;
  padding: 1.2em 0 1.2em 1.2em;
}
.single-editcontent h5{
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 1.1em;
  font-weight: normal;
  line-height: 1.78;
  border-left: solid 3px #b4b4b4;
  padding: .5em 0 .5em 1.2em;
}
.single-editcontent h6{
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: auto;
  font-size: 1.05em;
  font-weight: normal;
  line-height: 1.78;
}
.single-editcontent h6::before{
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  padding-left: 10px;
  background-color: #1c6969;
  margin: .5em 1em 0 0;
}
.single-editcontent iframe{max-width: 100%;}
/*投稿書式 ここまで*/
/*toc style：目次生成プラグインスタイル*/
#toc_container{
    display: block;
    width: 100% !important;
    height: auto;
    margin: 20px 0 0 0;
    padding: 45px;
    background-color: #f5f5f5;
    border-radius: 5px;
}
#toc_container p.toc_title{
    font-weight: bold;
    font-size: 20px;
    margin: 0 0 20px 0;
}
#toc_container span.toc_toggle,
#toc_container span.toc_brackets,
#toc_container span.toc_toggle a{
    color: #1c6969;
    font-size: 16px;
    font-weight: normal;
    margin: 0;
    display: inline-block;
}
#toc_container span.toc_toggle a::before{content: none;}
#toc_container ul{margin: 0;}
#toc_container .toc_list li{
    margin: 1.1em 0 0 0;
    flex-direction: column;
    width: 100%;
}
#toc_container .toc_list li::before{content: none;}
#toc_container .toc_list li span.toc_number{display: none;}
#toc_container .toc_list li a{
    display: flex;
    color: #555;
    text-decoration: none;
}
/*toc style：目次生成プラグインスタイル end*/
.single-infoarea > p{width: 100%;height: auto;text-align: center;}
.single-bannerarea{
    display: flex;
    width: 100%;
    height: auto;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.works-infoarea{
    display: flex;
    flex-direction: column;
    gap: 1.3em;
    width: 100%;
    height: auto;
    background-color: #dfe8e7;    
    text-align: left;
}
.works-infoarea:has(li){padding: 30px;}
/*single ここまで*/

/*page*/
.page-headline-area-gray{
    background-color: #F5F5F5;
    background-image: url("../images/bg-page-1.webp");
    background-size: auto 100%;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0;
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    color: #363636;
    word-wrap: break-word;
    letter-spacing: 0.50px; 
}
.no-webp .page-headline-area-gray{background-image: url("../images/bg-page-1.png");}
.headline-title{ font-size:2rem; line-height: normal;font-size: 32px;color: #333;}
/*緑色範囲　デフォルト*/
.page-headline-area-green{
    background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
    color: #fff;
    width: 100%;
    height: auto;
    padding: 70px 0;
}
.page-headline-area-green > .contents-area-1440{
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.page-result .page-headline-about{
    border: solid 1px #fff;
    width: 100%;
    height: auto;
    padding: 40px 100px;
    font-size: 1.15em;
    line-height: 2;
    font-family: 'NotoSansJP-Regular';font-weight: normal;
}
.page-headline-area-green > .contents-area-1440 > ul{
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    min-width: 300px;
    gap: 20px;
}
.page-headline-area-green > .contents-area-1440 > ul > li{
    width: 100%;
    height: auto;
    background-color: #fff;
    border-radius: 9999px;
    color: #006a7f;
    font-family: 'NotoSansJP-Medium';font-weight: normal;
    text-align: center;
    font-size: 1.1em;
}
.page-headline-area-green > .contents-area-1440 > hr{
    border-top: solid 1px #fff;
    width: 50%;
    margin: 0 auto;
}
/*緑色範囲　デフォルト ここまで*/
.about-list-text{
    display: inline-block;
    width: auto;
    height: auto;
    margin: 0 auto;
}
/*page-access*/
.access-mapimg-tokyo,.access-mapimg-osaka{width: 500px;height: 503px;}
.page-access-flex{
    display: flex;
    gap: 50px;
    align-items: center;
    width: fit-content !important;
    height: auto;
}
.page-access-data{width: 50vw !important;max-width: 600px;}
.page-access-data ul li::before{content: none;}
.page-access-data ul{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 2em;
}
.page-access-data ul li{display: flex;gap: 1.8em;}
.page-access-data ul li div{padding-bottom: 2em;border-bottom: solid 1px #CBCBCB;}
.page-access-data ul li > div:nth-of-type(1){width: 8em;height: auto;}
/*page-access ここまで*/

/*ページ汎用*/
/*ページ上部　写真範囲*/
.page-headline-area-img{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 230px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
}
.page-headline-img{
    width: calc(50vw - 230px);
    height: auto;
    min-height: 600px;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    background-image: url("../images/page/bg-fig1-img1.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
}
.no-webp .page-headline-img{background-image: url("../images/page/bg-fig1-img1.png");}
/*写真設定*/
.page-consulting .page-headline-img{background-image: url("../images/page/bg-fig1-img2.webp");}
.no-webp .page-consulting .page-headline-img{background-image: url("../images/page/bg-fig1-img2.png");}
.page-monitoring .page-headline-img{background-image: url("../images/page/bg-fig1-img3.webp");}
.no-webp .page-monitoring .page-headline-img{background-image: url("../images/page/bg-fig1-img3.png");}
/*写真設定 ここまで*/
.page-headline-about{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 60px;
    width: 50%;
    padding: 150px 150px 150px 0;
}
.page-headline-strong{
    font-size: 32px;
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    line-height: 72px;
    letter-spacing: 0.08em;
    word-wrap: break-word;
    text-align: justify;
}
.page-headline-text{font-size: .9em; line-height:2.5em;letter-spacing: .06em;text-align: justify;}
/*ページ上部　写真範囲 ここまで*/
/*ページ page-layout-column-1*/
.page-layout-column-1{
    width: 100%;
    height: auto;
    background-color: #F5F5F5;
}
.layout-column-1-area{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: auto;
    gap: 60px;
}
.layout-column-1-headline{
    display: flex;
    width: auto;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;
}
.column-1-headline-text1{
    font-size: 40px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: normal;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
    padding-right: 3em;
}
.column-1-headline-line1{
    display: block;
    width: 100%;
    height: 2px;
    background: var(--hdr-gradient);
}
.column-1-text-strong1{
    font-size: 28px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: normal;
    letter-spacing: 0.06em;
    color: #666;
    margin-top: 30px;
}
.column-1-text-text1{line-height: 3.5em; letter-spacing: .06em;}
.column-1-tc1{
    font-family: 'BIZUDPGothic-Bold';font-weight: normal;
    color: #006A7F;
}
.column-1-text-images{
    display: flex;
    width: 100%;
    height: auto;
    gap: 60px;
}
.column-1-text-images > img{
    width: calc(100% / 3 - 40px);
    height: auto;
}
/*ページ page-layout-column-1 ここまで*/
/*ページ　page-layout-flex-1*/
.page-layout-flex-1{
    display: block;
    width: 100%;
    height: auto;
    background-image: url(../images/page/bg-fig1-gray1.webp);
    background-size: auto 101%;
    background-position: left center;
    background-repeat: no-repeat;
    background-color: #fff;
}
.layout-flex-1-area{
    display: flex;
    width: 100%;
    height: auto;
    gap: 200px;
    align-items: center;
}
.layout-flex-1-area1{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: calc(50% - 100px);
    height: auto;
    gap: 100px;
}
.layout-flex-1-headline{
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;
}
.flex-1-headline-text1{
    font-size: 40px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: 2em;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: 100%;
    height: auto;
}
.flex-1-headline-line1{
    display: block;
    width: 100%;
    height: 2px;
    background: var(--hdr-gradient);
}
.flex-1-area1-text{line-height: 3.2em;}
.layout-flex-1-area2{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(50% - 100px);
    min-width: 540px;
    height: auto;
    gap: 30px;
    flex-shrink: 0;
}
.layout-flex-1-area2 a.page-link1{
    display: flex;
    width: fit-content;
    height: auto;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
    color: #1c6969;
    text-decoration: underline #1c6969;
    text-underline-offset: .15em;
}
.layout-flex-1-area2 a.page-link1::before{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(../images/temp2502-icon-link.webp);
    background-repeat: no-repeat;
    background-size: 1em 1em;
    margin-right: .5em;
    margin-top: .4em;
    padding-left: 1em;
}
.no-webp .layout-flex-1-area2 a.page-link1::before{background-image: url(../images/temp2502-icon-link.png);}
/*ページ　page-layout-flex-1　ここまで*/
/*ページ　layout-number-1*/
.page-layout-number-1{
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    display: block;
    background-color: #f5f5f5;
    background-image: url("../images/page/bg-fig2-white.webp");
    background-repeat: no-repeat;
    background-size: auto 130%;
    background-position: left top;
    overflow: hidden;
}
.no-webp .page-layout-number-1{background-image: url("../images/page/bg-fig2-white.png");}
.page-layout-number-1.monitoring-evaluation,
.no-webp .page-layout-number-1.monitoring-evaluation{background-image:unset;}
.page-layout-number-1.monitoring-merit{
    background: url(../images/page/bg-fig1-green1.webp), linear-gradient(55deg, #006A7F20 0%, #006A7F20 22%, #008F8220 53%, #008F8220 75%);background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: left top;
}
.no-webp .page-layout-number-1.monitoring-merit{
    background: url(../images/page/bg-fig1-green1.png), linear-gradient(55deg, #006A7F20 0%, #006A7F20 22%, #008F8220 53%, #008F8220 75%);
    background-size: auto 100%;
    background-position: left top;
}
.layout-number-1-area{
    display: flex;
    width: 100%;
    height: auto;
    gap: 200px;
    align-items: flex-start;
}
.layout-number-1-headline{
    display: flex;
    width: 350px;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    flex-shrink: 0;
}
.number-1-headline-text1{
    font-size: 40px;
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    line-height: 2em;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
}
.number-1-headline-text2{
    font-size: 18px;
    font-family: 'BIZUDPGothic-Bold';font-weight: normal;
    line-height: 3em;
    letter-spacing: 0.05em;
}
.number-1-headline-fig1{
    display: block;
    width: 65px;
    height: 75px;
    margin-top: 20px;
    background-image: url(../images/page/symbol1-green2.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.no-webp .number-1-headline-fig1{background-image: url(../images/page/symbol1-green2.png);}
.monitoring-evaluation .number-1-headline-text1{font-size: 38px;}
.number-1-list-text2{line-height: 2.8em;letter-spacing: .07em;}
.number-1-headline-line1{
    display: block;
    width: 65px;
    height: 3px;
    background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);/*デフォルトBEXカラー*/
}
/*line要素 カラー設定*/
.page-consulting .number-1-headline-line1{background-image: unset; background-color: #07008F;}
/*line要素 カラー設定 ここまで*/
.layout-number-1-list{
    display: block;
    width: calc( 100% - 550px );
    max-width: 1125px;
    height: auto;
    margin: 0;
    padding: 0;
}
.number-1-list-item{
    display: flex;
    gap: 90px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 60px 0;
    border-bottom: solid 1px #CBCBCB;
}
.number-1-list-item:first-child{padding-top: 0;}
.number-1-list-num{
    font-family: 'ZenKakuGothicNew-Bold';font-weight: normal;
    background: linear-gradient(148deg, #00b1ab 0%, #008789 50%, #006A7F 81%);/*デフォルト BEXカラー*/
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 64px;
    line-height: 1em;
    letter-spacing: .03em;
    word-wrap: break-word;
    flex-shrink: 0;
    display: inline-block;
    height: 64px;
}
/*文字カラー設定*/
.page-consulting .number-1-list-num{background: linear-gradient(148deg, #6EBAF8 0%, #0A94CA 30%, #001A8F 75%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
/*文字カラー設定 ここまで*/
.number-1-list-textarea{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 35px;
}
.number-1-list-text1{
    font-size: 28px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: normal;
    letter-spacing: .05em;
}
/*ページ　layout-number-1 ここまで*/
/*ページ　page-layout-card-1*/
.page-layout-card-1{
    display: block;
    width: 100%;
    height: auto;
    background-image: url(../images/page/bg-fig1-gray1.webp);
    background-size: auto 101%;
    background-position: left center;
    background-repeat: no-repeat;
    background-color: #fff;
}
.no-webp .page-layout-card-1{background: url(../images/page/bg-fig1-gray1.png), color(#fff);}
.layout-card-1-area{
    display: flex;
    flex-direction: column;
    gap: 80px;
    width: 100%;
    height: auto;
}
.layout-card-1-headline{
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    height: auto;
}
.card-1-headline-text1{
    font-size: 40px;
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    line-height: 40px;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
}
.card-1-headline-line1{
    display: block;
    width: 100%;
    height: 2px;
    background:var(--hdr-gradient);
}
/*card*/
.card-1-list-slider .slick-list.draggable{
    width: 520px;
    height: 450px;
    overflow: visible;
}
.card-1-list-slider li.slick-slide{
    width: 450px !important;
    height: 450px;
    margin-right: 70px;
}
.card-1-list-slider .cardlist-dots li{width: 90px;height: 5px; border: none;background-color: #D9D9D9;}
.card-1-list-slider .cardlist-dots button{width: 90px;height: 5px;}
.card-1-list-slider .cardlist-dots li.slick-active{width: 90px;border: none;background-color: #008f82;}
/*card ここまで*/
/*ページ　page-layout-card-1 ここまで*/
/*ページ　page-layout-card-2*/
.page-layout-card-2{
    display: block;
    width: 100%;
    height: auto;
    background: url("../images/page/bg-fig1-blue1.webp"), linear-gradient(55deg, #002f7f20 0%, #00467F20 22%, #07008F20 53%, #00348F20 75%);
    background-size: auto 101%;
    background-position: left center;
    background-repeat: no-repeat;
}
.no-webp .page-layout-card-2{background: url("../images/page/bg-fig1-blue1.png"), linear-gradient(55deg, #002f7f20 0%, #00467F20 22%, #07008F20 53%, #00348F20 75%);}
.layout-card-2-area{
    display: flex;
    width: 100%;
    height: auto;
    gap: 200px;
    align-items: flex-start;
}
.layout-card-2-headline{
    display: flex;
    width: 350px;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    flex-shrink: 0;
}
.card-2-headline-text1{
    font-size: 40px;
    font-family: 'NotoSansJP-Bold';
    font-weight: normal;
    line-height: 40px;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
}
.card-2-headline-fig1{
    display: block;
    width: 65px;
    height: 75px;
    margin-top: 30px;
    background-image: url("../images/page/symbol1-blue1.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.no-webp .card-2-headline-fig1{background-image: url("../images/page/symbol1-blue1.png");}
.card-2-list-headline > .card-2-headline-fig1{width: 60px;}
.layout-card-2-list{
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 550px);
    max-width: 1125px;
    height: auto;
    margin: 0;
    padding: 0;
    gap: 60px;
}
.card-2-list-item{
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: calc(50% - 30px);
    height: auto;
    min-height: 400px;
    margin: 0;
    padding: 70px 50px;
    border-radius: 6px;
    background-color: #fff;
    filter: drop-shadow(0 1px 4px #100a8811);
}
.card-2-list-headline{
    display: flex;
    width: 100%;
    height: auto;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}
.card-2-headline-text{
    font-size: 20px;
    font-family: 'NotoSansJP-Bold';font-weight: normal;
    line-height: normal;
    display: inline-block;
}
.card-2-list-line1{
    display: block;
    width: 100%;
    height: 2px;
    background-color: #EAEAEA;
}
.card-2-list-textarea{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    gap: 10px;
}
.card-2-list-textarea > li::before{
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: #001A8F;
    border-radius: 5px;
    position: absolute;
    transform: translate(-1.2em, .75em);
}
.card-2-list-textarea > li{padding-left: 1.3em;}
/*ページ　page-layout-card-2 ここまで*/
/*ページ　page-layout-links-1*/
.page-layout-links-1{
    display: block;
    width: 100%;
    height: auto;
    background-color: #F5F5F5;
}
.layout-links-1-area{
    display: flex;
    width: 100%;
    height: auto;
    gap: 200px;
    align-items: flex-start;
}
.layout-links-1-headline{
    display: flex;
    width: 350px;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    flex-shrink: 0;
}
.links-1-headline-text1{
    font-size: 37px;
    font-family: 'NotoSansJP-Bold';
    font-weight: normal;
    line-height: 2.3em;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
}
.links-1-headline-fig1{
    display: block;
    width: 65px;
    height: 75px;
    margin-top: 30px;
    background-image: url(../images/page/symbol1-green1.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.no-webp .links-1-headline-fig1{background-image: url(../images/page/symbol1-green1.png);}
.layout-links-1-list{
    display: block;
    width: calc(100% - 550px);
    max-width: 1000px;
    height: auto;
    margin: 0;
    padding: 0;
}
.links-1-list-item{
    display: flex;
    gap: 50px;
    width: 100%;
    height: auto;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 60px 0;
    border-bottom: solid 1px #CBCBCB;
}
.links-1-list-item:first-child{padding-top: 0;}
.links-1-list-textarea{
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: auto;
    height: auto;
}
.links-1-list-text1{
    font-size: 28px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: normal;
    letter-spacing: .05em;
}
.links-1-list-buttonarea{
    display: flex;
    gap: 30px;
    width: auto;
    min-width: 410px;
    height: auto;
    flex-shrink: 0;
}
/*links ボタン*/
.links-1-list-button1{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 410px;
    height: auto;
    min-height: 60px;
    margin: 0;
    padding: 15px 40px;
    text-decoration: none;
    color: #333;
    border: solid 1px #333;
    font-size: .9em;
    letter-spacing: .06em;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    transition: all.3s;
}
.links-1-list-button1 > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    height: auto;
}
.links-1-list-button1 > div::after{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(../images/icon_arrow5.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
    transition: all.3s;
  }
  .no-webp .links-1-list-button1 > div::after{background-image: url(../images/icon_arrow5.png);}
/*hover*/
  .links-1-list-button1:hover{color: #fff;background-color: #008F82;opacity: 1;border: solid 1px #008F82; transition: all.3s;}
  .links-1-list-button1:hover > div::after{background-image: url(../images/icon_arrow3.webp);transition: all.3s;}
  .no-webp .links-1-list-button1:hover > div::after{background-image: url(../images/icon_arrow3.png);}
/*links ボタン ここまで*/
/*ページ　page-layout-links-1 ここまで*/
/*ページ　page-layout-contact-1*/
.page-layout-contact-1{
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: url(../images/page/bg-fig1-green1.webp), linear-gradient(55deg, #006A7F20 0%, #006A7F20 22%, #008F8220 53%, #008F8220 75%);
    background-size: auto 101%;
    background-position: left center;
    background-repeat: no-repeat;
}
.layout-contact-1-area{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: auto;
    gap: 60px;
}
.layout-contact-1-headline{
    display: flex;
    gap: 35px;
    align-items: center;
}
.contact-1-headline-fig1{
    display: block;
    width: 65px;
    height: 75px;
    background-image: url(../images/page/symbol1-green1.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.no-webp .contact-1-headline-fig1{background-image: url(../images/page/symbol1-green1.png);}
.contact-1-headline-text1{
    font-size: 35px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    line-height: 35px;
    letter-spacing: 0.05em;
    word-wrap: break-word;
    display: inline-block;
    width: auto;
    height: auto;
}
.layout-contact-1-item{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: auto;
    gap: 40px;
    background-color: #fff;
    padding: 90px;
    border-radius: 3px;
}
.layout-contact-1-text1{
    font-family: 'BIZUDPGothic-Regular';font-weight: normal;
    font-size: 17px;
    line-height: 2.3em;
}
.contact-1-item-links{
    display: flex;
    width: 100%;
    height: auto;
    padding: 60px;
    background-color: #F5F5F5;
    border-radius: 2px;
    justify-content: center;
    align-items: center;
    gap: 250px;
}
.contact-1-item-links a.asset_button1{margin: 0;padding: 30px 40px;width: 500px;gap: 40px;}
.contact-1-item-tel{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}
a.contact-1-tel-num{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    font-size: 42px;
    font-family: 'NotoSansJP-Bold'; font-weight: normal;
    color: #333;
    text-decoration: none;
}
a.contact-1-tel-num:visited{color: #333;}
.contact-1-tel-num > span{
    display: block;
    width: 42px;
    height: 42px;
    background-image: url(../images/page/icon-phone.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.no-webp .contact-1-tel-num > span{background-image: url(../images/page/icon-phone.png);}
.contact-checklist .wpcf7-form-control.wpcf7-radio{
    display: flex;
    width: fit-content;
    flex-direction: column;
}
/*ページ　page-layout-contact-1　ここまで*/
/*ページ汎用 ここまで*/

/*page-public-policy-support*/
h3.page-public-policy-support-about{
    font-family: 'NotoSansJP-Medium'; font-weight: normal;
    margin: 0 auto;
    transform: translateY(15px);
}
.public-worklist{
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    gap: 50px;
}
.public-worklist-about{
    display: flex;
    flex-direction: column;
    width: 60%;
    height: auto;
    flex-shrink: 0;
    padding: 80px 40px;
    border: solid 1px #00807e;
    background-color: #fff;
    gap: 1.2em;
    z-index: 3;
}
.public-worklist-about > div{
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    font-size: 1.3rem;
}
.public-worklist-about img{
    height: 1.6em;
    width: auto;
    margin-left: .8em;
}
.public-worklist-about a.asset_button1{
    margin: 0 auto 0 0;
    padding: 6px 15px;
    width: 390px;
}
.public-worklist-about a.asset_button1 span{
    margin-left: 335px;
}
.public-worklist-slider{
    width: calc(40% - 50px);
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: visible;
}
.public-worklist-slider:has(.worklist-seminar):after,
.public-worklist-slider:has(.worklist-3dcg):after{
    content: "";
    display: block;
    width: 100vw;
    height: 450px;
    z-index: 2;
    background-color: #fff;
    position: absolute;
    transform: translateX(-75vw);
}
.public-worklist-slider:has(.worklist-movie):after,
.public-worklist-slider:has(.worklist-design):after{
    content: "";
    display: block;
    width: 100vw;
    height: 450px;
    z-index: 2;
    background-color: #fff;
    position: absolute;
    transform: translateX(75vw);
}
/*public-worklist-slider スライド設定*/
.worklist-seminar,
.worklist-design,
.worklist-3dcg,
.worklist-movie{width: 250px;height: auto;}
.public-worklist-slider .slick-list.draggable{overflow: visible;}
.public-worklist-slider .cardlist-dots{width: 400px;transform: translateX(-75px);}
.public-worklist-slider .cardlist-dots li{background-color: #bcbcbc;}
.public-worklist-slider .cardlist-dots li.slick-active{background-color: #008f82;}
.public-worklist-slider .slick-slide img{width: 250px;height: 250px;}
/*public-worklist-slider スライド設定 ここまで*/
/*page-public-policy-support ここまで*/
/*page-cardlist*/
.page-cardlist{
    display: flex;
    width: 100%;
    height: auto;
    flex-wrap: wrap;
    gap:30px 2%;
}
.page-cardlist.page-archive{gap:60px 2%}
.page-cardlist li{width: 32%;height: auto; border: solid 1px #b4b4b4;}
.page-cardlist a{text-decoration: none;}
.page-cardlist .card-link-icon{bottom: unset; position: relative;}
.page-cardlist img{aspect-ratio: 11 / 6; object-fit: cover;width: 100%;height: auto;}
.page-cardlist .card-textarea{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.page-cardlist .card-text1,
.page-cardlist .card-title,
.page-cardlist .page-card-layout{width: 100%;}
/*page-cardlist ここまで*/
/*pagenatinon*/
/*pagenatinon ここまで*/
.pagenav-area{
    display: flex;
    width: 100%;
    height: auto;
    justify-content: center;
    gap: 25px 20px;
}
.pagenav-area li{
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}
li.pagenav-preview a{
    display: block;
    width: 45px;
    height: 45px;
    background-image: url("../images/icon_arrow4.webp");
    background-repeat: no-repeat;
    background-size: 9px auto;
    background-position: center;
    background-color: #248080;
}
a.button-pagenav{
    display: flex;
    width: 45px;
    height: 45px;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #248080;
    text-decoration: none;
}
a.button-pagenav.celected{
    box-sizing: border-box;
    border: solid 1px #727171;
    background-color: #fff;
    color: #727171;
}
.no-webp li.pagenav-preview a{background-image: url("../images/icon_arrow4.png");}
li.asset_pagenav_next a{
    display: block;
    width: 45px;
    height: 45px;
    background-image: url("../images/icon_arrow3.webp");
    background-repeat: no-repeat;
    background-size: 9px auto;
    background-position: center;
    background-color: #248080;
}
.no-webp li.asset_pagenav_next a{background-image: url("../images/icon_arrow3.png");}
/*vision*/
.page-vision-result{
    display: flex;
    align-items: stretch;
}
.vision-result-headline{
    font-family: 'BIZUDPGothic-Regular'; font-weight: normal;
    font-size: 17px;
    background-color: #F5F5F5;
    display: flex;
    width: 10em;
    height: auto;
    text-align: center;
    justify-content: center;
    flex-direction: column;
    padding: 1em;
    flex-shrink: 0;
}
.vision-result-text{
    padding: 1em;
    border: solid 2px #F5F5F5;
    width: calc(100% - 10em);
}
.home-service-headlinearea.page-vision{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
}
.page-vision .home-service-proposal,
.page-vision .home-service-design,
.page-vision .home-service-consulting,
.page-vision .home-service-public{
    width: 100%;
    height: auto;
    min-height: 185px;
    border: solid 2px #fff;
    background-position: center;
}
.page-vision .home-service1,
.page-vision .home-service2{aspect-ratio: unset;height: auto;flex-direction: column;}
.vision-service-about {
    background-color: #33333391;
    color: #fff;
    font-size: 1rem;
    padding: 25px 20px;
    display: flex;
    width: 480px;
    height: auto;
    align-items: center;
    justify-content: flex-start;
}
.vision-bex-headline{font-size: 1.7em;}
.vision-bex-area{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.vision-bex-list > li::before,
.vision-bex-list li.biz-b-green::before{content: none !important;}
.vision-bex-list > li{
    display: flex;
    align-items: center;
    gap: 50px;
}
.vision-bex-list > li > div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7em;
    height: 7em;
    border-radius: 3.5em;
    background-image: linear-gradient(90deg, #008f82 15% 0%, #006a7f 78% 100%);
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    flex-shrink: 0;
}
/*vision ここまで*/
/*page-company*/
.page-company-data{
    display: flex;
    flex-direction: column;
    gap: 2em;
}
.page-company-data li{
    display: flex;
    width: 100%;
    height: auto;
    gap: 1.8em;
    align-items: stretch;
}
.page-company-data li > div{padding-bottom: 2em;border-bottom: solid 1px #cbcbcb;}
.page-company-data li > div:nth-child(1){
    width: 10em;
    flex-shrink: 0;
    width: 10em;
    height: auto;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.page-company-data li > div:last-child{width: calc(100% - 10em);}
.page-company-structure{
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
}
.page-company-structure a,
.company-structure-2 > div > div{
    display: flex;
    width: 13em;
    height: 3em;
    padding: 0 1em;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background-color: #157580;
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
}
div.company-structure-1{width: fit-content;}
.company-structure-line div{display: flex;}
.company-structure-line span{display: block;width: 50%;height: 4em;}
.structure-line-1{border-bottom: solid 1px #666;}
.structure-line-2{border-bottom: solid 1px #666;border-top: solid 1px #666;border-left: solid 1px #666;}
.structure-line-4{border-bottom: solid 1px #666;border-left: solid 1px #666;}
.company-structure-sp{display: flex;align-items: center;}
.company-structure-2{
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: fit-content;
    height: auto;
}
/*page-company ここまで*/
/*page-third-party-evaluation*/
.flex-sp-column:has(.page-third-merit) > p {margin-top: 0;}
.flex-sp-column:has(.page-third-merit){
    gap: 20px;
    align-items: center;
    margin-bottom: 30px;
}
.page-third-merit{
    background-image: linear-gradient(90deg, #008f82 15% 0%, #006a7f 78% 100%);
    color: #fff;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    padding: 1em;
    width: 15em;
    height: auto;
    flex-shrink: 0;
    display: flex;
    gap: .15em;
    margin: 0 auto 0 0;
}
/*page-third-party-evaluation ここまで*/
/*page-sdgs*/
.flex:has(.icon-sdgs){gap: 20px;}
.icon-sdgs{
    width: 175px;
    height: 175px;
}
.page-sdgs h6{margin-top: 30px;}
.page-sdgs-about{
    width: 100%;
    padding: 0 100px;
}
/*page-sdgs ここまで*/
/*page-contact*/
.page-contact-formarea{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.page-contact-formarea > li {
    width: 100%;
    height: auto;
    display: flex;
    gap: 30px;
}
.page-contact-headline{
    width: 35%;
    height: fit-content;
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
    font-size: 1.2rem;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    flex-shrink: 0;
}
.contact-headline-must{
    display: inline-block;
    background-color: #ba0000;
    width: auto;
    height: fit-content;
    color: #fff;
    font-size: 1rem;
    padding: 0 .4em;
    border-radius: 5px;
    transform: translateY(-.1em);
}
.page-contact-form{
    width: calc(65% - 30px);
    height: auto;
}
.contact-cf7item .wpcf7-text,
.contact-cf7item .wpcf7-textarea{
    width: 100%;
    border: none;
    background-color: #efefef;
    padding: .5em;
    border-radius: 5px;
}
.contact-radiolist .wpcf7-radio{display: flex;flex-direction: column;}
.contact-checklist .wpcf7-checkbox,
.contact-radiolist .wpcf7-radio{font-size: 1.15rem;}
.contact-checklist .wpcf7-list-item,
.contact-radiolist .wpcf7-list-item{margin: 1em 0 0 0;}
.contact-checklist .wpcf7-list-item.first,
.contact-radiolist .wpcf7-list-item.first{margin-top: 0;}
.contact-checklist .wpcf7-checkbox input,
.contact-radiolist .wpcf7-radio input{
    width: 1em;
    height: 1em;
    transform: translateY(.14em);
}
.contact-cf7item.contact-consentcheck{
    font-size: 1.3rem;
    text-align: center;
}
.contact-consentcheck .wpcf7-checkbox input{
    width: 1em;
    height: 2em;
    transform: translateY(.63em);
}
.contact-consentcheck .wpcf7-list-item{margin: unset;}
.page-contact-consentcheck > div > p:nth-child(1){
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    width: 100%;
    height: auto;
    justify-content: center;
}
.page-contact-aside{
    color: #ba0000;
    font-size: .95rem;
    width: 70%;
    min-width: 600px;
    height: auto;
    margin: 0 auto;
}
.page-contact-aside li{list-style: disc; padding-right: 1em; transform: translateX(1em);}
.contact-submit > p {
    display: flex;
    width: 100%;
    height: auto;
    justify-content: center;
}
.contact-submit .submitBtn{
    width: auto;
    min-width: 245px;
    height: auto;
    padding: 1em;
    font-family: 'BIZUDPGothic-Bold'; font-weight: normal;
    color: #fff;
    background: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
    font-size: 1.3rem;
    border: none;
    border-radius: 6px;
}
.contact-submit .wpcf7-spinner{
    position: absolute;
    transform: translateX(150px) translateY(1.5em);
}
.wpcf7 form .wpcf7-response-output{
    position: absolute;
    margin: 30px 0 0 0;
    left: 50vw;
    transform: translateY(-150px) translateX(-50%);
    width: 60vw;
    max-width: 600px;
    min-width: 250px;
    text-align: center;
}
.contact-consent{
    width: 100%;
    border: none;
    background-color: #efefef;
    padding: 2.5em 1.5em;
    border-radius: 5px;
    font-size: .98rem;
    height: 25em;
    overflow-y: scroll;
    resize: vertical;

}
.contact-consent h4{font-size: 1.2em;}
.contact-consent ul{
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.page-privacy-no_icon a{text-decoration: none;color: #333;font-family: 'BIZUDPGothic-Regular';font-weight: normal;display: inline;}
.page-privacy-no_icon a::before{display: none;}
ul.list-style-indent1{margin-top: 0;padding-left: 1em;}
ul.list-style-indent1 li:before{display: none;}
/*page-contact ここまで*/
/*page-result*/
.page-headline-area-green > .contents-area-1440 > ul.page-result-aboutlist{
    flex-direction: row;
    flex-wrap: wrap;
    width: 600px;
    justify-content: space-between;
}
.page-headline-area-green > .contents-area-1440 > ul.page-result-aboutlist > li{
    width: 31%;
}
.page-result picture,.page-result img{
    display: block;
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
}
.page-result h3{font-size: 1.2em;}
.page-result-listarea{
    width: 100%;
    height: auto;
    display: flex;
    gap: 15px;
    text-align: center;
    padding: 30px 0;
}
.result-public .page-result-list{width: calc((100% - 90px) / 7);}
.result-facility .page-result-list{width: calc((100% - 75px) / 6);}
.page-result-list li{
    display: flex;
    width: 100%;
    height: auto;
    min-height: 90px;
    justify-content: center;
    align-items: center;
    border-bottom: solid 2px #E3E3E3;
    line-height: normal;
    font-family: 'ZenKakuGothicNew-Bold'; font-weight: normal;
    font-size: 1.7rem;
}
.page-result-list li > div {display: flex; align-items: baseline;width: auto;height: auto;}
.page-result-list li span{font-size: .95rem;}
.page-result-list.result-list-headline li{
    font-family: 'NotoSansJP-Medium'; font-weight: normal;
    font-size: 1em;
    border-bottom: solid 2px #B8DDD9;
}
.page-result-list li.result-listitem-headline1{
    font-size: .95em;
    font-family: 'NotoSansJP-Medium'; font-weight: normal;
    color: #fff;
    background: linear-gradient(123deg, #008f82 15% 0%, #006a7f 78% 100%);
    border: none;
    border-radius: 5px;
    padding: .3rem .5rem;
    line-height: 1.2;
}
@media only screen and (max-width: 870px) {
    .page-result-list li.result-listitem-headline1{font-size: .9em;}
}
.page-result-list li.result-listitem-headline2{
    font-size: .95em;
    font-family: 'NotoSansJP-Medium'; font-weight: normal;
    color: #fff;
    background-color: #259d87;
    border: none;
    border-radius: 5px;
    padding: .3rem .5rem;
}
.page-result-list li.result-listitem-result{
    color: #e30000;
    font-size: 2.1rem;
    border-bottom: solid 2px #FFE100;
}
.page-result-aside{color: #7b7b7b;}
@media only screen and (min-width: 1500px) {
    .br-result{display: none;}
    .page-result-list li.result-listitem-headline1{font-size: 1em;}
}
/*page-result ここまで*/
/*page ここまで*/

/*archive*/
.archive-catarea.page-archive::after{
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background-image: linear-gradient(90deg, #008f82 15% 0%, #006a7f 78% 100%);
    margin-top: 50px;
}

.archive-link-area{
    width: 100%;
    height: auto;
    padding: 50px 0;
    background-color: #dfdfdf;
}
.archive-link-area::before{
    content: "";
    display: block;
    width:100%;
    height: 5px;
    background-image: linear-gradient(90deg, #008f82 15% 0%, #006a7f 78% 100%);
    transform: translateY(-50px);
}
.archive-headline{padding: 25px 0;}
.archive-link{
    padding: 25px 0;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    display: block;
    width: 100%;
    height: auto;
    max-height: 80px;
    overflow: hidden;
    transition: max-height .3s;
}
.archive-link:has(.list-open){
    max-height: 25rem;
    transition: max-height .3s;
}
.archive-link button{
    display: flex;
    justify-content: center;
}
.archive-link button span{
    margin-left: .3em;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: auto;
    transform: translateY(-1.5px);
}
.archive-link button span::before{
    content: "";
    display: block;
    width: 8px;
    height: 2px;
    transform: rotate(45deg) translateX(2px);
    background-color: #5e5e5e;
}
.archive-link button span::after{
    content: "";
    display: block;
    width: 8px;
    height: 2px;
    transform: rotate(-45deg) translateX(-2px);
    background-color: #5e5e5e;
}
.archive-link ul{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.5%;
    padding-top: 25px;
}
.archive-link li{
    width: 18%;
    height: auto;
    display: block;
}
.archive-link li a,
.archive-link li a:visited{
    display: inline-block;
    width: 100%;
    height: auto;
    text-decoration: none;
    color: #333;
    border: solid 1px #555;
    padding: 1rem;
    text-align: center;
}
/*archive　ここまで*/

/*-------------home ここまで-------------*/
/*------------------main ここまで------------------*/
.no_pc{display: none;}/*PCのみ表示・適用*/
/*-----------------------共通、PC ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 1480px)-----------------------*/
@media only screen and (max-width: 1480px) {
    /*ページ*/
    .page-headline-area-img{gap: 170px;}
    .page-headline-img{width: calc(50vw - 170px);}
    .layout-number-1-area{gap: 145px;}
    .layout-number-1-list{width: calc(100% - 450px);}
    .layout-card-2-area{gap: 80px;}
    .layout-card-2-list{width: calc(100% - 380px);}
    .layout-links-1-area{gap: 145px;}
    .layout-links-1-list{width: calc(100% - 450px);}
    .layout-flex-1-area{gap: 145px;}
    .layout-flex-1-area1{width: calc(50% - 100px);}
    .layout-flex-1-area2{width: calc(50% - 45px);}
    .contact-1-item-links{gap: 145px;}
    .contact-1-item-links a.asset_button1{width: 400px;}
    /*ページ ここまで*/
}
/*-----------------------レスポンシブ (width ≦ 1480px) ここまで-----------------------*/

/*-----------------------headerメニュー切り替え (width ≦ 1280px)-----------------------*/
@media only screen and (max-width: 1280px) {
    /*レスポンシブメニューを含むためpx変更の場合はPCメニュー部分も確認すること*/
    .contents-area-1440,.contents-area-1024{overflow-x: hidden;}
    /*-------------header-------------*/
    /*サブメニュー挙動リセット*/
    .header-nav-no_pc{display: flex !important;}
    /*メインメニュー*/
    header{height: 70px;position: fixed;z-index: 100;}
    .header-nav{height: auto;position: fixed;top: 0;}
    .header-nav-logo > div{display: flex;align-items: center;font-size: 14px;}
    /*レスポンシブメニュー開閉ボタン*/
    .header-nav-sp-button{
        display: flex;
        height: 70px;
        width: 70px;
        z-index: 150;
        color: #fff;
        font-size: 13px;
        font-weight: bold;
        position: fixed;
        top: 0px;
        right: 0px;
        justify-content: center;
        background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
        border: 1px #fff solid;
        box-sizing: border-box;
    }
    .header-nav-sp-icon,
    .header-nav-sp-icon::before,
    .header-nav-sp-icon::after{
        content: '';
        display: block;
        height: 3px;
        width: 37px;
        background-color: #fff;
        position: absolute;
        top:15px;
        transition: all 0.3s;
    }
    .header-nav-sp-icon::before {top: 8px;}
    .header-nav-sp-icon::after {top: 16px;}
    .header-nav-sp-label::before{
        content: 'menu';
        position: relative;
        top: 36px;
        color: #fff;
        font-family: 'BIZUDPGothic-Bold';
    }
    /*レスポンシブメニュー開閉ボタン ここまで*/
    .header-nav-contents{
        flex-direction: column;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;
        padding-bottom: 80px;
        z-index:145;
        background-image: linear-gradient(152deg, #008f82 15% 0%, #006a7f 78% 100%);
        transition: all 0.3s;
        text-align: left;
        overflow-y: scroll;
    /*スクロールバー非表示*/
        -ms-overflow-style: none; /* IE, Edge 対応 */
        scrollbar-width: none;    /* Firefox 対応 */    
    }
    .header-nav-contents::-webkit-scrollbar {
        display: none; /* Chrome, Safari 対応 */
    }
    /*スクロールバー非表示　ここまで*/
    /*メインメニュー開閉挙動*/
    .header-nav:has(.header-nav-sp-button.list-open) .header-nav-contents{left: 0;transition: all 0.3s;}
    .header-nav-contents > div{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .list-open .header-nav-sp-icon{background-color: rgba(255, 255, 255, 0);}
    .list-open .header-nav-sp-icon::before {
        top: 9px;
        transform: rotate(33deg);
        transition: all 0.3s;
    }
    .list-open .header-nav-sp-icon::after {
        top: 9px;
        transform: rotate(-33deg);
        transition: all 0.3s;
    }
    .list-open .header-nav-sp-label::before{
        content: 'close';
        transition: all 0.3s;
        letter-spacing: 0.01em;
    }
    /*メインメニュー開閉挙動 ここまで*/
    .header-nav-contents > div{
        width: 100%;
        justify-content: space-between;
        font-size: 17px;
        color: #fff;
    }
    .header-nav-contents > div > button,
    .header-nav-contents > div > a{
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-top: solid 1px #fff;
        border-bottom: solid 1px #fff;
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 0 30px;
        color: #fff;
        font-size: 18px;
    }
    .header-nav-sub-opener,
    .header-nav-item{
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 15px 30px;
    }
    .header-nav-no_pc > a > div{display: flex;align-items: center;}
    .header-nav-sub{
        width: 100%;
        height: 0;
        top: unset;
        z-index: unset;
        overflow: hidden;
        flex-direction: column;
        position: relative;
        background-image: none;
    }
    .header-nav-sub > li{height: auto;}
    .header-nav-sub > li > a{
        border-left: none;
        border-right: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: #006a7f;
        text-align: left;
        font-size: 18px;
    }
    .header-nav-contact{
        color: unset;
        background-color: unset;
        height: auto;
        margin-left: 0;
    }
    .icon-contact-header{
        width: 30px;
        height: 30px;
        padding-left: 30px;
        margin-right: 10px;
        background-image: url("../images/icon_contact3.webp");
    }
    .no-webp .icon-contact-header{background-image: url("../images/icon_contact3.png");}
    .header-nav .logo-youtube-white{
        width: 30px;
        height: 30px;
        padding-left: 30px;
        margin-right: 12px;
    }
    .header-nav .logo-facebook-white{
        width: 30px;
        height: 30px;
        padding-left: 30px;
        margin-right: 12px;
    }
    /*タップ可能メニューのアイコン*/
    .header-nav-contents > div > a > span::before,
    .header-nav-contents > div > a > span::after,
    .header-nav-sub > li > a > span::before,
    .header-nav-sub > li > a > span::after{
        content: '';
        display: block;
        height: 1px;
        width: 20px;
        background-color: #fff;
        border-radius: 1px;
        transform: rotate(33deg);
    }
    .header-nav-contents > div > a > span::after,
    .header-nav-sub > li > a > span::after{transform: rotate(-33deg);margin-top: 10px;margin-right: 3px;}
    /*サブメニューがある要素のアイコン*/
    .header-nav-sub-opener span:before{
        content: '';
        display: block;
        height: 1px;
        width: 25px;
        background-color: #fff;
        transition: all 0.3s;
        transform: rotate(0deg);
    }
    .header-nav-sub-opener span::after{
        content: '';
        display: block;
        height: 25px;
        width: 1px;
        margin-left: 15px;
        margin-top: -12.5px;
        background-color: #fff;
        position: absolute;
        transition: all 0.3s;
        transform: rotate(0deg);
    }
    /*サブメニュー挙動*/
    .header-nav-hassub:has(.list-open) .header-nav-sub{
        overflow: visible;
        height: fit-content;
        opacity: 1;
    }
    .header-nav-hassub:has(.list-open) .header-nav-sub > li > a{
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 0 30px 0 48px;
    }
    /*サブメニュー開閉アイコン挙動*/
    .header-nav-hassub:has(.list-open) .header-nav-sub-opener span::after{transform: rotate(90deg);transition: all 0.3s;}
    /*サブメニュー挙動 ここまで*/
    /*メインメニュー ここまで*/
    main{padding-top: 70px;}/*headerサイズに合わせて位置調整*/
    /*-------------header ここまで-------------*/
    /*ページ*/
    .page-headline-area-gray{background-position: -140px center;}
    /*layout-card-2*/
    .layout-card-2-area{flex-direction: column;}
    .layout-card-2-headline{flex-direction: row-reverse;align-items: center;justify-content: flex-end;}
    .card-2-headline-fig1{margin-top: 0;}
    .layout-card-2-list{width: 100%;}
    /*layout-card-2 ここまで*/
    /*layout-flex-1*/
    .layout-flex-1-area {flex-direction: column;}
    .layout-flex-1-area1,.layout-flex-1-area2{width: 100%;}
    .layout-flex-1-area{gap: 100px;}
    /*layout-flex-1 ここまで*/
    /*layout-links-1*/
    .links-1-list-item{flex-direction: column;align-items: flex-start;}
    .links-1-list-buttonarea{min-width: unset;width: 100%;}
    .links-1-list-button1{width: 100%;}
    .contact-1-item-links{flex-direction: column;align-items: center;gap: 50px;}
    /*layout-links-1 ここまで*/
    /*ページ ここまで*/
}
/*-----------------------headerメニュー切り替え (width ≦ 1280px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 1080px)-----------------------*/
@media only screen and (max-width: 1080px) {
    .home-news-newsarea.cardlist-area{width: 85%;display: flex;flex-direction: column;align-items: center;}
    .consulting-about-list{flex-direction: column;}
    .consulting-about-list li{width: 100%;max-width: 500px;}
    /*ページ*/
    /*headline-area-img ここまで*/
    /*layout-number-1*/
    .layout-number-1-headline{width: 100%;}
    .layout-number-1-area{flex-direction: column;}
    .layout-number-1-list{width: 100%;}
    /*layout-number-1 ここまで*/
    /*layout-links-1*/
    .layout-links-1-area{gap: 120px;flex-direction: column;}
    .layout-links-1-headline{width: 100%;flex-direction: row-reverse;align-items: center;gap: 45px;justify-content: flex-end;}
    .links-1-headline-fig1{margin-top: 0;}
    .layout-links-1-headline br{display: none;}
    .layout-links-1-list{width: 100%;}
    .links-1-list-buttonarea{max-width: 450px;margin: 0 0 0 auto;}
    /*layout-links-1 ここまで*/
    /*ページ ここまで*/
}
/*-----------------------レスポンシブ (width ≦ 1080px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 1024px)-----------------------*/
@media only screen and (max-width: 1024px) {
    .home-news-newsarea.cardlist-area{width: 85%;display: flex;flex-direction: column;align-items: center;}
    .page-cardlist li{width: 49%;}
    .single-bannerarea{flex-direction: column;}
    .single-editcontent .table-area,.edit-content-area .table-area{overflow-x: auto;}
    .single-editcontent .table-area table,.edit-content-area .table-area table{min-width: 700px; width: auto;}
}
/*-----------------------レスポンシブ (width ≦ 1024px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 850px)-----------------------*/
@media only screen and (max-width: 850px) {
    /*ページ*/
    /*headline-area-gray*/
    .page-monitoring .page-headline-area-gray,
    .page-consulting .page-headline-area-gray,
    .page-public .page-headline-area-gray{background-color: #fff;color: #fff;background-size: 100% auto;background-position: left center;}
    .page-monitoring .page-headline-area-gray > div,
    .page-consulting .page-headline-area-gray > div,
    .page-public .page-headline-area-gray > div{filter: drop-shadow(0px 2px 5px #00000088);}
    .page-monitoring .headline-title,
    .page-consulting .headline-title,
    .page-public .headline-title{color: #fff;}
    .page-public .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img1.webp);}
    .no-webp.page-public .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img1.png)}
    .page-consulting .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img2.webp);}
    .no-webp .page-consulting .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img2.png);}
    .page-monitoring .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img3.webp);}
    .no-webp .page-monitoring .page-headline-area-gray{background-image: url(../images/page/bg-fig1-img3.png);}
    /*headline-area-gray ここまで*/
    /*headline-area-img*/
    .page-headline-img{display: none;}
    .page-headline-about{width: 100%;padding: 150px 100px;}
    /*headline-area-img ここまで*/
    /*layout-contact-1*/
    .contact-1-item-links a.asset_button1{width: 100%;}
    /*layout-contact-1 ここまで*/
    /*ページ ここまで*/
}
/*-----------------------レスポンシブ (width ≦ 850px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 768px)-----------------------*/
@media only screen and (max-width: 768px) {
    .no_pc{display: inline-block;}
    .home-service-headline.no_pc{display: none;}
    .home-fv-slide.no_pc{display: flex;}
    .flex-sp-column{flex-direction: column;}
    .contents-area-1024,.contents-area-1440,.contents-area-1680{padding: 0 45px;}
    .archive-link:has(.list-open){max-height: 40rem;}
    /*-------------footer-------------*/ 
    .button-gotop {width: 55px;height: 55px;right: 20px;}
    .footer-top{padding: 80px 45px;}
    .footer-top > .footer-content-area{flex-direction: column;}
    .footer-banner-area li{width: 100%; max-width: 250px;}
    .footer-nav{justify-content: flex-start; margin-top: 80px;}
    .footer-area2{margin-right: 100px;}
    .footer-policy {justify-content: center;}
    /*-------------footerここまで-------------*/
    /*------------------main------------------*/
    /*home*/
    .home-news-headline{margin-left: 0;}
    .home-service-bg1{background-image: url(../images/bg_bex1_sp.webp);width: 100%;background-position: right top;}
    .no-webp .home-service-bg1{background-image: url(../images/bg_bex1_sp.png);}
    .home-service-headline,.home-service-headline-sub{margin-left: 0;}
    .home-service1,.home-service2{flex-direction: column;aspect-ratio: unset;}
    .home-service-proposal{background-image: url("../images/front-page/service_proposal1_sp.webp");width: 100%;height: 200px;border-right: none;}
    .no-webp .home-service-proposal{background-image: url("../images/front-page/service_proposal1_sp.png");}
    .home-service-design{background-image: url("../images/front-page/service_designworks_sp.webp");width: 100%;height: 200px;border-left: none;}
    .no-webp .home-service-design{background-image: url("../images/front-page/service_designworks_sp.png");}
    .home-service-consulting{background-image: url("../images/front-page/service_consulting_sp.webp");width: 100%;height: 200px;border-right: none;border-top: none;}
    .no-webp .home-service-consulting{background-image: url("../images/front-page/service_consulting_sp.png");}
    .home-service-public{background-image: url("../images/front-page/service_public_sp.webp");width: 100%;height: 200px;border-left: none;}
    .no-webp .home-service-public{background-image: url("../images/front-page/service_public_sp.png");}
    .home_pfilist a{flex-direction: column;gap: 6px;}
    .asset_pfi_term{margin-right: 0;}
    .home_pfilist li{margin-top: 35px;}
    /*home ここまで*/
    /*vision*/
    .page-vision-result{flex-direction: column;}
    .vision-result-headline{width: 100%;text-align: left;}
    .vision-result-text{width: 100%;}
    .page-vision .home-service-proposal, .page-vision .home-service-design, .page-vision .home-service-consulting, .page-vision .home-service-public{flex-direction: column;}
    .vision-service-about{width: 100%;}
    .vision-bex-area {justify-content: flex-start;align-items: flex-start;gap:unset;flex-direction: column;padding-top: 50px;}
    ul.vision-bex-list{margin-top: 0;}
    /*vision ここまで*/
    /*about*/
    .page-company-structure{flex-direction: column;align-items: flex-start;}
    .company-structure-line{display: none;}
    .company-structure-1{transform: unset;margin-bottom: 30px;}
    /*about ここまで*/
    /*access*/
    .page-access .flex-sp-column.ai-center.flex-g50{align-items: flex-start;}
    .access-mapimg-tokyo,.access-mapimg-osaka{width: 100%;height: auto;}
    .page-access-flex{flex-direction: column;align-items: flex-start;}
    .page-access-flex{width: 100% !important;}
    .page-access-data{width: 100% !important;max-width: unset;}
    /*access ここまで*/
    /*Public policy*/
    .page-headline-area-green > .contents-area-1440 > hr {width: 100%;}
    .page-headline-area-green > .contents-area-1440 > ul{width: 100%;}
    .public-worklist{flex-direction: column;}
    .public-worklist:has(.worklist-design),.public-worklist:has(.worklist-movie){flex-direction: column-reverse;}
    .public-worklist-about{width: 100%;}
    .public-worklist-about a.asset_button1{width: 100%;}
    .public-worklist-slider:has(.worklist-seminar):after, .public-worklist-slider:has(.worklist-3dcg):after,.public-worklist-slider:has(.worklist-movie):after, .public-worklist-slider:has(.worklist-design):after{display: none;}
    /*Public policy ここまで*/
    /*Public third-party-evaluation*/
    .page-third-merit{width: 100%;}
    /*Public third-party-evaluation ここまで*/
    /*page-consulting*/
    .consulting-supporter-list{flex-direction: column;align-items:center}
    .consulting-supporter-list > li{width: 100%;max-width: 500px;}
    /*page-consulting ここまで*/
    /*page-sdgs*/
    .page-sdgs-about{padding: 0;}
    /*page-sdgs ここまで*/
    /*page-result*/
    .page-headline-area-green > .contents-area-1440 > ul.page-result-aboutlist{flex-direction: column;width: 100%;}
    .page-headline-area-green > .contents-area-1440 > ul.page-result-aboutlist > li{width: 100%; max-width: 300px;}
    .page-result-listarea{flex-direction: column;}
    .result-public .page-result-list,
    .result-facility .page-result-list{width: 100%;display: flex;gap: 15px;}
    .page-result-list.no_sp{display: none;}
    .page-result-listarea.result-facility:has(.no_sp){padding-top: 0;transform: translateY(-15px);}
    /*page-result ここまで*/
    /*ページ*/
    .page-headline-about{padding: 150px 45px;}
    .layout-contact-1-item{padding: 50px;}
    .contact-1-item-links{padding: 40px;}
    .card-2-list-item{width: 100%;min-height: unset;}
    /*ページ ここまで*/
    /*------------------main ここまで------------------*/
    .no_sp{display: none;}/*レスポンシブ時のみ表示・適用*/
}
/*-----------------------レスポンシブ (width ≦ 768px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 650px)-----------------------*/
@media only screen and (max-width: 650px) {
    .page-contact-formarea > li{flex-direction: column;}
    .page-contact-headline{width: 100%;}
    .page-contact-form{width: 100%;}
    .page-contact-consentcheck > div > p:nth-child(1){justify-content: flex-start;}
    .page-contact-aside{width: 100%;min-width: unset;}
    .archive-link li{width: 31.5%;}
    .page-front a.asset_button2 > div > br{display: unset;}
    .page-headline-area-green{padding: 50px 0;}
    .page-result .page-headline-about{padding: 35px;}
    .page-company-data {gap: 3em;}
    .page-company-data li{flex-direction: column;gap: 1em;}
    .page-company-data li > div:nth-child(1) {padding-bottom: 1em;border-bottom: none;}
    .page-company-data li > div:last-child{width: 100%;padding-bottom: 3em;}
}
/*-----------------------レスポンシブ (width ≦ 650px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 525px)-----------------------*/
@media only screen and (max-width: 525px) {
    .header-logo{margin: 0 20px 0 18px;}
    .header-nav-contents > div > button, .header-nav-contents > div > a{padding: 0 20px;}
    .header-nav-hassub:has(.list-open) .header-nav-sub > li > a{padding: 0 20px 0 40px;}
    .home-news-headline{font-size: 1.7em;}
    .home-service-headline{font-size: 1.7em;}
    .home_pfi_index{font-size: 1.7em;}
    .home-service-headline.no_pc{display: inline-block;}
    .service-headline{font-size: 1.6em;}
    .home_pfi_index::before{height: 65px;}
    .page-headline-about{padding: 40px 40px 60px 40px;}
    a.asset_button2{width: 85%;}
    .footer-nav{flex-direction: column;}
    .footer-area2{margin-right: 0;}
    .footer-area3{margin-top: 25px;}
    .footer-banner-area{gap: 30px;}
    .footer-policy{gap:20px;}
    .page-sdgs .flex.ai-center.pt50{flex-direction: column;align-items: flex-start;}
    .consulting-about-list li{flex-direction: column;}
    .page-cardlist{justify-content: center;}
    .page-cardlist li{width: 100%;}
    .pagenav-area{flex-wrap: wrap;}
    .single-editcontent h2,.single-editcontent h4{padding: .8em 0 .8em .8em;}
    .single-editcontent h3,.single-editcontent h5{padding: .5em 0 .5em .8em;}
    table.page-vision tr{display: grid;}
    table.page-vision tr td{text-align: left !important;}
    .vision-bex-headline{padding-top: 30px;font-size: 1.5em;}
    .vision-bex-list > li{flex-direction: column;gap: unset;padding-top: 30px;align-items: flex-start;}
    .vision-bex-list > li > ul {margin-top: 0;}
    table.page-company td:first-child{ width: 6.5em !important; text-wrap-style: balance;}
    .page-headline-area-green > .contents-area-1440 > ul > li{padding: 0 1em;font-size: 1em;}
    .page-result-list li span{font-size: .75rem;}
    .result-public .page-result-list, .result-facility .page-result-list{gap:5px}
    a.asset_button1{width: 100%;}
    /*ページ*/
    .page-headline-strong{font-size: 25px;line-height: 1.88em;letter-spacing: .07em;}
    .page-headline-text{line-height: 2.2em;}
    .page-headline-about{gap: 30px;}
    .number-1-headline-text1,
    .card-2-headline-text1,
    .card-1-headline-text1,
    .links-1-headline-text1,
    .monitoring-evaluation .number-1-headline-text1,
    .column-1-headline-text1,
    .flex-1-headline-text1,
    .contact-1-headline-text1{font-size: 32px;}
    .links-1-headline-text1{line-height: 1.88em;}
    .number-1-list-item{flex-direction: column;gap: 55px;}
    .number-1-list-num{width: fit-content;}
    .card-1-list-slider .slick-list.draggable{width: 330px;margin: 0 auto 0 0;}
    .card-1-list-slider li.slick-slide{width: 300px !important;margin-right: 30px;}
    .page-public .layout-links-1-headline{flex-direction: column;align-items: flex-start;}
    .layout-flex-1-area2{min-width: unset;}
    .column-1-text-images{flex-direction: column;gap: 30px;align-items: center;}
    .column-1-text-images > img{width: 100%; max-width: 300px;}
    .contact-1-item-links{padding: 0;background-color: #fff;}
    a.contact-1-tel-num{font-size: 28px;}
    .contact-1-tel-num > span{width: 28px;height: 28px;}
    .page-layout-number-1 .pt150.pb150,
    .page-layout-card-1 .pt150.pb150,
    .page-layout-card-2 .pt150.pb150,
    .page-layout-flex-1 .pt150.pb150{padding-top: 100px !important;padding-bottom: 100px !important;}
    .layout-number-1-area{gap: 80px;}
    .layout-card-1-area{gap: 60px;}
    .card-1-list-slider .cardlist-dots li,
    .card-1-list-slider .cardlist-dots li.slick-active,
    .card-1-list-slider .cardlist-dots button{width: 70px;}
    .card-2-headline-fig1{width: 50px;height: 65px;}
    .contact-1-headline-fig1{width: 40px;height: 55px;}
    .card-2-list-item{padding: 45px 35px;}
    .card-2-list-headline > .card-2-headline-fig1{width: 43px;}
    .number-1-list-text2,
    .flex-1-area1-text{line-height: 2.2em;}
    .layout-flex-1-area1{gap: 80px;}
    .column-1-headline-text1{padding-right: 0;}
    .layout-contact-1-headline{gap: 30px;}
    .layout-contact-1-item{padding: 35px;}
    .contact-1-item-links a.asset_button1{padding: 20px 30px;}
    .contact-consent{height: 17em;}
    /*ページ ここまで*/
}
/*-----------------------レスポンシブ (width ≦ 525px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 430px)-----------------------*/
@media only screen and (max-width: 430px) {
    .contents-area-1024,.contents-area-1440,.contents-area-1680{padding: 0 25px;}
    .footer-top{padding: 80px 25px;}
    .page-access-data ul li{flex-direction: column;}
    .page-access-data ul li > div:nth-of-type(1){border-bottom: none;padding-bottom: 0;}
    .page-result-list li{font-size: 1.3rem;}
    .page-result-list li.result-listitem-result{font-size: 1.5rem;}
    .asset_pfi_term{transform: scale(.88);transform-origin: center left;}
    .page-headline-area-gray{padding: 35px 0;}
    .page-president .page-president-headline > br{display: none;}
    .page-president:has(.page-president-headline){padding-bottom: 10px !important;}
    .headline-cat-area{gap: 15px;}
    .headline-cat{min-width: unset;padding: 0 .45em;}
}
/*-----------------------レスポンシブ (width ≦ 430px) ここまで-----------------------*/

/*-----------------------レスポンシブ (width ≦ 380px)-----------------------*/
@media only screen and (max-width: 380px) {
    .footer-contact{width: 250px;font-size: .9em;}
    .footer-banner-area{align-items: center; flex-direction: column;}
    .consulting-about-list li{font-size: 1em;}
    .consulting-supporter-about{align-items: center;}
    .consulting-supporter-icon{background-position: center;width: 13%;}
    .consulting-supporter-about > div{min-height: 60px;font-size: .9em;width: 85%;}
    .consulting-supporter-headline::after{width: 80%;}
    .page-headline-area-green > .contents-area-1440 > ul{min-width: unset;}
    .archive-link li{width: 48.5%;}
    .headline-title{font-size: 1.8rem}
    .pt100{padding-top: 80px !important;}
    .page-monitoring .page-headline-strong > br{display: none;}    
}
/*-----------------------レスポンシブ (width ≦ 380px) ここまで-----------------------*/