@font-face {
  font-family: 'MidashiMincho';
  src: url('../fonts/MidashiMincho.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Italic';
  src: url('../fonts/Italic.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
h2,h3 {
  color: #9c6c4f;
}
h4 {
  font-size: 1.2rem;
  line-height: 1.5rem;
  margin-bottom: 20px;
}
p {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2rem;
}
section {
  width: 100vw;
  max-width: 100%;
  margin: 80px auto;
  overflow-y: hidden;
}
section.epBox,
section.epBoxtop,
section.epBoxend {
  background: url(../img/enokigaito/bg.jpg) no-repeat center / cover;
  margin: 0 auto;
  padding: 80px 0;
}
section.epBox {
  padding: 0;
}
ruby {
  display: inline-block;
  line-height: 1;
  white-space: nowrap; /* Ã¨â€¡ÂªÃ¥â€¹â€¢Ã¦â€Â¹Ã¨Â¡Å’Ã©ËœÂ²Ã¦Â­Â¢ */
}
rb, rt {
  display: block;
  text-align: center;
}
rt {
  font-size: 0.5em;
  line-height: 1;
}
.home {
  width: 100vw;
  max-width: 100%;
  margin: 0 auto;
}
.hero {
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
  color: #fff;
}
.hero-inner,
.hero-img-outer {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-img-outer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom right;
}
.hero-txt {
  font-family: 'MidashiMincho';
  position: absolute;
  writing-mode: vertical-rl;
  color: #231f20;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateY(20px); /* ← 追加 */
  letter-spacing: 0.3rem;
  text-wrap: nowrap;
  opacity: 0;
  animation: fadeUp 1.2s ease-out 1s forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(0);
  }
}
.hero-txt h1 {
  font-size: 5rem;
  position: relative;
  text-shadow: 0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff;
  line-height: 1.5;
}
.hero-txt h1:before {
  content: "";
  width: 1px;
  height: 80px;
  position: absolute;
  top: -100px;
  z-index: 2;
  background: #231f20;
  left: 50%;
  transform: translatex(-50%);
  box-shadow: 0 0 1px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;
}
.hero-txt h2 {
  position: relative;
  top: -20px;
  font-size: 4rem;
  color: #231f20;
  text-shadow: 0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff;
  line-height: 1;
}
.ep_box {
  width: 410px;
  margin: 10px auto;
  max-width: 100%;
  text-align: center;
  padding: 10px 25px 30px;
  background: #ffffffe6;
  box-shadow: 2px 2px 3px 0 #00000030;
  border-radius: 8px;
  transition: top 0.4s ease, opacity 0.4s ease;
  position: relative;
  top: 0;  /* Ã¥Ë†ÂÃ¦Å“Å¸Ã¤Â½ÂÃ§Â½Â® */
  opacity: 1; /* Ã¥Ë†ÂÃ¦Å“Å¸Ã¨Â¡Â¨Ã§Â¤Âº */
  z-index: 3;
}

/* Ã¥â€ºÂºÃ¥Â®Å¡Ã§Å Â¶Ã¦â€¦â€¹ */
.ep_box.fixed {
  position: fixed;
  bottom: 0;
  top: auto; /* topÃ£â€šâ€™Ã¨Â§Â£Ã©â„¢Â¤ */
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  max-width: 90%;
}
.ep_box.fixed h3 {
  position: relative;
}
.ep_box.fixed h3:after {
  position: absolute;
  content: "\f0dd";
  font-family: "FontAwesome";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 100;
  font-size: 14px;
  font-style: normal;
}
.ep_box.fixed.collapsed {
  padding: 0 25px;
}
.ep_box.fixed.collapsed h3 {
  margin: 0 auto;
}
.ep_box.fixed.collapsed h3:after {
  position: absolute;
  content: "\f0de";
  font-family: "FontAwesome";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 100;
  font-size: 14px;
  font-style: normal;
}
/* Ã¦Å ËœÃ£â€šÅ Ã£ÂÅ¸Ã£ÂÅ¸Ã£ÂÂ¿Ã¦â„¢â€š */
.ep_box.fixed.collapsed ul {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}

/* Ã¥Â±â€¢Ã©â€“â€¹Ã¦â„¢â€š */
.ep_box.fixed ul {
  max-height: 1000px;
  opacity: 1;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}

/* Ã¤Â¸Å Ã¤Â¸â€¹Ã£Æ’â€¢Ã£â€šÂ§Ã£Æ’Â¼Ã£Æ’â€°Ã£â€šÂ¢Ã£Æ’â€¹Ã£Æ’Â¡Ã£Æ’Â¼Ã£â€šÂ·Ã£Æ’Â§Ã£Æ’Â³ */
@keyframes slideDown {
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

.ep_box h3 {
  margin: 0 auto 15px;
  font-size: 1.4rem;
  font-family: 'MidashiMincho';
  font-style: italic;
}

.ep_box li {
  list-style: none;
  margin-bottom: 10px;
  border-bottom: 1px solid;
  position: relative;
}
.ep_box li:after {
  position: absolute;
  content: "\f078";
  font-family: "FontAwesome";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 100;
  font-size: 14px;
  line-height: 1.6rem;
}
.ep_box a {
  text-decoration: none;
  font-size: 15px;
  display: block;
  position: relative;
  z-index: 2;
  line-height: 1.6rem;
}
.ep {
  position: relative;
}
.ep .bg {
  position: absolute;
  width: 100%;
  z-index: -1;
}
.ep .bg img {
  width: 100%;
  height: 30px;
  object-fit: cover;
}
.ep h2 {
  font-family: 'MidashiMincho';
  border-bottom: 1px solid;
  font-size: 1.8rem;
  text-shadow: 0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff;
  margin-bottom: 10px;
}
.ep h2 span {
  font-size: 4rem;
  padding-right: 15px;
  font-family: 'Italic';
  color: #d1b9a7;
}
.ep h2 span.en {
  font-family: 'MidashiMincho';
  font-size: 3rem;
  font-style: italic;
}
.ep h3,
.ep h3 ruby rb {
  font-family: 'MidashiMincho';
  position: relative;
  z-index: 2;
  display: inline-block;
  text-decoration: underline;
  text-decoration-thickness: 11px;
  text-decoration-color: #f7ea97;
  text-underline-offset: -5px;
}
.ep h3 {
  /* margin-top: 10px; */
}
/* .ep h3:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 22px;
  background: #f7ea97;
  bottom: 0;
  left: 0;
  z-index: -1;
} */
.image-float-right {
  float: right;
  width: 50%;
  max-width: 400px;
  border-radius: 8px;
  margin: 0 0 15px 15px;
}
.image-float-left {
  float: left;
  width: 50%;
  max-width: 400px;
  border-radius: 8px;
  margin: 15px 15px 0 0;
}
.text-wrapper {
  margin: 20px auto;
}
.text-wrapper::after {
  content: "";
  display: block;
  clear: both;
}
.text-area {
  margin: 20px auto;
}
.img-area {
  margin: 20px auto;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
}
.img-area.flex {
  flex-direction: row;
}
.img-area img {
  width: 100%;
}
#ep_c .img-area img {
  max-height: 455px;
  object-fit: cover;
  object-position: bottom;
}
.img-area.flex img {
  width: 50%;
}
.flex-area {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin: 20px auto;
}
.flex-area.single {
  justify-content: flex-start;
  align-items: flex-end;
}
#ep_03 .flex-area {
 align-items: flex-start;
}
.flex-area.rev {
  flex-direction: row-reverse;
}
.flex-area .img-flex {
  width: 40%;
}
.flex-area .txt-flex {
  width: 60%;
}
.flex-area .img-flex img {
  width: 100%;
}
.cnt-flex {
  width: 50%;
}
.flex-area.cnt6 .flex-area {
  display: flex;
  width: 66%;
  gap: 20px;
  border: 5px solid #ce9460;
  position: relative;
}
.flex-area.cnt6 .cnt3-flex h4 {
  color: #ce9460;
}
.flex-area.cnt3 .flex-area {
  display: flex;
  width: 100%;
  gap: 20px;
  border: 5px solid #cb5745;
  position: relative;
}
.text-area.red h4 {
  color: #cb5745;
}
.flex-area.single .flex-area {
  display: flex;
  width: 33%;
  gap: 20px;
  border: 5px solid #6d92bd;
  position: relative;
  margin: 0;
}
.flex-area.single h4 {
  color: #6d92bd;
}
.flex-area.cnt3.g .flex-area {
  border: 5px solid #38887a;
}
.text-area.green h4 {
  color: #38887a;
}
.cnt3-flex {
  width: 33%;
}
.cnt3-flex img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 105%;
  height: 105%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
.single .cnt-flex {
  width: 33%;
}
.single .cnt-flex img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 105%;
  height: 105%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
.flex-area.single .flex-area .cnt-flex {
  width: 50%;
  position: relative;
  aspect-ratio: 1.2 / 1;
  overflow: hidden;
}
.flex-area.cnt3 .flex-area .cnt3-flex {
  width: 50%;
  position: relative;
  aspect-ratio: 1.2 / 1;
  overflow: hidden;
}
.flex-area.cnt6 .flex-area::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 51%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 40px solid #ce9460; /* ▶ の色 */
  z-index: 2;
}
.flex-area.cnt3 .flex-area::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 34%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 40px solid #cb5745; /* ▶ の色 */
  z-index: 2;
}
.flex-area.cnt3.g .flex-area::before {
  border-left: 40px solid #38887a;
}
.flex-area.cnt3 .flex-area::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 68%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 40px solid #cb5745; /* ▶ の色 */
  z-index: 2;
}
.flex-area.cnt3.g .flex-area::after {
  border-left: 40px solid #38887a;
}
.flex-area.cnt6 .flex-area .cnt-flex {
  width: 50%;
  position: relative;
  aspect-ratio: 1.2 / 1;
  overflow: hidden;
}
.flex-area.single .flex-area .cnt-flex {
  width: 100%;
  position: relative;
  aspect-ratio: 1.2 / 1;
  overflow: hidden;
}
.cnt-flex img {
  width: 100%;
  margin-bottom: 20px;
}
.flex-area.cnt6 .flex-area .cnt-flex img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 105%;
  height: 105%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
