@charset "UTF-8";
/* Scss Document */
:root {
  --pc: 1000px;
  --sp: 999px;
  --fs48: 4.8rem;
  --fs40: 4rem;
  --fs36: 3.6rem;
  --fs28: 2.8rem;
  --fs22: 2.2rem;
  --fs20: 2.0rem;
  --fs18: 1.8rem;
  --fs16: 1.6rem;
  --fs14:1.4rem;
  --fs12:1.2rem; }

@media (max-width: 999px) {
  :root {
    --fs48: 2.6rem;
    --fs40: 2.2rem;
    --fs36: 2.4rem;
    --fs28: 2.2rem;
    --fs22: 2.0rem;
    --fs20: 1.8rem;
    --fs18: 1.4rem;
    --fs16: 1.4rem;
    --fs14: 1.2rem;
    --fs12: 1.0rem; } }
/* 
---------------------------------------
reset
---------------------------------------
*/
body, header, footer, section, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  overflow-y: scroll;
  box-sizing: border-box; }

*, *::before, *::after {
  box-sizing: inherit; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  vertical-align: top; }

th {
  text-align: left; }

li {
  list-style: none; }

a {
  outline: none;
  text-decoration: none;
  color: inherit;
  transition: all 0.6s; }

address {
  font-style: normal; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-weight: 400; }

em {
  font-style: normal; }

a:link, a:visited, a:hover, a:active {
  text-decoration: none; }

a:hover {
  opacity: 0.7;
  transition: all 0.6s; }

img {
  display: block;
  max-width: 100%;
  -webkit-backface-visibility: hidden; }

/* 
---------------------------------------
表示切替
---------------------------------------
*/
@media screen and (max-width: 999px) {
  .pcView {
    display: none !important; } }
@media screen and (min-width: 1000px) {
  .spView {
    display: none !important; } }
@media (min-width: 999px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/* フォーム要素のリセット */
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  outline: none;
  appearance: none; }

button {
  cursor: pointer; }

button:disabled {
  cursor: default; }

/* 
---------------------------------------
コンテンツ幅
---------------------------------------
*/
.inner18 {
  max-width: 180rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner18 {
      width: 89.33%;
      max-width: 536px; } }

.inner16 {
  max-width: 160rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner16 {
      width: 89.33%;
      max-width: 536px; } }

.inner14 {
  max-width: 140rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner14 {
      width: 89.33%;
      max-width: 536px; } }

.inner12 {
  max-width: 120rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner12 {
      width: 89.33%;
      max-width: 536px; } }

.inner10 {
  max-width: 100rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner10 {
      width: 89.33%;
      max-width: 536px; } }

.inner8 {
  max-width: 80rem;
  width: 89.33%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner8 {
      width: 89.33%;
      max-width: 536px; } }

/* 
---------------------------------------
余白
---------------------------------------
*/
body .mb20 {
  margin-bottom: clamp(120px, 16vw, 200px); }

body .mb18 {
  margin-bottom: clamp(100px, 14vw, 180px); }

body .mb16 {
  margin-bottom: clamp(80px, 12vw, 160px); }

body .mb14 {
  margin-bottom: clamp(70px, 10vw, 140px); }

body .mb12 {
  margin-bottom: clamp(60px, 10vw, 120px); }

body .mbTen {
  margin-bottom: clamp(50px, 8vw, 100px); }

body .mbten {
  margin-bottom: clamp(50px, 8vw, 100px); }

body .mb10 {
  margin-bottom: clamp(50px, 8vw, 100px); }

body .mb8 {
  margin-bottom: 8rem; }
  @media (max-width: 999px) {
    body .mb8 {
      margin-bottom: 4rem; } }

body .mb6 {
  margin-bottom: 6rem; }
  @media (max-width: 999px) {
    body .mb6 {
      margin-bottom: 3rem; } }

body .mb5 {
  margin-bottom: 5rem; }
  @media (max-width: 999px) {
    body .mb5 {
      margin-bottom: 2.5rem; } }

body .mb4 {
  margin-bottom: 4rem; }
  @media (max-width: 999px) {
    body .mb4 {
      margin-bottom: 2rem; } }

body .mb3 {
  margin-bottom: 3rem; }
  @media (max-width: 999px) {
    body .mb3 {
      margin-bottom: 1.5rem; } }

body .mb2 {
  margin-bottom: 2rem; }
  @media (max-width: 999px) {
    body .mb2 {
      margin-bottom: 1rem; } }

body .mb1 {
  margin-bottom: 1rem; }
  @media (max-width: 999px) {
    body .mb1 {
      margin-bottom: .5rem; } }

html {
  font-size: clamp(8px, calc(8px + (2 * ((100vw - 1000px) / 920))), 10px); }
  @media (max-width: 999px) {
    html {
      font-size: 62.5% !important; } }

html body#tinymce {
  font-family: "Noto Sans JP", sans-serif; }
  html body#tinymce div {
    border: 1px dashed rgba(0, 128, 0, 0.5); }
  html body#tinymce p {
    padding: 2rem;
    border: 1px dashed rgba(0, 0, 255, 0.5); }
  html body#tinymce .is-mdOverHide,
  html body#tinymce .is-mdUnderHide {
    display: inline-block; }
  html body#tinymce .is-mdOverHide::before {
    content: 'sp';
    font-size: 10px;
    color: red; }
  html body#tinymce .is-mdUnderHide::before {
    content: 'pc';
    font-size: 10px;
    color: blue; }
  html body#tinymce h2, html body#tinymce h3, html body#tinymce h4, html body#tinymce h5 {
    padding: 2rem; }

.pcCenterspLeft {
  text-align: center; }
  @media (max-width: 999px) {
    .pcCenterspLeft {
      text-align: left; } }

.is-mdUnderHide,
.is-mdOverHide {
  height: 0; }

img.aligncenter {
  margin: 0 auto; }

hr {
  border: none;
  border-top: .2rem solid #D2D2D2;
  overflow: visible;
  text-align: center; }

