@charset "utf-8";
input, select, textarea, button {
  font-family:'Roboto','Zen Kaku Gothic New',sans-serif;
  font-size: 100%;
  color: var(--color-basefont);
  border-radius: .5rem;
  border: 1px solid;
  padding: .5rem;
}

time {
  margin-right: 1rem;
}

button:hover {
  cursor: pointer;
}

.btn01 {
  color: #fff;
  font-size: 2rem;
  margin: 0 auto;
}

.btn01.back {
  background: var(--theme-blue);
}
.btn01.back::after {
  left: 3.5rem;
  content: "\f060";
  right: auto;
  transition: left .3s;
}
.btn01.back:hover::after {
  left: 1.5rem;
}

.btn01.small {
  padding: 1rem;
  width: 80%;
  font-size: 1.75rem;
  max-width: 400px;
}
.btn01.small::after {
  font-size: 2.3rem;
}

.contact-tel p {
  font-size: 4rem;
  letter-spacing: .5rem;
  font-weight: 700;
}
.contact-tel p i {
  color: var(--theme-red);
  margin-right: 1rem;
}

.form_section {
  border-radius: 6.5rem;
  padding: 4rem 5rem;
  background: #fef4e8;
  margin-bottom: 6rem;
}

.form_section table {
  width: 100%;
}
.form_section table th {
  width: 26rem;
}
.form_section table td {
  width: auto;
}

.form_section table td,
.form_section table th {
  text-align: left;
  border-bottom: 1px dotted;
  padding-top: 2rem;
  padding-bottom: 2rem;
  vertical-align: middle;
}

.fm_entry-Radio li {
  line-height: 2;
}

.fm_input-text.size-s, .fm_input-textarea.size-s, .fm_input-select.size-s {
  width: 7em;
}
.fm_input-text.size-m, .fm_input-textarea.size-m, .fm_input-select.size-m {
  width: 16em;
}

.error {
  color: var(--theme-red);
}

.need {
  color: #fff;
  background-color: var(--theme-red);
  border-radius: .5rem;
  padding: .5rem;
  margin-left: 1rem;
}

.p-nav li {
  /*width: auto;*/
  font-size: 1.75rem;
}

.p-nav .news-category.pomurie{border: var(--theme-red) 1px solid}
.p-nav .news-category.alpha{border: var(--theme-orange) 1px solid}
.p-nav .news-category.third{border: var(--theme-yellow) 1px solid}
.p-nav .news-category.service{border: var(--theme-blue) 1px solid}
.p-nav .news-category.supprt{border: var(--theme-green) 1px solid}
.p-nav .news-category.houmon{border: var(--theme-purple) 1px solid}

.p-nav .news-category:hover{color: var(--theme-red)}
.p-nav .news-category.alpha:hover{color: var(--theme-orange)}
.p-nav .news-category.third:hover{color: var(--theme-yellow)}
.p-nav .news-category.service:hover{color: var(--theme-blue)}
.p-nav .news-category.supprt:hover{color: var(--theme-green)}
.p-nav .news-category.houmon:hover{color: var(--theme-purple)}

.ttl-img span, .ttl-text span {
  font-size: 3rem!important;
  text-shadow: none!important;
  color: #fff;
  display: block;
  margin-top: 1rem;
}


/* ブログやお知らせの投稿内容 */
.entry-section .img-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  gap: 1rem;
}
.entry-section .img-list li {
  width: calc(100% / 3 - 2rem);
}
.entry-section .img-list li img {
  width: 98%;
}
.entry-section .pdf-list {
  margin-top: 1em;
  margin-bottom: 1em;
}
.entry-section .link,
.entry-section .pdf {
  text-align: right;
  text-decoration: underline;
}
.entry-section .pdf a {
  text-decoration: underline;
}
.entry-section .video-list {
  margin-top: 3em;
}
.entry-section .youtube {
  width: 640px;
  text-align: center;
  margin-bottom: 20px;
  display: block;
  text-align: center;
  margin: 0 auto;
  height: 0;
  overflow: hidden;
  padding-bottom: 360px;
  position: relative;
}
.entry-section .youtube iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/* ブログやお知らせの本文のスタイル */
.entry-section .comment {
  margin: 0 auto;
  font-size: clamp(15px, 1.8rem, 19px);
}
.p-recruit .entry-section .comment {
  margin: 6rem auto 0 auto;
}
.entry-section .comment h3 {
  font-size: 2.2rem;
}

