@charset "UTF-8";
@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ===================================================================

setting

=================================================================== */
html {
  font-size: 62.5%;
  background-color: #ffffff; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: 'Noto Sans JP' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  text-align: center;
  background-color: #ffffff;
  line-height: 1;
  position: relative; }

* {
  box-sizing: border-box; }

a {
  color: #333333;
  text-decoration: none; }
  a:active, a:hover {
    outline: 0; }

a,
a img,
button,
input[type="submit"] {
  transition: all linear 0.25s; }
  a:hover,
  a img:hover,
  button:hover,
  input[type="submit"]:hover {
    cursor: pointer; }

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto; }

figure {
  margin: 0; }

@-webkit-viewport {
  width: device-width; }
@-moz-viewport {
  width: device-width; }
@-ms-viewport {
  width: device-width; }
@-o-viewport {
  width: device-width; }
@viewport {
  width: device-width; }
button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

.videoclip {
  position: relative;
  padding-top: 56.25%; }
  .videoclip iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

body {
  color: #000;
  letter-spacing: .05em;
  line-height: 1.5;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: justify;
  overflow-wrap: break-word;
  word-wrap: break-word; }
  @media screen and (max-width: 800px) {
    body {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0; } }

a.icon {
  display: flex;
  align-items: center;
  margin: 0 auto; }
  a.icon::before {
    content: '';
    display: inline-block;
    background: url("../img/arrow.svg") no-repeat;
    width: 1.5em;
    height: 1.5em;
    background-size: cover;
    margin-right: .25em; }

div.inner {
  width: 580px;
  margin: 0 auto; }
  @media screen and (max-width: 800px) {
    div.inner {
      width: 96%; } }

#header {
  width: 100%;
  height: 137px;
  background-color: white;
  position: fixed;
  border-bottom: 3px solid #2a9c7a;
  top: 0;
  left: 0;
  z-index: 10; }
  @media screen and (max-width: 800px) {
    #header {
      height: calc( 100vw*64/375 ); } }
  #header.UpMove {
    position: fixed;
    width: 100%;
    animation: UpAnime 0.5s forwards; }
@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 0;
    transform: translateY(-100px); } }
  #header.DownMove {
    position: fixed;
    width: 100%;
    animation: DownAnime 0.5s forwards; }
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
  #header .header-inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: flex-start; }
    @media screen and (max-width: 800px) {
      #header .header-inner {
        display: flex;
        align-items: center;
        padding: 0; } }
    #header .header-inner h1 {
      width: 100%;
      position: relative;
      text-align: center; }
      #header .header-inner h1 a {
        display: block; }
      #header .header-inner h1 .header-logo {
        width: 74px;
        margin: 0 10em 0 0;
        position: absolute;
        left: 0; }
        @media screen and (max-width: 800px) {
          #header .header-inner h1 .header-logo {
            width: calc( 100vw*32/375 );
            display: flex;
            left: 2%;
            top: 0;
            bottom: 0; } }
      #header .header-inner h1 .header-logotype {
        width: 750px;
        padding: 14px 0;
        display: inline-block; }
        @media screen and (max-width: 800px) {
          #header .header-inner h1 .header-logotype {
            width: calc( 100vw*283/375 ); } }

main {
  margin: 0 auto;
  padding-top: calc( 137px + 4em ); }
  @media screen and (max-width: 800px) {
    main {
      padding-top: calc( 100vw*64/375 + 2em); } }
  main section .section-inner {
    width: 100%;
    margin: auto; }
    @media screen and (max-width: 800px) {
      main section .section-inner {
        width: 96%;
        margin: auto; } }