/* 
---------------------------------------
#news-single
---------------------------------------
*/
#news-single {
  padding: 0 0 16rem; }
  @media (max-width: 999px) {
    #news-single {
      padding: 0 0 6rem; } }
  #news-single .newsHead {
    margin-bottom: 6rem; }
    @media (max-width: 999px) {
      #news-single .newsHead {
        margin-bottom: 2rem; } }
  #news-single .date {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 500; }
    @media (max-width: 999px) {
      #news-single .date {
        font-size: 1.4rem; } }
  #news-single h1 {
    margin-bottom: 0;
    padding-bottom: 2.5rem;
    border-bottom: 2px solid #00582D;
    font-size: clamp(3.2rem, 3vw, 4.8rem);
    line-height: 1.5;
    font-weight: bold; }
    @media (max-width: 999px) {
      #news-single h1 {
        padding-bottom: 1.5rem;
        border-bottom-width: 0.1rem;
        font-size: 2.2rem; } }
  #news-single .categoryList {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem; }
    @media (max-width: 999px) {
      #news-single .categoryList {
        margin-top: 1.5rem; } }
  #news-single .category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8.5rem;
    padding: 0.8rem 1.5rem;
    background: #00633D;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 500; }
    @media (max-width: 999px) {
      #news-single .category {
        min-width: 7rem;
        padding: 0.7rem 1.2rem;
        font-size: 1.2rem; } }
  #news-single #toc_container {
    margin-top: 4rem;
    margin-bottom: 4rem;
    padding: 5rem 10rem 7rem;
    background: #E2F1FD;
    border: 2px solid #6EBAF2;
    border-radius: 2rem; }
    @media (max-width: 999px) {
      #news-single #toc_container {
        margin-top: 2rem;
        padding: 1.5rem 2rem;
        border: 1px solid #6EBAF2;
        border-radius: 1rem; } }
    #news-single #toc_container p.toc_title {
      margin-bottom: 4rem;
      color: #01A0E9;
      font-size: 2.6rem; }
      @media (max-width: 999px) {
        #news-single #toc_container p.toc_title {
          margin-bottom: 1rem;
          font-size: 1.4rem; } }
    #news-single #toc_container li {
      margin-bottom: 2rem;
      padding-left: 1.1em;
      line-height: 1.5;
      text-indent: -1.1em; }
      @media (max-width: 999px) {
        #news-single #toc_container li {
          margin-bottom: 1rem; } }
      #news-single #toc_container li ul {
        margin-top: 1rem; }
        @media (max-width: 999px) {
          #news-single #toc_container li ul {
            margin-top: 0.5rem; } }
      #news-single #toc_container li li {
        padding-left: 0;
        text-indent: -2em; }
    #news-single #toc_container a {
      color: #01A0E9;
      font-weight: bold; }
      @media (max-width: 999px) {
        #news-single #toc_container a {
          font-size: 1.3rem; } }
  #news-single p img {
    margin-top: 4rem;
    margin-bottom: 1rem; }
    @media (max-width: 999px) {
      #news-single p img {
        margin-top: 2rem; } }
  #news-single .btn {
    margin: 0 auto; }

/* 
---------------------------------------
#news-archive
---------------------------------------
*/
#news-archive {
  padding: 0 0 16rem; }
  @media (max-width: 999px) {
    #news-archive {
      padding: 0 0 6rem; } }
  #news-archive .newsList {
    border-top: 1px solid #d8d8d8;
    margin-bottom: 5rem; }
    @media (max-width: 999px) {
      #news-archive .newsList {
        margin-bottom: 2rem; } }
  #news-archive .newsItem {
    position: relative;
    display: grid;
    grid-template-columns: 28rem 1fr 4rem;
    align-items: center;
    gap: 3rem;
    min-height: 11rem;
    padding: 2rem 4rem 2rem 6rem;
    border-bottom: 1px solid #d8d8d8;
    color: #000;
    text-decoration: none;
    transition: 0.3s;
    overflow: hidden; }
    @media (max-width: 999px) {
      #news-archive .newsItem {
        display: block;
        min-height: auto;
        padding: 1.8rem 3.6rem 1.8rem 0; } }
    #news-archive .newsItem::before {
      content: "";
      position: absolute;
      z-index: 1;
      right: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: #f7f7f7;
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 0.45s ease;
      pointer-events: none; }
    #news-archive .newsItem > * {
      position: relative;
      z-index: 2; }
    #news-archive .newsItem:hover {
      opacity: 1; }
      #news-archive .newsItem:hover::before {
        transform: scaleX(1); }
      #news-archive .newsItem:hover .arrow {
        background: #EB3300;
        border-color: #EB3300; }
        #news-archive .newsItem:hover .arrow::after {
          border-color: #fff; }
  #news-archive .metaBox {
    display: flex;
    align-items: center;
    gap: 3rem; }
    @media (max-width: 999px) {
      #news-archive .metaBox {
        gap: 1.5rem;
        margin-bottom: 0.4rem; } }
  #news-archive .date {
    color: #949292;
    line-height: 1.4; }
    @media (max-width: 999px) {
      #news-archive .date {
        font-size: 1.4rem; } }
  #news-archive .cat {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 8.6rem;
    min-height: 3rem;
    padding: 0.4rem 1.3rem;
    background: #00582D;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2; }
    @media (max-width: 999px) {
      #news-archive .cat {
        min-width: 6rem;
        min-height: 2.2rem;
        font-size: 1.2rem; } }
  #news-archive .newsTtl {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.03em; }
    @media (max-width: 999px) {
      #news-archive .newsTtl {
        font-size: 1.5rem;
        line-height: 1.6; } }
  #news-archive .arrow {
    position: relative;
    display: block;
    width: 3rem;
    height: 3rem;
    margin-left: auto;
    border: 1px solid #000;
    border-radius: 50%;
    transition: 0.3s; }
    @media (max-width: 999px) {
      #news-archive .arrow {
        position: absolute;
        right: 0;
        top: 50%;
        width: 2.8rem;
        height: 2.8rem;
        transform: translateY(-50%); } }
    #news-archive .arrow::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 0.7rem;
      height: 0.7rem;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      transform: translate(-60%, -50%) rotate(45deg);
      transition: 0.3s; }

