: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; } }
/* 
---------------------------------------
plasterer01
---------------------------------------
*/
#plasterer01 {
  position: relative; }
  #plasterer01 .bg {
    background-size: contain;
    background-image: url(../img/plasterer/01_bg.jpg);
    background-position: top center; }
  #plasterer01 .leadBox {
    text-align: center; }
    @media (max-width: 999px) {
      #plasterer01 .leadBox {
        text-align: left; } }
  #plasterer01 .lead {
    font-size: 2rem;
    font-weight: 700; }
    @media (max-width: 999px) {
      #plasterer01 .lead {
        font-size: 1.6rem;
        line-height: 2; } }
  #plasterer01 .headBox {
    position: relative;
    text-align: center; }
  #plasterer01 .numberBox {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 12rem; }
    @media (max-width: 999px) {
      #plasterer01 .numberBox {
        min-height: 6rem; } }
  #plasterer01 .number {
    position: relative;
    z-index: 2;
    color: #eb3300;
    font-size: 6rem;
    line-height: 1; }
    @media (max-width: 999px) {
      #plasterer01 .number {
        font-size: 4rem; } }
  #plasterer01 .ttlDeco {
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(38rem, 45vw, 62rem);
    height: auto;
    transform: translate(-50%, 0%);
    z-index: 1; }
    @media (max-width: 999px) {
      #plasterer01 .ttlDeco {
        width: 30rem; } }
  #plasterer01 .ttl {
    position: relative;
    z-index: 2;
    margin-top: -1rem;
    font-size: clamp(3rem, 3vw, 4.4rem);
    font-weight: 700;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #plasterer01 .ttl {
        margin-top: 0;
        font-size: 2.4rem; } }
  #plasterer01 .txtBox {
    max-width: 87rem;
    margin-right: auto;
    margin-left: auto; }
  #plasterer01 .workBoxs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(60 / 1400 * 100%); }
    @media (max-width: 999px) {
      #plasterer01 .workBoxs {
        grid-template-columns: 1fr;
        gap: 5rem; } }
  #plasterer01 .workBox {
    position: relative;
    min-width: 0; }
  #plasterer01 .sttl {
    position: absolute;
    left: 2rem;
    top: -3rem;
    z-index: 2;
    padding: 1.4rem 2.2rem;
    background: #000;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1; }
    @media (max-width: 999px) {
      #plasterer01 .sttl {
        left: 1rem;
        top: -2rem;
        padding: 1rem 1.5rem;
        font-size: 1.8rem; } }
  #plasterer01 .picBox {
    width: 100%;
    overflow: hidden;
    position: relative; }
    #plasterer01 .picBox img {
      display: block;
      width: 100%;
      height: auto; }

/* 
---------------------------------------
plasterer02
---------------------------------------
*/
#plasterer02 {
  position: relative;
  padding: clamp(10rem, 10vw, 16rem) 0 0;
  background: url("../img/plasterer/02_bgDeco.jpg") center top/cover repeat-y; }
  @media (max-width: 999px) {
    #plasterer02 {
      padding: 8rem 0 0; } }
  #plasterer02 .scheduleHead {
    position: relative;
    text-align: center; }
  #plasterer02 .scheduleDeco {
    position: absolute;
    left: 50%;
    top: -9rem;
    color: transparent;
    font-size: clamp(8rem, 10vw, 15rem);
    line-height: 1;
    white-space: nowrap;
    -webkit-text-stroke: 0.1rem rgba(0, 0, 0, 0.2);
    transform: translateX(-50%);
    pointer-events: none; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleDeco {
        top: -3rem;
        font-size: 5.5rem; } }
  #plasterer02 .scheduleHead .ttl {
    position: relative;
    padding-bottom: 3rem;
    font-size: clamp(3rem, 3vw, 5.2rem);
    font-weight: 700;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleHead .ttl {
        padding-bottom: 0;
        font-size: 2.4rem; } }
    #plasterer02 .scheduleHead .ttl::after {
      content: "";
      display: block;
      width: 12rem;
      height: 2px;
      margin: 2rem auto 0;
      background: #eb3300; }
      @media (max-width: 999px) {
        #plasterer02 .scheduleHead .ttl::after {
          width: 6rem;
          margin-top: 1.5rem; } }
  #plasterer02 .scheduleTabBox {
    max-width: 112rem;
    margin: 0 auto 8rem; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleTabBox {
        margin: 0 auto 4rem; } }
  #plasterer02 .scheduleTabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 30rem);
    margin: 0 auto;
    gap: 3rem; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleTabs {
        width: 100%;
        gap: 1rem; } }
  #plasterer02 .scheduleTab {
    min-height: 7rem;
    padding: 1.5rem 2rem;
    border: 0;
    background: #B2B2B2;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
    transition: background 0.3s ease; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleTab {
        min-height: 6rem;
        padding: 1rem;
        font-size: 1.3rem; } }
    #plasterer02 .scheduleTab.is-active {
      background: #000; }
  #plasterer02 .scheduleContents {
    border: 0.2rem solid #000;
    background: #fff;
    padding: clamp(6rem, 6vw, 9rem); }
    @media (max-width: 999px) {
      #plasterer02 .scheduleContents {
        padding: 3rem 2rem;
        border-width: 0.1rem; } }
  #plasterer02 .schedulePanel[hidden] {
    display: none; }
  #plasterer02 .scheduleList {
    background: #f7f7f7; }
  #plasterer02 .scheduleItem {
    display: grid;
    grid-template-columns: 15rem 1fr;
    gap: 3rem;
    align-items: start;
    min-height: 9rem;
    padding: 2.8rem 3rem;
    border-bottom: 0.1rem solid #fff; }
    @media (max-width: 999px) {
      #plasterer02 .scheduleItem {
        grid-template-columns: 7rem 1fr;
        gap: 1.5rem;
        min-height: auto;
        padding: 2rem 1.5rem; } }
    #plasterer02 .scheduleItem:last-child {
      border-bottom: 0; }
  #plasterer02 .time {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #plasterer02 .time {
        gap: 1rem; } }
    #plasterer02 .time::before {
      content: "";
      display: block;
      flex: 0 0 0.2rem;
      width: 0.2rem;
      height: 2.4rem;
      background: #eb3300; }
      @media (max-width: 999px) {
        #plasterer02 .time::before {
          height: 2rem; } }
  #plasterer02 .scheduleTxtBox {
    min-width: 0; }
  #plasterer02 .sttl {
    margin-bottom: 0.6rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #plasterer02 .sttl {
        margin-bottom: 0.4rem;
        font-size: 1.4rem; } }
  #plasterer02 .txt {
    font-size: 1.4rem;
    line-height: 1.8; }
    @media (max-width: 999px) {
      #plasterer02 .txt {
        font-size: 1.2rem;
        line-height: 1.7; } }
  #plasterer02 .btn {
    margin: 0 auto; }