#Index .message-box {
  margin: 0 auto 4em; }
  #Index .message-box .section-inner {
    position: relative;
    width: 580px; }
    @media screen and (max-width: 800px) {
      #Index .message-box .section-inner {
        width: 96%;
        margin: auto; } }
    #Index .message-box .section-inner h1 {
      font-family: 'Noto Serif JP' , YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-size: 24px;
      font-size: 2.4rem;
      text-align: center;
      font-weight: 700;
      margin: 0 auto 2em; }
      @media screen and (max-width: 800px) {
        #Index .message-box .section-inner h1 {
          font-size: 15px;
          font-size: 1.5rem; } }
    #Index .message-box .section-inner .message-mascot {
      width: 144px;
      height: 113px;
      position: absolute;
      right: calc( -113px - 2em );
      top: 0; }
      @media screen and (max-width: 800px) {
        #Index .message-box .section-inner .message-mascot {
          position: relative;
          right: 0;
          left: 0;
          margin: auto;
          margin: 0 auto 2em; } }
    #Index .message-box .section-inner .message-wrap {
      background: rgba(42, 156, 122, 0.1);
      border-radius: 1em;
      padding: 1em;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 0 auto 1em; }
      @media screen and (max-width: 800px) {
        #Index .message-box .section-inner .message-wrap {
          flex-direction: column-reverse;
          margin: 0 auto 4em; } }
      #Index .message-box .section-inner .message-wrap .column-left figure {
        width: 132px;
        margin: auto; }
      #Index .message-box .section-inner .message-wrap .column-right {
        width: calc( 100% - 132px - 1em); }
        @media screen and (max-width: 800px) {
          #Index .message-box .section-inner .message-wrap .column-right {
            width: 100%; } }
        #Index .message-box .section-inner .message-wrap .column-right .message-text {
          font-size: 12px;
          font-size: 1.2rem;
          margin-bottom: 1em;
          letter-spacing: 0; }
        #Index .message-box .section-inner .message-wrap .column-right .message-sincerely {
          text-align: right;
          font-size: 12px;
          font-size: 1.2rem;
          margin-bottom: 1.5em; }
        #Index .message-box .section-inner .message-wrap .column-right .message-company {
          font-size: 12px;
          font-size: 1.2rem; }
          @media screen and (max-width: 800px) {
            #Index .message-box .section-inner .message-wrap .column-right .message-company {
              text-align: center; } }
        #Index .message-box .section-inner .message-wrap .column-right .message-name {
          font-size: 14px;
          font-size: 1.4rem; }
          @media screen and (max-width: 800px) {
            #Index .message-box .section-inner .message-wrap .column-right .message-name {
              text-align: center;
              margin: 0 auto 1em; } }
        #Index .message-box .section-inner .message-wrap .column-right .message-title {
          font-size: 12px;
          font-size: 1.2rem;
          margin-right: .5em; }
    #Index .message-box .section-inner .button-wrap ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 20px;
      /* アイテム間の隙間調整 */ }
      @media screen and (max-width: 800px) {
        #Index .message-box .section-inner .button-wrap ul {
          flex-direction: column; } }
      #Index .message-box .section-inner .button-wrap ul li {
        width: 280px;
        text-align: center;
        flex: 1;
        /* 各リスト項目を均等に配置 */ }
        @media screen and (max-width: 800px) {
          #Index .message-box .section-inner .button-wrap ul li {
            width: 100%; } }
        #Index .message-box .section-inner .button-wrap ul li a {
          padding: .5em 1em;
          font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-size: 24px;
          font-size: 2.4rem;
          color: #FFF;
          line-height: 1.2;
          text-decoration: none;
          border-radius: .5em;
          width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          text-align: center;
          height: 100%;
          /* 高さを100%にして揃える */ }
          @media screen and (max-width: 800px) {
            #Index .message-box .section-inner .button-wrap ul li a {
              height: 4em; } }
          #Index .message-box .section-inner .button-wrap ul li a:hover {
            opacity: 0.7; }
          #Index .message-box .section-inner .button-wrap ul li a span {
            font-size: 20px;
            font-size: 2rem;
            display: contents; }
          #Index .message-box .section-inner .button-wrap ul li a.button-red {
            background: #d93448; }
          #Index .message-box .section-inner .button-wrap ul li a.button-green {
            background: #2a9c7a; }