/* 
---------------------------------------
#pagination
---------------------------------------
*/
.pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 4rem;
  width: 100%;
  margin-top: 6rem; }
  @media (max-width: 999px) {
    .pagination {
      column-gap: 1.5rem;
      margin-top: 4rem; } }
  .pagination .paginationSide {
    display: flex;
    align-items: center;
    min-width: 6rem;
    min-height: 6rem; }
    @media (max-width: 999px) {
      .pagination .paginationSide {
        min-width: 4.6rem;
        min-height: 4.6rem; } }
  .pagination .paginationPrev {
    justify-content: flex-end; }
  .pagination .paginationNext {
    justify-content: flex-start; }
  .pagination .paginationNumbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    min-width: 0; }
    @media (max-width: 999px) {
      .pagination .paginationNumbers {
        gap: 0.8rem; } }
  .pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 6rem;
    height: 6rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: opacity 0.3s ease;
    font-family: "Oswald",fantasy, sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased; }
    @media (max-width: 999px) {
      .pagination .page-numbers {
        width: 4rem;
        height: 4rem;
        font-size: 1.4rem; } }
    .pagination .page-numbers:hover {
      opacity: 0.7; }
    .pagination .page-numbers.current {
      background: #eb3300;
      color: #fff; }
    .pagination .page-numbers.dots {
      width: 3rem;
      height: auto;
      border-radius: 0;
      background: none;
      color: #000; }
      @media (max-width: 999px) {
        .pagination .page-numbers.dots {
          width: 2rem; } }
  .pagination .paginationArrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 6rem;
    height: 6rem;
    border: 0.2rem solid #000;
    border-radius: 50%;
    background: #fff;
    color: #000;
    text-decoration: none;
    transition: opacity 0.3s ease; }
    @media (max-width: 999px) {
      .pagination .paginationArrow {
        width: 4rem;
        height: 4rem;
        border-width: 0.1rem; } }
    .pagination .paginationArrow:hover {
      opacity: 0.7; }
    .pagination .paginationArrow i {
      font-size: 2rem;
      line-height: 1; }
      @media (max-width: 999px) {
        .pagination .paginationArrow i {
          font-size: 1.6rem; } }

/* 
---------------------------------------
#works-archive
---------------------------------------
*/
#worksArchive {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-bottom: 16rem;
  background: #fff; }
  @media (max-width: 999px) {
    #worksArchive {
      padding-bottom: 6rem; } }
  #worksArchive::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 30rem;
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none; }
    @media (max-width: 999px) {
      #worksArchive::before {
        height: 16rem; } }
  #worksArchive .bgDeco {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -2;
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none; }
  #worksArchive .worksCategory,
  #worksArchive .worksHead,
  #worksArchive .worksList,
  #worksArchive .pagination {
    position: relative;
    z-index: 1; }
  #worksArchive .worksCategory {
    margin-bottom: clamp(10rem, 10vw, 16rem); }
    @media (max-width: 999px) {
      #worksArchive .worksCategory {
        margin-bottom: 7rem; } }
  #worksArchive .worksCategoryTtl {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 4rem;
    font-size: clamp(2.4rem, 2.4vw, 3.6rem);
    font-weight: 700;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #worksArchive .worksCategoryTtl {
        justify-content: flex-start;
        margin-bottom: 2.5rem;
        font-size: 2rem; } }
    #worksArchive .worksCategoryTtl span {
      display: flex;
      align-items: center;
      gap: 1.5rem; }
      #worksArchive .worksCategoryTtl span::before {
        content: "";
        display: block;
        flex: 0 0 0.6rem;
        width: 0.6rem;
        height: 3rem;
        background: #eb3300;
        transform: skewX(-25deg); }
        @media (max-width: 999px) {
          #worksArchive .worksCategoryTtl span::before {
            flex-basis: 0.4rem;
            width: 0.4rem;
            height: 2.2rem; } }
  #worksArchive .worksCategoryList {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    max-width: 104rem;
    margin: 0 auto; }
    @media (max-width: 999px) {
      #worksArchive .worksCategoryList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem; } }
  #worksArchive .worksCategoryLink {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6rem;
    padding: 1rem 2rem;
    border-left: 0.3rem solid #eb3300;
    background: #000;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.3s ease; }
    @media (max-width: 999px) {
      #worksArchive .worksCategoryLink {
        min-height: 5rem;
        padding: 1rem;
        font-size: 1.3rem; } }
    #worksArchive .worksCategoryLink:hover {
      opacity: 0.7; }
    #worksArchive .worksCategoryLink.is-current {
      background: #eb3300;
      border-left-color: #eb3300; }
  #worksArchive .worksHead {
    margin-bottom: clamp(6rem, 6vw, 8rem);
    text-align: center; }
    @media (max-width: 999px) {
      #worksArchive .worksHead {
        margin-bottom: 4rem; } }
    #worksArchive .worksHead .deco {
      margin-bottom: 2rem;
      font-size: clamp(6rem, 6vw, 9rem);
      line-height: 1; }
      @media (max-width: 999px) {
        #worksArchive .worksHead .deco {
          margin-bottom: 1rem;
          font-size: 4.5rem; } }
    #worksArchive .worksHead .ttl {
      position: relative;
      padding-bottom: 2.5rem;
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.5; }
      @media (max-width: 999px) {
        #worksArchive .worksHead .ttl {
          padding-bottom: 2rem;
          font-size: 1.6rem; } }
      #worksArchive .worksHead .ttl::after {
        content: "";
        display: block;
        width: 8rem;
        height: 0.2rem;
        margin: 2rem auto 0;
        background: #eb3300; }
        @media (max-width: 999px) {
          #worksArchive .worksHead .ttl::after {
            width: 6rem;
            margin-top: 1.5rem; } }
  #worksArchive .worksList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8rem 2rem; }
    @media (max-width: 999px) {
      #worksArchive .worksList {
        grid-template-columns: 1fr;
        gap: 4rem;
        width: calc(100% - 4rem); } }
  #worksArchive .worksBox {
    display: block;
    min-width: 0;
    background: #fff;
    color: #000;
    text-decoration: none;
    box-shadow: 0 0.3rem 1.5rem rgba(0, 0, 0, 0.06); }
    @media (min-width: 1000px) {
      #worksArchive .worksBox:hover .picInner img {
        transform: scale(1.08); } }
  #worksArchive .picBox {
    position: relative;
    width: 100%;
    aspect-ratio: 520 / 340;
    padding: 1rem;
    background: #fff; }
  #worksArchive .picInner {
    width: 100%;
    height: 100%;
    overflow: hidden; }
    #worksArchive .picInner img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1);
      transform-origin: center;
      transition: transform 0.6s ease; }
  #worksArchive .categoryList {
    position: absolute;
    left: 2rem;
    bottom: 1.5rem;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem; }
    @media (max-width: 999px) {
      #worksArchive .categoryList {
        left: 1.5rem;
        bottom: 1.5rem; } }
    #worksArchive .categoryList li {
      min-width: 10rem;
      padding: 0.8rem 0;
      background: #000;
      color: #fff;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1;
      text-align: center; }
      @media (max-width: 999px) {
        #worksArchive .categoryList li {
          min-width: 6rem;
          padding: 0.5rem 1rem;
          font-size: 1.1rem; } }
  #worksArchive .worksBody {
    padding: 1rem 3rem 2rem; }
    @media (max-width: 999px) {
      #worksArchive .worksBody {
        padding: 1.8rem 1.5rem; } }
  #worksArchive .worksTtl {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6; }
    @media (max-width: 999px) {
      #worksArchive .worksTtl {
        margin-bottom: 1.2rem;
        font-size: 1.6rem; } }
  #worksArchive .workTagList {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem; }
    #worksArchive .workTagList li {
      padding: 0.4rem 1rem;
      border: 0.1rem solid #eb3300;
      color: #eb3300;
      font-size: 1.1rem;
      font-weight: 700;
      line-height: 1.4; }
  #worksArchive .noPost {
    grid-column: 1 / -1;
    padding: 6rem 0;
    text-align: center; }

