@charset "utf-8";

@font-face {
  font-family: "bahnschrift";
  src: url("../fonts/bahnschrift.ttf") format("ttf"),
       url("../fonts/bahnschrift.woff") format("woff");
}

:root {
  --vw: 1vw;
}

html{
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

body{
  font-size: 10px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  line-height: calc(36 / 26);
  color: #383838;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body.js-hidden{
  overflow: hidden;
}

body::-webkit-scrollbar{
  display: none;
}

main{
  position: relative;
}

ul,
ol,
li{
  margin: 0;
  padding: 0;
  list-style: none;
}

a{
  display: block;
  text-decoration: none;
}

img{
  width: 100%;
  height: auto;
}

section{
  position: relative;
}

.l_container{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  /* border: solid 1px red; */
}

.container{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(18px, calc(35 / 1024 * calc(var(--vw) * 100)), 35px);
  /* border: solid 1px blue; */
}

.s_container{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px);
  /* border: solid 1px blue; */
}

@media screen and (max-width: 767px){
  .sp_only{
    display: block!important;
  }
  .pc_only{
    display: none!important;
  }
}

@media screen and (min-width: 768px){
  .sp_only{
    display: none!important;
  }
  .pc_only{
    display: block!important;
  }
}


/* ==============================
共通
============================== */
.entry_btn{
  position: relative;
  z-index: 2;
  overflow: clip;
  background: #f5de1e;
  width: 100%;
  height: clamp(60px, calc(120 / 1024 * calc(var(--vw) * 100)), 120px);
}

.entry_btn a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.entry_btn a::after{
  position: absolute;
  z-index: 1;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  /* background: radial-gradient(circle, #fff 10%, transparent 10%) no-repeat 50%; */
  background: #fff;
  transform: scale(1, 1);
  opacity: 0;
  transition: transform 0.3s, opacity 1s;
}

.entry_btn a:active::after{
  transform: scale(0, 0);
  transition: 0s;
  opacity: 0.5;
}

.entry_btn a img{
  width: clamp(94px, calc(188 / 1024 * calc(var(--vw) * 100)), 188px);
  margin: 0 auto;
}

.ttl{
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  margin: 0 auto;
}


/* ==============================
フォント
============================== */
.bahnschrift{
  font-family: "bahnschrift";
  font-weight: 400;
  font-style: normal;
}


/* ==============================
アニメーション
============================== */
.js-updown{
  opacity: 0;
  transform: translate3d(0,-20px,0);
}

.js-updown.active{
  animation: updown 1.2s cubic-bezier(0.33, 1, 0.68, 1) .2s forwards;
}

.js-fadedown{
  opacity: 0;
  transform: translate3d(0,-30px,0);
  transition: opacity 1.5s cubic-bezier(0.33, 1, 0.68, 1) .2s, transform 1.5s cubic-bezier(0.33, 1, 0.68, 1) .2s;
}

.js-fadedown.active{
  opacity: 1;
  transform: translate3d(0,0,0);
}

.js-fadeup{
  opacity: 0;
  transform: translate3d(0,30px,0);
  /* transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1) 3.45s, transform 1s cubic-bezier(0.33, 1, 0.68, 1) 3.45s; */
}
/* 
.js-fadeup.active{
  opacity: 1;
  transform: translate3d(0,0,0);
} */

.js-fadeup.is-active{
  opacity: 1;
  transform: translate3d(0,0,0);
  transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1) 1.4s, transform 1s cubic-bezier(0.33, 1, 0.68, 1) 1.4s;
}

@media screen and (min-width: 700px){
  .js-fadeup.is-active{
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1) 1.8s, transform 1s cubic-bezier(0.33, 1, 0.68, 1) 1.8s;
  }
  /* .js-fadeup{
    transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1) .3s, transform 1s cubic-bezier(0.33, 1, 0.68, 1) .3s;
  } */
}

