@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: 'ZenKakuGothicNew-Medium';
  src: url('../fonts/ZenKakuGothicNew-Medium.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;/*ライトモードのみの運用*/
  --awaji-black: #3c3c3c;
  --white: #ffffff;
  --black: #000000;
  --awaji-gray-1: #d9d9d9;
  --awaji-gray-2: #3c3c3c80;
  --awaji-blue-1: #2359d7;
  --awaji-blue-1-line: #0059aa;
  --awaji-blue-2: #dee9ff;
  --awaji-blue-3: #d3ebff;
  --awaji-light-blue-1: #c0d9ff;
  --awaji-light-blue-1-line: #add9ff;
  --awaji-aqua-1: #a9f5ec;
  --awaji-red-1: #e00700;
  --awaji-logo-red: #e56b6a;
  --awaji-logo-green: #119c02;
  --awaji-logo-blue: #1558c4;
  --awaji-logo-light-blue: #b6cfeb;
}
/*共通カラー　ここまで*/
/*基本書式*/
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: 16px;
  font-weight: normal;
  color: var(--awaji-black);
  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: var(--awaji-blue-1);
  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;}
main {flex: 1;z-index: 2;overflow-x: hidden;padding-top: 85px;/*header fixed height*/}
main.page-front{padding-top: 0;}
/*footerを最下部に固定 ここまで*/
body{opacity: 0.01;/*フェードイン初期値*/overflow-x: hidden;}
/*------------------基本設定　ここまで------------------*/

/*-------------header-------------*/
header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto;
  padding: 20px 25px;
  font-size: 16px;
  background-color: #ffffffb8;
  color: var(--awaji-black);
  position: fixed;
  top: 0;
  z-index: 150;
}
 /*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{
  width: 100%;  height: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
/*header-logo*/
.header__nav-logo-title{
  width: auto; height: auto;
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--awaji-black);
}
.header__nav-logo{
  width: 128px; height: auto;
  flex-shrink: 0;
}
.header__nav-title{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 23px;
}
/*header-logo ここまで*/
/*header-mainmenu*/
.header__nav-mainmenu{
  width: auto; height: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-shrink: 0;
}
/*header nav-list要素*/
.header__nav-list{
  width: auto; height: auto;
  display: flex;
  gap: 32px;
  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(--awaji-black);
  line-height: 1.16;
}
.header__nav__selected .header__nav-item{/*選択中メニュースタイル*/
  color: var(--awaji-blue-1);
}
.header__nav-item-access{/*アクセスボタン*/
  width: 120px; height: auto;
  padding: 6px 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background-color: var(--awaji-blue-1);
  border: solid 1px var(--awaji-blue-1);
  border-radius: 999px;
}
.header__nav__selected .header__nav-item-access{/*アクセスボタン 選択中*/
  color: var(--awaji-blue-1);
  background-color: var(--awaji-light-blue-1);
  border: solid 1px var(--awaji-blue-1);
}

/*header nav-list要素 ここまで*/

/*レスポンシブメニュー開閉ボタン*/
.header__nav-sp-button{
  display: none;/*表示させる場合はflex*/
}
/*レスポンシブメニュー開閉ボタン ここまで*/
/*メインメニュー ここまで*/
/*-------------header ここまで-------------*/


/*-------------footer-------------*/
footer{
  background-color: var(--white);
  width: 100%;height: auto;
  padding-top: 160px;
}
.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(--awaji-light-blue-1);
    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(--awaji-light-blue-1);
    border-radius: 50% 50% 0% 100% / 100% 100% 0% 0%;
    overflow: hidden;
  }
}
.footer__image-awaji-home{
  width: 100%;height: auto;
  padding: 0 143px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--awaji-blue-1);/*.footer__topと同一*/
}