/* 
---------------------------------------
worksSingle
---------------------------------------
*/
#worksSingle {
  position: relative;
  isolation: isolate;
  padding-top: 8rem;
  margin-top: -12rem;
  padding-bottom: 16rem;
  background: url("../../../../../img/works/workSinge_bg.jpg"); }
  @media (max-width: 999px) {
    #worksSingle {
      padding-bottom: 6rem;
      padding-top: 4rem;
      margin-top: -6rem; } }
  #worksSingle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 30rem;
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none; }
    @media (max-width: 999px) {
      #worksSingle::before {
        height: 16rem; } }
  #worksSingle .inner16 {
    padding: clamp(8rem, 8vw, 12rem) 0;
    background: #fff;
    box-shadow: 0 0.3rem 1.5rem rgba(0, 0, 0, 0.06); }
    @media (max-width: 999px) {
      #worksSingle .inner16 {
        padding-top: 3rem;
        padding-bottom: 4rem; } }
  #worksSingle .worksSingleHead {
    margin-bottom: 1rem; }
  #worksSingle .workCatList {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem; }
    @media (max-width: 999px) {
      #worksSingle .workCatList {
        margin-bottom: 0.5rem; } }
    #worksSingle .workCatList li {
      display: flex;
      gap: 1.5rem;
      font-size: clamp(2.4rem, 2.4vw, 3.6rem);
      font-weight: 700;
      line-height: 1.4; }
      @media (max-width: 999px) {
        #worksSingle .workCatList li {
          gap: 1rem;
          font-size: 2rem; } }
      #worksSingle .workCatList li::before {
        content: "";
        display: block;
        flex: 0 0 0.6rem;
        width: 0.6rem;
        height: 2.8rem;
        background: #eb3300;
        transform: skewX(-35deg);
        margin-left: 1.2rem;
        margin-top: 1.4rem; }
        @media (max-width: 999px) {
          #worksSingle .workCatList li::before {
            flex-basis: 0.4rem;
            width: 0.4rem;
            height: 1.8rem;
            margin-left: 0.8rem;
            margin-top: 0.6rem; } }
  #worksSingle .worksSingleTtl {
    margin-bottom: 2rem;
    font-size: clamp(3rem, 3.5vw, 4.8rem);
    font-weight: 700;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #worksSingle .worksSingleTtl {
        margin-bottom: 1.5rem;
        font-size: 2.2rem; } }
  #worksSingle .worksSingleMeta {
    display: flex;
    gap: 2rem;
    flex-direction: column; }
    @media (max-width: 999px) {
      #worksSingle .worksSingleMeta {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem; } }
  #worksSingle .workTagList {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem; }
    @media (max-width: 999px) {
      #worksSingle .workTagList {
        gap: 0.5rem; } }
    #worksSingle .workTagList li {
      padding: 0.6rem 1.5rem;
      border: 0.1rem solid #eb3300;
      color: #eb3300;
      font-size: 1.2rem;
      font-weight: 700;
      line-height: 1.5; }
      @media (max-width: 999px) {
        #worksSingle .workTagList li {
          padding: 0.5rem 1rem;
          font-size: 1.1rem; } }
  #worksSingle .worksDate {
    flex-shrink: 0;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: right; }
    @media (max-width: 999px) {
      #worksSingle .worksDate {
        width: 100%;
        font-size: 1.3rem;
        text-align: right; } }
  #worksSingle .mainPic {
    margin-bottom: clamp(5rem, 5vw, 8rem); }
    #worksSingle .mainPic img {
      display: block;
      width: 100%;
      height: auto; }
  #worksSingle .editorContent {
    font-size: 1.6rem;
    line-height: 2; }
    @media (max-width: 999px) {
      #worksSingle .editorContent {
        font-size: 1.4rem;
        line-height: 1.9; } }
    #worksSingle .editorContent h2 {
      margin: 0 0 3rem;
      padding-left: 0rem;
      border-left: none;
      font-size: 3rem;
      font-weight: 700;
      line-height: 1.5; }
      @media (max-width: 999px) {
        #worksSingle .editorContent h2 {
          margin: 0rem 0 2rem;
          padding-left: 0;
          font-size: 2rem; } }
    #worksSingle .editorContent p {
      margin-bottom: 2.5rem; }
    #worksSingle .editorContent img {
      max-width: 100%;
      height: auto; }
    #worksSingle .editorContent ul,
    #worksSingle .editorContent ol {
      margin: 2rem 0 3rem;
      padding-left: 2rem; }
    #worksSingle .editorContent ul {
      list-style: disc; }
    #worksSingle .editorContent ol {
      list-style: decimal; }
    #worksSingle .editorContent a {
      color: #eb3300;
      text-decoration: underline; }
  #worksSingle .worksSingleBack {
    display: flex;
    justify-content: center;
    margin-top: clamp(8rem, 8vw, 12rem); }
    @media (max-width: 999px) {
      #worksSingle .worksSingleBack {
        margin-top: 6rem; } }

#worksSingle .worksInfoBox {
  padding: clamp(2rem, 3vw, 4rem) clamp(4rem, 7vw, 10rem);
  background: #f7f7f7;
  margin-bottom: 0.5rem;
  border-left: 0.4rem solid #eb3300; }
  @media (max-width: 999px) {
    #worksSingle .worksInfoBox {
      padding: 4rem 2rem; } }
  #worksSingle .worksInfoBox:last-child {
    margin-bottom: 0; }
#worksSingle p.worksInfoTtl {
  margin-bottom: 2rem;
  font-size: clamp(2.2rem, 2.6vw, 3.6rem);
  font-weight: 700;
  line-height: 1.5; }
  @media (max-width: 999px) {
    #worksSingle p.worksInfoTtl {
      margin-bottom: 1rem;
      font-size: 2.2rem; } }
  #worksSingle p.worksInfoTtl span {
    display: flex;
    align-items: center;
    gap: 1.5rem; }
    @media (max-width: 999px) {
      #worksSingle p.worksInfoTtl span {
        gap: 1rem; } }
    #worksSingle p.worksInfoTtl span::before {
      content: "";
      display: block;
      flex: 0 0 0.6rem;
      width: 0.6rem;
      height: 2.4rem;
      margin-top: 0.5rem;
      background: #eb3300;
      transform: skewX(-35deg);
      margin-left: 1rem; }
      @media (max-width: 999px) {
        #worksSingle p.worksInfoTtl span::before {
          flex-basis: 0.4rem;
          width: 0.4rem;
          height: 1.8rem;
          margin-top: 0.4rem; } }
#worksSingle .worksInfoTxt {
  font-size: 1.6rem;
  line-height: 2; }
  @media (max-width: 999px) {
    #worksSingle .worksInfoTxt {
      font-size: 1.4rem;
      line-height: 1.9; } }
  #worksSingle .worksInfoTxt p {
    margin: 0; }
    #worksSingle .worksInfoTxt p:not(:last-child) {
      margin-bottom: 1rem; }
#worksSingle .worksSubContent {
  padding: clamp(5rem, 5vw, 8rem) 0; }
  @media (max-width: 999px) {
    #worksSingle .worksSubContent {
      padding: 4rem 0 0; } }
#worksSingle .worksSubTtl {
  margin-bottom: 3rem;
  font-size: clamp(2.8rem, 3.2vw, 4rem);
  font-weight: 700;
  line-height: 1.5; }
  @media (max-width: 999px) {
    #worksSingle .worksSubTtl {
      margin-bottom: 2rem;
      font-size: 2.2rem; } }
  #worksSingle .worksSubTtl span {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem; }
    @media (max-width: 999px) {
      #worksSingle .worksSubTtl span {
        gap: 1rem; } }
    #worksSingle .worksSubTtl span::before {
      content: "";
      display: block;
      flex: 0 0 0.6rem;
      width: 0.6rem;
      height: 2.4rem;
      margin-top: 1.2rem;
      background: #eb3300;
      transform: skewX(-35deg);
      margin-left: 1rem; }
      @media (max-width: 999px) {
        #worksSingle .worksSubTtl span::before {
          flex-basis: 0.4rem;
          width: 0.4rem;
          height: 1.8rem;
          margin-top: 0.6rem; } }