#Index .information-box .section-inner {
  border: 2px solid #2a9c7a;
  width: 580px; }
  @media screen and (max-width: 800px) {
    #Index .information-box .section-inner {
      width: 96%;
      margin: auto; } }
  #Index .information-box .section-inner h1 {
    font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
    font-weight: 700;
    margin: 0 auto 2em;
    background: #2a9c7a;
    color: #FFF; }
  #Index .information-box .section-inner .information-wrap {
    width: 100%; }
    #Index .information-box .section-inner .information-wrap ul#newsList {
      padding: 1em;
      margin: 0 auto 2em; }
      #Index .information-box .section-inner .information-wrap ul#newsList li {
        margin: 0 auto 1.5em;
        padding: 0 1em 1.5em;
        border-bottom: 1px solid #2a9c7a; }
        #Index .information-box .section-inner .information-wrap ul#newsList li:last-of-type {
          margin-bottom: 0; }
        #Index .information-box .section-inner .information-wrap ul#newsList li .shoulder-wrap {
          display: flex;
          align-items: center;
          margin: 0 auto .5em; }
          #Index .information-box .section-inner .information-wrap ul#newsList li .shoulder-wrap .up_ymd {
            font-size: 14px;
            font-size: 1.4rem; }
          #Index .information-box .section-inner .information-wrap ul#newsList li .shoulder-wrap .catName {
            line-height: 1;
            font-size: 12px;
            font-size: 1.2rem;
            padding: 0.1em .5em;
            border-radius: 1.2em;
            border: 1px solid #2a9c7a;
            color: #2a9c7a; }
          #Index .information-box .section-inner .information-wrap ul#newsList li .shoulder-wrap .newMark {
            background: #d93448;
            line-height: 1;
            font-size: 12px;
            font-size: 1.2rem;
            padding: 0.25em 1em;
            border-radius: 1.5em;
            color: #FFF;
            margin-left: .5em; }
        #Index .information-box .section-inner .information-wrap ul#newsList li .title-wrap {
          display: flex;
          align-items: center; }
          #Index .information-box .section-inner .information-wrap ul#newsList li .title-wrap .title a {
            font-size: 16px;
            font-size: 1.6rem;
            color: #2a9c7a; }
            #Index .information-box .section-inner .information-wrap ul#newsList li .title-wrap .title a:hover {
              opacity: 0.7; }
            #Index .information-box .section-inner .information-wrap ul#newsList li .title-wrap .title a span {
              font-size: 12px;
              font-size: 1.2rem; }
    #Index .information-box .section-inner .information-wrap .archiveLink {
      text-align: center;
      margin: 0 auto 2em; }
      #Index .information-box .section-inner .information-wrap .archiveLink a {
        display: inline-block;
        padding: .5em 1em;
        background: #2a9c7a;
        border-radius: .5em;
        color: #FFF; }
        #Index .information-box .section-inner .information-wrap .archiveLink a:hover {
          opacity: 0.7; }

