:root {
  --keycolor01: #4E2E9E;
  --keycolor02: #004B9D;

  --keycolor03: #498D22;
}

/* ---------------- */
.headerTabs ul li:nth-of-type(1) a {
  background-color: #CEE4E5;
  color: #00888F;
}
.headerTabs ul li:nth-of-type(1) a:hover {
  background-color: #00888F;
}

/* ---------------- */
.headerTabs ul li:nth-of-type(2) a.current {
  background-color: #004B9D;
}

/* ---------------- */
.headerTabs ul li:nth-of-type(3) a {
  background-color: #E1D8C1;
  color: #705c21;
}
.headerTabs ul li:nth-of-type(3) a:hover {
  background-color: #705c21;
}




/* FV
______________________________________ */
.fvInner .fv_img02 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1%;
  margin: auto;
  width: min(24vw, 500px);
}
@media (min-width: 920px) {
  .fvInner .fv_img02 {
    right: 52%;
    left: auto;
    width: min(36vw, 450px);
  }
}



.mypage {
  width: 100%;
  background: var(--color11);
  padding: 1.5rem 1.5rem 1.5rem 1.5rem;
}
@media (min-width: 920px) {
  .mypage {
    position: absolute;
    z-index: 10;
    left: 54%;
    /* bottom: min(4vw, 5%); */
    bottom: calc( min(4vw, 5%) + ( min(5vw, 2rem) * 1.2 ) + (1rem * 2));
    padding: 1rem;
    width: min(43vw, 550px);
    display: grid;
    align-items: center;
    grid-template-columns: 7rem 1fr;
    column-gap: 1rem;
    border-radius: 5px;
  }
}
.mypage .mypageTitle {
  color: var(--color01);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  font-size: min(4vw, 24px);
  font-weight: 400;
  margin-bottom: 1rem;
}
@media (min-width: 920px) {
  .mypage .mypageTitle {
    font-size: min(4vw, 16px);
  }
}
.mypage .mypageTitle::before {
  content: '';
  display: block;
  background: url(../img/ico-mypage.png) no-repeat var(--color11);
  background-size: contain;
  width: min(10vw, 42px);
  height: min(10vw, 42px);
  border-radius: 50%;
}

.mypage .mypageBtns {
  width: 100%;
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: .75rem;
}
.mypage .mypageBtns .btn {
  flex-direction: column;
  gap: .25rem;
  padding: .75em 1em;
  font-size: min(4vw, 24px);
  color: #625833;
  border: 1px solid var(--color01);
}
@media (min-width: 920px) {
  .mypage .mypageBtns .btn {
    font-size: min(2vw, 24px);
  }
}

.r6mypage {
  background-color: var(--color12);
}
.r7mypage {
  background-color: var(--color13);
}
.mypage .mypageBtns .btn span {
  font-size: 75%;
}


.sec:nth-of-type(even) {
  background: var(--color03);
}






.sec03 .secInner {
  max-width: var(--innerwidth-wide);
}
.newsIndex {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: block;
  letter-spacing: -.05em;
}
.newsIndex li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: .5em 0;
    margin: 0;
    letter-spacing: 0;
    width: 100%;
}
.newsIndex li .itemHeadline {
    font-weight: 400;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: .25em 0;
    width: 100%;
}
@media (min-width: 920px) {
  .newsIndex li .itemHeadline {
    flex-wrap: nowrap;
  }
}
.newsIndex li .itemHeadline > * {
  font-size: min(3.5vw, 1.5rem);
  line-height: 1;
  color: var(--color02);
}

/* 日付 */ 
.newsIndex li .itemHeadline > time {
  min-width: 6em;
  white-space: nowrap;
  text-align: center;
  color: var(--keycolor01);
  font-family: 'Montserrat';
  font-weight: 700;
}

/* カテゴリ */
.newsIndex li .itemHeadline > div.cat {
  min-width: 6.5em;
}
.newsIndex li .itemHeadline > div.cat p {
  border-radius: 5px;
  font-size: min(3vw, 1rem);
  background: #fff;
  border: 1.5px solid var(--keycolor01);
  color: var(--keycolor01);
  font-weight: 400;
  line-height: 1;
  padding: .4em 1em .55em 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  white-space: nowrap;
  width: calc(100% - 3em);
  margin: auto;
}
.newsIndex .listItem.on .itemHeadline > div.cat p {
  background-color: var(--color01);
}