#worksSingle .worksSubTxt {
  font-size: 1.6rem;
  line-height: 2; }
  @media (max-width: 999px) {
    #worksSingle .worksSubTxt {
      font-size: 1.4rem;
      line-height: 1.9; } }
  #worksSingle .worksSubTxt p {
    margin: 0; }
    #worksSingle .worksSubTxt p:not(:last-child) {
      margin-bottom: 1rem; }
#worksSingle .worksContentList {
  display: flex;
  flex-direction: column;
  gap: clamp(6rem, 5vw, 8rem);
  margin-top: clamp(6rem, 5vw, 8rem); }
  @media (max-width: 999px) {
    #worksSingle .worksContentList {
      gap: 4rem;
      margin-top: 4rem; } }
#worksSingle .worksContentBox {
  min-width: 0; }
#worksSingle .worksImageText .worksContentPic {
  width: 100%;
  margin: 0 auto clamp(3rem, 4vw, 5rem);
  overflow: hidden; }
  #worksSingle .worksImageText .worksContentPic img {
    display: block;
    width: 100%;
    height: auto; }
  #worksSingle .worksImageText .worksContentPic.is-portrait {
    max-width: 75rem; }
    #worksSingle .worksImageText .worksContentPic.is-portrait img {
      width: 100%;
      height: auto; }
#worksSingle .worksImageText .worksContentTxt {
  font-size: 1.6rem;
  line-height: 2; }
  @media (max-width: 999px) {
    #worksSingle .worksImageText .worksContentTxt {
      font-size: 1.4rem;
      line-height: 1.9; } }
  #worksSingle .worksImageText .worksContentTxt p {
    margin: 0; }
    #worksSingle .worksImageText .worksContentTxt p:not(:last-child) {
      margin-bottom: 1rem; }
#worksSingle .worksBeforeAfter .beforeAfterList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  max-width: 100%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    #worksSingle .worksBeforeAfter .beforeAfterList {
      grid-template-columns: 1fr; } }
#worksSingle .worksBeforeAfter .beforeAfterBox {
  position: relative;
  min-width: 0;
  margin: 0; }
  #worksSingle .worksBeforeAfter .beforeAfterBox .picBox {
    width: 100%;
    height: 100%;
    overflow: hidden; }
    #worksSingle .worksBeforeAfter .beforeAfterBox .picBox img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
#worksSingle .worksBeforeAfter .beforeAfterLabel {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18rem;
  min-height: 6rem;
  padding: 1rem 2rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1; }
  @media (max-width: 999px) {
    #worksSingle .worksBeforeAfter .beforeAfterLabel {
      min-width: 12rem;
      min-height: 4.5rem;
      padding: 1rem;
      font-size: 2.2rem; } }
#worksSingle .worksBeforeAfter .beforeBox .beforeAfterLabel {
  background: #000; }
#worksSingle .worksBeforeAfter .afterBox .beforeAfterLabel {
  background: #eb3300; }
#worksSingle .worksBeforeAfter .worksContentTxt {
  max-width: 100rem;
  margin: clamp(3rem, 4vw, 5rem) auto 0;
  font-size: 1.6rem;
  line-height: 2; }
  @media (max-width: 999px) {
    #worksSingle .worksBeforeAfter .worksContentTxt {
      margin-top: 2.5rem;
      font-size: 1.4rem;
      line-height: 1.9; } }
  #worksSingle .worksBeforeAfter .worksContentTxt p {
    margin: 0; }
    #worksSingle .worksBeforeAfter .worksContentTxt p:not(:last-child) {
      margin-bottom: 1rem; }
#worksSingle .worksBeforeAfterYoko .beforeAfterBox .picBox {
  aspect-ratio: 720 / 500; }
#worksSingle .worksBeforeAfterTate {
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto; }
  #worksSingle .worksBeforeAfterTate .beforeAfterBox .picBox {
    aspect-ratio: 500 / 700; }
#worksSingle .worksSliderBox {
  min-width: 0; }
  #worksSingle .worksSliderBox .worksContentTxt {
    max-width: 100rem;
    margin: clamp(3rem, 4vw, 5rem) auto 0;
    font-size: 1.6rem;
    line-height: 2; }
    @media (max-width: 999px) {
      #worksSingle .worksSliderBox .worksContentTxt {
        margin-top: 2.5rem;
        font-size: 1.4rem;
        line-height: 1.9; } }
    #worksSingle .worksSliderBox .worksContentTxt p {
      margin: 0; }
      #worksSingle .worksSliderBox .worksContentTxt p:not(:last-child) {
        margin-bottom: 1rem; }
#worksSingle .worksSliderMainWrap {
  position: relative;
  max-width: 108rem;
  margin: 0 auto; }
#worksSingle .worksSliderMain {
  overflow: hidden; }
#worksSingle .worksSliderPic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1080 / 720;
  overflow: hidden; }
  #worksSingle .worksSliderPic img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain; }
#worksSingle .worksSliderPrev,
#worksSingle .worksSliderNext {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border: 0.1rem solid #000;
  border-radius: 50%;
  background: #fff;
  color: #000;
  font-size: 2rem;
  transform: translateY(-50%);
  transition: background 0.3s ease, color 0.3s ease; }
  @media (max-width: 999px) {
    #worksSingle .worksSliderPrev,
    #worksSingle .worksSliderNext {
      width: 4.4rem;
      height: 4.4rem;
      font-size: 1.5rem; } }
  #worksSingle .worksSliderPrev:hover,
  #worksSingle .worksSliderNext:hover {
    background: #000;
    color: #fff; }
  #worksSingle .worksSliderPrev.swiper-button-disabled,
  #worksSingle .worksSliderNext.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none; }
#worksSingle .worksSliderPrev {
  left: -8rem; }
  @media (max-width: 999px) {
    #worksSingle .worksSliderPrev {
      left: 1rem; } }
#worksSingle .worksSliderNext {
  right: -8rem; }
  @media (max-width: 999px) {
    #worksSingle .worksSliderNext {
      right: 1rem; } }
#worksSingle .worksSliderThumbs {
  max-width: 108rem;
  margin: 3rem auto 0;
  overflow: hidden; }
  #worksSingle .worksSliderThumbs .swiper-slide {
    width: calc((100% - 7rem) / 8);
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.3s ease; }
    #worksSingle .worksSliderThumbs .swiper-slide.swiper-slide-thumb-active {
      opacity: 1; }
      #worksSingle .worksSliderThumbs .swiper-slide.swiper-slide-thumb-active .worksSliderThumbPic {
        border-color: #eb3300; }
#worksSingle .worksSliderThumbPic {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 0.3rem solid transparent; }
  #worksSingle .worksSliderThumbPic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }
