@charset "UTF-8";
/* CSS Document */
body {
  background-color: #FFFFFF;
  margin: 0px;
  padding: 0px;
}
/* Mobile Layout: 480px and below. */
.bannerCautioncellphoneONpcOFF {
  display: inline-block;
}
.bannerCautioncellphoneOFFpcON {
  display: none;
}
.storyboard {
  display: flex;
  flex-wrap: wrap;
}
.storyboardLeft {
  width: 100%;
  padding-bottom: 16px;
  box-sizing: border-box;
}
.storyboardLeftIMG {
  width: 100%;
  padding-bottom: 16px;
  box-sizing: border-box;
}
.storyboardLeftIMG img {
  width: 100%;
  height: auto;
}
.storyboardRight {
  width: 100%;
  padding-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  box-sizing: border-box;
}
.storyboardFull {
  width: 100%;
  padding-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  box-sizing: border-box;
}
.figBlockWrap {
  display: inline-block;
  width: 100%;
  text-align: left;
  font-size: 0; /*inline-blockの隙間バグ対策*/
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
}
.figBlockBanner {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 2px;
}
.figBlockEach {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 2px;
}
.statementInlineBlock {
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
  display: inline-block;
  box-sizing: border-box;
}
.statementInlineBlockSeparater {
  /*inline-block を縦並びにするためには、幅100％の区切を入れる必要がある。*/
  height: 32px;
  width: 100%;
  display: inline-block;
}
#calendarMonth {
  display: none;
}
#calendarList {
  display: block;
}
#summaryTextBox {
  box-sizing: border-box;
  width: calc(100% - 32px);
  padding: 32px;
  margin-top: 16px;
  margin-bottom: 16px;
  margin-left: 16px;
  margin-right: 16px;
}
#summaryTextBoxB {
  box-sizing: border-box;
  width: calc(100% - 32px);
  padding: 32px;
  margin-top: 16px;
  margin-bottom: 16px;
  margin-left: 16px;
  margin-right: 16px;
}
/*grid対応*/
#flexHeader {
  position: sticky;
  background-color: #ffffff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px;
  column-gap: 16px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: auto;
  left: 0px;
  top: 0px;
  padding: 8px;
  z-index: 200;
}
#flexHeaderSectionLeft {
  flex-shrink: 1;
}
#flexHeaderSectionCenter {
  display: none;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  padding-left: 16px;
  padding-right: 16px;
}
#flexHeaderSectionRight {
  flex-shrink: 1;
  display: flex;
}
#flexStrip {
  position: relative;
  overflow: auto;
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  left: 0px;
  top: 0px;
  padding-top: 8px;
  padding-left: 48px;
  padding-right: 48px;
  padding-bottom: 8px;
  background-color: rgba(240, 240, 240, 1);
  border: none;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  z-index: 100;
}
#gridSmartphone {
  grid-column: 1 / 2;
  position: relative;
  overflow: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  left: 0px;
  top: 0px;
  padding-top: 32px;
  padding-bottom: 32px;
  background-color: rgba(240, 240, 240, 1);
  border: none;
  z-index: 100;
}
#gridStage {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  left: 0px;
  top: 0px;
  z-index: 50;
}
#gridBanner {
  position: relative;
  grid-column: 1 / 2;
}
#gridBanner > a {
  max-width: 100%;
  width: 100%;
  height: auto;
}
#gridBanner > a > img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
#gridSummary {
  position: relative;
  grid-column: 1 / 2;
}
#gridSummaryB {
  position: relative;
  grid-column: 1 / 2;
}
#gridBoard {
  position: relative;
  grid-column: 1 / 2;
  height: auto;
}
#gridSquares {
  display: grid;
  grid-column: 1 / 2;
  grid-template-columns: subgrid;
  position: relative;
  height: auto;
}
.gridRectangleSq {
  display: block;
  position: relative;
  overflow: hidden;
}
.gridRectangleSq > a > img {
  width: 100%;
  height: auto;
}
.gridRectangle {
  display: none;
  position: relative;
  overflow: hidden;
  grid-column: span 1;
}
.gridRectangle > a > img {
  width: 100%;
  height: auto;
}
.gridSquare {
  position: relative;
  overflow: hidden;
}
.gridSquare > a > img {
  width: 100%;
  height: auto;
}
.gridCaption {
  position: absolute;
  left: 8px;
  bottom: 8px;
  margin-right: 8px;
  padding: 2px 8px 2px 8px;
  z-index: 800;
  color: #002f5f;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  vertical-align: 0px;
  font-weight: normal;
  text-align: left;
  background-color: #ffffff;
}
#gridList {
  position: relative;
  grid-column: 1 / 2;
  height: auto;
  text-align: center;
  background-color: white;
}
#gridHpPages {
  position: relative;
  grid-column: 1 / 2;
  height: auto;
  text-align: center;
}
#footer {
  position: sticky;
  bottom: 0px;
  padding-top: 8px;
  padding-bottom: 8px;
  z-index: 2000;
  background-color: white;
  box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.1);
}
#twitter {
  display: none;
  right: -240px;
  top: 160px;
  z-index: 500;
}
#twitterInside {
  left: 0px;
}
.textStripItem {
  color: #002f5f;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(12px, calc(12px + 1vw));
  vertical-align: 0px;
  font-weight: normal;
  border: 0px;
  border-radius: 4px;
  padding-top: 2px;
  padding-left: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  margin-top: 0px;
  margin-left: 4px;
  margin-right: 4px;
  margin-bottom: 0px;
  text-align: center;
}
/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */
@media only screen and (min-width: 481px) {
  .bannerCautioncellphoneONpcOFF {
    display: none;
  }
  .bannerCautioncellphoneOFFpcON {
    display: inline-block;
  }
  .storyboard {
    display: flex;
    flex-wrap: nowrap;
  }
  .storyboardLeft {
    width: 40%;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .storyboardLeftIMG {
    width: 40%;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .storyboardLeftIMG img {
    width: 100%;
    height: auto;
  }
  .storyboardRight {
    width: 60%;
    padding-left: 32px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
	  .storyboardFull {
    width: 100%;
    padding-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .figBlockWrap {
    display: inline-block;
    width: 100%;
    text-align: left;
    font-size: 0; /*inline-blockの隙間バグ対策*/
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
  }
  .figBlockBanner {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 2px;
    padding-bottom: 2px;
  }
  .figBlockEach {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 2px;
    padding-bottom: 2px;
  }
  .statementInlineBlock {
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
  }
  .statementInlineBlockSeparater {
    /*inline-block を縦並びにするためには、幅100％の区切を入れる必要がある。*/
    height: 32px;
    width: 100%;
    display: inline-block;
  }
  #calendarMonth {
    display: block;
  }
  #calendarList {
    display: none;
  }
  #summaryTextBox {
    box-sizing: border-box;
    width: 420px;
    padding: 64px;
    margin-top: 32px;
    margin-bottom: 32px;
    margin-left: 0px;
    margin-right: 0px;
  }
  #summaryTextBoxB {
    box-sizing: border-box;
    width: 420px;
    padding: 64px;
    margin-top: 32px;
    margin-bottom: 32px;
    margin-left: 0px;
    margin-right: 0px;
  }
  /*grid対応*/
  #flexHeader {
    position: sticky;
    background-color: #ffffff;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-wrap: wrap;
    row-gap: 16px;
    column-gap: 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding: 8px;
    z-index: 200;
  }
  #flexHeaderSectionLeft {
    flex-shrink: 1;
  }
  #flexHeaderSectionCenter {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding-left: 16px;
    padding-right: 16px;
  }
  #flexHeaderSectionRight {
    flex-shrink: 1;
    display: none;
  }
  #flexStrip {
    position: relative;
    overflow: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding-top: 8px;
    padding-left: 48px;
    padding-right: 48px;
    padding-bottom: 8px;
    background-color: rgba(240, 240, 240, 1);
    border: none;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    z-index: 100;
  }
  #gridSmartphone {
    grid-column: 1 / 3;
    position: relative;
    overflow: auto;
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding-top: 32px;
    padding-bottom: 32px;
    background-color: rgba(240, 240, 240, 1);
    border: none;
    z-index: 100;
  }
  #gridStage {
    position: relative;
    display: grid;
    grid-template-columns: 50% 50%;
    left: 0px;
    top: 0px;
    z-index: 50;
  }
  #gridBanner {
    position: relative;
    grid-column: 1 / 3;
  }
  #gridBanner > a {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
  #gridBanner > a > img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
  #gridSummary {
    position: relative;
    grid-column: 1 / 3;
  }
  #gridSummaryB {
    position: relative;
    grid-column: 1 / 3;
  }
  #gridBoard {
    position: relative;
    grid-column: 1 / 3;
    height: auto;
  }
  #gridSquares {
    display: grid;
    grid-column: 1 / 3;
    grid-template-columns: subgrid;
    position: relative;
    height: auto;
  }
  .gridRectangleSq {
    display: block;
    position: relative;
    overflow: hidden;
  }
  .gridRectangleSq > a > img {
    width: 100%;
    height: auto;
  }
  .gridRectangle {
    display: none;
    position: relative;
    overflow: hidden;
    grid-column: span 2;
  }
  .gridRectangle > a > img {
    width: 100%;
    height: auto;
  }
  .gridSquare {
    position: relative;
    overflow: hidden;
  }
  .gridSquare > a > img {
    width: 100%;
    height: auto;
  }
  .gridCaption {
    position: absolute;
    left: 8px;
    bottom: 8px;
    margin-right: 8px;
    padding: 2px 8px 2px 8px;
    z-index: 800;
    color: #002f5f;
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    vertical-align: 0px;
    font-weight: normal;
    text-align: left;
    background-color: #ffffff;
  }
  #gridList {
    position: relative;
    grid-column: 1 / 3;
    height: auto;
    text-align: center;
    background-color: rgba(240, 240, 240, 1);
  }
  #gridHpPages {
    position: relative;
    grid-column: 1 / 3;
    height: auto;
    text-align: center;
  }
  #footer {
    position: sticky;
    bottom: 0px;
    padding-top: 8px;
    padding-bottom: 8px;
    z-index: 2000;
    background-color: white;
    box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.1);
  }
  #twitter {
    display: block;
    right: -240px;
    top: 160px;
    z-index: 500;
  }
  #twitterInside {
    left: 0px;
  }
  .textStripItem {
    color: #002f5f;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: min(12px, calc(12px + 1vw));
    vertical-align: 0px;
    font-weight: normal;
    border: 0px;
    border-radius: 4px;
    padding-top: 2px;
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 4px;
    margin-top: 0px;
    margin-left: 4px;
    margin-right: 4px;
    margin-bottom: 0px;
    text-align: center;
  }
}
/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */
@media only screen and (min-width: 769px) {
  .bannerCautioncellphoneONpcOFF {
    display: none;
  }
  .bannerCautioncellphoneOFFpcON {
    display: inline-block;
  }
  .storyboard {
    display: flex;
    flex-wrap: nowrap;
  }
  .storyboardLeft {
    width: 40%;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .storyboardLeftIMG {
    width: 40%;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .storyboardLeftIMG img {
    width: 100%;
    height: auto;
  }
  .storyboardRight {
    width: 60%;
    padding-left: 32px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
	  .storyboardFull {
    width: 100%;
    padding-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
  }
  .figBlockWrap {
    display: inline-block;
    width: 100%;
    text-align: left;
    font-size: 0; /*inline-blockの隙間バグ対策*/
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
  }
  .figBlockBanner {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 2px;
    padding-bottom: 2px;
  }
  .figBlockEach {
    display: inline-block;
    width: calc(100%/3);
    vertical-align: top;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 2px;
    padding-bottom: 2px;
  }
  .statementInlineBlock {
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
    max-width: 960px;
    display: inline-block;
    box-sizing: border-box;
  }
  .statementInlineBlockSeparater {
    /*inline-block を縦並びにするためには、幅100％の区切を入れる必要がある。*/
    height: 32px;
    width: 100%;
    display: inline-block;
  }
  #calendarMonth {
    display: block;
  }
  #calendarList {
    display: none;
  }
  #summaryTextBox {
    box-sizing: border-box;
    width: 704px;
    padding: 64px;
    margin-top: 32px;
    margin-bottom: 32px;
    margin-left: 0px;
    margin-right: 0px;
  }
  #summaryTextBoxB {
    box-sizing: border-box;
    width: 704px;
    padding: 64px;
    margin-top: 32px;
    margin-bottom: 32px;
    margin-left: 0px;
    margin-right: 0px;
  }
  /*grid対応*/
  #flexHeader {
    position: sticky;
    background-color: #ffffff;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-wrap: wrap;
    row-gap: 16px;
    column-gap: 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding: 8px;
    z-index: 200;
  }
  #flexHeaderSectionLeft {
    flex-shrink: 1;
  }
  #flexHeaderSectionCenter {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding-left: 16px;
    padding-right: 16px;
  }
  #flexHeaderSectionRight {
    flex-shrink: 1;
    display: none;
  }
  #flexStrip {
    position: relative;
    overflow: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding-top: 8px;
    padding-left: 48px;
    padding-right: 48px;
    padding-bottom: 8px;
    background-color: rgba(240, 240, 240, 1);
    border: none;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    z-index: 100;
  }
  #gridSmartphone {
    grid-column: 1 / 5;
    position: relative;
    overflow: auto;
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    left: 0px;
    top: 0px;
    padding-top: 32px;
    padding-bottom: 32px;
    background-color: rgba(240, 240, 240, 1);
    border: none;
    z-index: 100;
  }
  #gridStage {
    position: relative;
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    left: 0px;
    top: 0px;
    z-index: 50;
  }
  #gridBanner {
    position: relative;
    grid-column: 1 / 5;
  }
  #gridBanner > a {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
  #gridBanner > a > img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
  #gridSummary {
    position: relative;
    grid-column: 1 / 5;
  }
  #gridSummaryB {
    position: relative;
    grid-column: 1 / 5;
  }
  #gridBoard {
    position: relative;
    grid-column: 1 / 5;
    height: auto;
  }
  #gridSquares {
    display: grid;
    grid-column: 1 / 5;
    grid-template-columns: subgrid;
    position: relative;
    height: auto;
  }
  .gridRectangleSq {
    display: none;
    position: relative;
    overflow: hidden;
  }
  .gridRectangleSq > a > img {
    width: 100%;
    height: auto;
  }
  .gridRectangle {
    display: block;
    position: relative;
    overflow: hidden;
    grid-column: span 2;
  }
  .gridRectangle > a > img {
    width: 100%;
    height: auto;
  }
  .gridSquare {
    position: relative;
    overflow: hidden;
  }
  .gridSquare > a > img {
    width: 100%;
    height: auto;
  }
  .gridCaption {
    position: absolute;
    left: 8px;
    bottom: 8px;
    margin-right: 8px;
    padding: 2px 8px 2px 8px;
    z-index: 800;
    color: #002f5f;
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    vertical-align: 0px;
    font-weight: normal;
    text-align: left;
    background-color: #ffffff;
  }
  #gridList {
    position: relative;
    grid-column: 1 / 5;
    height: auto;
    text-align: center;
    background-color: rgba(240, 240, 240, 1);
  }
  #gridHpPages {
    position: relative;
    grid-column: 1 / 5;
    height: auto;
    text-align: center;
  }
  #footer {
    position: sticky;
    bottom: 0px;
    padding-top: 8px;
    padding-bottom: 8px;
    z-index: 2000;
    background-color: white;
    box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.1);
  }
  #twitter {
    display: block;
    right: -240px;
    top: 160px;
    z-index: 500;
  }
  #twitterInside {
    left: 0px;
  }
  .textStripItem {
    color: #002f5f;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: min(12px, calc(12px + 1vw));
    vertical-align: 0px;
    font-weight: normal;
    border: 0px;
    border-radius: 4px;
    padding-top: 2px;
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 4px;
    margin-top: 0px;
    margin-left: 4px;
    margin-right: 4px;
    margin-bottom: 0px;
    text-align: center;
  }
}