/* お知らせタイトル */
.newsIndex li .itemHeadline > div.content {
  width: 100%;
  padding: 0;
  line-height: 2;
  display: block;
  column-gap: .5em;
  text-align: left;
  color: var(--color02);
  font-size: min(3.5vw, 1.25rem);
}
.newsIndex li .itemHeadline > div.content a {
  color: var(--color02);
  text-decoration: underline;
}
@media (min-width: 920px) {
  .newsIndex li .itemHeadline > div.content {
    width: auto;
    flex-grow: 1;
    line-height: 1.6;
  }
}
.newsIndex li .itemHeadline > div.content p {
padding: 0 .5em 0 .5em;
}




.newsLink a {
  color: var(--keycolor01);
  text-decoration: underline;
}

a.indexPageLink {
  border: 3px solid #00888F;
  color: #00888F;
  display: grid;
  grid-template-columns: 25% 1fr;
  align-items: center;
  cursor: pointer;
  font-size: min(3vw, 20px);
  font-weight: 700;
  line-height: 1;
  margin-bottom: min(3vw, 1.5rem);
  border-radius: 5px;
  position: relative;
}
a.indexPageLink::before {
  content: '';
  display: block;
  width: 100%;
  height: min(12vw, 78px);
  background: url(../img/fv_img01.png) no-repeat center center;
  background-size: contain;
}
a.indexPageLink p {
  font-size: min(4.5vw, 24px);
  letter-spacing: .1em;
  padding: min(3vw, 1.75em) 0 min(4vw, 1.75em) 6%;
  width: fit-content;
  text-align: center;
  line-height: 1.25;
}
a.indexPageLink::after {

  content: '\0025b6';
  position: absolute;
  right: min(2vw, 1em);
  font-size: min(2vw, 18px);
}

.localAnchor {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(3vw, 1.5rem);
}
.localAnchor li a {
  border: 2px solid var(--keycolor01);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: min(2vw, 1.5em) min(2vw, 2em);
  font-size: min(3vw, 26px);
  font-weight: 700;
  color: var(--keycolor01);
}
.localAnchor li a::after {
  content: '▼';
  position: absolute;
  right: min(2vw, 1em);
  font-size: min(2vw, 18px);
}




.sec06 .secInner {
  max-width: var(--innerwidth);
}

/* 
.schedule_Flow {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .schedule_Flow {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    letter-spacing: -.3em;
    width: 100%;
    margin: auto;
  }
}

.flow_itembox {
  position: relative;
  width: 100%;
  max-width: 1200px;
  height: 180px;

  padding: 3.5rem 0 0 0;
  margin-top: -46px;
}
.flow_itembox:first-of-type {
  height: 140px;

  padding: 1rem 0 0 0;
  margin-top: 0;
}
@media (min-width: 1200px) {
  .flow_itembox {
    position: relative;
    display: inline-flex;
    align-items: center;
    letter-spacing: 0;
    margin-left: -3.5rem;
    width: calc(100% / 3);
    height: 16rem;
    padding: 0;
  }
  .flow_itembox:first-of-type {
    padding: .5em 1.5em .5em 0;
    margin-left: 0;
    width: calc(100% / 3 - 1.5rem);
    height: 16rem;
    padding: 0;
  }

}

.flow_itembox .flow_title {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 1em;
  padding: 0 0 2.5rem 0;
}
@media (min-width: 1200px) {
  .flow_itembox .flow_title {
    padding: 1rem 0 1rem 0;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    column-gap: 0;
  }
  .flow_itembox:first-of-type .flow_title {
    margin-left: -2.25rem;
  }
}

.flow_itembox .flow_title p {
  font-weight: 700;
  color: var(--color01);
}
.flow_itembox .flow_title p:nth-of-type(1) {
  font-size: min(5vw, 26px);
  font-family: 'Montserrat';
  font-weight: 700;
  opacity: .75;
}
.flow_itembox .flow_title p:nth-of-type(2) {
  font-size: min(6.5vw, 32px);
  letter-spacing: .15em;
}
.flow_itembox .flow_title p:nth-of-type(3) {
  font-size: min(4vw, 20px);
  letter-spacing: .15em;
  width: 100%;
}
.flow_itembox .flow_title p:empty {
  display: none;
}
@media (min-width: 1200px) {
  .flow_itembox .flow_title p:nth-of-type(1) {

  }
  .flow_itembox .flow_title p:nth-of-type(2) {
    padding-left: 1em;
  }
  .flow_itembox .flow_title p:nth-of-type(3) {
    letter-spacing: .15em;
  }
  .flow_itembox .flow_title p::after {
    content: '　';
  }
  .flow_itembox .flow_title p:empty {
    display: inline;
  }
}

.flow_itembox:nth-of-type(1) .flow_itembox_bg { background-color: #fac285; }
.flow_itembox:nth-of-type(2) .flow_itembox_bg { background-color: #f4b488; }
.flow_itembox:nth-of-type(3) .flow_itembox_bg { background-color: #f4a587; }

.flow_itembox .flow_itembox_bg {
  display: block ;
  position: absolute; 
  top : 0% ;
  left: 0% ;
  width: 100% ;
  height: 100% ;
  clip-path: 
    polygon(
      0% 0%,
      50% calc(100% - 130px),
      100% 0%,
      100% calc( 100% - 60px ),
      50% calc( 100% - 10px ),
      0% calc( 100% - 60px )
    );
}
.flow_itembox:first-of-type .flow_itembox_bg {
  clip-path: 
    polygon(
      0% 0%,
      100% 0%,
      100% calc( 100% - 60px ),
      50% calc( 100% - 10px ),
      0% calc( 100% - 60px )
    );
}
@media (min-width: 1200px) {
  .flow_itembox .flow_itembox_bg {
    display: block ;
    position: absolute; 
    top : 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    clip-path:
      polygon(
        0% 0%,
        calc( 100% - 86px ) 0%,
        100% 50%,
        calc( 100% - 86px ) 100%,
        0% 100%,
        calc(0% + 86px) 50%
      );
  }
  .flow_itembox:first-of-type .flow_itembox_bg {
    clip-path: 
      polygon(
        0% 0%,
        calc( 100% - 86px ) 0%,
        100% 50%,
        calc( 100% - 86px ) 100%,
        0% 100%
      );
  }
}
 */




