#Documents {
  font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
  #Documents #members, #Documents #training {
    scroll-margin-top: 160px;
    /* 固定ヘッダーの高さに応じて調整 */ }
  #Documents .members-box, #Documents .secretariat-box, #Documents .training-box {
    margin: 0 auto 4em; }
    #Documents .members-box .section-inner, #Documents .secretariat-box .section-inner, #Documents .training-box .section-inner {
      width: 680px; }
      @media screen and (max-width: 800px) {
        #Documents .members-box .section-inner, #Documents .secretariat-box .section-inner, #Documents .training-box .section-inner {
          width: 96%;
          margin: auto; } }
      #Documents .members-box .section-inner h1, #Documents .secretariat-box .section-inner h1, #Documents .training-box .section-inner h1 {
        font-size: 30px;
        font-size: 3rem;
        text-align: center;
        margin: 0 auto .5em; }
      #Documents .members-box .section-inner ul, #Documents .secretariat-box .section-inner ul, #Documents .training-box .section-inner ul {
        padding: 2.5em 4em;
        border-radius: .5em; }
        @media screen and (max-width: 800px) {
          #Documents .members-box .section-inner ul, #Documents .secretariat-box .section-inner ul, #Documents .training-box .section-inner ul {
            padding: 1em 1.5em; } }
        #Documents .members-box .section-inner ul li, #Documents .secretariat-box .section-inner ul li, #Documents .training-box .section-inner ul li {
          margin: 0 auto .5em; }
          #Documents .members-box .section-inner ul li:last-of-type, #Documents .secretariat-box .section-inner ul li:last-of-type, #Documents .training-box .section-inner ul li:last-of-type {
            margin-bottom: 0; }
          #Documents .members-box .section-inner ul li a, #Documents .secretariat-box .section-inner ul li a, #Documents .training-box .section-inner ul li a {
            font-size: 18px;
            font-size: 1.8rem;
            position: relative;
            padding-left: 1.2em;
            display: block; }
            #Documents .members-box .section-inner ul li a::before, #Documents .secretariat-box .section-inner ul li a::before, #Documents .training-box .section-inner ul li a::before {
              content: "●";
              display: block;
              position: absolute;
              left: 0;
              top: 0; }
            #Documents .members-box .section-inner ul li a:hover, #Documents .secretariat-box .section-inner ul li a:hover, #Documents .training-box .section-inner ul li a:hover {
              opacity: 0.7; }
            #Documents .members-box .section-inner ul li a span, #Documents .secretariat-box .section-inner ul li a span, #Documents .training-box .section-inner ul li a span {
              font-size: 12px;
              font-size: 1.2rem; }
      #Documents .members-box .section-inner .note, #Documents .secretariat-box .section-inner .note, #Documents .training-box .section-inner .note {
        text-align: center;
        font-size: 14px;
        font-size: 1.4rem; }
  #Documents .members-box .section-inner h1 {
    font-size: 30px;
    font-size: 3rem;
    color: #d93448; }
  #Documents .members-box .section-inner ul {
    background: rgba(217, 52, 72, 0.1); }
    #Documents .members-box .section-inner ul li a::before {
      color: #d93448; }
  #Documents .secretariat-box .section-inner h1 {
    font-size: 30px;
    font-size: 3rem;
    color: #4d4d4d; }
  #Documents .secretariat-box .section-inner ul {
    background: rgba(77, 77, 77, 0.1);
    margin: 0 auto 1em; }
    #Documents .secretariat-box .section-inner ul li a::before {
      color: #4d4d4d; }
  #Documents .training-box {
    margin: 0 auto 2em; }
    #Documents .training-box .section-inner h1 {
      font-size: 30px;
      font-size: 3rem;
      color: #2a9c7a; }
    #Documents .training-box .section-inner ul {
      background: rgba(42, 156, 122, 0.1);
      margin: 0 auto 1em; }
      #Documents .training-box .section-inner ul li a::before {
        color: #2a9c7a; }

#Archive .bread-box {
  width: 100%;
  max-width: 1000px;
  margin: -3em auto 1em;
  position: relative;
  padding: 10px 0; }
  @media screen and (max-width: 800px) {
    #Archive .bread-box {
      width: 96%;
      margin: -1em auto 1em; } }
  #Archive .bread-box .pNav {
    font-size: 10px;
    font-size: 1rem; }
    #Archive .bread-box .pNav .pActive {
      color: #4d4d4d; }