@keyframes updown{
  0%{
    opacity: 0;
    transform: translate3d(0,30px,0);
  }
  50%{
    opacity: .5;
    transform: translate3d(0,-20px,0);
  }
  100%{
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

.star{
  transform: translate3d(0,30px,0) scale(0);
}

.star.active{
  animation-name: kirakira;
  animation-duration: 3.8s;
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-iteration-count: infinite;
}

.star.s1.active,
.star.s2.active,
.star.s5.active,
.star.s9.active{ animation-delay: .3s; }
.star.s3.active,
.star.s6.active{ animation-delay: .8s; }
.star.s4.active,
.star.s7.active{ animation-delay: 1s; }

.loading_in .star.active{
  animation-name: kirakira2;
  animation-duration: 3.8s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}


@keyframes kirakira{
  0%{
    transform: scale(.5);
  }
  25%{
    transform: scale(1.1);
  }
  50%{
    transform: scale(.5);
  }
  75%{
    transform: scale(1.1);
  }
  100%{
    transform: scale(.5);
  }
}

@keyframes kirakira2{
  0%{
    opacity: 0;
    transform: scale(.5);
    transition: .2s;
  }
  25%{
    opacity: 1;
    transform: scale(1.1);
    transition: .2s;
  }
  50%{
    opacity: 1;
    transform: scale(.5);
    transition: .2s;
  }
  75%{
    opacity: 1;
    transform: scale(1.1);
    transition: .2s;
  }
  100%{
    opacity: 1;
    transform: scale(.5);
    transition: .2s;
  }
}


/* ==============================
フローティングボタン
============================== */
.floating_btn{
  position: fixed;
  z-index: 100;
  bottom: clamp(5px, calc(10 / 1024 * calc(var(--vw) * 100)), 10px);
  right: clamp(5px, calc(10 / 1024 * calc(var(--vw) * 100)), 10px);
  width: clamp(78px, calc(156 / 1024 * calc(var(--vw) * 100)), 156px);
  opacity: 0;
  visibility: hidden;
  transition: .3s ease-in-out;
}

.floating_btn.is-active{
  opacity: 1;
  visibility: visible;
  animation: bounce02 2.4s cubic-bezier(.215,.61,.355,1) infinite;
}

.floating_btn a{
  position: relative;
}

@media screen and (max-width: 1023px){
  .circle {
    display: none;
  }
}

@media screen and (min-width: 1024px){
  .circle {
    position: absolute;
    z-index: 2;
    content: '';
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(-90deg);
    opacity: 0;
  }

  .circle circle {
    fill: transparent;
    stroke: #fff;
    stroke-width: 2;
  }
  .floating_btn a:hover .circle{
    opacity: 1;
  }

  .floating_btn a:hover .circle circle{
    animation: circle 2s infinite;
  }

  @keyframes circle {
  0% { stroke-dasharray: 0 500; }
  99.9%,to { stroke-dasharray: 500 500; }
  }
}


/* ==============================
ローディング
============================== */
.loading{
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100dvh; */
  height: 100vh;
}

.loading_in{
  position: relative;
  width: 100%;
  height: 100%;
}

.loading_in::before{
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background-color: rgb(76,184,213); */
  background: linear-gradient(180deg, rgba(76,184,213,1) 0%, rgba(23,178,164,1) 50%, rgba(76,184,213,1) 100%) fixed;
  background-size: 300% 300%;
  animation: grd_anime 2s ease infinite;
}

@keyframes grd_anime{
  0%{
    background-position: 50% 0%;
  }
  50%{
    background-position: 0% 100%;
  }
  100%{
    background-position: 50% 0%;
  }
}


.loading_in .txt_wrap{
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.loading_in .txt_wrap .txt01{
  width: clamp(254px, calc(508 / 1024 * calc(var(--vw) * 100)), 508px);
  margin: 0 auto;
}

.loading_in .txt_wrap .txt02{
  width: clamp(269px, calc(537 / 1024 * calc(var(--vw) * 100)), 537px);
  margin: clamp(13px, calc(26 / 1024 * calc(var(--vw) * 100)), 26px) auto 0;
}

.loading_in .triangle::before,
.loading_in .triangle::after{
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  height: clamp(76px, calc(152 / 1024 * calc(var(--vw) * 100)), 152px);
  background: rgba(0,0,0,.075);
}

.loading_in .triangle::before{
  height: clamp(70px, calc(140 / 1024 * calc(var(--vw) * 100)), 140px);
}
.loading_in .triangle::after{
  height: clamp(100px, calc(200 / 1024 * calc(var(--vw) * 100)), 200px);
}

.loading_in .triangle.top::before,
.loading_in .triangle.top::after{
  top: 0;
}

.loading_in .triangle.bottom::before,
.loading_in .triangle.bottom::after{
  bottom: 0;
}

.loading_in .triangle.top::before{
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.loading_in .triangle.top::after{
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.loading_in .triangle.bottom::before{
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.loading_in .triangle.bottom::after{
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.loading_in .star_area{
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100dvh; */
  height: 100vh;
}

.loading_in .star_wrap{
  position: relative;
  width: 100%;
  /* height: 100dvh; */
  min-height: 600px;
  height: 100vh;
}

.loading_in .star{
  position: absolute;
  z-index: 2;
}

.star.s1{
  width: clamp(82px, calc(164 / 1024 * calc(var(--vw) * 100)), 164px);
}
.star.s2{
  width: clamp(57px, calc(114 / 1024 * calc(var(--vw) * 100)), 114px);
}
.star.s3{
  width: clamp(38px, calc(76 / 1024 * calc(var(--vw) * 100)), 76px);
}
.star.s4{
  width: clamp(57px, calc(114 / 1024 * calc(var(--vw) * 100)), 114px);
}
.star.s5{
  width: clamp(82px, calc(164 / 1024 * calc(var(--vw) * 100)), 164px);
}
.star.s6{
  width: clamp(109px, calc(218 / 1024 * calc(var(--vw) * 100)), 218px);
}
.star.s7{
  width: clamp(38px, calc(76 / 1024 * calc(var(--vw) * 100)), 76px);
}
.star.s8{
  width: clamp(57px, calc(114 / 1024 * calc(var(--vw) * 100)), 114px);
}
.star.s9{
  width: clamp(71px, calc(142 / 1024 * calc(var(--vw) * 100)), 142px);
}

.loading_in .star.s1{
  top: calc(clamp(18px, calc(36 / 1024 * calc(var(--vw) * 100)), 36px) * -1);
  left: clamp(54px, calc(122 / 1024 * calc(var(--vw) * 100)), 122px);
}
.loading_in .star.s2{
  top: calc(clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px) * -1);
  right: calc(clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px) * -1);
}
.loading_in .star.s3{
  top: clamp(9px, calc(18 / 1024 * calc(var(--vw) * 100)), 18px);
  right: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}
.loading_in .star.s4{
  top: calc(50% + clamp(30px, calc(60 / 1024 * calc(var(--vw) * 100)), 60px));
  left: clamp(6px, calc(12 / 1024 * calc(var(--vw) * 100)), 12px);
}
.loading_in .star.s5{
  top: calc(50% + clamp(2px, calc(4 / 1024 * calc(var(--vw) * 100)), 4px));
  left: clamp(14px, calc(28 / 1024 * calc(var(--vw) * 100)), 28px);
}
.loading_in .star.s6{
  top: calc(50% + clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px));
  right: calc(clamp(18px, calc(28 / 1024 * calc(var(--vw) * 100)), 28%) * -1);
}
.loading_in .star.s7{
  bottom: clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
  left: clamp(8px, calc(15 / 1024 * calc(var(--vw) * 100)), 15px);
}
.loading_in .star.s8{
  bottom: clamp(6px, calc(13 / 1024 * calc(var(--vw) * 100)), 13px);
  left: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}
.loading_in .star.s9{
  bottom: clamp(1px, calc(3 / 1024 * calc(var(--vw) * 100)), 3px);
  right: clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
}

.curtain{
  position: relative;
  width: 100%;
  height: 100%;
  animation: curtain_anime 1.5s ease-in-out 2s forwards;
}

/* @keyframes curtain_anime{
  0%{
    opacity: 1;
  }
  80%{
    opacity: 1;
    transform: rotateZ(40deg) scale(1.5);
  }
  90%{
    opacity: 0.6;
    transform: rotateZ(-20deg) scale(2);
  }
  100%{
    opacity: 0;
    transform: rotateZ(90deg) scale(1.5);
  }
} */
@keyframes curtain_anime{
  0%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}


/* ==============================
MV
============================== */
.mv_area{
  position: relative;
  background: rgb(76,184,213);
  /* background: linear-gradient(0deg, rgba(76,184,213,1) 0%, rgba(23,178,164,1) 50%, rgba(76,184,213,1) 100%); */
  background: linear-gradient(180deg, rgba(76,184,213,1) 0%, rgba(23,178,164,1) 100%);
  overflow-x: clip;
}

.mv_area_in,
.mv_area .item01,
.mv_area .obi_wrap,
.mv_area .item02,
.mv_area .item03{
  position: relative;
  z-index: 2;
}

.mv_area_in{
  padding-top: clamp(23px, calc(46 / 1024 * calc(var(--vw) * 100)), 46px);
}

.mv_area_in .mv_img_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 calc(clamp(6px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) * -1);
}

.mv_area_in .mv_img_wrap + .mv_img_wrap{
  margin-top: calc(clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px) * -1);
}

.mv_area_in .mv_img_wrap li{
  width: 25.15%;
  transform: scale(0);
}

.mv_area_in .mv_img_wrap.is-active li{
  transform: scale(1);
  transition: .7s ease-in-out;
}

.mv_area_in .mv_img_wrap li:nth-of-type(even){
  margin-top: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
}

.mv_area_in .mv_img_wrap li:nth-of-type(1){
  width: 25.05%;
}
.mv_area_in .mv_img_wrap li:nth-of-type(4){
  width: calc((100% - (25.15% * 2) - 25.05%));
}

.mv_area_in .mv_img_wrap li + li{
  margin-left: calc(clamp(4px, calc(10 / 1024 * calc(var(--vw) * 100)), 10px) * -1);
}

.mv_area .item01{
  margin-top: clamp(19px, calc(38 / 1024 * calc(var(--vw) * 100)), 38px);
  padding-right: clamp(56px, calc(108 / 1024 * calc(var(--vw) * 100)), 108px);
}

.mv_area .item01 .txt01{
  transform: translateX(-200%);
}

.mv_area .item01 .txt01.is-active{
  transform: translateX(0);
  /* transition: transform .7s ease-in-out 4.4s; */
  /* transition: transform 1s ease-in-out 2.2s; */
  transition: transform .65s ease-in-out;
}

.mv_area .item01 .txt01 img{
  filter: invert(1);
}

.mv_area .item01 .txt01.is-active img{
  /* transition: filter 1.5s ease-in-out 5.4s; */
  /* transition: filter 1.5s ease-in-out 3.2s; */
  transition: filter 1.3s ease-in-out .4s;
  filter: invert(0);
}

.mv_area .obi_wrap{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
  padding: clamp(43px, calc(86 / 768 * calc(var(--vw) * 100)), 86px) 0 clamp(30px, calc(60 / 768 * calc(var(--vw) * 100)), 60px);
  margin-top: calc(clamp(43px, calc(86 / 768 * calc(var(--vw) * 100)), 86px) * -1);
}

.mv_area .obi_wrap .obi{
  position: relative;
  display: inline-block;
  width: fit-content;
  transform: rotate(-8deg) skewX(-25deg);
}

.mv_area .obi_wrap .obi.left{
  width: 90%;
}
.mv_area .obi_wrap .obi.right{
  margin-top: -6vw;
  margin-left: auto;
  width: 64%;
}

.mv_area .obi_wrap .obi::before,
.mv_area .obi_wrap .obi::after {
  position: absolute;
  content: '';
  top: 0;
  width: calc(100% + 32px);
  height: 100%;
  opacity: 0;
}

.mv_area .obi_wrap .obi.left::before {
  background: rgba(255,255,255,0);
  box-shadow: clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) calc(clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) * -1) 1px rgba(0,0,0,.06);
}