.point-area {
  display: flex;
  gap: 20px;
  background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
    url(../img/enokigaito/bg-01.jpg) no-repeat center / cover;
  background-blend-mode: lighten;
  padding: 30px;
  margin: 50px auto;
}
.point-area h3 {
  color: #007f6f;
  padding: 5px 15px;
  background: #fff;
  border: 3px solid#758c86;
  position: absolute;
  top: -50px;
  text-decoration: none;
}
.point-area h3:before {
  content: "";
  width: 15px;
  height: 55px;
  background: #758c86;
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.point-area h3:after {
  content: "";
  width: 11px;
  height: 60px;
  background: #dec283;
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
}
.point-area li {
  color: #333;
  list-style: none;
  margin: 10px auto;
  font-family: 'MidashiMincho';
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 15px;
}
.point-area li span {
  color: #758c86;
  font-weight: bold;
  width: 100%;
  max-width: 30px;
}
.point-area li span img {
  width: 100%;
}
.point-area .img-point {
  width: 50%;
  position: relative;
}
.point-area .txt-point {
  width: 50%;
  position: relative;
  z-index: 1;
  padding: 10px 0;
}
.point-area .txt-point.single {
  font-family: 'MidashiMincho';
  width: 100%;
}
.point-area .txt-point.single img.ink {
  max-width: 150px;
  position: absolute;
  rotate: 70deg;
  right: -30px;
  top: -100px;
}
.point-area .txt-point.single p {
  margin: 10px auto;
  color: #333;
}
.point-area .txt-point.single p span {
  font-size: 1.2rem;
}
.point-area .img-point img {
  width: 130%;
  height: 130%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#ep_c,
#ep_c2 {
  background: url(../img/enokigaito/bg-02.jpg) no-repeat center / cover;
  width: 100vw;
  max-width: 100%;
  padding: 30px 0;
}
#ep_e {
  background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
    url(../img/enokigaito/bg-01.jpg) no-repeat center / cover;
  background-blend-mode: lighten;
  width: 100vw;
  max-width: 100%;
  overflow: hidden;
}
.inner {
  width: 90%;
  max-width: 1000px;
  margin: auto;
  padding: 0;
}
.small {
  text-align: right;
  font-size: 14px;
}
#ep_c h2,
#ep_c2 h2 {
  border-bottom: none;
}
#ep_c h2 span.en,
#ep_c2 h2 span.en {
  font-size: 3rem;
}
#ep_e h2 {
  border-bottom: none;
  position: relative;
  /* top: -50px; */
}
#ep_c h3,
#ep_c h3 ruby rb,
#ep_c2 h3,
#ep_c2 h3 ruby rb,
#ep_e h3 {
  text-decoration: none;
  font-size: 2rem;
}
#ep_e h3 {
  display: block;
  text-align: center;
  position: relative;
  left: 40%;
  transform: translateX(-50%);
}    
#ep_e h3.right {
  display: block;
  text-align: center;
  left: 52%;
  transform: translateX(-50%);
}
#ep_e p {
  font-family: 'MidashiMincho';
}
#ep_e .inner {
  position: relative;
}
#ep_e .text-wrapper {
  border-top: 1px solid #a08468;
  padding-top: 50px;
  position: relative;
}
#ep_e .img-area {
  position: relative;
}
#ep_e .img-area img {
  position: relative;
  z-index: -2;
}
#ep_e .img1 {
  position: absolute;
  top: 10px;
  left: -85px;
  width: 300px;
  z-index: -2;
}
#ep_e .img2 {
  position: absolute;
  width: 500px;
  z-index: -2;
  top: 50%;
  transform: translateX(-50%);
  left: -30px;
  mix-blend-mode: multiply; 
}
#ep_e .img3 {
  position: absolute;
  width: 400px;
  z-index: -2;
  right: -100px;
  top: 10%;
  mix-blend-mode: multiply;
}
#ep_e .img4 {
  position: absolute;
  width: 300px;
  z-index: -2;
  left: -50px;
  bottom: -129px;
}
#ep_e .img5 {
  position: absolute;
  width: 400px;
  z-index: -2;
  right: -140px;
  top: -20px;
}

