@charset "UTF-8";
body {
  font-size: 16px;
  font-family: 'Noto Sans JP', Helvetica, sans-serif;
  font-weight: normal;
  width: 100%;
  height: 100%; }

@media screen and (min-width: 1025px) {
  .sp_only {
    display: none; } }

.pc_only {
  display: none; }
  @media screen and (min-width: 1025px) {
    .pc_only {
      display: block; } }

#allFrameUnder {
  max-width: 1920px;
  margin: 0px auto 0px;
  background-color: #fff;
  padding-left: 180px; }
  @media screen and (max-width: 1024px) {
    #allFrameUnder {
      width: 100%;
      padding: 0;
      overflow: hidden; } }

div.pcTitleLine {
  width: 150px;
  position: fixed;
  top: 2%;
  left: 40px; }
  div.pcTitleLine p.namePosition {
    padding-left: 4%;
    font-size: 1.6rem;
    font-weight: bold; }
  div.pcTitleLine p.pcName {
    color: #004098;
    font-size: 1.2rem;
    writing-mode: vertical-lr;
    padding-left: 10px;
    letter-spacing: 0.4rem; }
    div.pcTitleLine p.pcName span {
      font-size: 3.8rem;
      line-height: 120%;
      font-weight: bold; }
    div.pcTitleLine p.pcName a {
      color: #004098; }
  div.pcTitleLine p.pcCatchCopy {
    margin-top: 15%;
    font-size: 5rem;
    font-weight: bold;
    color: #004098;
    writing-mode: vertical-lr;
    line-height: 90%;
    /*    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #fff;*/
    z-index: 5; }
    div.pcTitleLine p.pcCatchCopy span {
      font-size: 2.5rem; }
  div.pcTitleLine p.pcLinks {
    margin-top: 30px;
    font-size: 1rem;
    font-weight: bold; }
    div.pcTitleLine p.pcLinks a {
      color: #fff;
      display: block;
      margin: 5%;
      border-radius: 8px;
      text-align: left;
      background-color: #004098;
      border-radius: 50%;
      width: 80px;
      height: 80px;
      padding-top: 28px;
      text-align: center; }
    div.pcTitleLine p.pcLinks a:hover {
      background-color: #004098; }
    div.pcTitleLine p.pcLinks a.secondline {
      line-height: 130%;
      padding-top: 20px; }
  div.pcTitleLine p.pcLinksSns {
    margin-top: 30%; }
    div.pcTitleLine p.pcLinksSns a {
      display: block; }
      div.pcTitleLine p.pcLinksSns a img {
        width: 40px; }

#frame {
  width: 100%;
  margin: 0px;
  padding: 0px;
  font-weight: normal; }
  @media screen and (min-width: 1025px) {
    #frame {
      max-width: 400px;
      margin: 0px auto 0px;
      display: none; } }

div.header {
  margin: 0px;
  padding: 1% 5% 2%;
  z-index: 90;
  display: flex; }
  @media screen and (min-width: 1025px) {
    div.header {
      position: fixed;
      top: 0;
      left: 0;
      background-color: rgba(0, 84, 167, 0.9);
      width: 100%; } }
  div.header div.nameArea {
    color: #004098;
    font-weight: bold;
    height: 50px;
    padding-top: 10px; }
    div.header div.nameArea img {
      width: 120px; }

div#slider2 .splide__slide {
  max-width: 25%;
  margin: 2% 2%; }
  @media screen and (max-width: 1024px) {
    div#slider2 .splide__slide {
      max-width: 90%;
      margin: 2% 2%; } }

div#fixed-header {
  z-index: 99;
  position: fixed;
  top: -80px;
  width: 100%;
  height: 70px;
  font-size: 2em;
  text-align: center;
  color: #fff;
  background-color: rgba(0, 84, 167, 0.9);
  box-sizing: border-box;
  transition: 0.5s;
  padding-top: 1%; }
  div#fixed-header div.nameArea {
    font-size: 1rem; }
    div#fixed-header div.nameArea h1 {
      font-size: 1.5rem; }

#fixed-header.is-show {
  top: 0; }

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0; }

.scroll_up.on {
  transform: translateY(0);
  opacity: 1; }

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0; }

.scroll_left.on {
  opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  transform: translateX(0); }

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0; }

.scroll_right.on {
  opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  transform: translateX(0); }