.mv_area .obi_wrap .obi.right::before {
  background: rgba(255,255,255,0);
  box-shadow: calc(clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) * -1) clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) 1px rgba(0,0,0,.06);
}

.mv_area .obi_wrap .obi::after{
  background: rgba(255,255,255,.7);
  box-shadow: 2px 2px 1px rgba(0,0,0,.22);
}

.mv_area .obi_wrap.is-active .obi.left::before,
.mv_area .obi_wrap.is-active .obi.left::after {
  animation: obi_anime 3s cubic-bezier(0.22, 1, 0.36, 1) .4s forwards;
}

.mv_area .obi_wrap.is-active .obi.right::before,
.mv_area .obi_wrap.is-active .obi.right::after {
  animation: obi_anime 3s cubic-bezier(0.22, 1, 0.36, 1) .7s forwards;
}

.mv_area .obi_wrap .obi.left::before,
.mv_area .obi_wrap .obi.left::after {
  transform-origin: left center;
  left: -32px;
}
.mv_area .obi_wrap .obi.right::before,
.mv_area .obi_wrap .obi.right::after {
  transform-origin: right center;
  right: -32px;
}

.mv_area .obi_wrap .obi .obi_txt{
  position: relative;
  z-index: 1;
  display: block;
  transform: rotate(8deg) skewX(25deg);
  opacity: 0;
}