#Archive .archive-box {
  margin: 0 auto; }
  #Archive .archive-box .section-inner {
    width: 680px;
    margin: 0 auto 4em; }
    @media screen and (max-width: 800px) {
      #Archive .archive-box .section-inner {
        width: 96%;
        margin: 0 auto 2em; } }
    #Archive .archive-box .section-inner h1 {
      font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-size: 18px;
      font-size: 1.8rem;
      text-align: center;
      font-weight: 700;
      margin: 0 auto 2em;
      background: #2a9c7a;
      color: #FFF;
      letter-spacing: .2em; }
    #Archive .archive-box .section-inner ul#newsList {
      padding: 0;
      margin: 0 auto 4em; }
      @media screen and (max-width: 800px) {
        #Archive .archive-box .section-inner ul#newsList {
          padding: 1em 0; } }
      #Archive .archive-box .section-inner ul#newsList li {
        margin: 0 auto 1.5em;
        padding: 0 3em 1.5em;
        border-bottom: 1px solid #2a9c7a; }
        @media screen and (max-width: 800px) {
          #Archive .archive-box .section-inner ul#newsList li {
            padding: 0 1em 1.5em; } }
        #Archive .archive-box .section-inner ul#newsList li:last-of-type {
          margin-bottom: 0; }
        #Archive .archive-box .section-inner ul#newsList li .shoulder-wrap {
          display: flex;
          align-items: center;
          margin: 0 auto .5em; }
          #Archive .archive-box .section-inner ul#newsList li .shoulder-wrap .up_ymd {
            font-size: 14px;
            font-size: 1.4rem; }
          #Archive .archive-box .section-inner ul#newsList li .shoulder-wrap .catName {
            line-height: 1;
            font-size: 12px;
            font-size: 1.2rem;
            padding: 0.1em .5em;
            border-radius: 1.2em;
            border: 1px solid #2a9c7a;
            color: #2a9c7a; }
          #Archive .archive-box .section-inner ul#newsList li .shoulder-wrap .newMark {
            background: #d93448;
            line-height: 1;
            font-size: 12px;
            font-size: 1.2rem;
            padding: 0.25em 1em;
            border-radius: 1.5em;
            color: #FFF;
            margin-left: .5em; }
        #Archive .archive-box .section-inner ul#newsList li .title-wrap {
          display: flex;
          align-items: center; }
          #Archive .archive-box .section-inner ul#newsList li .title-wrap .title a {
            font-size: 16px;
            font-size: 1.6rem;
            color: #2a9c7a; }
            #Archive .archive-box .section-inner ul#newsList li .title-wrap .title a:hover {
              opacity: 0.7; }
            #Archive .archive-box .section-inner ul#newsList li .title-wrap .title a span {
              font-size: 12px;
              font-size: 1.2rem; }
    #Archive .archive-box .section-inner .pager {
      display: flex;
      justify-content: center; }
      #Archive .archive-box .section-inner .pager a {
        display: inline-block;
        height: 1;
        padding: .5em;
        border: 1px solid #2a9c7a;
        color: #2a9c7a; }
        #Archive .archive-box .section-inner .pager a.current {
          background: #2a9c7a;
          color: #FFF; }
        #Archive .archive-box .section-inner .pager a:hover {
          opacity: 0.7; }

#News .bread-box {
  width: 100%;
  max-width: 1000px;
  margin: -3em auto 1em;
  position: relative;
  padding: 10px 0; }
  @media screen and (max-width: 800px) {
    #News .bread-box {
      width: 96%;
      margin: -1em auto 1em; } }
  #News .bread-box .pNav {
    font-size: 10px;
    font-size: 1rem; }
    #News .bread-box .pNav .pActive {
      color: #4d4d4d; }
#News .news-box {
  margin: 0 auto; }
  #News .news-box .section-inner {
    width: 680px;
    margin: 0 auto 4em; }
    @media screen and (max-width: 800px) {
      #News .news-box .section-inner {
        width: 96%;
        margin: 0 auto 2em; } }
    #News .news-box .section-inner h1 {
      font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-size: 18px;
      font-size: 1.8rem;
      text-align: left;
      font-weight: 700;
      padding: 0 .75em;
      margin: 0 auto 1em;
      background: #2a9c7a;
      color: #FFF; }
    #News .news-box .section-inner #up_ymd {
      font-size: 14px;
      font-size: 1.4rem;
      margin: 0 auto 2em; }
    #News .news-box .section-inner #detail {
      margin: 0 auto 4em; }
      #News .news-box .section-inner #detail .detailText {
        font-size: 16px;
        font-size: 1.6rem;
        margin: 0 auto 1em; }
      #News .news-box .section-inner #detail .detailUpfile {
        margin: 0 auto 1em; }