/*メッセージエリア*/
div.AchievmentsArea {
  width: 100%;
  margin: 0% auto 0%;
  padding: 10% 0 5%;
  text-align: center;
  background-color: #ffffff; }
  @media screen and (max-width: 1024px) {
    div.AchievmentsArea {
      padding-top: 25%; } }
  div.AchievmentsArea h2 {
    color: #333333;
    font-size: 3rem; }
    @media screen and (max-width: 1024px) {
      div.AchievmentsArea h2 {
        font-size: 2rem; } }
  div.AchievmentsArea hr {
    border: 1px solid #333;
    width: 15%; }
  div.AchievmentsArea div.messageText {
    margin: 5% auto 0;
    font-size: 1.1rem;
    line-height: 160%; }
    @media screen and (max-width: 1024px) {
      div.AchievmentsArea div.messageText {
        width: 85%;
        margin: 15% auto 5%;
        font-size: 1rem; } }

div.achievmentsMenu {
  width: 100%;
  margin: 2% auto 2%;
  max-width: 100%; }
  @media screen and (max-width: 1024px) {
    div.achievmentsMenu {
      width: 90%;
      margin-bottom: 5%; } }
  div.achievmentsMenu div.achievmentsMenuBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    div.achievmentsMenu div.achievmentsMenuBox a {
      color: #004098;
      background-color: #fff;
      border: 3px solid #004098;
      font-size: 1rem;
      display: block;
      padding: 1% 1%;
      margin: 5px;
      width: 30%;
      font-weight: bold;
      border-radius: 8px;
      text-align: center; }
      @media screen and (min-width: 1301px) {
        div.achievmentsMenu div.achievmentsMenuBox a {
          font-size: 1.2rem; } }
      div.achievmentsMenu div.achievmentsMenuBox a span.ready {
        font-size: 0.9rem;
        font-weight: normal; }
      div.achievmentsMenu div.achievmentsMenuBox a:hover {
        background-color: #004098;
        color: #ffffff; }
      @media screen and (max-width: 1024px) {
        div.achievmentsMenu div.achievmentsMenuBox a {
          width: 100%; } }
    div.achievmentsMenu div.achievmentsMenuBox a.notReady:hover {
      background-color: #fff;
      color: #004098; }
    div.achievmentsMenu div.achievmentsMenuBox a.ac1Adjust {
      padding-top: 24px; }
      @media screen and (max-width: 1024px) {
        div.achievmentsMenu div.achievmentsMenuBox a.ac1Adjust {
          padding: 2%; } }

div.selectedAchievmentsContents {
  width: 100%;
  padding: 5%; }
  @media screen and (max-width: 1024px) {
    div.selectedAchievmentsContents {
      padding-top: 15%; } }
  div.selectedAchievmentsContents a.achievmentsTop {
    width: 300px;
    margin: 2% auto;
    padding: 1% 0;
    text-align: center;
    font-size: 1.2rem;
    border: 2px solid #004098;
    color: #004098;
    border-radius: 8px;
    font-weight: bold;
    display: block;
    background-color: #fff; }
  div.selectedAchievmentsContents a.achievmentsTop:hover {
    background-color: #004098;
    color: #fff; }
  div.selectedAchievmentsContents div.selectedTitle {
    text-align: center;
    font-size: 2rem;
    color: #004098;
    font-weight: bold;
    margin: 5% auto 5%; }
    @media screen and (max-width: 1024px) {
      div.selectedAchievmentsContents div.selectedTitle {
        margin-bottom: 10%;
        font-size: 1.4rem; } }
    @media screen and (min-width: 1301px) {
      div.selectedAchievmentsContents div.selectedTitle {
        font-size: 3rem; } }
  div.selectedAchievmentsContents div.selectedBody {
    color: #333;
    width: 100%;
    margin: 5% auto 5%; }
    div.selectedAchievmentsContents div.selectedBody div.selectedTiles {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: center;
      margin: 0px auto 0px; }
      div.selectedAchievmentsContents div.selectedBody div.selectedTiles div.selectedParts {
        background-color: #fff;
        color: #004098;
        border: 1px solid #cccccc;
        height: auto;
        width: 30%;
        margin: 1%;
        line-height: 100%; }
        @media screen and (max-width: 1024px) {
          div.selectedAchievmentsContents div.selectedBody div.selectedTiles div.selectedParts {
            width: 100%;
            margin: 3% 1% 3%; } }
    div.selectedAchievmentsContents div.selectedBody div.otherAchievments {
      max-width: 960px;
      margin: 10% auto 10%;
      /*      span.listData {
        display: block;
        padding: 0px 0px 2%;
        border-bottom: 1px solid #242424;
        margin: 2%;
        font-size: 1.1rem;
        @media screen and (max-width: 1024px) {
          font-size: 1rem;
          padding: 2% 0px 4%;
        }
        span.listDataLead {
          font-size: 1.4rem;
          font-weight: bold;
          color: $maincolor;
          display: block;
          @media screen and (max-width: 1024px) {
            font-size: 1.2rem;
          }
        }
      }
        */ }
      @media screen and (max-width: 1024px) {
        div.selectedAchievmentsContents div.selectedBody div.otherAchievments {
          width: 100%;
          margin: 5% auto 5%;
          padding-top: 2%; } }
      div.selectedAchievmentsContents div.selectedBody div.otherAchievments span.otherAchievmentsTitle {
        display: block;
        text-align: center;
        font-size: 2rem;
        color: #004098;
        font-weight: bold;
        margin-top: 5%; }
        @media screen and (max-width: 1024px) {
          div.selectedAchievmentsContents div.selectedBody div.otherAchievments span.otherAchievmentsTitle {
            font-size: 1.2rem; } }
      div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData {
        display: block;
        padding: 0px 0px 2%;
        border-bottom: 1px solid #242424;
        margin: 2%;
        font-size: 1.1rem;
        list-style-type: none; }
        @media screen and (max-width: 1024px) {
          div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData {
            font-size: 1rem;
            padding: 2% 0px 4%; } }
        div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData li {
          margin-bottom: 1rem; }
          div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData li span.secondperiod {
            display: block;
            padding-left: 2rem;
            text-indent: -1rem; }
        div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData li.listDataLead {
          font-size: 1.4rem;
          font-weight: bold;
          color: #004098;
          display: block;
          margin-left: 0rem; }
          @media screen and (max-width: 1024px) {
            div.selectedAchievmentsContents div.selectedBody div.otherAchievments ul.listData li.listDataLead {
              font-size: 1.2rem; } }

.colorGray {
  background-color: #efefef; }

.colorWhite {
  background-color: #fff; }

div.listOfInfo {
  margin: 5% auto 0;
  padding: 10% 0 10%;
  text-align: center; }
  div.listOfInfo h2 {
    font-size: 2rem;
    padding-bottom: 2%;
    color: #004098;
    font-weight: bold; }
    @media screen and (max-width: 1024px) {
      div.listOfInfo h2 {
        font-size: 1.4rem; } }
    div.listOfInfo h2 span.textLarge {
      font-size: 3rem; }
  div.listOfInfo div.achievmentsBox {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    width: 90%;
    margin: 0px auto 0px; }
    @media screen and (max-width: 1024px) {
      div.listOfInfo div.achievmentsBox {
        width: 90%;
        margin: 3% auto; } }
    div.listOfInfo div.achievmentsBox a.achievmentsData {
      display: block;
      margin: 1%;
      color: #333;
      width: 31%;
      max-width: 480px; }
      @media screen and (max-width: 1024px) {
        div.listOfInfo div.achievmentsBox a.achievmentsData {
          width: 100%; } }
      div.listOfInfo div.achievmentsBox a.achievmentsData span.achievmentsTitle {
        display: block;
        background-color: #fff;
        color: #004098;
        font-weight: bold;
        padding-top: 1%;
        font-size: 1.2remn; }
      div.listOfInfo div.achievmentsBox a.achievmentsData span.achievmentsText {
        display: block; }

div#footer {
  background-color: #004098;
  padding: 2% 1% 2%;
  text-align: center;
  color: #fff;
  margin-left: 0px; }
  @media screen and (max-width: 1024px) {
    div#footer {
      margin-left: 0px; } }
  div#footer .footer_logo {
    font-size: 1.6rem; }
    @media screen and (max-width: 1024px) {
      div#footer .footer_logo img {
        height: 60px; } }
  div#footer div.footerNameTaku {
    margin: 10% auto 5%;
    font-size: 1.6rem; }
    div#footer div.footerNameTaku span.honninName {
      font-size: 3.4rem;
      font-weight: bold; }
  div#footer div.footerSnsArea {
    margin-top: 2% auto 2%; }
    div#footer div.footerSnsArea img {
      height: 40px; }
  div#footer div.footerMenu {
    margin: 0% auto 1%;
    text-align: center;
    font-size: 1.2rem; }
    @media screen and (max-width: 1024px) {
      div#footer div.footerMenu {
        font-size: 0.8rem; } }
    div#footer div.footerMenu a {
      color: #fff; }
  div#footer div.copyright {
    text-align: center;
    margin-top: 2%;
    font-size: 0.9rem; }
    @media screen and (max-width: 1024px) {
      div#footer div.copyright {
        font-size: 0.8rem; } }

.accordion {
  margin: 2em 0; }

.accordion__summary {
  background: #b2e5ff;
  /* アコーディオンの見出しの背景色 */
  font-weight: bold;
  position: relative;
  display: block;
  cursor: pointer;
  padding: 10px 38px 10px 10px; }

.accordion__summary::after {
  content: '+';
  font-size: 1.4em;
  /* 記号のサイズ */
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%); }

.accordion input:checked ~ .accordion__summary::after {
  content: '−'; }

.accordion input {
  display: none; }

.accordion__detail {
  display: none;
  background: #fff;
  padding: 4px 10px;
  margin: 10px 0; }

.accordion input:checked ~ .accordion__detail {
  display: block; }

.accordion__text {
  margin: 0; }

div.credit {
  font-size: 0.6rem;
  text-align: right;
  padding-right: 5%; }
  @media screen and (max-width: 1024px) {
    div.credit {
      font-size: 0.5rem; } }
  div.credit a {
    color: #efefef; }
