@charset "utf-8";

/* =====================================================
   Utilities
   - 小物ユーティリティ専用
===================================================== */


html {
  font-size: 10px;
  /*font-size: 0.5208333vw;*/
}
body {
  font-size: 1.6rem;
}

:root {
  /* 汎用color */
  --yellow: #FED800;
  --orange: #E95918;
  --lightgreen: #71AF10;
  --green: #209428;
  --gray: #F0F0F0;
  --gray02: #B1B1B1;
  --gray03: #C3C3C3;
  --gray04: #616161;
  --green-bdr: #5CBA5B;
  --gray-bdr: #DEDEDE;
  --bg-color: #F0F0F0;
  --gradation-green: linear-gradient(108deg, #70BA27 0.58%, #209428 100%);
  --gradation-orange:linear-gradient(101deg, #FEAE00 0.78%, #E95918 51.82%, #E95918 100%);
  --gradation-orange02: linear-gradient(90deg, #E95918 0%, #F8B107 100%);
}

.orange {
  color: var(--orange);
}
.green {
  color: var(--green);
}

/* Margin Bottom */
.mb10 { margin-bottom: 1rem; }
.mb15 { margin-bottom: 1.5rem; }
.mb20 { margin-bottom: 2rem; }
.mb30 { margin-bottom: 3rem; }
.mb40 { margin-bottom: 4rem; }
.mb45 { margin-bottom: 4.5rem; }
.mb50 { margin-bottom: 5rem; }
.mb60 { margin-bottom: 6rem; }
.mb70 { margin-bottom: 7rem; }
.mb80 { margin-bottom: 8rem; }
.mb90 { margin-bottom: 9rem; }
.mb100 { margin-bottom: 10rem; }

/* Margin Right */
.mr10 { margin-right: 1rem; }
.mr15 { margin-right: 1.5rem; }
.mr20 { margin-right: 2rem; }
.mr30 { margin-right: 3rem; }
.mr40 { margin-right: 4rem; }

/* Text Align */
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }

/* Font weight / size */
.st { font-weight: 700; } /* bold固定に寄せる */

.fs16 { font-size: 1.6rem; }
.fs18 { font-size: 1.8rem; }
.fs20 { font-size: 2rem; }
.fs22 { font-size: 2.2rem; }
.fs24 { font-size: 2.4rem; }

.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }

.ttlbx {
  margin-bottom: 3rem;
}
h2.f_viga {
  font-size: 8rem;
}
.ttl_jp {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}
.txt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.88;
  letter-spacing: 0.02em;
}
/* Fonts */
.f_viga {
  font-family: "Viga", sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.error {
  margin-top: 1rem;
  color: var(--orange);
}
/*===========
inview
===========*/

/* 初期状態 */
.js-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s ease, transform .8s ease;
}
/* 表示 */
.js-fade.is-show {
  opacity: 1;
  transform: translateY(0);
}
/* 右から */
.js-fade-right {
  transform: translateX(40px);
}
/* 左から */
.js-fade-left {
  transform: translateX(-40px);
}

/* ズーム */
.js-zoom {
  transform: scale(.9);
}
.delay1 { transition-delay: .1s; }
.delay2 { transition-delay: .2s; }
.delay3 { transition-delay: .3s; }

/* Float（レガシー対応。新規ではflex/grid推奨） */
.fl { float: left; }
.fr { float: right; }

/* Flex*/
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_not_justify {
  display: flex;
  flex-wrap: wrap;
}
a {
  transition: .7s;
}

.inner_wrap {
  margin: 0 auto;
  width: 100%;
  max-width: 1920px;
}
.inner_1600 {
  margin: 0 auto;
  width: 95%;
  max-width: 1600px;
}

.inner_1200 {
  margin: 0 auto;
  width: 95%;
  max-width: 1200px;
}
.inner_1000 {
  margin: 0 auto;
  width: 95%;
  max-width: 1000px;
}

.wysiwyg p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.22;
  letter-spacing: 0.02em;
}
.wysiwyg p + p {
  margin-top: 4.5rem;
}
.wysiwyg .flex p + p {
  margin-top: 0;
}