.footer {
  padding: 2em 0;
  font-size: 16px;
  font-size: 1.6rem; }
  .footer a:hover {
    opacity: 0.7; }
  .footer nav {
    border-bottom: 3px solid #d93448;
    margin: 0 auto 1.5em; }
    @media screen and (max-width: 800px) {
      .footer nav {
        display: flex;
        justify-content: center; } }
    .footer nav ul {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 2.5em;
      width: 580px; }
      @media screen and (max-width: 800px) {
        .footer nav ul {
          width: inherit;
          display: block; } }
      .footer nav ul li {
        font-family: 'Zen Maru Gothic' , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-size: 18px;
        font-size: 1.8rem; }
        @media screen and (max-width: 800px) {
          .footer nav ul li {
            width: 100%;
            flex-direction: column;
            margin: 0 auto .75em; }
            .footer nav ul li:last-of-type {
              margin-bottom: 0; } }
        .footer nav ul li a {
          display: flex;
          align-items: center; }
          .footer nav ul li a::before {
            content: url("/img/mark.svg");
            width: 30px;
            height: 30px;
            margin-right: .2em; }
  .footer .inner {
    width: 100% !important;
    margin: 0 auto 2em;
    position: relative; }
    @media screen and (max-width: 800px) {
      .footer .inner {
        width: 80%; } }
    .footer .inner .footer-wrap {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      margin: 0 auto .5em;
      gap: 1em; }
      .footer .inner .footer-wrap:last-of-type {
        margin-bottom: 0; }
      .footer .inner .footer-wrap .footer-logotype {
        font-size: 18px;
        font-size: 1.8rem; }
      .footer .inner .footer-wrap .footer-contact {
        font-size: 18px;
        font-size: 1.8rem; }
        .footer .inner .footer-wrap .footer-contact::before {
          content: '登録講習専用';
          display: inline-block;
          background: #d93448;
          border-radius: .5em;
          font-size: 14px;
          font-size: 1.4rem;
          padding: .25em 1em;
          margin-right: .5em;
          color: #FFF; }
      .footer .inner .footer-wrap ul {
        font-size: 12px;
        font-size: 1.2rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 1em; }
        @media screen and (max-width: 800px) {
          .footer .inner .footer-wrap ul {
            flex-direction: column;
            gap: .5em; } }
        .footer .inner .footer-wrap ul li {
          text-align: center; }
  .footer .copyright {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 0 2em 0 2em;
    text-align: center;
    color: #2a9c7a; }
    @media screen and (max-width: 800px) {
      .footer .copyright {
        font-size: 12px;
        font-size: 1.2rem; } }

.only_pc {
  display: inherit !important; }

.only_sp {
  display: none !important; }

@media screen and (max-width: 800px) {
  .only_pc {
    display: none !important; }

  .only_sp {
    display: inherit !important; } }
section.privacy-sec01 .inner-narrow .privacy-lead {
  margin: 0 auto 3em; }
section.privacy-sec01 .inner-narrow h2 {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0 auto 1em;
  font-weight: 500; }
section.privacy-sec01 .inner-narrow p {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
section.privacy-sec01 .inner-narrow ul.circle-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
  section.privacy-sec01 .inner-narrow ul.circle-list > li {
    position: relative;
    padding-left: 1.2em;
    margin: 0 auto 1em; }
    section.privacy-sec01 .inner-narrow ul.circle-list > li::before {
      content: '●';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }
    section.privacy-sec01 .inner-narrow ul.circle-list > li ol {
      counter-reset: cnt; }
      section.privacy-sec01 .inner-narrow ul.circle-list > li ol li {
        counter-increment: cnt;
        padding-left: 1.2em;
        position: relative; }
        section.privacy-sec01 .inner-narrow ul.circle-list > li ol li::before {
          content: counter(cnt) ".";
          /* カウンターの値を取得して . を付ける */
          position: absolute;
          left: 0;
          top: 0;
          margin-right: .2em; }
section.privacy-sec01 .inner-narrow h3 {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto .5em;
  font-weight: 500; }
section.privacy-sec01 .inner-narrow ul.frame-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
section.privacy-sec01 .inner-narrow dl {
  font-size: 14px;
  font-size: 1.4rem;
  counter-reset: cnt;
  margin: 0 auto 1em; }
  section.privacy-sec01 .inner-narrow dl dt {
    counter-increment: cnt;
    padding-left: 1.2em;
    position: relative; }
    section.privacy-sec01 .inner-narrow dl dt::before {
      content: counter(cnt) ".";
      /* カウンターの値を取得して . を付ける */
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }

section.law-sec01 .inner-narrow h2 {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0 auto 1em;
  font-weight: 500;
  position: relative;
  padding-left: 1.2em;
  margin: 0 auto 1em; }
  section.law-sec01 .inner-narrow h2::before {
    content: '◯';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    margin-right: .2em; }
section.law-sec01 .inner-narrow p {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
section.law-sec01 .inner-narrow ul.circle-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
  section.law-sec01 .inner-narrow ul.circle-list > li {
    position: relative;
    padding-left: 1.2em;
    margin: 0 auto 1em; }
    section.law-sec01 .inner-narrow ul.circle-list > li::before {
      content: '●';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }
    section.law-sec01 .inner-narrow ul.circle-list > li ol {
      counter-reset: cnt; }
      section.law-sec01 .inner-narrow ul.circle-list > li ol li {
        counter-increment: cnt;
        padding-left: 1.2em;
        position: relative; }
        section.law-sec01 .inner-narrow ul.circle-list > li ol li::before {
          content: counter(cnt) ".";
          /* カウンターの値を取得して . を付ける */
          position: absolute;
          left: 0;
          top: 0;
          margin-right: .2em; }
section.law-sec01 .inner-narrow ul li ul {
  margin-bottom: 0 !important; }
section.law-sec01 .inner-narrow ul.dot-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
  section.law-sec01 .inner-narrow ul.dot-list > li {
    position: relative;
    padding-left: 1.2em; }
    section.law-sec01 .inner-narrow ul.dot-list > li::before {
      content: '・';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }
section.law-sec01 .inner-narrow ul.asterisk-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
  section.law-sec01 .inner-narrow ul.asterisk-list > li {
    position: relative;
    padding-left: 1.2em; }
    section.law-sec01 .inner-narrow ul.asterisk-list > li::before {
      content: '※';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }
section.law-sec01 .inner-narrow ul.diamond-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
  section.law-sec01 .inner-narrow ul.diamond-list > li {
    position: relative;
    padding-left: 1.2em; }
    section.law-sec01 .inner-narrow ul.diamond-list > li::before {
      content: '◇';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }
section.law-sec01 .inner-narrow h3 {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto .5em;
  font-weight: 500; }
section.law-sec01 .inner-narrow ul.frame-list {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 2em; }
section.law-sec01 .inner-narrow dl {
  font-size: 14px;
  font-size: 1.4rem;
  counter-reset: cnt;
  margin: 0 auto 1em; }
  section.law-sec01 .inner-narrow dl dt {
    counter-increment: cnt;
    padding-left: 1.2em;
    position: relative; }
    section.law-sec01 .inner-narrow dl dt::before {
      content: counter(cnt) ".";
      /* カウンターの値を取得して . を付ける */
      position: absolute;
      left: 0;
      top: 0;
      margin-right: .2em; }

section.company-sec01 .inner-narrow dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500; }
  section.company-sec01 .inner-narrow dl dt {
    width: 25%;
    margin: 0 auto 1em; }
  section.company-sec01 .inner-narrow dl dd {
    width: 75%;
    margin: 0 auto 1em; }