.mv_area .obi_wrap.is-active .obi.left .obi_txt{
  animation: obi_txt_anime 6.5s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
}

.mv_area .obi_wrap.is-active .obi.right .obi_txt{
  animation: obi_txt_anime 6.5s cubic-bezier(0.22, 1, 0.36, 1) 1.6s forwards;
}

.mv_area .obi_wrap .obi.left .obi_txt{
  padding: 0 clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) 0 clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px);
}
.mv_area .obi_wrap .obi.right .obi_txt{
  padding: 8px clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px) 0 clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px);
}

.mv_area .obi_wrap .obi.left .obi_txt img{
  margin: -2px 0 0;
}
.mv_area .obi_wrap .obi.right .obi_txt img{
  margin: 0 0 -8px;
}

@keyframes obi_anime {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  60% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(1);
  }
  60%, 100% {
    opacity: 1;
  }
}

@keyframes obi_txt_anime {
  0% {
    opacity: 0;
  }
  60%,100% {
    opacity: 1;
  }
}

.mv_area .item02{
  margin-top: clamp(13px, calc(26 / 1024 * calc(var(--vw) * 100)), 26px);
}

.mv_area .item03{
  padding-bottom: clamp(31px, calc(62 / 1024 * calc(var(--vw) * 100)), 62px);
}

@media screen and (max-width: 500px) {
  .mv_area .obi_wrap .obi.right{
    margin-top: -7.5vw;
  }
}

@media screen and (min-width: 501px) and (max-width: 550px) {
  .mv_area .obi_wrap .obi.right{
    margin-top: -7vw;
  }
}

@media screen and (max-width: 1023px) {
  .mv_area_in,
  .mv_area .bg{
    overflow-x: clip;
  }
}

@media screen and (min-width: 1024px) {
  .mv_area .item01 .txt01{
    transform: translateX(-300%);
  }
  /* .mv_area .obi_wrap{
    overflow-x: clip;
  } */
  .mv_area .obi_wrap .obi.right{
    margin-top: -44px;
  }

  .mv_area .obi_wrap.is-active .obi.left .obi_txt{
    animation: obi_txt_anime 6.5s cubic-bezier(0.22, 1, 0.36, 1) 1.5s forwards;
  }
  
  .mv_area .obi_wrap.is-active .obi.right .obi_txt{
    animation: obi_txt_anime 6.5s cubic-bezier(0.22, 1, 0.36, 1) 2.1s forwards;
  }
  
}


.mv_area .triangle::before,
.mv_area .triangle::after{
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  height: clamp(76px, calc(152 / 1024 * calc(var(--vw) * 100)), 152px);
  background: rgba(0,0,0,.075);
}

.mv_area .triangle.top::before,
.mv_area .triangle.top::after{
  top: 0;
}

.mv_area .triangle.bottom::before,
.mv_area .triangle.bottom::after{
  bottom: 0;
}

.mv_area .triangle.top::before{
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.mv_area .triangle.top::after{
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.mv_area .triangle.bottom::before{
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.mv_area .triangle.bottom::after{
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.mv_area .star{
  position: absolute;
  z-index: 3;
}

.mv_area .star.s1{
  top: calc(clamp(18px, calc(36 / 1024 * calc(var(--vw) * 100)), 36px) * -1);
  left: clamp(54px, calc(122 / 1024 * calc(var(--vw) * 100)), 122px);
}

.mv_area .star.s2{
  top: calc(clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px) * -1);
  right: calc(clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px) * -1);
}

.mv_area .star.s3{
  top: clamp(9px, calc(18 / 1024 * calc(var(--vw) * 100)), 18px);
  right: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}

.mv_area .star.s4{
  top: calc(clamp(26px, calc(52 / 1024 * calc(var(--vw) * 100)), 52px) * -1);
  left: calc(clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px) * -1);
}

.mv_area .star.s5{
  top: calc(clamp(60px, calc(120 / 1024 * calc(var(--vw) * 100)), 120px) * -1);
  left: clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
}

.mv_area .star.s6{
  top: calc(clamp(13px, calc(26 / 1024 * calc(var(--vw) * 100)), 26px) * -1);
  right: calc(clamp(18px, calc(28 / 1024 * calc(var(--vw) * 100)), 28%) * -1);
}

.mv_area .star.s7{
  bottom: clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
  left: clamp(8px, calc(15 / 1024 * calc(var(--vw) * 100)), 15px);
}

.mv_area .star.s8{
  bottom: clamp(6px, calc(13 / 1024 * calc(var(--vw) * 100)), 13px);
  left: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}

.mv_area .star.s9{
  bottom: clamp(1px, calc(3 / 1024 * calc(var(--vw) * 100)), 3px);
  right: clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px);
}