.sec07 .secInner {
  max-width: var(--innerwidth-middle)
}
.guide.ico-xlsx {
  display: grid;
  grid-template-columns: min(6em, 80px) 1fr;
  align-items: center;
  gap: 0 2rem;
  margin: auto auto 2rem auto;
  width: 100%;
  text-align: justify;
  letter-spacing: .05em;
  font-size: min(4vw, 20px);
  font-weight: 700;
  line-height: 1.8;
}
.guide.ico-xlsx p {
  line-height: 1.8;
}
.guide.ico-xlsx::before {
  content: '';
  width: min(6em, 80px);
  height: min(9em, 106px);
  background: url(../img/ico-xlsxFile.png) no-repeat;
  background-size: contain;
}

@media (min-width: 920px) {
  .guide.ico-xlsx {
    grid-template-columns: min(6em, 129px) 1fr;
    gap: 0 4rem;
    width: 100%;
  }
  .guide.ico-xlsx p {
    line-height: 2.3;
  }
  .guide.ico-xlsx::before {
    width: min(6em, 129px);
    height: min(9em, 172px);
  }
}

.guide.ico-caution {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  width: fit-content;
  margin: auto;
  color: var(--color05);
  font-weight: 700;
  font-size: min(4vw, 20px);
  margin-bottom: 4rem;
}
.guide.ico-caution::before {
  content: '';
  width: min(4rem, 71px);
  height: min(4rem, 62px);
  background: url(../img/ico-caution.png) no-repeat;
  background-size: contain;
  background-position: center;
}





.downloads {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  gap: 1rem;
}
@media(min-width: 920px) {
  .downloads {
    grid-template-columns: repeat(auto-fill, minmax(458px, 1fr));
    gap: 0 8%;
  }
}

.docs {
  display: grid;
  grid-template-columns: min(16%, 87px) 1fr;
  column-gap: min(4%, 2rem);
  align-items: flex-start;
  justify-content: space-between;
  background-color: var(--color01);
  box-shadow: none;
  width: 100%;
  padding: 3rem 0 3rem 0;
  margin: 0;
  height: 100%;
  border-bottom: 1px solid #eee;
  transition: transform .2s ease-in, box-shadow .2s ease-in;
  position: relative;
  overflow: hidden;
}
a.docs::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  min-height: 116px;
  margin: 0;
  padding: 0;
  color: transparent;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent;
}
a.docs[href$=".pdf"]::before {
  background-image: url(../img/ico-eachFile.png);
}
a.docs[href$=".xlsx"]::before {
  background-image: url(../img/ico-eachFile.png);
}
a.docs[href$=".docx"]::before {
  background-image: url(../img/ico-eachFile.png);
}

.docs dl dt {
  color: var(--keycolor01);
  font-size: min(5vw, 24px);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1em;
}
.docs dl dd .explain {
  color: var(--color02);
  font-size: min(4vw, 1rem);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 1.5em;
}
.docs dl dd .fileDL {
  display: flex;
  align-items: center;
  color: #777;
  font-size: min(4vw, 18px)
}
.docs dl dd .fileDL::before {
  content: '';
  width: min(4vw, 19px);
  height: min(4vw, 19px);
  background: url(../img/ico-dl.png) no-repeat;
  background-size: contain;
  margin-right: .5rem;
}