.entry-section .comment ol {
  list-style: decimal;
  font-family: var(--noto-sans);
  font-size: var(--font16-14);
  font-weight: 400;
}
.entry-section .comment ul {
  list-style: inherit;
}
.entry-section .comment li {
  line-height: 1.8;
  margin-left: 2rem;
}
.entry-section .comment a {
  text-decoration: underline;
  color: inherit;
}
.entry-section .comment th, .entry-section .comment td {
  border: solid 1px;
  /* 枠線指定 */
  padding: 1rem;
  font-family: var(--noto-sans);
  font-size: var(--font16-14);
  font-weight: 400;
}
.entry-section .comment th {
  background-color: rgba(145, 152, 149, 0.2);
}
.entry-section .comment table {
  border-collapse: collapse;
  /* セルの線を重ねる */
  width: auto;
}
.entry-section .comment strong {
  font-weight: bold;
}
.entry-section .comment p:has(img) {
  text-align: center;
}
.entry-section .comment img {
  margin: 2rem auto;
}

.p-blogs .list-blogs {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  column-gap: 2rem;
  row-gap: 3rem;
  list-style: none;
}
.p-blogs .list-blogs > li {
  width: calc(100% / 4 - 2rem);
  background: #fef4e8;
  border-radius: 3rem;
  padding: 3rem;
}
.p-blogs .list-blogs li a {
  position: relative;
  display: flex;
  flex-direction: column;
  /*background: var(--theme-red-op10);*/
}
.p-blogs .list-blogs li img {
  aspect-ratio: 1;
  object-fit: cover;
}
.p-blogs .list-blogs li .post-ttl {
  margin-top: .5rem;
}

.p-blogs .list-blogs .post-content {
  margin-top: 2rem;
}
.p-blogs .list-blogs .news-category {
  margin: .5rem 0;
}

.p-recruit .list-recruit {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
.p-recruit .list-recruit li {
  flex-basis: calc(100% / 2 - 2rem );
  background-color: #fef4e8;
  padding: 0 0 3rem 0;
  border-radius: 3rem;
}
.p-recruit .list-recruit li dt {
  font-size: var(--font20-18);
  text-align: center;
  background: var(--theme-orange);
  border-radius: 3rem 3rem 0 0;
  color: #fff;
  padding: 3rem;
}
.p-recruit .list-recruit li p {
  margin-top: 1rem;
}
.p-recruit .list-recruit li dd {
  position: relative;
  padding: 3rem 3rem 4rem 3rem;
}
.p-recruit .list-recruit li dd::after {
  position: absolute;
  content: "詳しくみる";
  bottom: 0;
  right: 3rem;
}

.p-topics .list-topics .li-topics {
  margin-bottom: 3rem;
  border-bottom: 1px dotted var(--color-basefont);
}
.p-topics .list-topics li .post-ttl {
  font-size: var(--font20-18);
  margin-bottom: .5rem;
  margin-top: 1rem;
}
.p-topics .list-topics li .link {
  text-align: right;
  margin-bottom: 1rem;
  font-size: var(--font16-14);
}
.p-topics .list-topics li .link::before {
  font: var(--fa-font-solid);
  content: "\f105";
  font-size: var(--font16-14);
  font-weight: 900;
  margin-right: 1rem;
  color: var(--color-basefont);
  position: relative;
  text-decoration: none;
}

.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.p-list .page-numbers {
  justify-content: space-between;
}
.page-numbers li {
  width: calc(100% - 2rem);
  max-width: 400px;
}
.p-list .page-numbers li {
  width: unset;
  max-width: unset;
}

.p-list .page-numbers li a {
  text-decoration: underline;
}

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

  1280px以下：小型PC 

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

@media screen and (max-width:1280px) {

  .p-blogs .list-blogs > li {
    width: calc(100% / 3 - 2rem);
  }
}

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

  960px以下：タブレット・スマホ横

======================================*/
@media screen and (max-width:960px){
 
  .form_section table td,
  .form_section table th {
    display: block;
  }
  .form_section table th {
    border: none;
    /*padding-bottom: 0;*/
    width: auto;
  }
  textarea {
    width: 100%;
  }

  .p-blogs .list-blogs > li {
    width: calc(100% / 2 - 2rem);
  }

  .page-numbers {
    
  }

  .p-recruit .list-recruit {
    gap: 2rem;
  }
  .p-recruit .list-recruit li {
    flex-basis: calc(100% / 2 - 2rem );
  }

  .entry-section .youtube {
    width: 90%;
    padding-bottom: 49%;
  }

}


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

  520px以下：スマホ縦  

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

@media screen and (max-width:520px){

  .form_section {
    padding: 4rem 2rem;
    border-radius: 2rem;
  }

  input, select {
    width: auto;
  }

  .fm_input-text.size-s, .fm_input-textarea.size-s, .fm_input-select.size-s,
  .fm_input-text.size-m, .fm_input-textarea.size-m, .fm_input-select.size-m {
    width: 95%;
  }

  .p-blogs .list-blogs {
    gap: 3rem 0;
  }
  .p-blogs .list-blogs > li {
    width: 100%;
  }

  .p-recruit .list-recruit {
    row-gap: 4rem;
  }
  .p-recruit .list-recruit li {
    flex-basis: 100%;
  }

  .entry-section .img-list li {
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
  .entry-section .comment img {
    width: 100%;
    height: auto;
  }
}