.wysiwyg strong {
  font-weight: 700;
  background-color: var(--yellow);
}
.wysiwyg a {
  color: var(--green);
  text-decoration: underline;
  font-weight: 700;
}
.wysiwyg h3 {
  position: relative; 
  display: inline-block;
  margin-bottom: 3.6rem;
  padding: 2rem 11.6rem 2rem 0;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.46;
}
.wysiwyg h3::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: calc(100% + (50vw - 50%));
  background-color: var(--green);
  clip-path: polygon(0 0, 100% 0%, calc(100% - 5rem) 100%, 0% 100%);
  z-index: -1;
}

.wysiwyg h4 {
  position: relative;
  margin-bottom: 4.5rem;
  padding-bottom: 1.8rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  background: url(../../images/src/news/h4_border.svg) no-repeat left bottom / 100%;
}
.wysiwyg h4::first-letter {
  color: var(--green);
  font-size: 3.2rem;
}
.wysiwyg h5 {
  position: relative;
  display: inline-block;
  margin-bottom: 2.4rem;
  padding: 0 3.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.21;
  letter-spacing: 0.02em;
}
.wysiwyg h5::first-letter {
  color: var(--green);
  font-size: 2.8rem;
}
.wysiwyg h5::before,
.wysiwyg h5::after {
  content: '';
  position: absolute;
  top: 0;
  width: 2.1rem;
  height: 100%;
  background-color: var(--green);
  clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
}
.wysiwyg h5::before {
  left: 0;
}
.wysiwyg h5::after {
  right: 0;
}
.wysiwyg ol {
  list-style-type: none;
}
.wysiwyg li {
  position: relative;
  padding: 2rem 4rem 2rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.94;
  letter-spacing: 0.02em;
  background-color: #fff;
}
.wysiwyg li + li {
  margin-top: 10px;
}