#worksSingle .worksSliderPagination {
  margin-top: 2rem;
  text-align: center; }
  @media (max-width: 999px) {
    #worksSingle .worksSliderPagination {
      margin-top: 1rem; } }
  #worksSingle .worksSliderPagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 0.5rem;
    background: #bbb;
    opacity: 1; }
  #worksSingle .worksSliderPagination .swiper-pagination-bullet-active {
    background: #eb3300; }

#worksSingle02 #relatedWorks {
  display: grid;
  grid-template-columns: 28rem minmax(0, 1fr);
  margin-top: clamp(8rem, 8vw, 12rem); }
  @media (max-width: 999px) {
    #worksSingle02 #relatedWorks {
      grid-template-columns: 1fr;
      margin-top: 4rem;
      margin-bottom: 4rem; } }
#worksSingle02 .relatedWorksHead {
  padding: 1rem 3rem 0 0; }
  @media (max-width: 999px) {
    #worksSingle02 .relatedWorksHead {
      padding: 0;
      margin-bottom: 1.5rem; } }
#worksSingle02 .relatedWorksTtl {
  font-size: clamp(2.4rem, 2.8vw, 3.6rem);
  font-weight: 700;
  line-height: 1.4; }
  #worksSingle02 .relatedWorksTtl span {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem; }
    @media (max-width: 999px) {
      #worksSingle02 .relatedWorksTtl span {
        gap: 1rem; } }
    #worksSingle02 .relatedWorksTtl span::before {
      content: "";
      display: block;
      flex: 0 0 0.6rem;
      width: 0.6rem;
      height: 3rem;
      margin-top: 1.6rem;
      background: #eb3300;
      transform: skewX(-35deg);
      margin-left: 1rem; }
      @media (max-width: 999px) {
        #worksSingle02 .relatedWorksTtl span::before {
          flex-basis: 0.4rem;
          width: 0.4rem;
          height: 1.8rem;
          margin-top: 1.0rem; } }
#worksSingle02 .relatedWorksBody {
  padding: clamp(5rem, 5vw, 8rem) clamp(4rem, 6vw, 8rem);
  background: #f7f7f7; }
  @media (max-width: 999px) {
    #worksSingle02 .relatedWorksBody {
      padding: 3rem 2rem; } }
#worksSingle02 .relatedWorksList {
  display: flex;
  flex-direction: column;
  gap: 2rem; }
  #worksSingle02 .relatedWorksList li a {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
    color: #000;
    font-size: 1.6rem;
    line-height: 1.7;
    text-decoration: none; }
    @media (max-width: 999px) {
      #worksSingle02 .relatedWorksList li a {
        align-items: flex-start;
        gap: 1rem;
        font-size: 1.4rem; } }
    #worksSingle02 .relatedWorksList li a:hover .relatedWorksName {
      text-decoration-color: transparent; }
    #worksSingle02 .relatedWorksList li a:hover .relatedWorksArrow {
      transform: translateX(0.4rem); }
#worksSingle02 .relatedWorksArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.8rem;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background: #00633f;
  color: #fff;
  font-size: 1rem;
  transition: transform 0.3s ease; }
  @media (max-width: 999px) {
    #worksSingle02 .relatedWorksArrow {
      flex-basis: 2.4rem;
      width: 2.4rem;
      height: 2.4rem;
      margin-top: 0.1rem; } }
#worksSingle02 .relatedWorksName {
  text-decoration: underline;
  text-decoration-thickness: 0.1rem;
  text-underline-offset: 0.4rem;
  transition: text-decoration-color 0.3s ease; }
#worksSingle02 #worksPager {
  margin-top: 12rem; }
  @media (max-width: 999px) {
    #worksSingle02 #worksPager {
      margin-bottom: 4rem;
      margin-top: 4rem; } }
#worksSingle02 .worksPagerCards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  margin-bottom: 3rem; }
#worksSingle02 .worksPagerCardWrap {
  min-width: 0; }
#worksSingle02 .worksPagerCard {
  display: block;
  min-width: 0;
  height: 100%;
  background: #fff;
  color: #000;
  text-decoration: none;
  box-shadow: 0 0.3rem 1.5rem rgba(0, 0, 0, 0.08); }
  #worksSingle02 .worksPagerCard:hover .picInner img {
    transform: scale(1.08); }
  #worksSingle02 .worksPagerCard .picBox {
    position: relative;
    width: 100%;
    padding: 1rem;
    background: #fff; }
  #worksSingle02 .worksPagerCard .picInner {
    width: 100%;
    aspect-ratio: 720 / 460;
    overflow: hidden; }
    #worksSingle02 .worksPagerCard .picInner img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1);
      transition: transform 0.6s ease; }
  #worksSingle02 .worksPagerCard .categoryList {
    position: absolute;
    left: 3rem;
    bottom: 3rem;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem; }
    #worksSingle02 .worksPagerCard .categoryList li {
      min-width: 10rem;
      padding: 0.8rem 1.5rem;
      background: #000;
      color: #fff;
      font-size: 1.3rem;
      font-weight: 700;
      line-height: 1;
      text-align: center; }
  #worksSingle02 .worksPagerCard .workTagList {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem; }
    #worksSingle02 .worksPagerCard .workTagList li {
      padding: 0.5rem 1.2rem;
      border: 0.1rem solid #eb3300;
      color: #eb3300;
      font-size: 1.1rem;
      font-weight: 700;
      line-height: 1.4; }
#worksSingle02 .worksPagerCardBody {
  padding: 1.5rem 3rem 3rem; }
#worksSingle02 .worksPagerCardTtl {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6; }
#worksSingle02 .worksPagerLinks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem; }
  @media (max-width: 999px) {
    #worksSingle02 .worksPagerLinks {
      gap: 1rem; } }
#worksSingle02 .worksPagerLink {
  min-width: 0; }
  #worksSingle02 .worksPagerLink a {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none; }
    @media (max-width: 999px) {
      #worksSingle02 .worksPagerLink a {
        gap: 0.8rem;
        font-size: 1.3rem; } }
    #worksSingle02 .worksPagerLink a:hover .arrow {
      background: #000; }
  #worksSingle02 .worksPagerLink .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: #eb3300;
    color: #fff;
    font-size: 1rem;
    transition: background 0.3s ease; }
    @media (max-width: 999px) {
      #worksSingle02 .worksPagerLink .arrow {
        flex-basis: 2.6rem;
        width: 2.6rem;
        height: 2.6rem; } }
#worksSingle02 .worksPagerPrev {
  text-align: left; }
#worksSingle02 .worksPagerNext {
  text-align: right; }
  #worksSingle02 .worksPagerNext a {
    justify-content: flex-end; }
#worksSingle02 .btn {
  margin: 0 auto; }

/* 
---------------------------------------
#column-archive
---------------------------------------
*/
#column-archive .columnList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(4rem, 4vw, 6rem);
  margin-bottom: 5rem; }
  @media (max-width: 999px) {
    #column-archive .columnList {
      display: block;
      margin-bottom: 0; } }