/* ==============================
about AURA
============================== */
.about_area{
  position: relative;
  margin: clamp(30px, calc(60 / 1024 * calc(var(--vw) * 100)), 60px) 0 clamp(42px, calc(85 / 1024 * calc(var(--vw) * 100)), 85px);
}

.about_area_in .entry_btn{
  margin-top: clamp(40px, calc(80 / 1024 * calc(var(--vw) * 100)), 80px);
}


/* ==============================
サポート内容
============================== */
.support_area{
  margin: clamp(42px, calc(85 / 1024 * calc(var(--vw) * 100)), 85px) 0 clamp(40px, calc(80 / 1024 * calc(var(--vw) * 100)), 80px);
}

.support_area_container{
  position: relative;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.support_area .fig01{
  position: absolute;
  top: -13.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.support_area .bg02{
  margin-top: calc(clamp(32px, calc(64 / 1024 * calc(var(--vw) * 100)), 64px) * -1);
}

.support_area_in .ttl{
  margin-bottom: -2px;
}

.support_area_in .support_list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(28px, calc(56 / 1024 * calc(var(--vw) * 100)), 56px) clamp(20px, calc(40 / 1024 * calc(var(--vw) * 100)), 40px);
  padding: 0 clamp(18px, calc(35 / 1024 * calc(var(--vw) * 100)), 35px);
  background: url(../images/support_bg02@2x.jpg) center top / cover no-repeat;
}

.support_area_in .support_list li{
  position: relative;
  z-index: 2;
  cursor: pointer;
}

.support_area_in .support_list li::before{
  position: absolute;
  z-index: 3;
  content: '';
  top: calc(clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) * -1);
  left: calc(clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px) * -1);
  width: 30%;
  height: 30%;
  transition: transform .2s cubic-bezier(.89,.09,.83,.67);
}