.wysiwyg ol li {
  counter-increment: number;
  padding-left: 10.3rem;
}
.wysiwyg ol li::before {
  content: counter(number);
  display: flex;
  justify-content: center;
  position: absolute;
  left: 2rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 6.4rem;
  height: 3.2rem;
  padding-top: 0.2rem;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  background-color: var(--green);
  clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
}
.wysiwyg ul li {
  padding-left: 6.9rem;
}
.wysiwyg ul li::before {
  content: '';
  position: absolute;
  left: 3rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2.2rem;
  height: 1.6rem;
  background: url(../../images/src/news/check.svg) no-repeat left center / 100%;
}
.wysiwyg table tr {
  border-top: 1px solid rgba(181, 181, 181, 1);
  border-bottom: 1px solid rgba(181, 181, 181, 1);
}
.wysiwyg table td {
  position: relative;
  padding: 38px 50px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.wysiwyg table tr td:first-of-type {
  width: 20%;
  font-weight: 700;
}
.wysiwyg table tr td:first-of-type:after {
  content:'';
  position: absolute;
  right: 0;
  top: 20px;
  bottom: 20px;
  margin: auto;
  width: 1px;
  background: rgba(181, 181, 181, 1);
}
.wysiwyg .btn {
  display: flex;
  justify-content: center;
}
.wysiwyg .btn a {
  position: relative;
  display: block;
  padding: 2.4rem 0 2.9rem 6.9rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0% 100%);
  background-color: var(--orange);
}
.wysiwyg .btn a[target="_blank"],
.wysiwyg .btn a [href$=".pdf"] {
  padding-left: 0;
  width: 33.7rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.wysiwyg .btn a[target="_blank"]::after {
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(../../images/src/news/ico_blank.svg);
}

.wysiwyg .btn a[target="_blank"][href$=".pdf"]::before {
  left: 6rem;
  width: 3rem;
  height: 3.1rem;
  background: url(../../images/src/news/ico_pdf.svg) no-repeat left center / 100%;
}
.wysiwyg .btn a[target="_blank"][href$=".pdf"]::after {
  width: 1.9rem;
  height: 1.0rem;
  background-image: url(../../images/src/common/arrow_white.svg);
}
















@media screen and (max-width: 1700px) {
  html {
      font-size: 0.588vw;
  }
}



@media screen and (max-width: 1440px) {
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 0.781vw;
  }
}
/* SP限定ユーティリティ（ブレークポイントは layout.css と同期） */
@media screen and (max-width: 828px) {
  .sp_tac { text-align: center !important; }
  .sp_tar { text-align: right !important; }
  
  
  .ttlbx {
    margin-bottom: 4.831vw;
  }
  h2.f_viga {
    font-size: 14.493vw;
  }
  .ttl_jp {
    font-size: 4.348vw;
  }
  .txt {
    font-size: 3.865vw;
    line-height: 1.81;
  }
  .inner_wrap,
  .inner_1600,
  .inner_1200,
  .inner_1000 {
    margin: 0 auto;
    width: auto;
    max-width: initial;
  }

  
  .wysiwyg {
    margin: 0 3.623vw;
  }
  .wysiwyg p {
    font-size: 3.623vw;
    line-height: 1.8;
  }
  .wysiwyg p + p {
    margin-top: 7.246vw;
  }
  
  .wysiwyg h3 {
    display: block;
    margin-bottom: 6.039vw;
    padding: 2.899vw 3.261vw;
    font-size: 5.314vw;
    line-height: 1.4;
  }
  .wysiwyg h3::before {
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
    z-index: -1;
  }
  
  .wysiwyg h4 {
    margin-bottom: 7.488vw;
    padding-bottom: 2.657vw;
    font-size: 4.589vw;
    line-height: 1.31;
    background-image: url(../../images/src/news/sp/h4_border.svg);
  }
  .wysiwyg h4::first-letter {
    font-size: 5.314vw;
  }
  .wysiwyg h5 {
    margin-bottom: 4.831vw;
    padding: 0 5.314vw;
    font-size: 3.865vw;
    line-height: 1.3;
  }
  .wysiwyg h5::first-letter {
    font-size: 4.831vw;
  }
  .wysiwyg h5::before,
  .wysiwyg h5::after {
    width: 4.589vw;
    clip-path: polygon(80% 0%, 100% 0%, 20% 100%, 0% 100%);
  }
  .wysiwyg li {
    padding: 2.415vw 3.623vw 2.899vw;
    font-size: 3.623vw;
    line-height: 1.53;
  }
  .wysiwyg li + li {
    margin-top: 1.691vw;
  }
  
  .wysiwyg ol li {
    padding-left: 15.217vw;
  }
  .wysiwyg ol li::before {
    left: 2.415vw;
    width: 11.111vw;
    height: 5.556vw;
    padding-top: 0.5vw;
    font-size: 4.106vw;
    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  }
  .wysiwyg ul li {
    padding-left: 10.386vw;
  }
  .wysiwyg ul li::before {
    left: 3.623vw;
    width: 3.623vw;
    height: 2.657vw;
  }
  .wysiwyg table tr {
    border-top: 1px solid rgba(181, 181, 181, 1);
    border-bottom: 1px solid rgba(181, 181, 181, 1);
  }
  .wysiwyg table td {
    display: block;
    width: 100% !important;
    padding: 0 3.623vw 4.831vw;
    font-size: 3.623vw;
  }
  .wysiwyg table tr td:first-of-type {
    padding: 4.831vw 3.623vw 1.691vw;
    width: 100% ;
    font-weight: 700;
  }
  .wysiwyg table tr td:first-of-type:after {
    display: none;
  }
  .wysiwyg .btn {
    display: flex;
    justify-content: center;
    gap: 4.831vw;
  }
  .wysiwyg .btn a {
    padding: 4.469vw 0 5.193vw 17.874vw;
    font-size: 4.348vw;
    clip-path: polygon(8% 0, 100% 0%, 92% 100%, 0% 100%);
  }
  .wysiwyg .btn a[target="_blank"],
  .wysiwyg .btn a [href$=".pdf"] {
    padding-left: 0;
    width: 76.087vw;
  }
  .wysiwyg .btn a[target="_blank"]::after {
    width: 3.865vw;
    height: 3.865vw;
  }
  
  .wysiwyg .btn a[target="_blank"][href$=".pdf"]::before {
    left: 12.077vw;
    width: 6.159vw;
    height: 6.401vw;
  }
  .wysiwyg .btn a[target="_blank"][href$=".pdf"]::after {
    width: 5.193vw;
    height: 2.415vw;
  }
  
  .error {
    font-size: 3.623vw;
  }  



}



/* pcのみのhoverアクションはここ */
@media (hover: hover) and (pointer: fine) {

}