#column-archive .columnBox {
  display: block;
  color: #000;
  text-decoration: none; }
  @media (max-width: 999px) {
    #column-archive .columnBox {
      margin-bottom: 0rem;
      display: flex;
      gap: 2rem;
      justify-content: space-between; } }
  #column-archive .columnBox:hover {
    opacity: 1; }
    #column-archive .columnBox:hover .picBox img {
      transform: scale(1.06); }
    #column-archive .columnBox:hover .columnTtl {
      color: #EB3300; }
#column-archive .picBox {
  overflow: hidden;
  aspect-ratio: 450 / 315;
  margin-bottom: 2.4rem; }
  @media (max-width: 999px) {
    #column-archive .picBox {
      overflow: hidden;
      aspect-ratio: initial;
      margin-bottom: 2rem;
      width: calc(100 / 335 * 100%);
      height: auto; } }
  #column-archive .picBox img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s; }
#column-archive .tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.4rem;
  margin-bottom: 2rem; }
  @media (max-width: 999px) {
    #column-archive .tagList {
      margin-bottom: 0.5rem; } }
  #column-archive .tagList li {
    color: #00582D;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4; }
    @media (max-width: 999px) {
      #column-archive .tagList li {
        font-size: 1.1rem; } }
#column-archive .columnTtl {
  font-size: clamp(1.6rem, 1.4vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
  transition: 0.3s; }
  @media (max-width: 999px) {
    #column-archive .columnTtl {
      font-size: 1.4rem; } }
@media (max-width: 999px) {
  #column-archive .box {
    width: calc(212 / 335 * 100%); } }
#column-archive .columnCategory {
  margin-bottom: 10rem; }
  @media (max-width: 999px) {
    #column-archive .columnCategory {
      margin-bottom: 5rem; } }
  #column-archive .columnCategory .columnCategoryTtl {
    display: flex;
    justify-content: center;
    margin-bottom: 4.5rem;
    font-size: clamp(2.4rem, 2.6vw, 4rem);
    line-height: 1.4;
    font-weight: bold; }
    @media (max-width: 999px) {
      #column-archive .columnCategory .columnCategoryTtl {
        margin-bottom: 2.5rem;
        font-size: 2.2rem; } }
    #column-archive .columnCategory .columnCategoryTtl span {
      position: relative;
      display: inline-block;
      padding-left: 3.5rem; }
      @media (max-width: 999px) {
        #column-archive .columnCategory .columnCategoryTtl span {
          padding-left: 2.5rem; } }
      #column-archive .columnCategory .columnCategoryTtl span::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 0.6rem;
        height: 3.4rem;
        background: #ef3300;
        transform: translateY(-50%) rotate(30deg); }
        @media (max-width: 999px) {
          #column-archive .columnCategory .columnCategoryTtl span::before {
            width: 0.4rem;
            height: 2.5rem; } }
  #column-archive .columnCategory .columnCategoryList {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem; }
    @media (max-width: 999px) {
      #column-archive .columnCategory .columnCategoryList {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem; } }
  #column-archive .columnCategory .columnCategoryLink {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7rem;
    padding: 1.5rem;
    background: #000;
    border-left: 0.4rem solid #ef3300;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    transition: background 0.3s, color 0.3s; }
    @media (max-width: 999px) {
      #column-archive .columnCategory .columnCategoryLink {
        min-height: 4.5rem;
        padding: 1rem;
        border-left-width: 0.3rem;
        font-size: 1.4rem; } }
    #column-archive .columnCategory .columnCategoryLink:hover, #column-archive .columnCategory .columnCategoryLink.is-current {
      background: #ef3300;
      color: #fff; }

/* 
---------------------------------------
#column-single
---------------------------------------
*/
#column-single {
  padding-bottom: 16rem; }
  @media (max-width: 999px) {
    #column-single {
      padding-bottom: 6rem; } }
  @media (max-width: 999px) {
    #column-single > .inner10 {
      width: calc(100% - 4rem); } }
  #column-single > .inner10 > .ttl {
    position: relative;
    margin-bottom: 8rem;
    padding-left: 4rem;
    font-size: clamp(3rem, 3vw, 4.8rem);
    line-height: 1.4;
    font-weight: bold; }
    @media (max-width: 999px) {
      #column-single > .inner10 > .ttl {
        margin-bottom: 3rem;
        padding-left: 2rem;
        font-size: 2rem; } }
    #column-single > .inner10 > .ttl::before {
      content: "";
      position: absolute;
      top: 0.28em;
      left: 0;
      width: 0.7rem;
      height: 1em;
      background: #ef3300;
      transform: rotate(28deg);
      transform-origin: center; }
      @media (max-width: 999px) {
        #column-single > .inner10 > .ttl::before {
          width: 0.5rem; } }
  #column-single #toc_container {
    position: relative;
    width: 100%;
    margin: 0 0 10rem;
    padding: 10rem clamp(4rem, 10vw, 14rem) 8rem;
    background-color: #f5f5f5;
    background-image: url("../img/noise.jpg");
    border: none;
    border-radius: 0;
    box-sizing: border-box; }
    @media (max-width: 999px) {
      #column-single #toc_container {
        margin-bottom: 5rem;
        padding: 7rem 2rem 3rem; } }
    #column-single #toc_container .toc_title {
      position: absolute;
      top: 0;
      left: 50%;
      min-width: 12rem;
      margin: 0;
      padding: 1rem 2.5rem;
      background: #000;
      color: #fff;
      font-size: 2rem;
      line-height: 1.4;
      font-weight: bold;
      text-align: center;
      transform: translateX(-50%); }
      @media (max-width: 999px) {
        #column-single #toc_container .toc_title {
          min-width: 9rem;
          padding: 0.8rem 1.5rem;
          font-size: 1.6rem; } }
    #column-single #toc_container .toc_list {
      margin: 0;
      padding: 0;
      list-style: none; }
      #column-single #toc_container .toc_list > li {
        margin-bottom: 4rem; }
        @media (max-width: 999px) {
          #column-single #toc_container .toc_list > li {
            margin-bottom: 2.5rem; } }
        #column-single #toc_container .toc_list > li:last-child {
          margin-bottom: 0; }
        #column-single #toc_container .toc_list > li > a {
          display: inline-block;
          color: #000;
          font-size: 2rem;
          line-height: 1.5;
          font-weight: bold;
          text-decoration: underline;
          text-decoration-thickness: 0.1rem;
          text-underline-offset: 0.5rem; }
          @media (max-width: 999px) {
            #column-single #toc_container .toc_list > li > a {
              font-size: 1.6rem; } }
        #column-single #toc_container .toc_list > li > ul {
          margin-top: 1.5rem;
          padding-left: 3rem;
          list-style: none; }
          @media (max-width: 999px) {
            #column-single #toc_container .toc_list > li > ul {
              margin-top: 1rem;
              padding-left: 0rem;
              margin-left: 0.5em; } }
          #column-single #toc_container .toc_list > li > ul > li {
            position: relative;
            margin-bottom: 1rem;
            padding-left: 3.5rem; }
            @media (max-width: 999px) {
              #column-single #toc_container .toc_list > li > ul > li {
                padding-left: 3rem; } }
            #column-single #toc_container .toc_list > li > ul > li:last-child {
              margin-bottom: 0; }
            #column-single #toc_container .toc_list > li > ul > li::before {
              content: "\f105";
              position: absolute;
              top: 0.7rem;
              left: 0;
              display: flex;
              align-items: center;
              justify-content: center;
              width: 2.4rem;
              height: 2.4rem;
              background: #00633d;
              border-radius: 50%;
              color: #fff;
              font-family: "Font Awesome 6 Free";
              font-size: 1.2rem;
              font-weight: 900; }
              @media (max-width: 999px) {
                #column-single #toc_container .toc_list > li > ul > li::before {
                  top: 6px;
                  width: 2rem;
                  height: 2rem;
                  font-size: 1rem; } }
            #column-single #toc_container .toc_list > li > ul > li > a {
              color: #000;
              font-size: 1.5rem;
              line-height: 1.6;
              text-decoration: underline;
              text-decoration-thickness: 0.1rem;
              text-underline-offset: 0.4rem; }
              @media (max-width: 999px) {
                #column-single #toc_container .toc_list > li > ul > li > a {
                  font-size: 1.3rem; } }
  #column-single .btn {
    margin: 0 auto; }

