@charset "utf-8";

/* 全体
-------------------------------------------------------------- */
.page-body a {
    color: #0c4293;
}
.part-RichText .RichText {
  font-size: 100%;
}
.RichText {
  font-size: 100%;
}
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body {
  max-width: none;
}
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .block .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .block .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .block .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .block .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-footer .block .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-footer .block .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .block-Heading .part,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .block-Heading .part,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .block-Form {
  max-width: 1100px;
  margin-inline: auto;
}
.device-pc[data-max-width="1100-"] .layout-header .block,
.device-pc[data-max-width="1100-"] .layout-footer .block {
  max-width: none;
}
.device-pc[data-max-width="1100-"] .layout-footer .block .b-head,
.device-pc[data-max-width="1100-"] .layout-footer .block .b-body {
  max-width: 1280px;
  margin-inline: auto;
}
.page-body.width-small .layout-body .block .b-head,
.page-body.width-small .layout-body .block .b-body,
.page-body.width-small .layout-footer .block .b-head,
.page-body.width-small .layout-footer .block .b-body {
  max-width: calc(100% - 32px) !important;
  margin-inline: auto;
}

.layout-body {
  margin: 1% 1% 0 1%;
}
.page-body.width-small .layout-body {
  margin: 5% 1% 0 1%;
}
.page-body .block {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
}

.layout-body .block + .block:has(.b-head),
.layout-body .block + .block-Heading {
    margin-top: 80px;
}

/* 見出し */
.page-body .block-Heading {
  border: none;
  background-color: transparent;
  padding: 0;
}
.page-body .block-Heading h1.part-Heading {
  border-bottom: none;
  font-size: 220%;
}
.page-body.width-small .block-Heading h1.part-Heading {
  font-size: 160%;
}
.page-body .block-Heading h1.part-Heading span.piece-Heading {
  padding: 0;
  font-weight: 900;
}
.page-body.width-small .block-Heading h1.part-Heading span.piece-Heading {
  padding: 0 20px;
}