#ep_e .img1 img,
#ep_e .img2 img,
#ep_e .img3 img,
#ep_e .img4 img,
#ep_e .img5 img {
  width: 100%;
}
#ep_c h4,
#ep_c2 h4 {
  color: #9c6c4f;
  font-family: 'MidashiMincho';
  font-size: 1.6rem;
}
#ep_c .text-wrapper p span,
#ep_c2 .text-wrapper p span {
  font-family: 'MidashiMincho';
  border-bottom: 1px dashed #9c6c4f;
  padding-bottom: 10px;
  line-height: 2.5rem;
}
.grid-area {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, 1fr);
  margin: 20px auto;
}
.grid-area .cnt-grid {
  display: flex;
  align-items: center;
  gap: 10px;
}
.grid-area .cnt-grid span {
  background: #99d4c0;
  padding: 2px 10px;
  min-width: 70px;
  display: inline-block;
  text-align: center;
  border-radius: 50px;
  color: #333;
}
.grid-area .cnt-grid:nth-child(5) {
  grid-column: 1 / -1;
}
.title_box {
  display: flex;
  justify-content: space-between;
}
.title_box p {
  display: flex;
  gap: 10px;
  align-content: center;
}
.title_box p span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.title_box p span:nth-child(2)::before {
  content: "";
  width: 15px;
  height: 15px;
  background: #fff100;
  border-radius: 50%;
}
.title_box p span:nth-child(3)::before {
  content: "";
  width: 15px;
  height: 15px;
  background: #ed008c;
  border-radius: 50%;
}
.title_box p span:nth-child(4)::before {
  content: "";
  width: 15px;
  height: 15px;
  background: #4db848;
  border-radius: 50%;
}
.table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOS慣性スクロール対応 */
  margin: 10px auto 50px;
}
.job-table {
  width: 100%;
  min-width: 700px; /* ← テーブルの最低幅を設定してスワイプ発生 */
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid #999;
}
.job-table th,
.job-table td {
  border: 1px solid #999;
  padding: 6px 10px;
  vertical-align: middle;
}
.job-table td {
  border-right: 1px dotted #999;
  border-left: 1px dotted #999;
}
.job-table th {
  background-color: #ebd3c2;
  text-align: center;
  font-weight: bold;
}
.job-table td {
  background-color: #fff;
}
.job-table .category {
  text-align: center;
  font-weight: bold;
  background-color: #fff;
  white-space: nowrap;
}
.job-table td:nth-child(2) {
  white-space: nowrap;
}
.job-table td:nth-child(3) {
  line-height: 1.6;
}
.job-table td:last-child {
  text-align: center;
  white-space: nowrap;
  width: 60px;
}
.job-table tr:hover td {
  background-color: #fff;
}
.swipe {
  position: relative;
  display: inline-block;
  font-size: 14px;
  padding-right: 30px;
  margin: 10px 0;
}
.swipe::after {
  font-family: "FontAwesome";
  content: "\f061";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  animation: swipeArrow 2s ease-in-out infinite;
  opacity: 0.2;
}