.footer__image-awaji-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;
  padding: 56px 143px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--awaji-blue-1);/*.footer__image-awaji-homeと同一*/
  color: var(--white);
}
.footer__content{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1314px;
  height: auto;
  margin: 0 auto;
}
.footer__site-title{
  width: auto;height: fit-content;
  text-decoration: none;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 23px;
  color: var(--white);
}
.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__selected > a{
  text-decoration: none;
  color: var(--awaji-light-blue-1-line);
}
.footer__nav-area1,.footer__nav-area2{
  display: flex;
  width: fit-content;
  height: auto;
  flex-direction: column;
  gap: 25px;
}
.footer__bottom{
  padding: 32px 143px 0 143px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  background-color: var(--awaji-blue-1);/*.footer__topと同一*/
}
.footer__bottom > .footer__content{
  border-top: solid 1px var(--awaji-light-blue-1-line);
  padding: 32px 0;
}
.footer__policy{
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.footer__policy > li >a{
  text-decoration: none;
  color: var(--white);
  font-size: 12px;
}
.footer__policy > li.footer__policy__selected >a{
  color: var(--awaji-light-blue-1-line);
}
.footer__copylight{
  font-size: 12px;
  color: var(--white);
}
.footer__bottom-f{
  width: 100%;  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
}
.btn__gotop{
  width: auto; height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  color: var(--white);
  text-decoration: none;
  font-family: 'NotoSansJP-Bold';
  font-weight: normal;
  font-size: 12px;
  flex-shrink: 0;
}
.btn__gotop::before{
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url("../images/icon-triangle-white-1.png");
  background-size: contain;
  background-repeat: no-repeat;
}
/*-------------footer ここまで-------------*/


/*-------------main component-------------*/
.component{
  width: 100%;
  max-width: 1600px;
  padding: 143px 143px 0 143px;
  margin: 0 auto;
}
/*component__breadcrumbs*/
.component__breadcrumbs{
  width: 100%;
  height: auto;
}
.breadcrumbs{
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
}
.breadcrumbs,
.breadcrumbs > a,
.breadcrumbs > a:visited{
    color: var(--awaji-blue-1);
    font-size: .93rem;
    text-decoration: none;
    font-family: 'BIZUDPGothic-Bold';
    font-weight: normal;
}
/*component__breadcrumbs ここまで*/
/*btn__asset-1*/
.btn__asset-1{
  width: auto; height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: var(--awaji-blue-1);
  gap: 12px;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
.btn__asset-1::before{
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background-image: url("../images/icon-link-arrow-1.png");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
/*btn__asset-1 ここまで*/
/*component__title*/
.component__title{
  color: var(--awaji-blue-1);
  padding-top: 120px;
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  overflow: visible;
}
.component__title::before{
  content: "";
  display: block;
  position: absolute;
  width: 226px; height: 245px;
  background-image: url("../images/background-1.png");
  background-size: 226px auto;
  background-repeat: no-repeat;
  transform: translateY(-135px) translateX(125px);
}
.title__main{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 20px;
  display: inline-block;
  width: 100%; height: auto;
}
.title__sub{
  font-family: 'NotoSansJP-Bold';
  font-weight: normal;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: -0.05rem;
  transform: scaleY(0.92) translateY(-10px);/*元デザインメイリオ寄の為scaleY追加*/
  display: inline-block;
  width: 100%; height: auto;
}
/*component__title ここまで*/
/*component__content 共通*/
.component__edit-content,
.component__post-content,
.component__news,
.component__progress{
  padding-top: 120px;
}
.component__section-title{
  color: var(--awaji-black);
  font-size: 24px;
  line-height: normal;
  letter-spacing: 1.92px;
  border-bottom: 1px solid var(--awaji-black);
  padding-bottom: 16px;
}
/*component__content 共通 ここまで*/
/*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(--awaji-blue-1);
  font-family: 'BIZUDPGothic-Bold';
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.36px;
  text-decoration: none;
}
.post-list__item-title{
  color: var(--awaji-black);
  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: 50px; height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  color: var(--awaji-black);
  text-decoration: none;
}
.btn__pager-num.selected{
  background-color: var(--awaji-black);
  color: var(--white);
}
/*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;
}
.post-content__detail-date{
  width: auto;height: auto;
  display: inline-block;
  flex-shrink: 0;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
}
.post-content__detail-category{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 16px;
}
.post-content__detail-category-item{
  width: auto; height: auto;
  color: var(--awaji-black);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 1.12px;
  border: 1px solid var(--awaji-black);
  padding: 2px 4px;
  display: inline-block;
}
/*.post-content__detail-category-item カテゴリ別色分け*/
.post-content__detail-category-item.sunrise-awaji{/*サンライズ淡路*/
  border: 1px solid var(--awaji-blue-1);
  color: var(--awaji-blue-1);
  background-color: #c0d9ff6b;
}
.post-content__detail-category-item.important{/*重要なお知らせ*/
  border: 1px solid var(--awaji-red-1);
  color: var(--awaji-red-1);
  background-color: #e56a6a26;
}
/*.post-content__detail-category-item カテゴリ別色分け　ここまで*/
.component__post-content .component__edit-content{
  margin-top: 24px;
  padding-top: 80px;
  border-top: solid 1px var(--awaji-blue-1);
}
.component__back{
  width: 100%; height: auto;
  padding-top: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*post-content ここまで*/

/*component__edit-content(固定ページ、投稿の自由記述対応)*/
/*edit-content内指定*/
.component__edit-content h1,
.component__edit-content h2{
  width: 100%; height: auto;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 24px;
  letter-spacing: .08rem;
  padding-top: 10px;
  padding-bottom: 8px;
  border-bottom: solid 1px var(--awaji-black);
  margin-bottom: 40px;
  line-height: 1.5;
}
.component__edit-content h3{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 24px;
  letter-spacing: .08rem;
  margin-bottom: 30px;
}
.component__edit-content h4{
  width: 100%;
  height: auto;
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  display: flex;
  gap: 1rem;
  font-size: 20px;
  margin-bottom: 20px;
  transform: translateY(-0.7em);
}
.component__edit-content h4::before{
  content: '';
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: var(--awaji-blue-1-line);
  border-radius: 999px;
  flex-shrink: 0;
  transform: translateY(0.5rem);
}
.component__edit-content strong{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal !important;
}
.component__edit-content .aligncenter{
  margin: 0 auto;
  text-align: center;
}
.component__edit-content .alignleft{
  margin: 0 auto 0 0;
  text-align: left;
}
.component__edit-content .alignright{
  margin: 0 0 0 auto;
  text-align: right;
}
.component__edit-content tr{
  width: 100%; height: auto !important;
  display: flex;
  gap: 8px;
}
.component__edit-content tr td{
  padding: 16px;
  border-bottom: solid 1px var(--awaji-gray-2);
  height: auto !important;
}
.component__edit-content table tr:nth-of-type(1) td{
  border-top: solid 2px var(--awaji-blue-1-line);
}
.component__edit-content table tr td:nth-of-type(1){
  text-decoration: none;
  color: var(--awaji-blue-1);
  padding: 16px 30px;
}
.anchor-list{
  width: 100%; height: auto;
  padding-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.component-collaboration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.component-collaboration__wrap {
  display: flex;
  align-items: center;
}
.component-collaboration__txt {
  color: var(--awaji-black);
  font-family: "BIZ UDPGothic";
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.66px;
}
.icon-cross {
  width: 54px;
}

.icon-topography {
  width: 90px;
}

.component-contact {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 124px;
  padding: 40px;
  border: 1px solid #d9d9d9;
  border-radius: 26px;
  background: #f2f2f2;
}
.component-contact-block__ttl {
  font-family: "BIZ UDPGothic";
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.6px;
}
.component-contact-block__txt {
  font-family: "BIZ UDPGothic";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.component-lead-txt {
  text-align: center;
  font-family: "BIZ UDPMincho";
  font-size: 28px;
  line-height: 1.4;
  padding: 180px 0 100px;
}

/*事業概要*/
ul.summary__list,
ul.summary__list > li{text-decoration: none;}
ul.summary__list{width: 100%;height: auto;}
ul.summary__list > li{
  width: 100%; height: auto;
  display: flex;
  padding: 12px;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1px var(--awaji-gray-2);
}
ul.summary__list > li:first-child{
  padding-top: 0;
}
ul.summary__list > li:nth-last-of-type(1){
  border-bottom: none;
  padding-bottom: 0;
}
ul.summary__list > li > div{
  width: calc(100% / 3); height: auto;
  text-align: center;
  letter-spacing: -.02rem;
}
/* =========================
    ごみ持ち込み情報
========================= */
.component-disposal {
  padding-bottom: 60px;
}
.component-disposal strong {
  color: var(--awaji-red);
}
/* =========================
    アクセス
========================= */
.component-access__txt {
  padding-top: 48px;
  color: #3c3c3c;
  font-family: "BIZ UDPGothic";
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.28px;
}

/* =========================
    プライバシーポリシー
========================= */
.component-privacy {
  padding-bottom: 100px;
}
.component-privacy__ttl {
  padding-bottom: 60px;
  font-family: "BIZ UDPGothic";
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.92px;
}
.component-privacy__ttl--attention::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: var(--awaji-blue);
  border-radius: 50%;
  margin-right: 16px;
}

.component-privacy__txt {
  font-family: "BIZ UDPGothic";
  font-size: 18px;
  line-height: 1.4;
}

.component-privacy__txt + .component-privacy__txt {
  padding-top: 40px;
}

.component-privacy__link {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 60px;
}

.component-privacy__link > a {
  color: var(--awaji-blue);
}

/* =========================
    リンク集
========================= */
.component-link__wrap {
  display: flex;
  gap: 15px;
}
.component-link__url {
  flex: 1 1 auto;
  padding-left: 25px;
  font-size: 16px;
  padding-top: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--awaji-black);
}
.component-link > .component-link__wrap:first-child .component-link__ttl,
.component-link > .component-link__wrap:first-child .component-link__url {
  border-top: 2px solid var(--awaji-blue-1);
}
/*component__edit-content ここまで*/

/*component__front-page*/
.component__front-page{
  width: 100%; height: auto;
  padding-top: 160px;
}
/*FVslide*/
.component__fv{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  overflow: hidden;
}
.component__fv-subtitle-box{
  width: 100%; height: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow: visible;
}
.component__fv-subtitle{
  width: 500px;
  height: 158px;
  padding: 0 70px;
  position: absolute;
  display: flex;
  align-items: center;
  background-image: url(../images/background-1.png);
  background-size: 200px auto;
  background-repeat: no-repeat;
  background-position: right -32px;
  background-color: #2257d3c9;
  border-radius: 999px;
  color: var(--white);
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 24px;
  line-height: 1.6;
  transform: translateY(-480px) translateX(-20px);
}
/*slick*/
.component__fv-slide{
  width: 83vw; height: 600px;
  flex-shrink:0;
}
.fv-slide-img{
  width: 83vw; height: 600px;
  object-fit: cover;
}
.slick-list.draggable{border-radius: 0 115px 115px 0;overflow: hidden;}
/*slick ここまで*/
.component__fv-scroll-box{
  width: 90%; height: 0;
  min-width: 300px;
  margin: 0 auto;
  overflow: visible;
  display: flex;
  justify-content: flex-end;
}
.component__fv-scroll{
  width: auto; height: auto;
  display: flex;
  gap: 20px;
  justify-content: flex-start;
  align-items: center;
  transform: rotate(90deg) translateY(25px) translateX(55px);
}
.component__fv-scroll::before{
  content: 'Scroll';
  font-family: 'NotoSansJP-Bold';
  font-weight: normal;
  font-size: 14px;
  color: var(--awaji-blue-1);
  display: block;
  position: absolute;
  transform: translateX(-60px);
  flex-shrink: 0;
}
.fv-slide-dots{
  width: auto; height: auto;
  display: flex;
  gap: 17px;
}
.fv-slide-dots li{
  background-color: var(--awaji-blue-1);
  width: 6px; height: 6px;
  border-radius: 6px;
  flex-shrink: 0;
}
.component__fv-scroll::after{
  content: '';
  display: block;
  width: 13px; height: 13px;
  background-image: url("../images/icon-triangle-blue-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.component__home-contents-box:has(.component__fv-banner-1){
  align-items: stretch;
  justify-content: space-between;
}
.component__fv-message{
  width: 60%;
  max-width: 740px;
  min-width: 300px;
  height: auto;
  padding: 22px 30px;
  border-radius: 42px;
  background-color: #ffffffd1;
  border: solid 2px var(--awaji-blue-1);
  color: var(--awaji-blue-1);
  font-family: 'ZenKakuGothicNew-Medium';
  font-weight: normal;
  letter-spacing: normal;
  transform: translateY(-70px);
}
.component__fv-banner-1{
  display: flex;
  width: calc(40% - 100px);
  max-width: 600px;
  height: auto;
  justify-content: flex-end;
  align-items: flex-end;
  transform: translateY(-10px);
  padding-right: 80px;
}
.banner__annai-1{
  display: block;
  width: 260px;
  height: auto;
}
/*FVslide ここまで*/
.component__home-contents-box{
  width: 90%;  height: auto;
  margin: 0 auto;
  max-width: 1440px;
  min-width: 300px;
  display: flex;
  gap: 100px;
}
.component__home-headline{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
}
.home-headline-title{
  color: var(--awaji-blue-1);
  font-size: 18px;
}
.home-headline-title-sub{
  color: var(--awaji-blue-1);
  font-family: 'NotoSansJP-Bold';
  font-weight: normal;
  font-size: 45px;
  transform: scaleY(0.92) translateY(-24px);
  letter-spacing: -0.05rem;
}
/*component__home-news*/
.component__home-news{
  width: 100%;height: auto;
}
.component__home-news .component__home-contents-box{
  padding: 20px 80px 100px 80px;
}
.home__news-list{
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
}
.home__news-list-item{
  width: 100%;
  height: auto;
  border-top: solid 1px var(--awaji-gray-1);
}
.home__news-list-item:last-child{
  border-bottom: solid 1px var(--awaji-gray-1);
}
.home__news-list-item > a{
  width: 100%; height: auto;
  text-decoration: none;
  display: flex;
  align-items: flex-start;
  padding: 20px 0;
  gap: 80px;
}
.home__news-item-date{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 12px;
  padding-top: 4px;
  flex-shrink: 0;
}
.home__news-item-title{
  color: var(--awaji-black);
}
.home__news-item-title::after{
  content: '';
  display: inline-block;
  width: 25px;
  height: 16px;
  transform: translateY(2px);
  padding-right: 16px;
  background-image: url(../images/icon-link-arrow-4.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center right;
}
/*component__home-news ここまで*/
/*component__home-about*/
.component__home-about{
  width: 100%; height: auto;
}
.component__home-about .component__home-contents-box{
  background-color: var(--awaji-blue-2);
  border-radius: 28px;
  padding: 35px 80px 35px 80px;
}
.component__home-about .btn__asset-1:nth-child(n+2){
  align-items: flex-start;
  padding-top: 10px;
}
.home__about-list,.home__about-list > table{
  width: 100%;height: auto;
  border-collapse: collapse;
}
.home__about-list th,
.home__about-list td{
  font-family: 'BIZUDPGothic-Regular';
  font-weight: normal;
  color: var(--awaji-black);
  padding: 16px 0;
  border-bottom: solid 1px var(--awaji-blue-1-line);
}
.home__about-list tr:nth-last-child(1) td,
.home__about-list tr:nth-last-child(1) th{
  border-bottom: none;
}
.home__about-list th{
  min-width: 8rem;
  padding-right: 2rem;
}
/*component__home-about ここまで*/
/*component__home-progress*/
.component__home-progress{
  padding-top: 100px;
  width: 100%; height: auto;
}
.component__home-progress .component__home-contents-box{
  background-color: var(--awaji-blue-3);
  border-radius: 28px;
  padding: 35px 35px 35px 80px;
  gap: 40px;
}
.component__home-progress .home-headline-title,
.component__home-progress .home-headline-title-sub{
  width: 100%;height: auto;
  text-align: center;
}
.component__home-progress .home-headline-title-sub{
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: flex-end;
}
.component__home-progress .home-headline-title-sub::before,
.component__home-progress .home-headline-title-sub::after{
  content: '';
  display: inline-block;
  width: 85px; height: 20px;
  background-image: url(../images/home-progress-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-23px);
}
.home__progress-list{
  width: 100%;  height: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 16px 50px 16px;
}
.home__progress-list-item{
  width: 100%; height: auto;
}
.home__progress-list-item > a{
  text-decoration: none;
  width: 100%; height: auto;
  display: flex;
  gap: 2rem;
}
.home__progress-item-date{
  font-family: 'BIZUDPGothic-Bold';
  font-weight: normal;
  font-size: 12px;
  padding-top: 4px;
  flex-shrink: 0;
}
.home__progress-item-title{
  color: var(--awaji-black);
}
.component__home-progress .component__home-headline .btn__asset-1{padding: 0 15px;}
.home__progress-img,
.home__progress-img img{
  width: 100%;
  height: auto;
  border-radius: 33px;
  overflow: hidden;
}
/*component__home-progress ここまで*/
/*component__home-local*/
.component__home-local{
  width: 100%; height: auto;
  padding-top: 100px;
  padding-bottom: 50px;
}
.component__home-local .component__home-headline{
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.local-contents__image{
  width: 100%; height: auto;
  max-width: 800px;
}
.home__local-contents{
  width: 100%; height: auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}
/*component__home-local ここまで*/

/*component__front-page ここまで*/

/*-------------main component ここまで-------------*/

.no_pc{display: none;}/*PCのみ表示・適用*/
/*-----------------------共通、PC　ここまで-----------------------*/


@media only screen and (max-width: 1350px) {
  .header__nav-title{font-size: 18px;}
  .header__nav-list{gap: 18px;}
}


/*-----------------------レスポンシブ (width ≦ 1080px)-----------------------*/
@media only screen and (max-width: 1080px) {
  .no_pc{display: inline-block;}/*レスポンシブ時のみ表示*/

  .header__nav-logo{
    width: 80px; height: auto;
  }
  .header__nav-title{font-size: 14px;}

  /*レスポンシブメニュー*/
  .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: #d3ebffed;
    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;
  }
  .header__nav-sp-button::before{
    content: '';
    width: 0;
    height: 100vh;
    background-color: #ffffffb7;
    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(--awaji-blue-1);
    border-radius: 55px;
    position: fixed;
    top: 15px;
    right: 0;
    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';}
  /*レスポンシブメニュー ここまで*/
  .no_sp{display: none;}/*レスポンシブ時のみ表示・適用*/
}
/*-----------------------レスポンシブ (width ≦ 1080px)　ここまで-----------------------*/
@media only screen and (max-width: 1000px) {
.component__home-contents-box:has(.component__fv-banner-1){flex-direction: column;gap: 0;}
.component__fv-banner-1{width: 100%; max-width: unset;transform: translateY(-22px);}
}

@media only screen and (max-width: 850px) {
  .component__fv-slide {
    width: calc(100% - 100px);
    height: 400px;
  }
  .fv-slide-img{height: 400px;}
  .component__fv-subtitle {
    width: 270px;
    height: 95px;
    padding: 0 30px;
    font-size: 16px;
    transform: translateY(-400px) translateX(-80px);
    background-image: url(../images/background-1.png);
    background-size: 135px auto;
    background-repeat: no-repeat;
    background-position: right -32px;
    background-color: #2257d3c9;
  }
  .component__fv-scroll-box {transform: translateX(70px) translateY(-95px);}
  .component__fv-message{width: calc(100% - 30px);}
  .home-headline-title-sub{font-size: 40px; line-height: 1.2;transform: scaleY(0.92) translateY(-8px);}
  .component__home-contents-box{flex-direction: column;gap: 35px;}
  .component__home-news .component__home-contents-box{padding: 10px 60px 80px 60px;}
  .component__home-about .component__home-contents-box{padding: 35px 60px 35px 60px;}
  .component__home-progress .component__home-contents-box{padding: 35px 60px 35px 60px;}
  .component__home-progress .home-headline-title-sub {gap: 10px;}
  .component__home-progress .component__home-headline .btn__asset-1{padding:0;}
  .home__progress-list {padding: 50px 0;}
  .component__home-progress .home-headline-title-sub::before, .component__home-progress .home-headline-title-sub::after{flex-shrink: 1;}
  .footer__company{width: 80%;}
  .footer__content{flex-direction: column; gap: 30px; justify-content: flex-start;}
  .footer__nav{ flex-direction: column; gap: 30px; }
  .footer__top{padding: 15px 143px 0 143px;}
  .btn__gotop{justify-content: flex-end;}
  .component__title::before{
    width: 160px;
    height: 190px;
    background-image: url(../images/background-1.png);
    background-size: 160px auto;
    background-repeat: no-repeat;
    transform: translateY(-135px) translateX(40px);
  }
}


@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: 30px 80px 0 80px;}
  .footer__bottom{padding: 32px 80px 0 80px;}
  .component{padding: 143px 80px 0 80px;}
}


@media only screen and (max-width: 580px) {
  .component__home-progress .home-headline-title-sub::before,
  .component__home-progress .home-headline-title-sub::after{display: none;}
  .component__home-progress .home-headline-title, .component__home-progress .home-headline-title-sub{text-align: left;}
  .component__home-progress .home-headline-title-sub{justify-content: flex-start;}
  .footer__top{padding: 30px 30px 0 30px;}
  .footer__bottom{padding: 32px 30px 0 30px;}
  .footer__image-awaji-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;}
}


@media only screen and (max-width: 500px) {
  .header__nav-mainmenu:has(.list-open) .header__nav-sp-button::before{
    width: calc( 100vw - 300px ); /*min-width: 300px;*/ 
  }
  .component__fv-slide{width: calc(100% - 30px);}
  .component__fv-scroll-box{ transform: translateX(68px) translateY(-5px); }
  .component__fv-banner-1{justify-content: center;padding-right: 0;}
  .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(--awaji-blue-1-line);}
  .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;}
}

@media only screen and (max-width: 400px) {
  header{padding: 20px 10px;}
  footer{padding-top: 100px;}
  .header__nav-sp-button{transform: translateX(-10px);}
  .header__nav-sp-button::before{left: calc(-100vw + 65px);}
  .header__nav-title{font-size: 11px;}
  .component__fv-message{min-width: 280px;padding: 21px;}
  .component__fv-subtitle{transform: translateY(-400px) translateX(-10px);}
  .component__fv-scroll{transform: rotate(90deg) translateY(30px) translateX(55px);}
}

@media print{
  html{
    max-width: 1800px;
    min-width: 600px;
    overflow-x: hidden;
  }
  body{width: 100%; height: auto;}
  .header{
    position: absolute;
    max-width: 1800px;
  }
}