.support_area_in .support_list li:first-of-type::before{
  background: url(../images/support01_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li:nth-of-type(2)::before{
  background: url(../images/support02_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li:nth-of-type(3)::before{
  background: url(../images/support03_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li:nth-of-type(4)::before{
  background: url(../images/support04_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li:nth-of-type(5)::before{
  background: url(../images/support05_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li:nth-of-type(6)::before{
  background: url(../images/support06_num.png) center center / contain no-repeat;
}

.support_area_in .support_list li::after{
  position: absolute;
  z-index: -1;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.support_area_in .support_list li .img{
  position: relative;
  z-index: 2;
  border: solid 1px #000;
  transition: transform .2s cubic-bezier(.89,.09,.83,.67);
}

.support_area_in .support_list li .txt_wrap{
  position: absolute;
  bottom: clamp(6px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px);
  left: 0;
  width: 100%;
  height: clamp(52px, calc(100 / 1024 * calc(var(--vw) * 100)), 100px);
}

.support_area_in .support_list li .txt_wrap .txt{
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.support_area_in .support_list li .txt_wrap .txt::before,
.support_area_in .support_list li .txt_wrap .txt::after{
  position: absolute;
  z-index: 2;
  content: '';
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  background: #8a8989;
  transition: transform .2s cubic-bezier(.89,.09,.83,.67);
}

.support_area_in .support_list li .txt_wrap .txt::before{
  top: calc(clamp(2px, calc(2.5 / 1024 * calc(var(--vw) * 100)), 2.5px) * -1);
}

.support_area_in .support_list li .txt_wrap .txt::after{
  bottom: calc(clamp(2px, calc(2.5 / 1024 * calc(var(--vw) * 100)), 2.5px) * -1);
}

.support_area_in .support_list li .txt_wrap .txt p{
  position: relative;
  z-index: 3;
  color: #fff;
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
  letter-spacing: 0.025em;
  line-height: calc(36 / 26);
  text-shadow: 2.5px 1.5px 2px rgba(24,24,24,1);
  text-align: center;
  transition: transform .2s cubic-bezier(.89,.09,.83,.67);
}


@media screen and (min-width: 768px){
  .support_area .fig01{
    top: -116px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }

  .support_area_in .support_list{
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 24px;
  }

  .support_area_in .support_list li:hover::before{
    transform: translate(-5px, -5px);
  }

  .support_area_in .support_list li:hover .img{
    transform: translate(-5px, -5px);
  }

  .support_area_in .support_list li .txt_wrap{
    bottom: 10px;
    height: 80px;
  }

  .support_area_in .support_list li .txt_wrap .txt::before{
    top: -2.5px;
  }

  .support_area_in .support_list li:hover .txt_wrap .txt::before,
  .support_area_in .support_list li:hover .txt_wrap .txt::after{
    transform: translate(-5px, -5px);
  }

  .support_area_in .support_list li .txt_wrap .txt::after{
    bottom: -2.5px;
  }

  .support_area_in .support_list li .txt_wrap .txt p{
    font-size: 16px;
  }

  .support_area_in .support_list li:hover .txt_wrap .txt p{
    transform: translate(-5px, -5px);
  }
}


/* ==============================
応募資格
============================== */
.qualification_area{
  margin: clamp(40px, calc(80 / 1024 * calc(var(--vw) * 100)), 80px) 0 clamp(56px, calc(112 / 1024 * calc(var(--vw) * 100)), 112px);
}

.qualification_area_in{
  position: relative  ;
}

.qualification_area_in .txt_wrap{
  margin: clamp(29px, calc(58 / 1024 * calc(var(--vw) * 100)), 58px) auto 0;
  max-width: 560px;
  width: 92%;
}

.qualification_area_in .txt_wrap .txt01{
  font-size: clamp(15px, calc(30 / 1024 * calc(var(--vw) * 100)), 30px);
  line-height: calc(36 / 30);
  color: #707070;
}

.qualification_area_in .txt_wrap .annotation{
  margin-top: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
  font-size: clamp(15px, calc(30 / 1024 * calc(var(--vw) * 100)), 30px);
}

.qualification_area_in .txt_wrap .annotation p{
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
  font-weight: 300;
}

.diagonal_line{
  position: absolute;
}

.diagonal_line.left{
  width: clamp(36px, calc(72 / 1024 * calc(var(--vw) * 100)), 72px);
}

.diagonal_line.left.long{
  width: clamp(51px, calc(102 / 1024 * calc(var(--vw) * 100)), 102px);
}

.diagonal_line.right{
  width: clamp(37px, calc(74 / 1024 * calc(var(--vw) * 100)), 74px);
}

.diagonal_line.right.long{
  width: clamp(42px, calc(84 / 1024 * calc(var(--vw) * 100)), 84px);
}

.qualification_area .diagonal_line.left{
  left: calc(clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px) * -1);
}

.qualification_area .diagonal_line.right{
  right: calc(clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px) * -1);
}

.qualification_area .diagonal_line.dl1{
  bottom: calc(clamp(4px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px) * -1);
}

.qualification_area .diagonal_line.dl2{
  top: clamp(24px, calc(48 / 1024 * calc(var(--vw) * 100)), 48px);
}


/* ==============================
求める人物像
============================== */
.wanted_person_area{
  margin: clamp(56px, calc(112 / 1024 * calc(var(--vw) * 100)), 112px) 0 clamp(51px, calc(102 / 1024 * calc(var(--vw) * 100)), 102px);
}

.wanted_person_area_in .person_list{
  margin-top: clamp(32px, calc(64 / 1024 * calc(var(--vw) * 100)), 64px);
  padding: 0 clamp(10px, calc(20 / 1024 * calc(var(--vw) * 100)), 20px);
}

.wanted_person_area_in .person_list li{
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px) clamp(15px, calc(30 / 1024 * calc(var(--vw) * 100)), 30px) clamp(21px, calc(43 / 1024 * calc(var(--vw) * 100)), 43px);
}

.wanted_person_area_in .person_list li.model{
  background-image: url(../images/wanted_person_model_bg@2x.jpg);
}
.wanted_person_area_in .person_list li.artist{
  background-image: url(../images/wanted_person_artist_bg@2x.jpg);
}
.wanted_person_area_in .person_list li.idol{
  background-image: url(../images/wanted_person_idol_bg@2x.jpg);
}
.wanted_person_area_in .person_list li.actor{
  background-image: url(../images/wanted_person_actor_bg@2x.jpg);
}

.wanted_person_area_in .person_list li + li{
  margin-top: clamp(48px, calc(96 / 1024 * calc(var(--vw) * 100)), 96px);
}

.wanted_person_area_in .person_list li .sub_ttl,
.wanted_person_area_in .person_list li .sub_ttl::before,
.wanted_person_area_in .person_list li .sub_ttl h3{
  position: absolute;
  top: calc(clamp(5px, calc(11 / 1024 * calc(var(--vw) * 100)), 11px) * -1);
  width: clamp(122px, calc(245 / 1024 * calc(var(--vw) * 100)), 245px);
  height: clamp(35px, calc(70 / 1024 * calc(var(--vw) * 100)), 70px);
}

.wanted_person_area_in .person_list li:nth-of-type(odd) .sub_ttl,
.wanted_person_area_in .person_list li:nth-of-type(odd) .sub_ttl::before,
.wanted_person_area_in .person_list li:nth-of-type(odd) .sub_ttl h3{
  left: calc(clamp(6px, calc(13 / 1024 * calc(var(--vw) * 100)), 13px) * -1);
}

.wanted_person_area_in .person_list li:nth-of-type(even) .sub_ttl,
.wanted_person_area_in .person_list li:nth-of-type(even) .sub_ttl::before,
.wanted_person_area_in .person_list li:nth-of-type(even) .sub_ttl h3{
  right: calc(clamp(6px, calc(13 / 1024 * calc(var(--vw) * 100)), 13px) * -1);
}

.wanted_person_area_in .person_list li .sub_ttl::before{
  content: '';
  mix-blend-mode: multiply;
}

.wanted_person_area_in .person_list li.model .sub_ttl::before{
  background: url(../images/wanted_person_model@2x.png) center center / contain no-repeat;
}
.wanted_person_area_in .person_list li.artist .sub_ttl::before{
  background: url(../images/wanted_person_artist@2x.png) center center / contain no-repeat;
}
.wanted_person_area_in .person_list li.idol .sub_ttl::before{
  background: url(../images/wanted_person_idol@2x.png) center center / contain no-repeat;
}
.wanted_person_area_in .person_list li.actor .sub_ttl::before{
  background: url(../images/wanted_person_actor@2x.png) center center / contain no-repeat;
}

.wanted_person_area_in .person_list li .sub_ttl h3{
  z-index: 2;
}

.wanted_person_area_in .person_list li p{
  font-size: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}


.wanted_person_area_in .diagonal_line.left{
  left: calc(clamp(45px, calc(90 / 1024 * calc(var(--vw) * 100)), 90px) * -1);
}

.wanted_person_area_in .diagonal_line.right{
  right: calc(clamp(45px, calc(90 / 1024 * calc(var(--vw) * 100)), 90px) * -1);
}

.wanted_person_area_in .diagonal_line.dl1{
  top: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
}

.wanted_person_area_in .diagonal_line.dl2{
  top: calc(clamp(32px, calc(64 / 1024 * calc(var(--vw) * 100)), 64px) * -1);
}

.wanted_person_area_in .diagonal_line.dl3{
  top: calc(clamp(45px, calc(90 / 1024 * calc(var(--vw) * 100)), 90px) * -1);
}

.wanted_person_area_in .diagonal_line.dl4{
  top: calc(clamp(6px, calc(12 / 1024 * calc(var(--vw) * 100)), 12px) * -1);
}

.wanted_person_area_in .diagonal_line.dl5{
  bottom: calc(clamp(13px, calc(26 / 1024 * calc(var(--vw) * 100)), 26px) * -1);
}



/* ==============================
DESCRIPTION
============================== */
.description_area{
  background: url(../images/desctiption_bg.jpg) center center / cover no-repeat;
  padding: clamp(46px, calc(92 / 1024 * calc(var(--vw) * 100)), 92px) 0 clamp(42px, calc(84 / 1024 * calc(var(--vw) * 100)), 84px);
  overflow-x: clip;
}

.description_box{
  position: relative;
  background-color: rgba(23, 183, 236, 1);
  background-image: linear-gradient(0deg, rgba(23, 183, 236, 1), rgba(46, 211, 190, 1));
  padding: clamp(2px, calc(3 / 1024 * calc(var(--vw) * 100)), 3px);
}

.description_box .emblem_wrap{
  position: absolute;
  bottom: calc(100% - clamp(39px, calc(78 / 1024 * calc(var(--vw) * 100)), 78px));
  right: calc(clamp(17px, calc(34 / 1024 * calc(var(--vw) * 100)), 34px) * -1);
  width: clamp(100px, calc(200 / 1024 * calc(var(--vw) * 100)), 200px);
}

.description_box .emblem_wrap .emblem{
  position: relative;
}

.description_box .emblem_wrap .emblem.is-active{
  animation: bounce 2.4s cubic-bezier(.215,.61,.355,1) forwards;
}

.description_box .emblem_wrap .emblem::before,
.description_box .emblem_wrap .emblem::after{
  position: absolute;
  content: '';
  top: -10%;
  left: -10%;
  border: solid 1px rgb(76,184,213);
  width: 120%;
  height: 120%;
  border-radius: 100vmax;
  opacity: 0;
  animation: 2s circle_anime 2.1s linear infinite;
}

.description_box .emblem_wrap .emblem.is-active::before,
.description_box .emblem_wrap .emblem.is-active::after{
  animation: 2s circle_anime 2.1s linear infinite;
}

.description_box .emblem_wrap .emblem.is-active::before{
  animation-delay: 3.1s;
}

@keyframes circle_anime{
  0%{
    transform: scale(0.8);
    opacity: 1;
  }

  100%{
    transform: scale(1.3);
    opacity: 0;
  }
}


.description_item{
  position: relative;
  background: #fff;
  padding: clamp(32px, calc(64 / 1024 * calc(var(--vw) * 100)), 64px) clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px) clamp(29px, calc(58 / 1024 * calc(var(--vw) * 100)), 58px);
}

.description_item h2{
  position: absolute;
  bottom: calc(100% - clamp(8px, calc(15 / 1024 * calc(var(--vw) * 100)), 15px));
  left: calc(clamp(18px, calc(35 / 1024 * calc(var(--vw) * 100)), 35px) * -1);
  width: clamp(214px, calc(428 / 1024 * calc(var(--vw) * 100)), 428px);
}

.description_item .txt_wrap + .txt_wrap{
  margin-top: clamp(32px, calc(64 / 1024 * calc(var(--vw) * 100)), 64px);
}

.description_item h3{
  font-size: clamp(15px, calc(30 / 1024 * calc(var(--vw) * 100)), 30px);
  font-weight: 400;
  text-align: center;
}

.description_item p,
.description_item ul,
.description_item li{
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
}

.description_item p.annotation{
  font-size: clamp(11px, calc(22 / 1024 * calc(var(--vw) * 100)), 22px);
  padding-left: 1em;
	text-indent: -1em;
}

.description_item ul li{
  position: relative;
  margin-left: 1em;
}

.description_item ul li::before{
  position: absolute;
  content: '・';
  top: 0;
  left: -1em;
}

.description_area_in .msg{
  margin-top: clamp(47px, calc(94 / 1024 * calc(var(--vw) * 100)), 94px);
}

.description_area_in .msg p{
  font-size: clamp(18px, calc(38 / 1024 * calc(var(--vw) * 100)), 38px);
  font-weight: 100;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  line-height: calc(64 / 44);
  transition-duration: 1s;
  filter: blur(8px);
}

.description_area_in .msg.is-active p{
  font-weight: 700;
  animation: bounce 2.4s cubic-bezier(.215,.61,.355,1) forwards;
  filter: blur(0);
}

@keyframes bounce{
  0%{
    opacity: 0;
    transform: scale(.3);
  }
  20%{
    transform: scale(1.1);
  }
  40%{
    transform: scale(.9);
  }
  60%{
    opacity: 1;
    transform: scale(1.03);
  }
  80%{
    transform: scale(.97);
  }
  100%{
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes bounce02{
  0%{
    transform: scale(.6);
  }
  20%{
    transform: scale(1.1);
  }
  40%{
    transform: scale(.9);
  }
  60%{
    transform: scale(1.03);
  }
  80%{
    transform: scale(.97);
  }
  100%{
    transform: scale(1.02);
  }
}

.description_area_in .entry_btn{
  margin-top: clamp(52px, calc(100 / 1024 * calc(var(--vw) * 100)), 100px);
}

.description_area_in .entry_btn.dokidoki{
  animation: dokidoki 3s infinite;
}

@keyframes dokidoki{
  0%{
    transform: scale(1.05);
  }
  15%{
    transform: scale(1);
  }
  85%{
    transform: scale(1);
  }
  100%{
    transform: scale(1.05);
  }
}


/* ==============================
フッター
============================== */
footer{
  padding: clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px) 0;
}

.lower footer{
  border-top: solid 1px #c6f9f8;
}

footer .f_nav ul{
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
  display: flex;
  justify-content: center;
  column-gap: 3em;
}

footer .f_nav ul li a{
  position: relative;
  color: #383838;
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
}

footer .f_nav ul li a::before{
  position: absolute;
  z-index: -1;
  content: '';
  bottom: calc(clamp(6px, calc(10 / 1024 * calc(var(--vw) * 100)), 10px) * -1);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(5px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
  height: clamp(5px, calc(8 / 1024 * calc(var(--vw) * 100)), 8px);
  background: #f5de1e;
  border-radius: 100vmax;
  transition: .3s ease-in-out;
}

footer .copyright{
  margin-top: clamp(24px, calc(48 / 1024 * calc(var(--vw) * 100)), 48px);
  font-size: clamp(12px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
  text-align: center;
}

@media screen and (max-width: 767px){
  footer .f_nav ul{
    column-gap: 2em;
  }
}

@media screen and (min-width: 1024px){
  footer .f_nav ul li a:hover::before{
    width: 50px;
    border-radius: 0;
  }
}


/* ==============================
会社概要
============================== */
.upper_txt{
  text-transform: uppercase;
}

.ttl_wrap{
  width: 100%;
  overflow: hidden;
  margin-bottom: clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px);
}

.ttl_wrap .ttl02{
  position: relative;
  display: inline-block;
  font-size: clamp(36px, calc(56 / 1024 * calc(var(--vw) * 100)), 56px);
}

.ttl_wrap .ttl02::after{
  position: absolute;
  content: '';
  top: 50%;
  left: calc(100% + clamp(8px, calc(16 / 1024 * calc(var(--vw) * 100)), 16px));
  transform: translateY(-50%);
  width: 300%;
  height: 1px;
  background: #808080;
}

.ttl_wrap .ttl02 .first{
  color: #21dcc8;
  font-size: clamp(48px, calc(74 / 1024 * calc(var(--vw) * 100)), 74px);
}

.company_area{
  margin: clamp(36px, calc(80 / 1024 * calc(var(--vw) * 100)), 80px) 0 clamp(56px, calc(112 / 1024 * calc(var(--vw) * 100)), 112px);
}

.company_area table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.company_area table th, td{
  font-size: clamp(12px, calc(20 / 1024 * calc(var(--vw) * 100)), 20px);
  padding: clamp(16px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px) clamp(10px, calc(20 / 1024 * calc(var(--vw) * 100)), 20px);
  line-height: calc(32 / 22);
}

.company_area table th{
  width: clamp(100px, calc(180 / 1024 * calc(var(--vw) * 100)), 180px);
  font-weight: 400;
  text-align: left;
  background: #c6f9f8;
  vertical-align: top;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
}

.company_area table td{
  width: calc(100% - clamp(100px, calc(180 / 1024 * calc(var(--vw) * 100)), 180px));
  border-top: solid 1px #c6f9f8;
  border-bottom: solid 1px #c6f9f8;
}

.company_area table tr:first-of-type th{
  border-top: solid 1px #c6f9f8;
}
.company_area table tr:last-of-type th{
  border-bottom: solid 1px #c6f9f8;
}


/* ==============================
プライバシーポリシー
============================== */
.privacy_area{
  margin: clamp(36px, calc(80 / 1024 * calc(var(--vw) * 100)), 80px) 0 clamp(56px, calc(112 / 1024 * calc(var(--vw) * 100)), 112px);
}

.privacy_item + .privacy_item{
  margin-top: clamp(32px, calc(56 / 1024 * calc(var(--vw) * 100)), 56px);
}

.privacy_item h3,
.privacy_item h4{
  font-weight: 400;
}

.privacy_item h3{
  font-size: clamp(16px, calc(32 / 1024 * calc(var(--vw) * 100)), 32px);
  text-align: center;
  margin-bottom: 1em;
}

.privacy_item h4{
  font-size: clamp(14px, calc(24 / 1024 * calc(var(--vw) * 100)), 24px);
  margin: 1.5em 0 1em;
}

.privacy_item p,
.privacy_item ol,
.privacy_item ul,
.privacy_item li{
  font-size: clamp(12px, calc(20 / 1024 * calc(var(--vw) * 100)), 20px);
  line-height: 1.6;
}

.privacy_item .list li{
  list-style-type: disc;
  margin-left: 1.25em;
}

.privacy_item .num_list li{
  list-style-type: decimal;
  margin-left: 1.25em;
}

.privacy_item p + .list,
.privacy_item p + .num_list,
.privacy_item .list + p,
.privacy_item .num_list + p,
.privacy_item p + p{
  margin-top: 1em;
}