/* 
---------------------------------------
見出しh2
---------------------------------------
*/
h2:not([class]) {
  margin-top: 8rem;
  margin-bottom: 4rem;
  padding: 1.5rem 4.5rem;
  background: #f5f5f5;
  border-left: 0.4rem solid #EB3300;
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: bold; }
  @media (max-width: 999px) {
    h2:not([class]) {
      margin-top: 4rem;
      margin-bottom: 2rem;
      padding: 1.5rem 2.5rem;
      border-left-width: 0.3rem;
      font-size: 2rem; } }
  h2:not([class]) span {
    margin-top: -16rem;
    padding-top: 16rem; }
    @media (max-width: 999px) {
      h2:not([class]) span {
        margin-top: -10rem;
        padding-top: 10rem; } }

h3:not([class]) {
  margin-top: 4rem;
  margin-bottom: 2rem;
  color: #000;
  font-size: 2.6rem;
  line-height: 1.5;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased; }
  @media (max-width: 999px) {
    h3:not([class]) {
      margin-top: 3rem;
      margin-bottom: 1rem;
      font-size: 1.8rem; } }
  h3:not([class]) span {
    margin-top: -16rem;
    padding-top: 16rem; }
    @media (max-width: 999px) {
      h3:not([class]) span {
        margin-top: -10rem;
        padding-top: 10rem; } }

h4:not([class]) {
  font-size: 2rem;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  color: #01A0E9;
  margin-top: 4rem;
  margin-bottom: 2rem; }
  @media (max-width: 999px) {
    h4:not([class]) {
      margin-top: 2rem;
      font-size: 1.6rem;
      margin-bottom: 1rem; } }

@media (max-width: 999px) {
  .is-mdUnderHide {
    display: none; } }

@media (min-width: 1000px) {
  .is-mdOverHide {
    display: none; } }

.wp-content p a {
  text-decoration: underline;
  color: #EB3300; }

@media (max-width: 999px) {
  p {
    font-size: 1.4rem; } }

p img {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  @media (max-width: 999px) {
    p img {
      margin-top: 2rem;
      margin-bottom: 2rem; } }

/* 
---------------------------------------
フレックス
---------------------------------------
*/
.flex.alignCenter .e-item_2 {
  align-items: center; }

.e-youtube div {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden; }
.e-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.listBox1 {
  padding: 6rem 5vw;
  border: 2px solid #6EBAF2;
  border-radius: 2rem;
  margin-bottom: 4rem;
  margin-top: 4rem; }
  @media (max-width: 999px) {
    .listBox1 {
      margin-bottom: 2rem;
      border: 1px solid #6EBAF2;
      padding: 2rem;
      border-radius: 1rem;
      margin-top: 2rem; } }
  .listBox1 dl {
    display: flex;
    margin-bottom: 2rem; }
    @media (max-width: 999px) {
      .listBox1 dl {
        flex-direction: column;
        margin-bottom: 1rem; } }
  .listBox1 dl:last-child {
    margin-bottom: 0; }
  .listBox1 dt {
    width: calc(134/800*100%);
    min-width: 13rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 0.5rem; }
    @media (max-width: 999px) {
      .listBox1 dt {
        width: 100%;
        margin-bottom: 0.5rem; } }
    .listBox1 dt span {
      filter: invert(41%) sepia(94%) saturate(2320%) hue-rotate(181deg) brightness(97%) contrast(101%);
      margin-right: 1rem; }
  .listBox1 dd {
    width: calc(645/800*100%); }
    @media (max-width: 999px) {
      .listBox1 dd {
        width: 100%; } }

.listBox2 {
  padding: 6rem 5vw;
  border: 2px solid #6EBAF2;
  border-radius: 2rem;
  margin-bottom: 4rem;
  background: #E2F1FD;
  margin-top: 4rem; }
  @media (max-width: 999px) {
    .listBox2 {
      border-radius: 1rem;
      margin-bottom: 2rem;
      border: 1px solid #6EBAF2;
      padding: 2rem;
      margin-top: 2rem; } }
  .listBox2 dl {
    margin-bottom: 4rem;
    line-height: 1.5; }
    @media (max-width: 999px) {
      .listBox2 dl {
        margin-bottom: 2rem; } }
  .listBox2 dl:last-child {
    margin-bottom: 0; }
  .listBox2 dt {
    font-weight: bold;
    margin-bottom: 1rem; }
    @media (max-width: 999px) {
      .listBox2 dt {
        margin-bottom: 0.5rem; } }

.contactBox .ttl {
  font-size: 2.6rem;
  margin-bottom: 1rem;
  color: #01A0E9;
  font-weight: bold;
  text-align: center;
  line-height: 1.5; }
  @media (max-width: 999px) {
    .contactBox .ttl {
      font-size: 1.8rem;
      margin-bottom: 0.5rem; } }
.contactBox .txt {
  margin-bottom: 4rem;
  text-align: center; }
  @media (max-width: 999px) {
    .contactBox .txt {
      margin-bottom: 2rem;
      text-align: left; } }
.contactBox img {
  width: 28rem;
  height: auto;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .contactBox img {
      width: 60%; } }

.listBox3 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 4rem;
  margin-top: 4rem; }
  @media (max-width: 999px) {
    .listBox3 {
      border-radius: 1rem;
      margin-bottom: 2rem;
      gap: 1rem;
      margin-top: 2rem; } }
  .listBox3 dl {
    padding: 4rem 5vw;
    border: 2px solid #6EBAF2;
    border-radius: 2rem; }
    @media (max-width: 999px) {
      .listBox3 dl {
        border: 1px solid #6EBAF2;
        padding: 2rem; } }
  .listBox3 dl:last-child {
    margin-bottom: 0; }
  .listBox3 dt {
    font-weight: bold;
    color: #01A0E9;
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 1rem; }
    @media (max-width: 999px) {
      .listBox3 dt {
        font-size: 1.6rem;
        margin-bottom: 0.5rem; } }