@keyframes swipeArrow {
  0% {
    transform: translate(0, -50%);
    opacity: 0.8;
  }
  50% {
    transform: translate(8px, -50%);
    opacity: 0.3;
  }
  100% {
    transform: translate(0, -50%);
    opacity: 0.8;
  }
}
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
#ep_09,
#ep_02 {
  overflow: hidden;
}
section.fade-in {
  scroll-margin-top: 30px;
}
section.fade-in.visible {
  scroll-margin: 0;
}

.ifPc {
  display: block;
}
.ifSp {
  display: none;
}

@media (max-width: 768px) {
  .hero {
    margin-top: 100px;
  }
  .hero-txt h1 {
    font-size: 3.5rem;
  }
  .hero-txt h2 {
    font-size: 2.5rem;
    top: -50px;
  }
  .ep_box a {
    font-size: 13px;
  }
  .ep h3 {
    font-size: 1.2rem;
  }
  .ep {
    scroll-margin-top: 100px; 
  }
  .ep h2 {
    font-size: 1.4rem;
  }
  .ep h2 span {
    font-size: 3rem;
  }
  .point-area,
  .flex-area,
  .flex-area.rev {
    flex-direction: column-reverse;
  }
  .point-area {
    padding: 10px;
  }
  .point-area li,
  .point-area .txt-point.single p {
    font-size: 14px;
  }
  .point-area .img-point,
  .point-area .txt-point,
  .flex-area .img-flex,
  .flex-area .txt-flex,
  .flex-area .cnt-flex{
    width: 100%;
  }
  .point-area .img-point img {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translate(0, 0);
    top: -30px;
    transform: translate(-50%, 0);
  }
  .grid-area {
    grid-template-columns: repeat(1, 1fr);
  }
  .title_box,
  .title_box p {
    flex-direction: column;
  }
  .cnt3-flex {
    width: 100%;
  }
  .flex-area.cnt6 .flex-area {
    width: 100%;
  }
  .flex-area.cnt6 .flex-area .cnt-flex,
  .flex-area.cnt3 .flex-area .cnt3-flex,
  .flex-area.single .flex-area {
    width: 100%;
  }
  .flex-area.cnt6 .flex-area::before {
    border-top: 40px solid #ce9460;
    border-bottom: none;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
  }
  .flex-area.cnt3 .flex-area::before {
    top: 34%;
    left: 50%;
    border-top: 40px solid #d35849;
    border-bottom: none;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
  }
  .flex-area.cnt3 .flex-area::after {
    top: 68%;
    left: 50%;
    border-top: 40px solid #d35849;
    border-bottom: none;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
  }
  .flex-area.cnt3.g .flex-area::before {
    top: 34%;
    left: 50%;
    border-top: 40px solid #23887a;
    border-bottom: none;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
  }
  .flex-area.cnt3.g .flex-area::after {
    top: 68%;
    left: 50%;
    border-top: 40px solid #23887a;
    border-bottom: none;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
  }
  .flex-area.cnt6,
  .flex-area.single {
    flex-direction: column;
  }
  .table-wrapper {
    border: 1px solid #ddd;
    border-radius: 4px;
  }
  .job-table {
    min-width: 800px; /* スワイプできる幅を確保 */
  }
  .point-area .txt-point.single img.ink {
    max-width: 100px;
    top: -80px;
    right: 0;
    rotate: 87deg;
  }
  #ep_c h3,
  #ep_c h3 ruby rb,
  #ep_c2 h3,
  #ep_c2 h3 ruby rb,
  #ep_e h3 {
    font-size: 1.5rem;
  }
  #ep_e .img4 {
    width: 200px;
    bottom: -170px;
    left: -90px;
  }
  #ep_e .img5 {
    width: 250px;
    right: -103px;
  }
  .ep h2 span.en {
    font-size: 2.5rem;
  }
  #ep_07 .img-area {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

   #ep_07 .img-area img {
     min-width: 1000px;
   }
  section.fade-in {
    scroll-margin-top: 130px;
  }
  section.fade-in.visible {
    scroll-margin: 100px;
  }

  .ifPc {
    display: none;
  }
  .ifSp {
    display: block;
  }
}