@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 {/*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;
}
/*使用フォント ここまで*/
/*共通カラー*/
:root {
  color-scheme: light;/*ライトモードのみの運用*/
  --text: #222222;
  --white: #ffffff;
  --black: #000000;
  --bg-bgitem: #D5EEEF;
  --bg-htext: #007A7A;
  --bg2: #00B4BA;
  --bg3-main: #00B3AA;
  --important: #BC1616;
}
/*共通カラー　ここまで*/
/*基本書式*/
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.85;
  letter-spacing:0.04em;
  font-size: 16px;
  font-weight: normal;
  color: var(--text);
  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.85;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
a{
  color: var(--bg3-main);
  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; cursor: pointer;}
.no_sp{display: inline-block;}/*PCのみ表示・適用*/
.grecaptcha-badge {visibility: hidden;}/*reCAPTCHAのロゴを非表示にする*/
:target {scroll-margin-top: 30px;}
/*footerを最下部に固定*/
html {height: 100%;}
body {min-height: 100%;display: flex;flex-direction: column;width: 100%;overflow-x: hidden;}
main {flex: 1;z-index: 2;overflow-x: hidden;padding-top: 85px;/*header fixed height*/}
main.home{padding-top: 0;}
/*footerを最下部に固定 ここまで*/
body{opacity: 0.01;/*フェードイン初期値*/overflow-x: hidden;}
/*------------------基本設定　ここまで------------------*/

/*-------------header-------------*/
header{
  display: flex;
  background-color: unset;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 150;
}
header::before{
  content: "";
  display: block;
  width: 85.5px;
  height: 0;
  flex-shrink: 0;
}
 /*header スクロールで表示・非表示挙動*/
#header.header-up{animation: HeaderUp 0.5s forwards;}
@keyframes HeaderUp{
  from{opacity: 1;transform: translateY(0);}
  to{opacity: 0;transform: translateY(-110px);}
}
#header.header-down{animation: HeaderDown 0.5s forwards;}
@keyframes HeaderDown{
  from{opacity: 0;transform: translateY(-110px);}
  to{opacity: 1;transform: translateY(0);}
}
#header.header-up:has(.list-open),
#header.header-down:has(.list-open){ animation: unset; }
 /*header スクロールで表示・非表示挙動 ここまで*/
/*メインメニュー*/
.header__nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto;
  padding: 0 0 0 40px;
  font-size: 16px;
  background-color: #ffffffb8;
  color: var(--text);
  border-radius: 0 0 0 12px;
  max-width: calc(50% + 720px);
}
/*header-title*/
.header__nav-title{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 16px;
  text-decoration: none;
  color: var(--bg-htext);
  letter-spacing: 0.1em;
}
/*header-title ここまで*/
/*header-mainmenu*/
.header__nav-mainmenu{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
/*header nav-list要素*/
.header__nav-list{
  width: auto; height: auto;
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  align-items: center;
  list-style: none;
}
.header__nav-list > li{
  list-style: none;
}
.header__nav-item{
  text-decoration: none;
  color: var(--text);
  line-height: 1.16;
  display: block;
  width: auto;
  height: auto;
  padding: 16px 0;
}
.header__nav-list li:nth-child(n+2){
  width: auto;  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.header__nav-list li:nth-child(n+2)::before{
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background-color: #9A9A9A;
}
.header__nav-list li:has(.header__nav-item-access):before{content: none;}
.header__nav-item-access{/*お問合せボタン*/
  width: 176px; height: auto;
  padding: 24px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background-color: var(--bg3-main);
}

/*header nav-list要素 ここまで*/

/*レスポンシブメニュー開閉ボタン*/
.header__nav-sp-button{
  display: none;/*表示させる場合はflex*/
}
/*レスポンシブメニュー開閉ボタン ここまで*/

/*フォントサイズ変更*/
.header__nav-fontsize{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 12px;
  text-align: center;
  position: absolute;
  display: flex;
  gap: 4px;
  background-color: var(--bg3-main);
  color: var(--white);
  border-radius: 30px;
  align-items: center;
  padding: 4px 4px 4px 8px;
  right: 0;
  transform: translateX(-8px) translateY(60px);
}
.header__btn__font-size{
  display: flex;
  gap: 4px;
  width: fit-content;
  height: auto;
}
.btn__font-size{
    width: 56px;
    height: 25px;
    background-color: var(--white);
    border: solid 1px var(--white);
    border-radius: 30px;
    color: var(--bg-htext);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn__font-size.fontsize__larger{font-size: 18.5px;}
.base-middle .btn__font-size.fontsize-middle,
.font-middle .btn__font-size.fontsize-middle,
.font-large .btn__font-size.fontsize-larger{background-color: var(--bg-htext); color: var(--white);}
.base-middle .fontsize-controll,
.font-middle .fontsize-controll{font-size: unset; transition: font-size 0.3s;}
.font-large .fontsize-controll{font-size: larger; transition: font-size 0.3s;}
/*フォントサイズ変更 ここまで*/

/*メインメニュー ここまで*/
/*-------------header ここまで-------------*/


/*-------------footer-------------*/
footer{
  background-color: var(--white);
  width: 100%;height: auto;
  padding-top: 160px;
}
.page-signage footer{padding: 0;}
.page-signage footer{padding: 0;}
.footer__logo-image{
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.footer__company{
  width: 100%;height: 30px;
  max-width: 565px;
  margin: 0 auto;
  background-image: url("../images/footer-company-1.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.footer__image{
  width: 100%;  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  align-items: center;
}
.footer__image-logo{
  width: 160px;height: auto;
  position: absolute;
}
.footer__image-blue{
  width: 100%; height: 125px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/footer-blue.png");
  background-repeat: no-repeat;
  background-size: auto 125px;
  background-position: center top;
}
.footer__image-blue-home{
  width: 100%; height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/footer-home-sky.png");
  background-repeat: no-repeat;
  background-size: auto 160px;
  background-position: center top;
}
@media only screen and (min-width: 1850px) {/*画面幅に対し画像幅が足りなくなった場合の処理*/
  .footer__image-blue{
    width: calc(100% + 220px);
    background-image: url("../images/footer-blue.png");
    background-repeat: no-repeat;
    background-size: auto 160px;
    background-position: center top;
    background-color: var(--bg2);
    border-radius: 50% 50% 0% 100% / 100% 100% 0% 0%;
    overflow: hidden;
  }
  .footer__image-blue-home{
    width: calc(100% + 220px);
    background-image: url("../images/footer-home-sky.png");
    background-repeat: no-repeat;
    background-size: auto 160px;
    background-position: center top;
    background-color: var(--bg2);
    border-radius: 50% 50% 0% 100% / 100% 100% 0% 0%;
    overflow: hidden;
  }
}
.footer__image-setagaya-home{
  width: 100%;height: auto;
  padding: 0 143px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--bg3-main);/*.footer__topと同一*/
}

.footer__image-setagaya-home > img{
  width: 100%; height: auto;
  max-width: 1314px;
  min-width: 450px;
  overflow: hidden;
  transform: translateY(-15px);
}

/*footer menu*/
.footer__top{
  margin: 0 auto;
  width: 100%;  height: auto;
  overflow-x: hidden;
  padding: 72px 165px 48px 165px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background-color: var(--bg3-main);/*.footer__image-setagaya-homeと同一*/
  color: var(--white);
}
.footer__top::before{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-footer-right.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  transform: translateY(-72px);
  z-index: -1;
}
.footer__content{
  display: flex;
  justify-content: flex-start;
  gap: 200px;
  width: 100%;
  max-width: 1440px;
  height: auto;
  margin: 0 auto;
}
.footer__content-1{
  width: 400px;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.footer__site-title{
  display: inline-block;
  width: 100%; height: auto;
  text-decoration: none;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 28px;
  color: var(--white);
  letter-spacing: 0.15em;
}
.footer__site-title-sub{
  display: inline-block;
  width: 100%; height: auto;
  font-size: 14px; letter-spacing: 0.2em;
  padding-bottom: 20px;
}
.footer__content-1 img{
  width: 125px; height: auto;
  transform: translateX(-60px);
}

.footer__nav{
  width: auto; height: auto;
  display: flex;
  gap: 80px;
  flex-shrink: 1;width: auto;
}
.footer__nav-item > a{
  text-decoration: none;
  color: var(--white);
}
.footer__nav-1,.footer__nav-2,.footer__nav-3{
  display: flex;
  width: fit-content;
  height: auto;
  flex-direction: column;
  gap: 24px;
  flex-shrink: 0;
  z-index: 2;
}
.footer__bottom{
  padding: 32px 165px 0 165px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  background-color: var(--bg3-main);/*.footer__topと同一*/
}
.footer__bottom > .footer__content{
  padding: 32px 0;
}
.footer__policy{
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.footer__policy > li >a{
  text-decoration: none;
  color: var(--white);
  font-size: 13px;
}
.footer__policy > li.footer__policy__selected >a{
  color: var(--bg2);
}
.footer__copylight{
  font-size: 13px;
  color: var(--white);
}
.footer__bottom-f{
  width: 100%;  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
  justify-content: space-between;
}
/*-------------footer ここまで-------------*/


/*-------------main component-------------*/

/*btn__asset-1*/
.btn__asset-1{
  width: auto; height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: var(--bg3-main);
  gap: 1em;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  letter-spacing: 0.06em;
}
.btn__asset-1::after{
  content: "";
  display: inline-block;
  width: 38px;
  height: 38px;
  padding-right: 38px;
  background-image: url("../images/arrow-box-right.png");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.anchor-list .btn__asset-1{color: var(--bg-htext);}
.anchor-list .btn__asset-1::after{
  content: "";
  display: inline-block;
  width: 38px;
  height: 38px;
  padding-right: 38px;
  background-image: url("../images/arrow-box-bottom.png");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
/*btn__asset-1 ここまで*/
/*page__top*/
.page__top-view {
  width: 100%;
  height: 452px;
  object-fit: cover;
}
.page__top-rect {
  width: 242px;
  height: auto;
  transform: translateX(-10px);
}
.page__top-title .parts__section-title{padding-top: 16px;}
/*page__top ここまで*/

/*.post__single*/
.post__single{padding: 0;}
.post__single-content{
  width: 100%;
  max-width: 1440px;
  padding: 100px 165px 0 165px;
  margin: 0 auto;
}
.post__single-title{
  color: var(--bg-htext);
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
  font-size: 32px;
}
.post__single-detail{
  padding: 40px 0 64px 0;
  border-bottom: solid 1px var(--bg3-main);
  width: 100%; height: auto;
}
.post__single-edit-content{
  padding: 64px 0 64px 0;
  border-bottom: solid 1px var(--bg3-main);
}
/*.post__single ここまで*/

/*.post__page*/
.post__page{padding: 0;}
.post__page-content{
  width: calc(100% - 165px);
  max-width: 1440px;
  height: auto;
  padding: 100px 0 0 0;
  margin: 0 auto;
}
.post__page-edit-content{
  padding: 0 0 64px 0;
}
/*.post__page ここまで*/
/*固有ページ設定*/
.post__page.page-policy .post__page-content{max-width: 1110px;}
/*固有ページ設定 ここまで*/

/*post-list*/
.post-list{
  width: 100%; height: auto;
  display: flex;
  flex-wrap: wrap;
}
.post-list__item{
  width: 100%; height: auto;
}
.post-list__item > a{
  text-decoration: none;
}
.post-list__item-img,
.post-list__item-img img{
  width: 100% !important; height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.post-list__item-detail{
  width: 100%; height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  padding-top: 8px;
}
.post-list__item-detail::after{
  content: "";
  width: 25px; height: 25px;
  display: block;
  flex-shrink: 0;
  background-image: url("../images/icon-link-arrow-1.png");
  background-repeat: no-repeat;
  background-size: 25px 25px;
}
.post-list__item-text{
  display: flex;
  gap: 8px 24px;
  align-items: center;
  flex-wrap: wrap;
}
.post-list__item-date{
  color: var(--bg3-main);
  font-family: 'BIZUDPGothic-Bold';
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.36px;
  text-decoration: none;
}
.post-list__item-title{
  color: var(--text);
  font-size: 16px;
  text-decoration: none;
}
/*post-list ここまで*/
/*component__pager*/
.component__pager{
  width: 100%; height: auto;
  margin: 0 auto;
  padding-top: 140px;
  text-align: center;
}
.pager__list{
  width: 100%; height: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 32px;
  list-style: none;
}
.pager__item,
.btn__pager-num,
.btn__pager-selector{
  width: auto;
  min-width: 20px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  color: var(--text);
  text-decoration: none;
}
.btn__pager-selector.back{
  width: 40px; height: 40px;
  background-image: url('../images/arrow-box-left.png');
  background-repeat: no-repeat;
  background-size: contain;
}
.btn__pager-selector.next{
  width: 40px; height: 40px;
  background-image: url('../images/arrow-box-right.png');
  background-repeat: no-repeat;
  background-size: contain;
}
.btn__pager-num.selected{
  background-color: var(--white);
  color: var(--bg3-main);
  border-bottom: 1px solid var(--bg3-main);
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
/*component__pager ここまで*/
/*component__news*/
.component__news .post-list{
  gap: 60px 40px;
}
.component__news .post-list__item{
  width: calc(50% - 20px);
}
.component__news .post-list__item-img,
.component__news .post-list__item-img img{
  border-radius: 24px;
}
/*component__news ここまで*/
/*component__progress*/
.component__progress .post-list{
  gap: 60px;
  padding-top: 40px;
}
.component__progress .post-list__item-img,
.component__progress .post-list__item-img img{
  border-radius: 32px;
}
/*component__progress ここまで*/
/*post-content*/
.post-content__title{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 2.4px;
}
.post-content__detail{
  width: 100%; height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 70px;
}
.single-detail-_detail-date{
  width: auto;height: auto;
  display: inline-block;
  flex-shrink: 0;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
.post__single-post-content .post__single-edit-content{
  margin-top: 24px;
  padding-top: 80px;
  border-top: solid 1px var(--bg3-main);
}
.post__single-back{
  width: 100%; height: auto;
  padding-top: 64px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
/*post-content ここまで*/

/*component__edit-content(固定ページ、投稿の自由記述対応)*/
/*edit-content内指定*/
.edit-content h1,
.edit-content h2{
  width: 100%;
  height: auto;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  letter-spacing: .08em;
  padding: 0.5em 0 1.5em 1.5em;
  line-height: 1.5;
}
.edit-content h1::before,
.edit-content h2::before{
  content: "";
  display: block;
  width: 1em;
  height: 1.8em;
  background-image: url(../images/icon-headline.png);
  background-repeat: no-repeat;
  background-position: left;
  background-size: 0.9em auto;
  position: absolute;
  transform: translateX(-1.3em) translateY(-0.12em);
}
.edit-content h3{
  width: 100%;
  height: auto;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  display: flex;
  gap: 1em;
  margin-bottom: 20px;
  transform: translateY(-0.7em);
}
.edit-content h3::before{
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  background-color: var(--bg3-main);
  border-radius: 1.5em;
  flex-shrink: 0;
  transform: translateY(0.45em);
}
.edit-content h4{
  width: 100%;
  height: auto;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  display: flex;
  gap: 1em;
  margin-bottom: 20px;
  transform: translateY(-0.7em);
}
.edit-content h4::before{
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  background-color: var(--bg3-main);
  border-radius: 1em;
  flex-shrink: 0;
  transform: translateY(0.65em);
}
.edit-content strong{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal !important;
}
.edit-content .aligncenter{
  margin: 0 auto;
  text-align: center;
}
.edit-content .alignleft{
  margin: 0 auto 0 0;
  text-align: left;
}
.edit-content .alignright{
  margin: 0 0 0 auto;
  text-align: right;
}
.anchor-list{
  width: 100%; height: auto;
  padding-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 80px;
}
.edit-content ul li{
  list-style: disc;
  list-style-position: outside;
  padding-right: 1.5em;
  transform: translateX(1.5em);
}
.edit-content ol li{
  list-style: num;
  list-style-position: outside;
  padding-right: 1.5em;
  transform: translateX(1.5em);
}
.edit-content td{
  border-bottom: 1px solid var(--bg3-main);
  padding: 32px 16px;
  height: auto !important;
}
.edit-content tr{height: auto !important;}
.edit-content hr{border-block-start: 1px solid var(--bg2);}
/*edit-content ここまで*/

/*home*/
/*FVslide*/
.home__fv{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
}
.home__fv-contents{
  position: absolute;
  width: calc(100% - 165px);
  max-width: 1440px;
  height: 500px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  transform: translateY(30px);
}
.home__fv-content1{
  display: flex;
  flex-direction: column;
  gap: 45px;
  width: auto;
  height: auto;
}
.home__fv-title{
  color: var(--white);
  letter-spacing: 0.15em;
  filter: drop-shadow(2px 1px 5px #00000088);
}
.home__fv-title h1{letter-spacing: 0.23em;font-size: 38px;}
.home__fv-title-sub{font-size: 14px;}
.home__fv-menu{
  width: 320px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.home__fv-menu li{
  width: 152px; height: 116px;
}
.home__fv-menu a{
  background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0.81) 100%);
  border-radius: 7px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  width: 152px;  height: 116px;
  color: var(--text);
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  padding: 14px 0 0 0;
}
.home__fv-menu img{
  width: 56px; height: auto;
}
.home__fv-menu .fv-menu-env img{
  width: 40px; height: auto;
}
.home__fv-menu .fv-menu-report img{
  width: 35px; height: auto;
}


.home__fv-content2{
  width: auto;
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.home__fv-phrase{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  color: var(--white);
  display: flex;
  letter-spacing: 0.18em;
  flex-direction: column;
  align-items: flex-start;
  font-size: 28px;
  gap: 16px;
}
.home__fv-phrase span{
  background: linear-gradient(270deg, rgba(0, 206.37, 206.37, 0.65) 0%, rgba(0, 229.25, 103.16, 0.65) 100%);
  padding: 4px 9px 4px 16px;
}
/*slick*/
.home__fv-slide{
  width: 100%; height: 780px;
  flex-shrink:0;
}
.home__fv-slide-sp{
  width: 100%; height: 400px;
  flex-shrink:0;
}
.fv-slide-img{
  width: 100%; height: 780px;
  object-fit: cover;
}
.slick-dotted.slick-slider{margin-bottom: 0;}
.home__fv .slick-dots{
  position: absolute;
  bottom: unset;
  display: flex;
  width: 100%;
  height: auto;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  transform: translateX(0px) translateY(70px);
}
.slick-dots li button:before{
  content: "";
  background-color: var(--white);
  border-radius: 20px;
  opacity: .65;
  width: 10px; height: 10px;
}
.slick-dots li.slick-active button:before {
  opacity: .65;
  background-color: var(--bg3-main);
}
/*slick ここまで*/
/*FVslide ここまで*/

.home__box{
  width: calc(100% - 165px);  height: auto;
  margin: 0 auto;
  max-width: 1440px;
  min-width: 300px;
}
.parts__section-title{
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--bg-htext);
  font-size: 14px;
  letter-spacing: 0.12em;
}
.section-title{font-size: 30px; line-height: 1.55; letter-spacing: 0.2rem;}
.section-title-sub{font-size: 14px; font-family: 'BIZUDPGothic-Bold'; font-weight: normal;letter-spacing: 0.1rem;}

/*home-news*/
.home__news{
  width: 100%;height: auto;
  padding: 120px 0 0 0;
  overflow-x: hidden;
}
.home__news::after{
  content: "";
  display: block;
  width: 210px; height: 121px;
  background-image: url(../images/bg-rect-right.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 0;
}
.home__news .home__box{
  width: 100%; height: auto;
  max-width: 1080px;
  display: flex;
  gap: 72px;
}
.home__news-title{
  flex-shrink: 0;
  width: 200px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}
.home__news-title .section-title{font-size: 25px;}
.home__news-title img{width: 130px; height: auto;}
.home__news-contents{gap:60px;}
.home__news-list,.home__news-contents{
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
}
.page-news .home__news-list{max-width: 1024px;width: fit-content;margin: 0 auto;}
.page-documents  .home__news-list,
.page-environmental-survey  .home__news-list{max-width: 1024px; padding: 60px 0 0 300px;}
.home__news-list-item{ width: 100%; height: auto;}
.home__news-list-item > a{
  width: 100%; height: auto;
  text-decoration: none;
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  gap: 48px;
  color: var(--text);
}
.home__news-item-date{flex-shrink: 0;}
.icon__pdf{
  display: inline-block;
  width: 2em;
  height: 2.5em;
  padding-left: 2em;
  background-image: url(../images/icon-pdf.png);
  background-size: auto 2.5em;
  background-position: center bottom;
  margin-left: 0.3em;
  position: absolute;
  transform: translateY(-0.1em);
  background-repeat: no-repeat;
}
.home__news-btn{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-end;
}
/*home-news ここまで*/
/*home-about*/
.home__about{
  width: 100%; height: auto;
  padding: 200px 0 0 0;
  overflow-x: hidden;
}
.home__about-contents{
  width: 100%; height: auto;
  display: flex;
  justify-content: space-between;
  gap: 100px;
  align-items: center;
}
.home__about-contents img{
  width: 100%;
  max-width: 600px;
  height: auto;
}
.home__about-list,.home__about-list > table{
  width: auto;
  min-width: 40%;
  height: auto;
  border-collapse: collapse;
  flex-shrink: 0;
}
.home__about-list th,
.home__about-list td{
  font-family: 'BIZUDPGothic-Regular';
  font-weight: normal;
  letter-spacing: 0.13rem;
  color: var(--text);
  padding: 24px 0;
  border-bottom: solid 1px var(--bg3-main);
}
.home__about-list th{
  padding-right: 2rem;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
/*home-about ここまで*/
/*home__schedule*/
.home__schedule{
  width: 100%;
  height: auto;
  padding: 220px 0 0 0;
  overflow-x: hidden;
}
.parts__section-headline{
  display: inline-block;
  padding-left: 1.3em;
}
.parts__section-headline::before{
  content: "";
  display: block;
  width: 1em;
  height: 1.85em;
  background-image: url(../images/icon-headline.png);
  background-repeat: no-repeat;
  background-position: left;
  background-size: 0.9em auto;
  position: absolute;
  transform: translateX(-1.3em);
}
.home__schedule .parts__section-headline:nth-of-type(1){
  padding: 80px 0 100px 1.3em;
}
.home__schedule .parts__section-headline:nth-of-type(2){
  padding: 120px 0 0 1.3em;
}
.page-environmental-survey .parts__section-headline{padding: 100px 0 0 1.3em;}
.page-schedule .parts__section-headline.schedule-all{padding: 100px 0 40px 1.3em;}
.page-schedule .parts__section-headline.schedule-month{padding: 160px 0 0 1.3em;}
.home__schedule object,
.home__schedule iframe,
.page-schedule object,
.page-schedule iframe,
.page-signage object,
.page-signage iframe
{
  width: 100%;
  max-width: 1100px;
  height: auto;
  aspect-ratio: 1.4 / 1;
  margin: 0 auto;
  background: transparent;
  border: none;
}
.page-signage object,
.page-signage iframe{
  width: 100%;
  max-width: unset;
  height: 750px;
  aspect-ratio: unset;
}
/*home__schedule ここまで*/
/*home__status*/
.home__status{
  width: 100%;height: auto;
  overflow-x: hidden;
  padding-top: 200px;
}
.home__status-content-1{
  display: flex;
  width: 100%;
  height: auto;
  justify-content: space-between;
  padding: 40px 0 0 0;
}
.home__status-list{
  width: 385px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
}
.home__status-item{
  display: flex;
  flex-direction: column;
  width: 385px;
  height: auto;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border: solid 1px var(--bg2);
}
.home__status-item ul{width: 100%;height: auto; display: flex; justify-content: space-between; align-items: center;}
.status-item-point{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  letter-spacing: 0.11em;
  display: inline-block;
  width: 6.4em;
}
.status-item-title{font-family: 'BIZUDPGothic-Bold'; font-weight: normal;}
.status-item-data{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 20px;
  color: var(--bg-htext);
}
.status-item-data span{font-size: 14px;}
.home__status-content-1 img{ width: calc(100% - 450px); height: auto;object-fit: contain;}
.home__status .home__box::after{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-left.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  transform: translateY(-90px);
  z-index: -1;
}

.home__status-camera{
  width: 100%;
  height: auto;
  display: flex;
  gap: 40px;
  padding-top: 80px;
}
.home__status-camera li{
  width:calc(50% - 20px);
  height: auto;
}
.home__status-camera li img{
  width:100%;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  margin-bottom: 20px;
}
.status-camera-name{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  text-align: center;
  width: 100%;height: auto;
  line-height: 1.1rem;
}
.status-camera-name::before{
  content: "準備中";
  display: inline-block;
  font-size: 40px;
  position: absolute;
  transform: translateY(-260px) translateX(-30px);
  color: var(--white);
  filter: drop-shadow(0px 0px 7px #000);
}
.status-camera-position{text-align: center;width: 100%;height: auto;}

.home__status-sound{
  width: 100%;
  height: auto;
  padding-top: 160px;
}
/*home__status ここまで*/
/*home__contact*/
.home__contact{ padding: 200px 0 80px 0;width: 100%;height: auto;overflow-x: hidden; }
.home__contact-list-1,
.home__contact-list-3{
  width: 100%;height: auto;
  display: flex;
  align-items: center;
  padding: 40px 0;
  border-bottom: solid 1px var(--bg3-main);
}
.home__contact-list-2{
  width: 100%;height: auto;
  display: flex;
  align-items: center;
  padding: 40px 0 0 0;
}
.home__contact-item-1{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  width: 23em;
  flex-shrink: 0;
}
.font-large .home__contact-item-1{width: 18em;}
.home__contact-item-2{flex-shrink: 0;}
.home__contact-item-3{
  display: flex;
  gap: 20px;
  width: 100%; height: auto;
  padding-left: 105px;
  justify-content: flex-start;
  align-items: center;
}
.font-middle .home__contact-item-3{justify-content: center;}
.font-large .home__contact-list-2 .home__contact-item-3{justify-content: flex-end;}
.home__contact-list-2 .home__contact-item-3 div{
  width: fit-content;
  height: auto;
  gap: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.font-middle .home__contact-list-2 .home__contact-item-3 div{
  width: 100%;
  justify-content: flex-end;
}
.home__contact-list-1 img{width: auto; height: 72px;object-fit: contain;}
.home__contact-list-2 img{width: auto; height: 60px;object-fit: contain;}
.home__contact-list-1 .home__contact-item-2 { padding-top: 3.6em; }
/*home__contact ここまで*/
.home__fv-notes {
  position: absolute;
  right: 0;
  transform: translateY(180px);
  color: var(--white);
  font-size: 12px;
  letter-spacing: normal;
  font-family: 'BIZUDPGothic-Regular';
  font-weight: normal;
}
.home__about-notes {
    width: stretch;
    display: flex;
    justify-content: flex-end;
    font-size: 12px;
}
.home__banner{
  width: 100%; height: auto;
  padding-top: 200px;
}
.home__banner-list{
  width: 100%;
  height: auto;
  display: flex;
  gap: 72px;
  align-items: center;
  justify-content: center;
}
.home__banner-list li{
  width: calc(100% / 3 - 20px );
  max-width: 200px;
  height: auto;
}
.home__banner-list li .banner-tokyo23 img{width: calc(100% - 20px);}
/*home ここまで*/

/*progress*/
.progress__photo p{padding-top: 40px;}
.progress__slide{width: calc(100% - 160px);margin: 0 auto;padding-top: 40px;}
.progress__slide-img-date {
    position: absolute;
    width: fit-content;
    padding: 0px 9px;
    min-width: 8em;
    text-align: center;
    transform: translateX(16px) translateY(16px);
    border-radius: 4px;
    background-color: #ffffff6e;
}
.page-progress .slick-prev, .page-progress .slick-next {
    width: 40px;
    height: 40px;
}
.page-progress .slick-next:before{content: unset;}
.page-progress .slick-prev:before{content: unset;}
.page-progress .slick-next{
  right: -80px;
  background-image: url(../images/arrow-box-right.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
}
.page-progress .slick-prev{
  left: -80px;
  background-image: url(../images/arrow-box-left.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
}
.progress__archive{padding-top: 160px;}
.progress__archive::before{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-right.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  transform: translateY(-110px);
  z-index: -1;
}
.page-schedule .progress__archive h4{
  color: var(--bg-htext);
  font-size: 22px;
  padding-top: 80px;
}
.parts__pdf-headline{padding: 40px 0 0 3em;}
.parts__pdf-headline::before{
  content: "";
  display: inline-block;
  width: 2em;
  height: 2.5em;
  padding-left: 2em;
  background-image: url(../images/icon-pdf.png);
  background-size: auto 2.5em;
  background-position: center bottom;
  margin-left: 0.3em;
  position: absolute;
  transform: translateY(-0.1em) translateX(-3em);
  background-repeat: no-repeat;
}
.progress__archive-list{
  width: 100%; height: auto;
  padding: 80px 0 0 0;
  gap: 40px;
  display: flex;
  justify-content: space-between;
}
.page-schedule .progress__archive-list{padding: 40px 0 0 0;}
.progress__archive-menu,
.schedule__archive-menu-week{
  width: 160px; height: auto;
  display: flex;
  gap: 16px;
  flex-direction: column;
}
.progress__archive-menu li,
.schedule__archive-menu-week li{
  width: 100%; height: auto;
}
.progress__archive-menu button,
.schedule__archive-menu-week button{
  width: 100%; height: auto; padding: 2px 0;
  display: flex;
  flex-direction: column;
  letter-spacing: .08em;
}
.progress__archive-menu button::after,
.schedule__archive-menu-week button::after{
  content: "";
  display: block;
  width: 0px; height: 1px;
  background-color: var(--bg-htext);
  transition: width .3s;
}
.progress__archive-menu button:hover,
.schedule__archive-menu-week button:hover{color: var(--bg-htext);transition: color .3s;}
.progress__archive-menu button:hover::after,
.schedule__archive-menu-week button:hover::after{width: 100%;transition: width .3s;}
.progress__archive-menu button.selected,
.schedule__archive-menu-week button.selected{color: var(--bg-htext);}
.progress__archive-menu button.selected::after,
.schedule__archive-menu-week button.selected::after{
  content: "";
  display: block;
  width: 100%; height: 1px;
  background-color: var(--bg-htext);
  transition: width .3s;
}
.progress__archive-contents{
  width: 100%;
  max-width: 980px;
  height: auto;
  padding: 80px 0 40px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 46px 40px;
  border-bottom: solid 1px var(--bg3-main);
  justify-content: flex-end;
}
.schedule__archive-contents-week{
  width: 100%;
  max-width: 1055px;
  height: auto;
  padding: 0 0 40px 0;
  display: flex;
  flex-direction: column;
  border-bottom: solid 1px var(--bg3-main);
  justify-content: flex-end;
  gap: 40px;
}
.schedule__archive-contents-week ul{
  width: 100%;
  max-width: 1055px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  justify-content: flex-end;
}
.btn-archive-contents{
    width: 125px;
    display: flex;
    height: 30px;
    align-items: center;
    justify-content: space-between;
    border: solid 1px var(--bg3-main);
    text-decoration: none;
    border-radius: 5px;
    color: var(--text);
    padding: 2px 20px 0 20px;
}
.schedule__archive-contents-week .btn-archive-contents{
  width: 195px;
  padding: 2px 14px 0 14px;
  letter-spacing: normal;
}
.btn-archive-contents::after{
  content: "";
  display: block;
  width: 18px; height: 18px;
  background-image: url(../images/arrow-box-report-right.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-1px);
  flex-shrink: 0;
}
/*progress ここまで*/
/*environmental-survey*/
.page-environmental-survey #environmental-2::after{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-right.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  transform: translateY(-100px);
  z-index: -1;
}
/*environmental-survey ここまで*/
/*schedule*/
.page-schedule .progress__archive{padding-top: 200px;}
.parts__section-headline#schedule_week::after{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-right.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  transform: translateY(-100px);
  z-index: 5;
}
.page-signage-schedule .parts__section-headline#schedule_week::after{display: none;}
.page-schedule .progress__archive::before{
  content: "";
  display: block;
  width: 210px;
  height: 121px;
  background-image: url(../images/bg-rect-left.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  right: unset;
  transform: translateY(-180px);
  z-index: 5;
}
/*schedule ここまで*/
/*about*/
.page-about .edit-content li{list-style: none;}
.page-about .edit-content li::before{
  content: "";
  display: block;
  width: 0.5em; height: 0.5em;
  background-color: var(--bg3-main);
  border-radius: 1em;
  padding-left: 0.5em;
  position: absolute;
  transform: translateX(-1em) translateY(0.66em);
}
.about__checklist tr td{padding: 32px 0;}
.about__checklist tr td:nth-of-type(1) span{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.about__checklist tr:nth-of-type(1) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-safe.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.about__checklist tr:nth-of-type(2) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-noise.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.about__checklist tr:nth-of-type(3) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-clean.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.about__checklist tr:nth-of-type(4) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-gas.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.about__checklist tr:nth-of-type(5) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-earthq.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.about__checklist tr:nth-of-type(6) td:nth-of-type(1) span::after{
  content: "";
  width: 50px; height: 50px;
  display: block;
  background-image: url(../images/icon-box-report.png);
  background-repeat: no-repeat;
  background-size: contain;
}
/*about ここまで*/
/*contact*/
.page-contact .edit-content li{list-style: none;}
.page-contact .edit-content li::before {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.5em;
    background-color: var(--bg3-main);
    border-radius: 1em;
    padding-left: 0.5em;
    position: absolute;
    transform: translateX(-1em) translateY(0.66em);
}
.page-contact li.home__contact-item-1::before,
.page-contact li.home__contact-item-2::before,
.page-contact li.home__contact-item-3::before{
  content: "";
  display: none;
}
.page-contact li.home__contact-item-1,
.page-contact li.home__contact-item-2,
.page-contact li.home__contact-item-3{
  padding-right:0;
  transform: translateX(0);
}
.page-contact li.home__contact-item-3{padding-left: 15px;}
/*contact ここまで*/

/*signage*/
body.page-signage{height:1080px;width: 100%;min-height: 1080px;}
.page-signage .post__page-content{
  width: 100%;
  max-width: unset;
  padding: 108px 48px;
  height: auto;
  overflow-y: hidden;
}
.page-signage .page-signage-schedule-all .post__page-content{padding: 170px 48px 48px 48px;}
.page-signage footer{width: 100%; height: 120px; background-color: var(--bg3-main);position: absolute; bottom: 0; z-index: 2;}
.signage-schedule-sub{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  padding-top: 30px;
}
.signage-schedule-sub-month,.signage-schedule-sub-week{
  width: 50%;
  height: auto;
}
.signage-schedule-all{max-height: 370px;margin: 0 auto;}
.page-signage-values .home__box{width: 100%;max-width: 1800px;transform: translateY(40px);}
.page-signage-values .home__box .home__status-content-1{padding: 32px 0 0 0;}
.page-signage-values .home__status-item {width: 460px;font-size: 18px;padding: 18px 32px}
.page-signage-values .home__status-content-1 img {width: calc(100% - 680px);transform: translateY(-70px) translateX(-70px);}
.page-signage-values .status-item-data{font-size: 28px;}
.page-signage-values .status-item-data span {font-size:20px;}
.page-signage-values .home__status-item ul{line-height: 1.35;}
.page-signage-values li.home__status-comment{width: max-content;}

.page-signage .page__top-view{height: 40px;}
.page-signage .page__top-rect{position: absolute;width: 198px;}
.page-signage .post__single-content{max-width: unset;padding: 30px 30px 0 30px;display: flex;justify-content: space-between;border-bottom: solid 1px var(--bg3-main);}
.page-signage .post__single-edit-content{padding: 0 0 30px 0;width: calc(100% - 350px);border-bottom: none;}
.page-signage .page-signage-postdata{width: 330px;height: auto;display: flex;flex-direction: column; padding: 0; border-bottom: none;}
.page-signage .post__single-detail{
  border-bottom: none;
  padding: 12px 0 28px 0;
  width: 100%;
  height: auto;
}
.page-signage .post__single-title{
  font-size: 28px;
  line-height: 1.5;
  width: 510px;
  padding-right: 30px;
}
.page-signage .post__single-title.no-pickup{
  font-size: 32px;
  line-height: 1.5;
  width: 700px;
  padding-right: 30px;
  margin: 204px auto;
}
.page-signage .page-signage-postdata-nopost{
  height: 710px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-signage .home__box{width: 100%;max-width: unset;}
.page-signage .home__news-title{
  width: 400px;
  height: auto;
  display: flex;
  flex-direction: row-reverse;
  gap: 35px;
  align-items: center;
  margin: 0 auto;
  transform: translateX(-101px);
}
.page-signage .page-signage-pickup  .home__news-title{width: 460px;}
.page-signage .home__news-title .section-title{font-size: 35px;}
.page-signage .home__news-title .section-title-sub{font-size: 18px;}

.page-signage .page__top-view{height: 126px;}
.page-signage .page__top-rect{position: absolute;width: 194px;}
.page-signage .home__news-list{padding-top: 16px;}
.page-signage .home__news-list-item > a{font-size: 22px; border-bottom: solid 1px var(--bg3-main);padding: 24px 0;}
.page-signage .post__single-content{max-width: unset;padding: 30px 0 0 0;display: flex;}
.page-signage .signage-schedule-all{max-height: 460px;}
.page-signage #schedule_year{padding-bottom: 48px;}
.page-signage #schedule_month,
.page-signage #schedule_week{transform: translateY(62px);}
.page-signage .parts__section-headline#schedule_week::after{display: none;}
/*signage ここまで*/

/*-------------main component ここまで-------------*/

.no_pc{display: none;}/*PCのみ表示・適用*/
/*-----------------------共通、PC　ここまで-----------------------*/

@media only screen and (max-width: 1290px) {
  .home__contact-list-1,.home__contact-list-2{flex-wrap: wrap; gap: 30px 0;}
  .home__contact-item-3{padding: 0; justify-content: flex-start !important;}
  .font-middle .home__contact-list-2 .home__contact-item-3 div{justify-content: flex-start;}
  .page-contact li.home__contact-item-3{padding-left: 0;}
  .home__about-contents img{width: 460px;}
  .header__nav-title{font-size: 13px;}
  .header__nav-item div{font-size: 15px;}
  .header__nav-item-access{width: 140px;}
  .header__nav-list{gap: 14px;}
  .header__nav-list li:nth-child(n+2){gap: 14px;}
  .footer__content{gap: 30px; justify-content: space-between;}
}
@media only screen and (max-width: 1210px) {
  .home__status-item{width: 360px;}
  .home__status-list{width: 360px;}
  .home__status-content-1 img{width: calc(100% - 370px);height: auto;}
  .home__fv-title h1{font-size: 35px;}
  .home__fv-phrase{font-size: 24px;}
  .footer__nav{ flex-direction: column; gap: 24px; }
  .footer__top::before{width: 170px;height: 90px;}
}

/*-----------------------レスポンシブ (width ≦ 1080px)-----------------------*/
@media only screen and (max-width: 1080px) {
  .no_pc{display: inline-block;}/*レスポンシブ時のみ表示*/

  .header__nav-title{display: none;}
  /*レスポンシブメニュー*/
  .header__nav-list {
    width: 0vw;
    height: 100%;
    overflow-y: scroll;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-shrink: 0;
    flex-direction: column;
    position: fixed;
    z-index: 500;
    right: 0;
    top: 0;
    transform: translateX(63vw);
    transition: transform .3s;
    background-color: var(--bg-bgitem);
    gap: 20px;
    padding-top: 125px;
  }
  .header__nav-mainmenu:has(.list-open) .header__nav-list{
    width: 60vw;
    max-width: 460px;
    min-width: 300px;
    transform: translateX(0);
    transition: transform .3s;
    padding-bottom: 80px;
  }
  .header__nav-sp-button::before{
    content: '';
    width: 0;
    height: calc(100vh + 17px);
    background-color: #d5eeef9c;
    position: fixed;
    left: calc( -100vw + 80px );
    top:-15px;
  }
  .header__nav-mainmenu:has(.list-open) .header__nav-sp-button::before{
    content: '';
    width: calc( 100vw - 460px);
    transition: width .3s;
  }
  .header__nav-list > li{
    width: 100%; height: auto;
    padding: 0 25px;
  }
  .header__nav-item{
    width: 100%;
    height: auto;
    padding: 10px 25px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 18px;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
  }
  .header__nav-item br{display: none;}
  .header__nav-item-access{
    max-width: 175px;
    justify-content: center;
  }
  .header__nav-sp-button{
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    background-color: var(--bg3-main);
    border-radius: 55px;
    position: fixed;
    top: 8px;
    right: -15px;
    transform: translateX(-25px);
    z-index: 600;
  }
  .header__nav-sp-icon,
  .header__nav-sp-icon::before,
  .header__nav-sp-icon::after{
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    border-radius: 3px;
    background-color: var(--white);
    transition: all 0.3s;
    position: absolute;
    transform: translateY(-6px);
  }
  .header__nav-sp-icon::before {transform: translateY(-6px);}
  .header__nav-sp-icon::after {transform: translateY(6px);}
  .list-open .header__nav-sp-icon{background-color: transparent;}
  .list-open .header__nav-sp-icon::before{transform: rotate(30deg);opacity: 1;}
  .list-open .header__nav-sp-icon::after{transform: rotate(-30deg);opacity: 1;}
  .header__nav-sp-label::before{
    content: 'Menu';
    display: inline-block;
    font-size: 8px;
    color: var(--white);
    width: 40px;
    height: auto;
    text-align: center;
    transform: translateY(8px);
  }
  .list-open .header__nav-sp-label::before{content: 'Close';}
  .header__nav-item-access{
    width: 100%;
    justify-content: flex-start;
    background-color: unset;
    color: var(--text);
  }
  .header__nav-list li:nth-child(n+2)::before{display: none;}
  .header__nav-item div {font-size: 18px;}
  .header__nav-list li:has(.header__nav-fontsize){
    display: flex;
    flex-direction: column;
    width: auto;
    height: auto;
    gap: 48px;
    align-items: flex-start;
  }
  .header__nav-fontsize{
    position: relative;
    transform: unset;
    display: flex;
    transform: translateX(24px);
  }
  /*レスポンシブメニュー ここまで*/
  .home__fv-slide{display: none;}
  .home__fv-slide-sp.no_pc {height: 400px;}
  .slick-dots li button:before{background-color: #9A9A9A;}
  .fv-slide-img{height: 400px;}
  .home__fv-contents{height: 300px;}
  .home__fv-content2{height: 275px;}
  .home__box{width: 100%; padding: 0 40px;}
  .home__news .home__box{padding: 0 40px;}
  .home__about-contents{gap: 40px;}
  .home__about-contents img{width: 340px;}
  .footer__top{padding: 100px 165px 40px 165px;}
  .footer__top::before{transform:translateY(-100px);width: 120px;height: 70px;}
  .home__contact-item-2{flex-shrink: unset;}
  .home__fv-notes {transform: translateY(108px);}

  /*page*/
  .page__top-view{height: 290px;}
  .post__single-content{padding: 100px 64px 0 64px;}
  .post__page-content{width: 100%; padding: 100px 40px 0 40px;}
  .page-documents  .home__news-list,
  .page-environmental-survey  .home__news-list{padding: 60px 0 0 0;}
  /*page ここまで*/

  .no_sp{display: none;}/*レスポンシブ時のみ表示・適用*/
}
/*-----------------------レスポンシブ (width ≦ 1080px)　ここまで-----------------------*/
@media only screen and (max-width: 1024px) {
  .home__status-camera{flex-direction: column;align-items: center;}
  .home__status-camera li {width: 100%; max-width: 600px;}
  .home__status-content-1{flex-direction: column; align-items: center; gap: 56px;}
  .home__status-content-1 img{width: 100%;}
  .home__status-list{width: 100%;}
  .home__about-contents{flex-direction: column;}
  .home__about-list, .home__about-list > table{width: 100%;}
  .home__about-contents img{width: 100%;}
  .home__fv-title h1{font-size:30px;}
  .home__fv-phrase {font-size: 18px;}
  .home__contact-list-1 .home__contact-item-2{padding-top: 0;}
  .parts__section-headline#schedule_week::after{display: none;}
}
@media only screen and (max-width: 865px) {
  .footer__top{padding: 100px 80px 40px 80px;}
  .footer__bottom{padding: 32px 80px 0 80px;}
  .home__fv-contents{flex-direction: column;justify-content: flex-start;}
  .home__fv-content2{height: auto;padding-top: 40px;}
  .home__fv-notes {transform: translateY(124px);}
}

@media only screen and (max-width: 767px) {
  .header__nav-mainmenu:has(.list-open) .header__nav-sp-button::before{
    width: calc( 40vw ); /*max-width: 460px;*/ 
  }
  .footer__top{padding: 100px 80px 0 80px;}
  .footer__bottom{padding: 0 80px 0 80px;}
  .home__news-list-item > a{flex-direction: column;gap: 0;}
  .home__news::after,.home__status .home__box::after{width: 180px;}
}

@media only screen and (max-width: 680px) {
  .home__news .home__box{flex-direction: column; gap: 24px;}
  .home__news-title{width: 100%;}
  .home__news-title img{
    width: 110px;
    height: auto;
    position: absolute;
    left: 40px;
    transform: translateY(-25px);
  }
  .home__contact-list-1,.home__contact-list-2,.home__contact-list-3{flex-direction: column;align-items: flex-start;}
  .footer__content-1{width: auto;padding-bottom: 36px;}
  .footer__content-1 img{transform: unset;}
  .footer__content{flex-direction: column;align-items: center}
  .post__single-content{padding: 100px 40px 0 40px;}
  .page__top-rect{width: 180px;}
  .home__status .parts__section-headline{padding-top: 40px;}
  .home__contact-item-2{width: 100%;}
  .home__contact-list-2 .home__contact-item-3 div{
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
  .home__banner-list{flex-direction: column;}
  .home__banner-list li {
    width: 100%;
    max-width: 200px;
    height: auto;
  }
  .page-progress .slick-prev, .page-progress .slick-next{width: 28px;height: 28px;}
  .progress__slide{width: calc(100% - 100px);}
  .page-progress .slick-next{right: -64px;}
  .page-progress .slick-prev{left: -64px;}
}

@media only screen and (max-width: 600px) {
  .font-middle .home__contact-list-2 .home__contact-item-3 div{flex-direction: column;gap: 24px;align-items: flex-start;}
  .home__fv-contents{width: calc(100% - 56px);}


  .footer__top{padding: 100px 30px 0 30px;}
  .footer__bottom{padding: 32px 30px 0 30px;}
  .footer__image-setagaya-home > img{min-width: 320px;}
  .component{padding: 143px 30px 0 30px;}
  .component__news .post-list__item{width: 100%;}
  .component__title::before{
    width: 120px;
    height: 190px;
    background-image: url(../images/background-1.png);
    background-size: 120px auto;
    background-repeat: no-repeat;
    transform: translateY(-135px) translateX(12px);
  }
  .post-content__detail{
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }
  .component__home-news .component__home-contents-box{padding: 10px 30px 80px 30px;}
  .component__home-about .component__home-contents-box,
  .component__home-progress .component__home-contents-box{padding: 30px;}
  .page__top-view{height: 196px;}
}


@media only screen and (max-width: 500px) {
  .header__nav-mainmenu:has(.list-open) .header__nav-sp-button::before{
    width: calc( 100vw - 280px ); /*min-width: 300px;*/ 
  }
  .home__news-list-item > a{ flex-direction: column; gap: 5px; }
  .home__about-list tr{
    width: 100%;height: auto;
    display: flex;
    flex-direction: column;
  }
  .home__about-list th{
    border-bottom: none;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
    padding-bottom: 0;
  }
  .component__edit-content table tr td:nth-of-type(1){padding: 16px;}
  .component__edit-content table tr td:nth-of-type(1){font-family: 'BIZUDPGothic-Bold'; font-weight: normal;}
  .component__edit-content table tr td:nth-of-type(1),.component__edit-content table tr:nth-of-type(1) td{border-top: none;}
  .component__edit-content table tr:nth-of-type(1) td:first-child{border-top: solid 2px var(--bg3-main);}
  .component__edit-content tr{
    width: 100%; height: auto;
    display: flex;
    flex-direction: column;
  }
  .component__edit-content th{width: 100% !important; height: auto;}
  .component__edit-content td{width: 100% !important; height: auto;}
  .table__business-summary tr td:nth-of-type(1){text-align: left !important;}
  .title__sub{font-size: 37px;}
  .component-contact{padding: 21px; gap: 0px;}
  .component__edit-content h3{margin-bottom: 15px;}
  .post-content__detail{padding-top: 40px;}
  .component__edit-content, .component__post-content, .component__news, .component__progress{padding-top: 80px;}
  .about__checklist tr{width: 100%; height: auto; display: flex; flex-direction: column;}
  .about__checklist tr td{width: 100% !important;}
  .about__checklist tr td:nth-of-type(1){border-bottom: none;width: 100% !important; padding-bottom: 0;}
  .progress__archive-list{gap: 20px;}
  .progress__archive-contents{gap: 46px 18px;}
}

@media only screen and (max-width: 460px) {
  .home__fv-title h1{font-size: 24px;}
  .home__fv-title-sub{font-size: 12px;}
  .home__fv-content2{padding-top: 60px;}
  .footer__bottom-f{flex-direction: column;gap: 16px;}
  .home__news-title img{width: 88px;transform: translateY(-80px);left: 10px;}
  .home__news::after,.home__status .home__box::after{width: 120px;transform:translateY(32px);}
  .home__box{padding: 0 16px;}
  .footer__top {padding: 100px 16px 0 16px;}
  .status-camera-name::before {transform: translateY(-180px) translateX(-30px);}
}

@media only screen and (max-width: 400px) {
  header{padding: 20px 10px;}
  footer{padding-top: 100px;}
  .header__nav-sp-button::before{left: calc(-100vw + 65px);}
  .header__nav-title{font-size: 11px;}
  .footer__site-title{font-size: 22px;}
  .home__status-item {
    width: 100%;
    flex-wrap: wrap;
    height: auto;
    justify-content: flex-start;
    gap: 2px 24px;
  }
}
@media only screen and (max-width: 380px) {
  .home__fv-contents{width: calc(100% - 20px);}
  .home__fv-title h1{font-size: 22px;}
  .footer__site-title-sub{font-size: 12px;}
}

@media print{
  html{
    max-width: 1800px;
    min-width: 600px;
    overflow-x: hidden;
  }
  body{width: 100%; height: auto;}
  .header{
    position: absolute;
    max-width: 1800px;
  }
}