@charset "UTF-8";
/* [ YAMAGA NEXT LAB. ] common.css */
/*==================================================*
 *  [ 基本設定 ]
 *==================================================*/
.head-2 {
  font-size: clamp(32px, 3.125vw, 40px);
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .head-2 {
    font-size: 3.2rem;
  }
}

.head-3 {
  font-size: 2rem;
  font-weight: 700;
}

.head-4 {
  font-size: 1.8rem;
  font-weight: 700;
}

.text-caption {
  font-size: 1.2rem;
  line-height: 2.67;
}

.txt-xsmall {
  font-size: 1.2rem;
}

.txt-small {
  font-size: 1.4rem;
}

.txt-nl {
  font-size: 1.6rem;
}

.txt-large {
  font-size: 1.8rem;
}

.txt-xlarge {
  font-size: 2rem;
}

.t-wh {
  color: #fff;
}

.t-acc {
  color: #003E1F;
}

.t-main {
  color: #008136;
}

.t-blk {
  color: #000;
}

.t-c {
  text-align: center;
}

.t-l {
  text-align: left;
}

.t-r {
  text-align: right;
}

.fw-m {
  font-weight: 500;
}

.fw-b {
  font-weight: 700;
}

.bg-lgry {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
}
.bg-lgry::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #FAF7F7;
  z-index: -10;
}
@media only screen and (max-width: 768px) {
  .bg-lgry {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.link-ul {
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (hover: hover) {
  .link-ul:hover {
    text-decoration: none;
  }
}

@media screen and (min-width: calc(768px + 1px)) {
  .pcnone {
    display: none !important;
  }
  .spnone {
    display: inherit !important;
  }
}
@media only screen and (max-width: 768px) {
  .pcnone {
    display: inherit !important;
  }
  .spnone {
    display: none !important;
  }
}
/*==================================================*
 *  [ リスト系 ]
 *==================================================*/
.num-dot-list {
  list-style: none;
  counter-reset: dot-num;
}
.num-dot-list > li {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 1em;
}
.num-dot-list > li:last-child {
  margin-bottom: 0;
}
.num-dot-list > li::before {
  counter-increment: dot-num;
  content: counter(dot-num) ".";
  font-weight: 700;
  padding-right: 0.1em;
}
.num-dot-list > li p.text {
  padding-left: 1.2em;
}

.disc-list {
  list-style-type: disc !important;
  padding-left: 1.5em;
}
.disc-list li {
  font-size: 1.6rem;
  line-height: 2;
}

/*==================================================*
 *  [ 見出し ]
 *==================================================*/
.ttl-bggr {
  width: 100%;
  color: #fff;
  background: #008136;
  padding: 0.9em 1.2em;
}
@media only screen and (max-width: 768px) {
  .ttl-bggr {
    padding: 0.9em 0.5em;
  }
}

.ttl-uldgr {
  width: 100%;
  line-height: 1.75;
  border-left: 7px solid #003E1F;
  border-bottom: 1px solid #000;
  padding: 0.111em 1em 0.222em;
}

.page-ttl-wrap {
  width: 100%;
  padding-top: 100px;
  padding-bottom: 80px;
}
.page-ttl-wrap .page-ttl {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}
.page-ttl-wrap .page-ttl span {
  padding-right: 1em;
}
@media only screen and (max-width: 768px) {
  .page-ttl-wrap {
    padding-top: 60px;
    padding-bottom: 40px;
  }
  .page-ttl-wrap .page-ttl span {
    padding-right: 0;
  }
}

/*==================================================*
 *  [ 配置 ]
 *==================================================*/
.flex {
  display: flex;
}

.a-c {
  align-items: center;
}

.a-fs {
  align-items: flex-start;
}

.a-fe {
  align-items: flex-end;
}

.a-s {
  align-items: stretch;
}

.j-c {
  justify-content: center;
}

.j-fs {
  justify-content: flex-start;
}

.j-fe {
  justify-content: flex-end;
}

.j-sb {
  justify-content: space-between;
}

.j-sa {
  justify-content: space-around;
}

.m-c {
  margin-left: auto;
  margin-right: auto;
}

.indent-wrap {
  padding-left: 1.5em;
}

/*==================================================*
 *  [ 余白個別指定 ]
 *==================================================*/
.mt00 {
  margin-top: 0 !important;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml-a {
  margin-left: auto !important;
}

@media screen and (min-width: calc(768px + 1px)) {
  .pc-mt00 {
    margin-top: 0 !important;
  }
  .pc-mt10 {
    margin-top: 10px !important;
  }
  .pc-mt15 {
    margin-top: 15px !important;
  }
  .pc-mt20 {
    margin-top: 20px !important;
  }
  .pc-mt25 {
    margin-top: 25px !important;
  }
  .pc-mt30 {
    margin-top: 30px !important;
  }
  .pc-mt35 {
    margin-top: 35px !important;
  }
  .pc-mt40 {
    margin-top: 40px !important;
  }
  .pc-mt50 {
    margin-top: 50px !important;
  }
  .pc-mt60 {
    margin-top: 60px !important;
  }
  .pc-mt70 {
    margin-top: 70px !important;
  }
  .pc-mt80 {
    margin-top: 80px !important;
  }
  .pc-mt90 {
    margin-top: 90px !important;
  }
  .pc-mt100 {
    margin-top: 100px !important;
  }
  .pc-mt120 {
    margin-top: 120px !important;
  }
  .pc-mt160 {
    margin-top: 160px !important;
  }
  .pc-mb00 {
    margin-bottom: 0 !important;
  }
  .pc-mb10 {
    margin-bottom: 10px !important;
  }
  .pc-mb15 {
    margin-bottom: 15px !important;
  }
  .pc-mb20 {
    margin-bottom: 20px !important;
  }
  .pc-mb25 {
    margin-bottom: 25px !important;
  }
  .pc-mb30 {
    margin-bottom: 30px !important;
  }
  .pc-mb35 {
    margin-bottom: 35px !important;
  }
  .pc-mb40 {
    margin-bottom: 40px !important;
  }
  .pc-mb50 {
    margin-bottom: 50px !important;
  }
  .pc-mb60 {
    margin-bottom: 60px !important;
  }
  .pc-mb70 {
    margin-bottom: 70px !important;
  }
  .pc-mb80 {
    margin-bottom: 80px !important;
  }
  .pc-mb90 {
    margin-bottom: 90px !important;
  }
  .pc-mb100 {
    margin-bottom: 100px !important;
  }
}
@media only screen and (max-width: 768px) {
  .sp-mt00 {
    margin-top: 0 !important;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mt15 {
    margin-top: 15px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mt25 {
    margin-top: 25px !important;
  }
  .sp-mt30 {
    margin-top: 30px !important;
  }
  .sp-mt35 {
    margin-top: 35px !important;
  }
  .sp-mt40 {
    margin-top: 40px !important;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-mt60 {
    margin-top: 60px !important;
  }
  .sp-mt70 {
    margin-top: 70px !important;
  }
  .sp-mt80 {
    margin-top: 80px !important;
  }
  .sp-mt90 {
    margin-top: 90px !important;
  }
  .sp-mt100 {
    margin-top: 100px !important;
  }
  .sp-mb00 {
    margin-bottom: 0 !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-mb15 {
    margin-bottom: 15px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .sp-mb25 {
    margin-bottom: 25px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .sp-mb35 {
    margin-bottom: 35px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .sp-mb100 {
    margin-bottom: 100px !important;
  }
  .sp-ml-a {
    margin-left: auto !important;
  }
}