/* ブロック見出し */
.layout-body .block .b-head {
    margin: 0 0 30px 0;
}
.page-body .block .b-head.pattern2 h1 {
    background-color: #f0f6ff;
}
.page-body .block .b-head.pattern2 h1 {
    border-left: none;
    background-color: #f0f6ff;
    display: inline-block;
    background-image: none;
    text-align: left;
    position: relative;
    padding: 5px 40px 5px 10px;
    min-width: 200px;
}
.page-body .block .b-head.pattern2 h1:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border-top: #FFFFFF 20px solid;
    border-right: #FFFFFF 20px solid;
    border-bottom: transparent 20px solid;
    border-left: transparent 20px solid;
    width: 0;
    height: 0;
    content: "";
}
.page-body .block .b-head.pattern2 h1 span {
    position: inherit;
    padding: 0;
}
.page-body .block .b-head.pattern3 h1 {
    border-bottom: none;
    border-top: none;
    position: relative;
    padding: 8px 8px 8px 22px;
    background: transparent;
}
.page-body .block .b-head.pattern3 h1::before {
    display: block;
    content: "";
    position: absolute;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    background-color: #187fc3;
    background: -webkit-linear-gradient(-45deg, #0c4293 0%, #56c4f1 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #0c4293 0%, #56c4f1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}




/* カレンダー */
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar ul.navigation {
  background-color: #0c4293;
}
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar table.calendar thead th {
  border-color: #EEEEEE;
  background-color: #c0d7ff;
  background-image: none;
  text-shadow: none;
}
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar table.calendar tbody td {
  border-color: #EEEEEE;
}
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar ul.navigation li > span {
  padding: 14px;
}
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar table.calendar thead th span {
  padding: 14px 2px;
}

.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar table.calendar tbody td div div.day {
  margin: 0;
}
.page-body .block-GeneralCalendar .b-body .part-GeneralCalendar .piece-GeneralCalendar table.calendar tbody td {
    border-color: #EEEEEE;
    padding: 12px;
}

/* setA */
.page-body .block-SetA .b-body .part-SetA .piece-Heading {
 font-size: 100%;
 font-weight: bold !important;
 padding: 6px 0;
}
.block-SetA .b-body .part-SetA.pattern1 .piece-Image {
  margin: 0 30px 3px 0;
}
.block-SetA .b-body .part-SetA.pattern2 .piece-Image {
  margin: 0 0 3px 30px;
}

/* setB */
.page-body .block-SetB .b-body .part {
  box-shadow: none;
  border-radius: 14px;
  background-color: #f0f6ff;
}
.page-body .block-SetB .b-body .part-SetB > a {
  padding: 0;
}
.page-body .block-SetB .b-body .part-SetB > a:before,
.page-body .block-SetB .b-body .part-SetB > a:after,
.page-body .block-SetB .b-body .part-SetB:after {
  display: none;
}
.block-SetB .b-body .part-SetB.SetItemImage .piece-Image {
  padding: 0;
}
.block-SetB .b-body .part-SetB div.text .piece-Heading,
.block-SetB .b-body .part-SetB div.text .piece-RichText {
  margin-inline: 20px;
  margin-block: 10px;
}
.block-SetB .b-body .part-SetB.SetItemImage.pattern3 div.text {
  padding-block-start: 10px;
  padding-block-end: 20px;
}
.page-body .block-SetB .b-body .part-SetB div.text .piece-Heading {
  border-left: none;
  padding: 0;
  font-size: 120%;
  color: #0c4293;
}

/* ニュースリスト */
.page-body .piece table.list-article tbody tr td.category span {
  border-radius: 3px;
}

/* ブロック見出し */
.page-body .block .b-head h1 {
  font-size: 120%;
}
.page-body .block .b-head.pattern1 h1 {
  border-left: none;
  padding: 10px;
}


/* Header
-------------------------------------------------------------- */
.page-body:not(.width-small) .block-HeaderSet1 {
  border-bottom: 1px solid #EEEEEE;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 {
  display: grid;
  place-content: center;
  grid-template-columns: 200px 1fr 202px;
  grid-template-rows: max-content 1fr;
  column-gap: 20px;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 {
  display: contents;
}
.page-body:not(.width-small) .layout-header .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 h1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 h1 .piece-Image img {
  max-width: 180px;
}
.page-body:not(.width-small) .layout-header .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu .tel {
  display: none;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu .button {
  float: none;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu .button ul.piece-ButtonList {
  margin: 0;
  border-spacing: 0;
  display: flex;
  gap: 2px;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu .button ul.piece-ButtonList li {
  inline-size: 100px;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit2 .menu .button ul.piece-ButtonList li a {
  border-radius: 0;
  background-color: #0c4293;
  background-image: none;
  padding: 10px;
  box-sizing: border-box;
  block-size: 60px;
  display: flex;
  align-items: center;
  text-wrap: wrap;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit3 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  background-color: transparent !important;
  margin: auto 0 auto auto;
}
.page-body:not(.width-small) .layout-header .block-HeaderSet1 .b-body .part-HeaderSet1 .unit3 ul.piece-SubMenu {
  inline-size: fit-content;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  background-color: transparent !important;
  margin: 0 0 0 auto;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 ul.piece-GlobalMenu {
  display: flex;
  gap: 0;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 ul.piece-GlobalMenu > li > a {
  padding: 10px;
  font-weight: bold;
  background-color: transparent !important;
}
.page-body:not(.width-small) .block.block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 ul.piece-GlobalMenu > li > a::after {
  display: none;
}
.page-body:not(.width-small) .block.block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 ul.piece-GlobalMenu > li > a:before {
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
  background-color: #0c4293;
  bottom: 0;
}
.page-body:not(.width-small) .block-HeaderSet1 .b-body .part-HeaderSet1 .unit4 ul.piece-GlobalMenu > li > a:hover::before {
  transform: scale(1, 1);
}

/* Footer
-------------------------------------------------------------- */
.page-body .layout-footer {
  font-size: 80%;
}
.page-body.width-small .layout-footer {
  background-color: transparent;
}
.page-body .block.block-SitemapFooter {
  margin-block-start: 40px !important;
}
.page-body .block.block-SitemapFooter .b-body {
  background-color: transparent;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.page-body.width-small .block.block-SitemapFooter .b-body {
  flex-direction: column;
}
.block-SitemapFooter .b-body .part-RichText {
  flex-shrink: 0;
}
.page-body .block-SitemapFooter .b-body .part-SitemapFooter {
  margin: 0;
  padding-bottom: 0;
  font-size: 100%;
}
.page-body .block-SitemapFooter .b-body .part-SitemapFooter .piece-Sitemap {
  display: flex;
  flex-wrap: wrap;
}
.block-SitemapFooter .b-body .part-SitemapFooter ul.piece-Sitemap > li {
  width: calc(100% / 4);
}
.page-body .block.block-SitemapFooter .b-body .part .piece > img {
  width: 180px;
}
.page-body .block.block-SitemapFooter .b-body .part .piece-Table.fixed {
  table-layout: unset;
}
.page-body .block.block-SitemapFooter .b-body .part .piece div.table-box {
  inline-size: fit-content;
}
.page-body .block.block-SitemapFooter .b-body .part .piece div.table-box tr {
  display: flex;
  gap: 12px;
}
.page-body .block.block-SitemapFooter .b-body .part .piece div.table-box .RichText img {
  width: 20px;
}
.page-body .block-SitemapFooter .b-body .part-SitemapFooter ul.piece-Sitemap li a:hover {
  color: #0c4293;
}
.page-body .ccc-sub-footer {
  font-size: 10px;
  margin-block-end: 10px !important;
}
.page-body .block-Copyright .b-body .part-Copyright p {
  font-size: 100%;
}

/* カスタマイズ
-------------------------------------------------------------- */
/* ---- トップページ ---- */
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-lead .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-lead .b-body {
  max-width: 700px;
  margin-inline: auto;
}
.page-body .ccc-lead .b-head,
.page-body .ccc-lead .b-body {
  margin-block: 60px;
}
.page-body .ccc-lead .b-body .RichText {
  font-weight: 600;
}
.page-body .ccc-lead .b-body .RichText span.w-f-s-x-large {
  font-size: 200%;
}

.ccc-bg-gblue {
  background-color: #56c4f1;
  background-image: linear-gradient(to top, #56c4f1 0%, #5f9fff 100%);
}
.ccc-bg-blue {
  background-color: #0c4293 !important;
}
.ccc-bg-yellow {
  background-color: #fffbe4 !important;
}
/* 見出し */
.ccc-top-title {
  text-align: center;
}
/* 各見出しとコンテンツ */
.ccc-top-Tclass {
  padding-top: 80px !important;
  background-color: #5f9fff !important;
  color: #FFFFFF;
}
.layout-body .ccc-top-Tclass + .ccc-top-Cclass {
  margin-top: 0;
  padding-top: 1%;
  padding-block-end: 80px;
}
.layout-body .block + .ccc-top-Tvisit {
  margin-top: 0;
}
.ccc-top-Tvisit {
  padding-top: 80px !important;
}
.layout-body .ccc-top-Tvisit + .ccc-top-Cvisit {
  margin-top: 0;
  padding-top: 1%;
  padding-block-end: 80px;
}
.ccc-top-Tlink {
  padding-top: 80px !important;
  background-color: #EFEFEF !important;
}
.layout-body .ccc-top-Tlink + .ccc-top-Clink {
  margin-top: 0;
  padding-top: 1%;
  padding-block-end: 80px;
  background-color: #EFEFEF !important;
}


/* フッターCV */
.ccc-f-CV {
  background-color: #0c4293;
  padding-block: 40px;
}
.ccc-f-CV .b-body.SetItem3 .part {
  margin-bottom: 0;
}
.ccc-f-CV .b-body .part-Image .piece-Image img {
  border-radius: 10px;
  border: 4px solid #f0a400;
  box-sizing: border-box;
}

/* サイドCV */
.ccc-side-CV {
  position: fixed;
  top: 20%;
  right: 0;
  z-index: 6;
}
.page-body .ccc-side-CV .b-body .part-ButtonList ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  writing-mode: vertical-rl;
}
 
.page-body .ccc-side-CV .b-body .part-ButtonList ul li a {
  border-radius: 10px 0 0 10px;
  padding: 20px 14px;
  font-weight: bold;
  font-size: 90%;
  letter-spacing: 0.1rem;
}
.page-body .ccc-side-CV .b-body .part-ButtonList ul li a {
    background-color: #f0a400;
    background-image: none;
}

/* ---- ヘッダータイトル ---- */
.page-body .block-Heading:not(.ccc-top-title)  {
  background-color: #0c4293 !important;
}
.page-body .block-Heading:not(.ccc-top-title) .part {
  color: #FFFFFF !important;
  padding-block: 40px;
}

/* ---- 写真付きリスト ---- */
.page-body .ccc-list .b-body .part {
  border-radius: 0;
}
.page-body .ccc-list .b-body .part-SetB > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-body .ccc-list .b-body .part-SetB.SetItemImage .piece-Image {
  position: relative;
}
.page-body .ccc-list .b-body .part-SetB.SetItemImage .piece-Image::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(315deg, #0c4293 0%, #56c4f1 100%);
  z-index: 0;
  opacity: 0.8;
  border: 0;
  margin-top: 0;
}
.page-body .ccc-list .b-body .part-SetB.SetItemImage a:hover .piece-Image::after {
  opacity: 1;
  transition: all 0.2s ease-out 0s;
}
.page-body .ccc-list .b-body .part-SetB div.text .piece-Heading {
  font-size: 100%;
  color: #FFFFFF;
}
.page-body .ccc-list .b-body .part-SetB.SetItemImage.pattern3 div.text {
  position: absolute;
  color: #FFFFFF;
}

/* 4カラム */
.page-body .ccc-list .b-body.SetItem4 {
  padding: 0;
}
.page-body .ccc-list .b-body.SetItem4 .part {
  margin: 0;
  width: calc(100% / 4);
  background-color: transparent;
}
/* 3カラム */
.block-SetB .ccc-list .b-body.SetItem3 .part {
  margin: 0;
  width: calc(100% / 3);
  background-color: transparent;
}
/* ---- 横幅900 ---- */
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .ccc-w900 .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .ccc-w900 .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-w900 .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-w900 .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-footer .ccc-w900 .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-footer .ccc-w900 .b-body {
  max-width: 900px;
  margin-inline: auto;
}
/* ---- 横幅いっぱい ---- */
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .ccc-wmax .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body-header .ccc-wmax .b-body,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-wmax .b-head,
.page-body.device-pc[data-max-width="1100-"] .layout-page .layout-body .ccc-wmax .b-body {
  max-width: none;
}
/* ---- NEWS ---- */
body.page-body:not(.width-small) .ccc-news {
  display: flex;
  max-width: 1100px !important;
  margin-inline: auto;
  gap: 20px;
}
.ccc-news .b-head {
  background-color: #0c4293;
  flex-shrink: 0;
}
.page-body:not(.width-small) .ccc-news .b-head {
  inline-size: 200px;
}
.page-body .ccc-news .piece table.list-article tbody tr {
    background: transparent;
}
.page-body .ccc-news .piece table.list-article tbody tr:nth-child(2n) {
    background: transparent;
}


.page-body .layout-page .block-Heading.ccc-head-title {
  background: rgba(var(--color-primary-contrast-rgb), 1);
  background-image: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  border: none;
  padding: 0 !important;
}
.page-body:not(.width-small) .layout-page .block-Heading.ccc-head-title {
  display: flex;
  position: relative;
}
.page-body .layout-page .block-Heading.ccc-head-title:has(.part-Image) {
  align-items: center;
}
.page-body .layout-page .block-Heading.ccc-head-title:not(:has(.part-Image)) {
  margin-block: max(5%, 30px);
}
.page-body .layout-page .block-Heading.ccc-head-title .part-Heading {
  /* inline-size: min(100%, 1100px); */
  /* margin: 0 auto; */
}
.page-body .layout-page .block-Heading.ccc-head-title .part {
  max-width: none !important;
  color: #FFFFFF !important;
  padding-block: 0;
}
.page-body .layout-page .block-Heading.ccc-head-title:not(:has(.part-Image)) .part-Heading {
  /* inline-size: min(calc(100% - 32px), 1100px); */
}
.page-body:not(.width-small) .layout-page .block-Heading.ccc-head-title:has(.part-Image) .part-Heading {
  position: absolute;
}
.page-body.width-small .layout-page .block-Heading.ccc-head-title .part-Heading {
  inline-size: min(calc(100% - 32px), 1100px);
}
.page-body.width-small .layout-page .block-Heading.ccc-head-title:has(.part-Image) .part-Heading {
  inline-size: min(100%, 1100px);
}
.page-body .layout-page .block-Heading.ccc-head-title:has(.part-Image) .part-Heading .piece-Heading {
  background: rgba(12, 66, 147, 1);
  padding: 30px;
  display: inline-block;
  min-width: 400px;
}
.page-body.width-small .layout-page .block-Heading.ccc-head-title:has(.part-Image) .part-Heading .piece-Heading {
  padding: 16px;
  background: rgba(12, 66, 147, 1);
}



.ccc-blockB {
  border: 1px solid #0c4293;
  max-width: 1100px;
  margin-inline: auto !important;
  padding: 20px;
  box-sizing: border-box;
}

.layout-body .block + .block.ccc-mt0 {
    margin-top: 0 !important;
}
.layout-body .block.ccc-ptb40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}