@charset "UTF-8";
/* init
------------------------------------------------*/
:root {
  --color_blue01: #004da0;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  z-index: -1;
  overflow: hidden;
  background: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: #333;
  font-family: 'Noto Sans JP', 'Noto Sans', 'Noto Sans CJK JP', 'ヒラギノ角ゴ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic', sans-serif;
  font-size: 1.6rem;
  font-feature-settings: "palt";
  line-height: 1.625;
}
body * {
  box-sizing: border-box;
}
body::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100vw;
  height: 100vh;
  background: url("/special/stu48/assets/images/bg_pc01.webp") no-repeat center top / cover #fff;
  content: "";
}
img {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
  vertical-align: bottom;
}
@media screen and (max-width: 500px) {
  html {
    font-size: calc(100vw / 50);
  }
  body {
    min-width: 0;
  }
}
@media screen and (max-width: 500px) {
  body::before {
    content: none;
  }
}
@media screen and (min-width:500px) and (max-width:500px) {
  html {
    font-size: 62.5%;
  }
}

h2 {
  display: inline-block;
  position: relative;
  margin: 4.3rem 0 1.2rem 0;
  padding: 0 0 .75rem;
  font-weight: bold;
  font-size: 3.5rem;
  line-height: 1;
  text-align: center;
}
h2::before {
  left: -0.5rem;
}
h2::after {
  right: -0.5rem;
}
@media screen and (max-width: 500px) {
  h2::before,h2::after {
    bottom: -.7rem;
    width: 1rem;
    height: 1rem;
  }
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0 2.6rem 0;
  appearance: none;
  transition: .2s;
}
/* common
------------------------------------------------*/
@keyframes triAnimationFrame {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(7.5px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes triAnimationFrame2 {
  0% {
    transform: translateY(0) rotate(90deg);
  }
  50% {
    transform: translateY(5.5px) rotate(90deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
.text_yellow {
  position: relative;
  color: #fcff83;
  text-shadow: 2px 2px 3px rgba(122, 31, 31, 0.5);
  font-size: 2.5rem;
  font-weight: bold;
  display: inline-block;
}
.text_yellow::before, .text_yellow::after {
    display: block;
    position: absolute;
    top: 9px;
    width: 1.8rem;
    height: 2.6rem;
    background: url(/special/stu48/assets/images/yellow_deco.svg) no-repeat center / contain;
    content: "";
}
.text_yellow::before {
  left: -10%;
}
.text_yellow::after {
 right: -10%;
 transform:scale(-1,1);
}
.s_text_yellow::before {
  left: -24%;
}
.s_text_yellow::after {
 right: -24%;
}
/* main
------------------------------------------------*/
.main {
  position: relative;
  z-index: -1;
  overflow: hidden;
  text-align: center;
}
#cpn-main {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  background: #f9f8e1;
  font-feature-settings: "palt";
  font-weight: bold;
  letter-spacing: .06em;
  box-shadow: rgba(72, 119, 175, 1) 0 0 8px;
}
#cpn-main img {
  max-width: 100%;
  height: auto;
}
#cpn-main picture {
  display: block;
}
#cpn-main a {
  position: relative;
  color: #242ee2;
  transition: .3s;
  display: block;
  width: 100%;
  height: 100%;
	line-height: 1.1;
}
.ic_link_terms::after {
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0 .5rem;
  background: url("/special/stu48/assets/images/ic_link_blue.svg") no-repeat center / contain;
  vertical-align: baseline;
  content: "";
}
@media screen and (max-width: 500px) {
  #cpn-main {
    max-width: 500px;
    margin: 0 auto;
  }
  #terms .wrap>section {
    padding-right: 1rem;
  }
}
@media screen and (max-width: 500px) {
  .ic_link_terms::after {
    width: 2.6vw;
    height: 2.6vw;
  }
}
/* bg_contents
------------------------------------------------*/

.bg_contents {
  position: fixed;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  max-width: calc((100% - 500px) / 2);
}
.bg_left_area {
  display: grid;
  place-items: center;
  
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%; 
  max-width: 500px; 
  height: auto;
}
.bg_contents .benefits {
  position: absolute;
  width: 24vw;
  margin: auto;
  height: 30vw;
  top: calc((100% - 530px) / 2);
  left: calc((100% - 24vw) / 2);
  background: url(/special/stu48/assets/images/bg_pc02.webp) no-repeat center center / contain;
}

.benefits ul {
  padding: 0 1.8vw 0 1.6vw;
  width: 100%;
  position: absolute;
  margin: auto;
}
.bg_contents .benefits .logo_img {
  display: block;
  margin-top: 1.5vw;
}
.benefits picture {
  padding: 3% 12% 2%;
  width: 100%;
}
.benefits .logo_img{
  display:block;
  grid-area: 1 / 1 / 2 / 2;
  width: 95%;
  margin: 1.4vw auto;
}
.benefits li {
  position: relative;
  text-align: left;
  padding: 0.3vw 0 0.3vw;
  border-bottom: solid 1px #abd5ff;
}
its ul li {
  width: 100%;
  text-align: left;
}
.benefits ul li:nth-of-type(4n) {
  margin-bottom: 0;
}
.benefits li a {
  color: var(--color_orange);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: .3vw 0.5vw .35vw;
}
.benefits li a::after {
  background: url("/special/stu48/assets/images/ic_blue.svg") no-repeat;
  content: "";
  position: absolute;
  right: 13px;
  top: 50%; 
  transform: translateY(-50%);
  display: inline-block;
  width: 1em;
  height: .8em;
  transition: 0s;
}
.benefits ul li a, .benefits p {
    font-weight: bold;
    font-size: 1.3vw;
	text-decoration: none;
	color: #004da0;
	display: block; 
    width: 100%;
}
.bg_contents .benefits .access {
  position: relative;
  margin: 1.5em auto;
  padding: .7em 6.5em 1em 0;
  border-radius: .7vw;
  color: #004da0;
  font-size: 1.1vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  border-bottom: none;
}
.bg_contents .benefits .access:after {
  background: url("/special/stu48/assets/images/qr.png") no-repeat center / cover;;
  display: inline-block;
  position: absolute;
  top: 0em;
  right: 2em;
  width: 4em;
  height: 4em;
  margin: auto;
  vertical-align: baseline;
  content: "";
}
.bg_contents .bg_right_area {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
	height: 100%;
  margin: 0 auto 0;
  max-width: calc((100% - 500px) / 2);
}
.bg_right_img {
  position: relative;
}

.bg_right_area {
    display: flex;      
    flex-direction: column;
    align-items: center; 
    justify-content: center; 
    position: relative;
}
.bg_period {
    font-feature-settings: "palt";
    position: absolute;
    top: -400px;
    bottom: 14%;
    height: max-content;
    margin: auto;
}
.entry_sub_tx span {
    font-size: 1.6vw;
    font-weight: bold;
}
.entry_sub_tx span.slash {
  vertical-align: 0.1em;
  font-size: 1.3vw;
  color: #333;
  font-weight: bold;
  padding: 12% 0 0;
}

.bg_period .entry_sub_tx, .bg_period [class*=cdt_date] small {
    font-size: 1.3vw;
    color: #333;
    font-weight: bold;
    padding: 3% 0 0;
}
.bg_right_area picture img {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  left: 50%;
  top: 38%;
  transform: translate(-50%, -50%);
  margin: 0; 
}
@media screen and (max-width: 1330px) and (min-height: 645px) {
  .bg_left_area .benefits::after,.bg_period::after {
    height: 10vw;
  }
  .bg_left_area .benefits::after,.bg_period::after {
    top: -7.8vw;
    width: 6vw;
  }
}
@keyframes move04-2 {
  from  { background-position: 0 0;}
  to { background-position: calc((10vw * 786) / 29) 0;}
}

@media screen and (min-width: 1920px) {
    .entry_sub_tx span {
        font-size: 3rem;
        margin-bottom: 1rem;
    }
}
@media screen and (max-width: 1500px) {
    .bg_period .entry_sub_tx, .bg_period [class*=cdt_date] small {
        font-size: 1.1vw;
    }
}
@media screen and (max-width: 1500px) {
    .CDT .cdt_num {
        border: solid .25vw #d83683;
        border-radius: 9px;
    }
}
@media screen and (max-width: 1024px) {
    .bg_contents {
        display: none;
    }
}
.bg_right_img {
  align-items: center;
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 1380px) {
  .bg_period {
    max-width: 85%; 
  }
}
.cdt_area {
    width: 24vw;
	height: 40vw;
    margin: 0 auto;
    aspect-ratio: 386 / 100; 
    background: url("/special/stu48/assets/images/bg_pc03.webp") no-repeat center / contain;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
    position: relative;
	padding-bottom: 2rem;
	margin-top: 5rem;
	left: calc((100% - 24vw)/ 2);
}
.bg_right_area .bg_right_inner {
  width: calc((100% - 500px) / 2);
  height: 40%;
  position: fixed;
  bottom: 4rem;
  right: 0;
}
.bg_period .entry_sub_tx {
	color: #333333;
	font-size: 1.2vw;
	font-weight: bold;
	letter-spacing: 0.04em;
	padding: 0 0 0.5vw;
}
#cdt_date {
	padding: 3vw 2vw;
}
.entry_sub_tx span {
  font-size: 1.6vw;
  font-weight: bold;
}
.entry_sub_tx span.slash {
  vertical-align: 0.1em;
  font-size: 1.3vw;
  color: #333;
  font-weight: bold;
  padding: 12% 0 0;
}
.entry_sub_tx,
[class*=cdt_date] small {
  padding: 10% 0 2%;
  color: #333;
  font-size: 1.3vw;
  font-weight: bold;
  letter-spacing: .06em;
}
.bg_right_area .CDT_btn_p {
  height: 3.8vw;
  width: 22vw;
}
.bg_right_area .CDT_btn_p a::before{
  top: calc((3.45vw - 2.4rem) / 2);
  width: 1.2vw;
}
@media screen and (min-width: 1920px) {
  .entry_sub_tx span {
    margin-bottom: 1rem;
    font-size: 3rem;
  }
}
@media screen and (max-width: 1500px) {
  .CDT .cdt_num {
    width: 3.5vw;
    padding: .2rem .05em .1em .15rem;
  }
  .bg_right_area .CDT_btn_p a::before {
    top: calc((3.2vw - 2.7rem) / 2);
  }
  .bg_right_area .CDT_btn_p {
    height: 3.4vw;
  }
}
@media screen and (max-width: 1400px) {
  .entry_sub_tx,
  [class*=cdt_date] small {
    padding-top: 12%;
  }
}
@media screen and (max-width: 1024px) {
  .bg_contents {
    display: none;
  }
}
@media screen and (max-width: 1300px) {
  .cdt_area .CDT_btn_tx {  
  border: 3px solid transparent;
  }
}
/* is-active */
.benefits ul li a.is-active {
  color: #fff;
	background-color: #66a1e2;
	border-radius: 7px;
}
.benefits ul li a.is-active::after {
  background: url("/special/stu48/assets/images/ic_pc_active.svg") no-repeat;
}
/* list indent
------------------------------------------------*/
.wrap>section .blank {
  margin-top: 1rem;
}
.indMark {
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
	line-height: 1.4;
}
/* kv
------------------------------------------------*/
h1 {
  font-size: 1rem;
  background: #fff;
}
#kv_text .kv_tx {
  padding: 9% 0 8%;
  position: relative;
  background: url("/special/stu48/assets/images/mv_bg.webp")  no-repeat center / cover;
}
.kv_tx picture {
	margin-top: -1rem;
}
.kv_link {
  width: 93%;
  border: 2px solid #fff;
  margin: 0 auto;
  background: linear-gradient(0,rgba(40, 29, 66, 1) 0%, rgba(52, 64, 130, 1) 50%, rgba(40, 29, 66, 1) 100%);
	border-radius: 3px;
}
#kv .text_yellow {
  font-size: 2rem;
  font-weight: 500;
	right: 1.7rem;
}
#kv .text_yellow::before, #kv .text_yellow::after {
  top: 0.06rem;
	right: -2.1rem;
  width: 1.5rem;
  height: 2.2rem;
}
.kv_link a {
  position: relative;
  font-size: 2.25rem;
  line-height: 1;
  text-decoration: none;
  padding-left: 1rem;
  padding: 1rem 0 1.2rem 3.5rem;
  font-weight: bold;
}
@keyframes hexagon {
  0% {
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
/* btn
------------------------------------------------*/
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 66px;
  margin: 0 auto;
  text-align: center;
}
.btn.disable::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 46px;
  background: rgba(0, 0, 0, .3);
  content: '';
}
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 20rem;
  color: #35241A;
  text-decoration: none;
  transition: .3s;
}
.btn a span {
  display: block;
  position: relative;
  width: 100%;
  color: #fff;
  font-weight: 400;
}
.btn a span::before {
  position: absolute;
  top: calc(50% - 8px);
  right: 21px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  content: '';
}
.btn a span::after {
  position: absolute;
  top: calc(50% - 2.5px);
  right: 35px;
  width: 0;
  height: 0;
  content: '';
}
.link_ahamo {
  width: 350px;
  margin-bottom: 5rem;
}
#cpn-main .link_ahamo a {
  display: flex;
  background: #666666;
  font-size: 2.2rem;
}
.link_ahamo a span::before {
  background: #fff;
}
.link_ahamo a span::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 27px;
  width: 4px;
  height: 4px;
  border-style: unset;
  border-width: unset;
  border-color: unset;
  border-top: 2px solid #666666;
  border-right: 2px solid #666666;
}
@media screen and (max-width: 500px) {
  .btn {
    height: 15vw;
  }
  .entry_wrap .entryBtn a::before {
		top: calc(4.7rem / 2);
		right: 4.8vw;
		width: 2.5rem;  
	}
  .CDT_btn .CDT_btn_p a::before {
    top: calc((58px - 2.4rem) / 2);
  }
  .link_ahamo {
    margin-bottom: 3rem;
  }
  .btn a {
    font-size: 2.4rem;
  }
  .btn a span::after {
    top: calc(50% - .3rem);
    right: 3.5rem;
    border-width: .3rem 0 .3rem .4rem;
  }
  .btn a span::before {
    top: calc(50% - .8rem);
    right: 2.2rem;
    width: 1.6rem;
    height: 1.6rem;
  }
  .link_ahamo a {
    font-size: 1.8rem;
  }
  .link_ahamo a span::after {
    right: 2.8rem;
    width: .4rem;
    height: .4rem;
    border-top: 2px solid #2d2d2d;
    border-right: 2px solid #2d2d2d;
  }
}
@media screen and (max-width: 500px) {
  .link_ahamo a {
    border-width: 2px;
  }
}
@media screen and (max-width: 425px) {
  .btn a {
    font-size: 2.2rem;
  }
  .link_ahamo a span::after {
    border-top: 1px solid #2d2d2d;
    border-right: 1px solid #2d2d2d;
  }
  .CDT_btn .CDT_btn_p a::before {
    top: calc((50px - 3rem) / 2);
  }
  .link_ahamo {
    width: 32rem;
    height: 6.8rem;
  }
}
/*カウントダウンタイマー
------------------------------------------------*/
.cta_follow {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  width: 500px;
  padding: 1.5rem 0 1rem;
  margin: auto;
  background: rgba(159, 209, 255, 0.8);
}
.cta_follow .CDT_btn_tx {
  width: 68%;
  margin: .5rem auto 1rem;
    border: 4px solid transparent; 
  border-radius: 100px; 
  background-image: 
    linear-gradient(90deg, rgba(224, 97, 169, 1), rgba(143, 108, 211, 1)), 
    linear-gradient(90deg, rgba(255, 156, 212, 1), rgba(186, 151, 255, 1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-sizing: border-box;
  font-size: 2.4rem;
}
.cta_follow .CDT_btn_p a::before {
  top: 1.7rem;
	width: 2.1rem;
	right: 3rem;
}
.cdt_num {
  display: inline-block;
  height: auto;
  width: 3.3vw;
  min-width: 2.2vw;
  margin: 0 .3vw;
  padding: 0 .4rem .3rem .3rem;
  border-radius: 1rem;
  border: solid 3px #d83683;
  background-clip: padding-box;
  background: #fff;
  font-size: 1.8vw;
  font-weight: bold;
  font-family: inherit;
  line-height: 1.4;
  text-align: center;
	color: #d83683;
}
@media screen and (max-width: 1400px) {
  .cdt_num {
    line-height: 1.4;
  }
}
@media screen and (max-width: 500px) {
  .cta_follow {
    padding: 1.6rem 0 1.2rem;
		width: 100%;
  }
  .cta_follow .cdt_date small {
    line-height: .8;
  }
  .cta_follow .CDT_btn_tx {
    width: 60vw;
    font-size: 2.5rem;
  }
	.cta_follow .CDT_btn_p a::before {
		top: 32%; 
	}
}
@media screen and (max-width: 500px) {
  .cta_follow .CDT_btn_tx {
    width: 80vw;
    border-width: 3px;
  }
}
@media screen and (max-width: 300px) {
	.cta_follow .CDT_btn_p a::before {
		right: 12%; 
		top: 36%;
	}
}

/* entryBtn
------------------------------------------------*/
.CDT_btn_tx {
  position: relative;
  width: 17.5vw;
  margin: 5.5rem auto 2rem;
  border: 4px solid transparent;
  border-radius: 100px;
  background-image: 
    linear-gradient(90deg, rgba(224, 97, 169, 1), rgba(143, 108, 211, 1)), 
    linear-gradient(90deg, rgba(255, 156, 212, 1), rgba(186, 151, 255, 1));
  background-origin: border-box;
  background-clip: padding-box, border-box;;
  letter-spacing: .06em;
}
.CDT_btn_p a {
  width: 80%;
  color: #fff;
  font-size: 1.3vw;
  font-weight: bold;
  margin: 2.5vw 0 0;
}
.bg_right_area .CDT_btn_p a {
	padding-bottom: 0.3rem;
}
.entryBtnLarge {
  position: relative;
  width: 422px;
  height: 75px;
}
.entryBtnLarge a {
	color: #fff!important;
}
.entryBtn a::before,
.CDT_btn_p a::before {
  display: inline-block;
  position: absolute;
  right: 1.3vw;
  transform: rotate(90deg);
  height: 2.2rem;
  margin: auto;
  background: url("/special/stu48/assets/images/ic_white.svg") no-repeat;
  will-change: filter;
  content: "";
  width: 3rem;
}
.entryBtnLarge a::before {
  top: calc((62px - 1.7rem) / 2);
	right: 1.5rem;
  transform: rotate(0deg);	
	
}
.entryBtn .btn_red01 a::before {
	filter: none;
}
@media screen and (max-width: 1400px) {
  .CDT_btn_tx {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 1200px) {
  .CDT_btn_tx {
    margin-top: 3.2rem;
  }
	.bg_right_area .CDT_btn_p a {
	padding-bottom: 0;
}
}
@media screen and (max-width: 500px) {
  .entryBtnLarge {
    width: 42.2rem;
    height: 7.5rem;
  }
  #cpn-main .btn.entryBtn {
    margin-bottom: 3.5rem;
  }
  .CDT_btn_p a::before {
    top: 38%;
  }
}
@media screen and (max-width: 425px) {
	.entryBtn a::before {
		top: 2.5rem;
		right: 2.3rem
	}
}

/* entry_wrap
------------------------------------------------*/
.entry_wrap .entryBtn,#conditions .entryBtn {
  width: 42.2rem;
  height: auto;
  margin: 4.5rem auto 2.3rem;
  border-radius: 50rem;
  font-size: 2.4rem;
  letter-spacing: .06em;
}
.entry_wrap ul {
  margin: 1rem 2rem 0;
}
.entry_wrap .entryBtn a {
  display: block;
  margin: auto;
  padding: 1.6rem 0; 
  border: 4px solid transparent; 
  border-radius: 100px; 
  background-image: 
    linear-gradient(90deg, rgba(224, 97, 169, 1), rgba(143, 108, 211, 1)), 
    linear-gradient(90deg, rgba(255, 156, 212, 1), rgba(186, 151, 255, 1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  font-size: 2.8rem;
  text-align: center;
  text-decoration: none;
}
.entry_wrap .entryBtnLarge a span {
  display: inline;
  font-size: 2rem;
  font-weight: bold;
}
.entry_wrap .entryBtn.disable::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: rgba(0, 0, 0, .3);
  border-radius: 46px;
}
#terms .entry_wrap label[for="entryTrigger"] {
  font-weight: normal;
}
.entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 29px;
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
}
.entry_wrap input[type="checkbox"],.entry_wrap input:checked ~ .btn.disable::after {
  display: none;
}
.entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 21px;
  height: 21px;
  margin-right: .6em;
  border: 2px solid #333;
	background-color: #fff; 
  border-radius: 1.5px;
  box-sizing: border-box;
  content: "";
  transition: all 0s;
}
.entry_wrap input[type="checkbox"]:checked + label::after {
  background: url("/special/stu48/assets/images/ic_check01.svg") no-repeat center / 80% auto;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ #entry.entryBtn .entryBtnLarge a {
  box-shadow: none;
  text-shadow: none;
  animation: none;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ #entry.entryBtn .entryBtnLarge a>span {
  text-shadow: none;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ #entry2.entryBtn .entryBtnLarge a>span {
  text-shadow: none;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ #entry2.entryBtn .entryBtnLarge a {
  box-shadow: none;
  text-shadow: none;
  animation: none;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ .entryBtn .entryBtnLarge a::before {
  filter: none;
}
.entry_wrap input[type="checkbox"]:not(:checked) ~ #entry2 .entryBtnLarge a::before {
  filter: none;
}
@media screen and (max-width: 500px) {
  .entry_wrap {
    margin-bottom: 2.6rem;
    font-size: 1.6rem;
  }
  #conditions .entryBtn {
    margin-bottom: 0;
  }
  .entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
    padding-left: 2.7rem;
  }
  .entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
    top: .3rem;
    width: 2.1rem;
    height: 2.1rem;
    border: solid 1px;
    border-radius: .15rem;
  }
}
.entry_wrap .indMark li {
	font-size: 1.5rem;
	color: #e0123e;
  font-weight: 500!important;
}
@media screen and (max-width: 500px) {
  .entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 400px) {
  .entry_wrap .entryBtn a {
    border-width: 3px;
  }
}
/* hover
------------------------------------------------*/
@media (hover: hover) {
  #cpn-main .kv_link a:hover {
    opacity: .3;
  }
  .benefits li a:hover {
    background: #66a1e2;
    color: #fff;
	border-radius: 8px;
  }
  .benefits li a:hover::after {
    background: url("/special/stu48/assets/images/ic_pc_active.svg") no-repeat;
  }
  #cpn-main .entryBtn a:hover,
  #cpn-main .CDT_btn_p a:hover,
  .CDT_btn_p a:hover,#cpn-main .detail a:hover,
	.link_ahamo.btn a:hover{
    opacity: 1;
	transform: translateY(.5rem);
    box-shadow: none!important;
    transition: .3s;
  }
  #cpn-main .detail a:hover::before {
    opacity: .3;
  }
.profires_img :hover {
  border-radius: 1rem !important;
  box-shadow: 6px 6px 0px 0px #fffc8a !important;
  transition: 0.3s;
}
  #cpn-main a:hover {
    opacity: .6!important;
  }
	#cpn-main .entryBtn a:hover,
	#cpn-main .link_ahamo.btn a:hover{
		opacity: 1!important;
	}
}
/*date_wrap
--------------------------------------------------------------*/
#cpn-main .date_wrap div {
  padding: 0;
}
.date_wrap {
  padding: 2.7rem calc(1.4rem + 2px) 8.1rem;
}
.date_wrap dl ~ dl {
  margin-top: 3rem;
}
.date_wrap dt {
  background-color: #004da0;
  color: #f9f8e1;
  font-size: 2.6rem;
  font-weight: 500;
	letter-spacing: 0.2rem;
	padding-bottom: .04rem;
}
.date_wrap dl dd {
  margin-top: 0.5rem;
  font-size: 2.2rem;
  font-weight: 500;
}
.date_wrap dl .second{
	line-height: 0;
}
.date_wrap dl dd span {
  font-size: 1.6rem;
  font-weight: 500;
}
.grant-period dd {
	margin-right: 2rem;
}
#cpn-main .caution {
  font-size: 1.5rem;
  font-weight: 500;
  padding-left: 1em;
  line-height: 1.5;
  text-align: left;
  text-indent: -1em;
	color: #004da0;
}
@media screen and (max-width: 360px) {
	.date_wrap dt {
  	border: 1.5px solid #fff;
  }
}
.date_wrap dl:last-of-type dd:nth-of-type(1)::before {
  content: "";
  display: inline-block;
  max-width: 100px;
	width: 20vw;
  height: 31px;
  background: url("/special/stu48/assets/images/label_0102.svg") no-repeat center / contain;
  vertical-align: middle;
  margin-right: 3%;
}
.date_wrap dl:last-of-type dd:nth-of-type(2)::before {
  content: "";
  display: inline-block;	
  max-width: 71px;
  width: 14vw;
  height: 29px;
  background: url("/special/stu48/assets/images/label_03.svg") no-repeat right / contain;
  vertical-align: middle;
  margin: 0 3% 0 5%;
}
.date_wrap .caution {
	margin-top: 1rem;
}
@media screen and (max-width: 500px) {
  #cpn-main .caution {
    font-size: 3.5vw;
  }
	.date_wrap dl:last-of-type dd:nth-of-type(1)::before {
  height: 8vw;
}
	.date_wrap dl:last-of-type dd:nth-of-type(2)::before {
		height: 6vw;
	}
}
/* privilege
------------------------------------------------*/
#privilege {
  background: url("/special/stu48/assets/images/privilege_bg.webp") no-repeat top center;
  background-size: 100% auto; 
  background-color: #d7f1ff;
  position: relative;
}
#privilege::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  aspect-ratio: 1000 / 50; 
  height: auto;
  top: 1px;
  transform: translateY(-100%); 
  background: url("/special/stu48/assets/images/wave_01.svg") no-repeat center bottom / 100% auto;
}
@media screen and (max-width: 500px) {
  #cpn-main .caution {
    top: -49px;
  }
}
#privilege h2 {
  border-bottom: none;
}
#privilege h2::before,#privilege h2::after {
  display: none;
}
#privilege h2::before {
	content: "";
	background: url("/special/stu48/assets/images/h2_deco_01.webp")  no-repeat center/contain;
	background-size: 100% auto;
	display: block;
	position: absolute;
	min-width: 9rem;
  height: 5.3rem;
	top: -2rem;
  left: -6.9rem;
}
#privilege h2::after {
	background: url("/special/stu48/assets/images/h2_deco_02.webp")  no-repeat center;
	background-size: 100% auto;
	content: "";
	display: block;
	position: absolute;
	min-width: 9rem;
    height: 7rem;
	top: -3rem;
	right: -6.5rem;
}
#privilege h2 span {
  font-size: 3.8rem; 
  font-weight: bold;
  margin-bottom: .5rem;
	color: #004da0;
  text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,
	           0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,
	           0 0 5px #fff,0 0 5px #fff, 0 0 10px #fff;
	letter-spacing: 0.12em;
}
#privilege h2 span .txt_brown {
	color: #278bd6;
}
#privilege .h2_content {
	display: flex;
  margin-top: 1rem;
}
#privilege ul li:nth-child(n+2) {
	margin-top: 0.6rem!important;
}

#privilege .indMark li {
	font-weight: 500;
}
@media screen and (max-width: 500px) {
  #privilege ul {
    font-size: 3.5vw;
  }
}
.h2_privilege01 ul {
  margin: 1.5em 3.3rem 1.5rem;
}
.h2_privilege02 ul {
  margin: 1.5em 3.3rem 6rem;
}
#privilege .h2_privilege02 ul li a {
    display: inline; 
	word-break: break-all;
}
#privilege ul li a::after {
  display: inline-block;
  width: 1.4rem;
  height: 1.3rem;
  margin: 0 .3rem;
  background: url("/special/stu48/assets/images/ic_link_blue.svg") no-repeat center / contain;
  vertical-align: baseline;
  content: "";
}
#privilege ul .mail{
	letter-spacing: 0.03em;
}
#privilege ul .mail a::after {
  width: 1.3rem;
  height: 1rem;
  background: url("/special/stu48/assets/images/ic_link_mail.svg") no-repeat center / contain;
}
/* plan
------------------------------------------------*/
#plan {
	position: relative;
}
.plan_transfer h3 {
  margin: 0!important;
	width: 100%!important;
	border-bottom: #fff solid 2px;
	background-clip: padding-box;
}
.transfer {
	text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.75);
	display: block;
	background: linear-gradient(135deg,rgba(5, 173, 168, 0.5) 0%, rgba(0, 28, 25, 0.5) 100%);
	margin: 0;
	border-radius: 3rem 0 0 0;
	padding: 1rem 0;
	line-height: 1.3;
	font-size: 3.7rem;
	font-weight: 600;
}
.transfer_big {
	font-size: 4.5rem;
	font-weight: 600;
}
.plan_ahamo {
	margin: 3.5rem 0 0;
	box-shadow: rgb(255, 255, 255) 0px 0px 7px 0px, rgb(255, 255, 255) 0px 0px 7px 0px inset;
	border-radius: 3rem 0;
	border-width: 2px;
	border-style: solid;
	border-image: initial;
}
.plan_ahamo h3 {
    margin: 0 !important;
    width: 100% !important;
    border-bottom: #fff solid 2px;
    background-clip: padding-box;
}
.ahamo_contractor {
	text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.75);
	display: block;
	background: linear-gradient(90deg,rgba(164, 85, 255, 0.5) 0%, rgba(55, 0, 114, 0.5) 100%);
	margin: 0;
	border-radius: 3rem 0 0 0;
	padding: 1rem 0;
}
.contractor_big {
	font-size: 4rem;
	font-weight: bold;
}
.h3_img {
	margin: 0.1rem 1.8rem 0 2rem;
}
.bg_red {
  padding: 1rem 3rem 1rem;
	position: relative;
	background: linear-gradient(90deg,rgba(4, 131, 137, 0.4) 0%, rgba(1, 33, 29, 0.4) 100%);
}
.plan_transfer .bg_red ul li {
	margin-top: 0.4rem;
}
.plan_transfer .bg_red::after {
  content: "";
  display: block;
  height: 2px;
  margin: 3rem auto 0;
  background: rgba(255,255,255,0.7);
}
.plan_ahamo .bg_red {
	padding: 1rem 3rem 2rem;
	background: linear-gradient(90deg,rgba(153, 100, 255, 0.3) 0%, rgba(24, 0, 61, 0.3) 100%);
	border-radius: 0 0 3rem 0;
}
.bg_bl {
  padding: 1rem 3rem 2.5rem;
	background: linear-gradient(90deg,rgba(4, 131, 137, 0.4) 0%, rgba(1, 33, 29, 0.4) 100%);
	border-radius: 0 0 3rem 0;
}
.bg_red .indMark,.bg_bl .indMark {
  margin: 2rem 1rem 0;
}
.plan_text_red {
  text-shadow: 0 0 6px var(--color_red01), 0 0 10px var(--color_red01);
  font-size: 2.5rem;
  font-weight: bold;
	line-height: 1.1;
}
.bg_red .indMark_red {
	color: rgb(252, 255, 131);
	margin-top: 1rem;
	padding-left: 1.8rem;
}
.red_big_bottom {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}
.text_num {
  font-size: 4rem;
  font-weight: bold;
}
.red_big {
  font-size: 3.5rem;
  font-weight: bold;
  text-shadow: 0 0 20px var(--color_red01), 0 0 20px var(--color_red01);
}
.bg_bl .red_big {
  text-shadow: 0 0 20px #005add, 0 0 20px #005add;
}
.bg_bl .plan_text_red {
  text-shadow: 0 0 6px #005add, 0 0 10px #005add;
}
.bg_bl .text_yellow {
	text-shadow: 2px 2px 3px rgba(31, 50, 119, 0.5);
}
.plan_ttl02 {
  margin: -2rem auto 2rem;
}
.ttl03_deco {
	position: absolute;
	margin: -11rem 0 0 -2.3rem;
	width: 88%;
}

/* conditions
------------------------------------------------*/
#conditions {
  background: url("/special/stu48/assets/images/plan_bg.webp") no-repeat top center;
  background-size: 100% auto; 
  padding: 0 1.2rem 0;
  position: relative;
}
#conditions::before{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  aspect-ratio: 1000 / 75; 
  height: auto;
  top: 0;
  transform: translateY(-100%); 
  background: url("/special/stu48/assets/images/wave_02.svg") no-repeat center bottom / 100% auto;
}
#conditions .conditions_tx {
  padding-bottom: 2.5rem;
  font-size: 1.8rem;
	font-weight: 500;
}
#conditions.conditions h2::before, #conditions.conditions h2::after {
	content: none;
}
#conditions h2 {
  margin:3.3rem 0 1.3rem;
  padding: 0;
  color: #004da0;
  text-shadow: 3px 3px 1px rgba(229, 219, 195, 1);
}
@media screen and (max-width: 500px) {
  #conditions h2 {
    text-shadow: 2.5px 2.5px 1px rgba(229, 219, 195, 1);
  }
}
#conditions.conditions h2 {
	border-bottom: none;
}
.conditions_wrap h3 {
  position: relative;
  font-size: 3rem;
  font-weight: bold;
}
.conditions_wrap {
  border: 2px solid #004da0;
  border-radius: 16px;
  padding: 0.6rem 1.6rem;
  background-color: #fff;
  margin-top: 1.3rem;
}
.conditions_date li {
  font-size: 1.8rem;
  line-height: 1.5;
	text-align: left;
	text-indent: -1.4em;
  padding: 1rem 0.2rem 0.9rem 2.4rem;
	font-weight: 700;
}
.conditions_number {
	font-size: 1.9rem;
	font-weight: 700;
}
.conditions_date li:not(:last-child) {
  border-bottom: 2px solid #8abde2;
}
.orange {
  color: var(--color_blue01);
	font-weight: bold;
}
.conditions_date .orange {
  color: #d83683;
  font-weight: 700;
}
.sub_tx {
	font-weight: 500;
	font-size: 1.8rem;
}
.conditions_wrap02 {
  margin-top: 3rem;
}
@media screen and (max-width: 385px) {
  .tx_decoration picture {
		max-width: 48%;
		margin: -4.5rem 0 0 11.5rem;  
	}
	.conditions_wrap ol>li {
  	border: 1.5px solid #fff;
	}
	.conditions_wrap ol>li p:first-of-type {
    border: 1.5px solid #fff;
		border-top: none;
    border-left: none;
  }
	.conditions_wrap01 picture {
		max-width: 68%;
    margin: -2rem auto 0;
	}
	.conditions_wrap02 picture {
		max-width: 65%;
    margin: -1.8rem auto 0;
	}
}
@media screen and (max-width: 400px) {
.conditions_wrap {
  border: 2.5px solid #004da0;
}
}
/*------------ btn ------------*/
#conditions .entryBtn {
  margin: 4rem auto 0;
}
#conditions .entryBtn a {
  display: block;
  margin: auto;
  padding: .75rem 0;
  border: 3px solid #fff;
  box-sizing: border-box;
  background: rgba(160,0,46,.7);
  font-weight: bold;
  line-height: 1.3;
  font-size: 2.4rem;
  box-shadow: 0 0 10px 2px var(--color_red01), inset 0 0 10px 2px var(--color_red01);
}
/* movie
------------------------------------------------*/
.movie {
	margin: 0 2.6rem;
	border: 3px solid #278bd6;
}
#movie h2 {
  margin: 1rem 0 1.5rem;
  padding: 0;
  border-bottom: none;
  display: block;
}
.movie_area {
  background-color: #d7f1ff;
  padding: 0.2rem 0 10rem;
  position: relative;	
}
#movie_im01 {
	margin: 0 0;
}
.movie_area::before{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  aspect-ratio: 1000 / 86; 
  height: auto;
  top: 1;
  transform: translateY(-100%); 
  background: url("/special/stu48/assets/images/wave_03.svg") no-repeat center bottom / 100% auto;
}
.movie picture {
	width: auto;
	margin: 2.1rem 2.6rem 0;
}
@media screen and (max-width: 450px) {
  .movie_top picture {
    margin: -4.5rem 0 -1rem 8.45rem;
		max-width: 68%;
  }
}
/* profile
------------------------------------------------*/
.profires {
  padding: 0 0 6rem;
  background: url("/special/stu48/assets/images/profires_bg.webp") no-repeat top center/cover;
	background-size: 100% auto;
	position: relative;
}
#movie .profires::before{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  aspect-ratio: 1000 / 117; 
  height: auto;
  top: 0;
  transform: translateY(-100%); 
  background: url("/special/stu48/assets/images/wave_04.svg") no-repeat center bottom / 100% auto;
}
#movie h2  {
  border: none;
  padding: 0;
  font-size: 4rem;
}
#movie h2:first-child {
  margin: 1.5rem auto 2rem;
}
#movie .movie_area h2::before {
	content: "";
	position: absolute;
  left: 3.6em;
  top: 30%;
  width: 7.2%;
  height: 1.5em;
  background: url("/special/stu48/assets/images/h2_deco02.png") no-repeat top center/contain;
}
#movie .movie_area h2::after {
	content: "";
	position: absolute;
  top: -18%;
  width: 6.5%;
  height: 1em;
  background: url("/special/stu48/assets/images/h2_deco01.png") no-repeat top center/contain;
	left:8em;
}
#movie .profires h2 {
  margin: 0 auto 2.5rem!important;
}
#movie .profires_img {
	width: 100%;
	height:auto;
}
@media screen and (max-width: 820px) {
	#movie .profires_img {
	box-shadow: 6px 6px 0px 0px #fffc8a;
	border-radius: 1rem !important;
	}
}
@media screen and (max-width: 400px) {
	#movie .profires_img {
	box-shadow: 4px 4px 0px 0px #fffc8a;
	border-radius: 1rem !important;
	}
}
#movie p {
  text-align: left;
  padding: 4% 0 5%;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: 0.09em;
}
.plan_transfer {
  padding: 1.5rem 0 5rem 0;
  display: flex;
  justify-content: center;
}
.plan_transfer p {
  background-color: #fff7d4;
  border-radius: 16px;
  max-width: 666px;
}
.profires_name {
  display: block;
  font-size: 3rem;
  font-weight: 900;
  color: #944e34;
	margin-bottom: -1.7rem;
}

@media screen and (max-width: 510px) {
	#movie p {
	font-size: 1.6rem;
	margin: 0.5rem 0rem 1rem;
	}
}
.member_clm {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: space-between;
}
.profires_im02 {
	padding: 3rem 2.6rem 0;
	border: 1.6px solid #004da0;
    border-radius: 16px;
	background-color: #fff;
	margin: 3rem 2.6rem 1rem 2.6rem;
}
/* terms
------------------------------------------------*/
#terms.sec-scroll-point {
  position: relative; 
}
#terms.sec-scroll-point::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  aspect-ratio: 1000 / 118; 
  height: auto;
  top: 1px;
  transform: translateY(-100%); 
  background: url("/special/stu48/assets/images/wave_05.svg") no-repeat center bottom / 100% auto;
}
.txt_bottom {
	margin-bottom: 0.5rem;
}
.txt_bold {
	font-weight: bold;
}
#terms .list_relative li {
	position: relative;
	text-indent: 0!important;
  padding-left: 2.6rem!important;
  font-size: 1.8rem!important;
}
#terms .list_relative > li + li {
    margin-top: 4px;
}
#terms .list > li > span {
    color: #fff;
    background-color: #8f6cd3;
    font-weight: bold !important;
    border-radius: 50%;
    width: 2.1rem;
    height: 2.1rem;
    text-align: center;
    position: absolute;
    top: 0.5rem;
    left: -0.1rem;
    align-items: center;
    display: flex;
    justify-content: space-around;
    font-size: 1.4rem;
}
.red_txt {
	color: #f25c5c;
  font-weight: 500;
}
.red02_txt{
	color: #e0123e;
	font-weight: 500;
}
#terms h2 {
  margin-bottom: 2rem;
  color: #8f6cd3;
}
#terms h2::before,#terms h2::after {
  background: #ffff9f;
}
#terms .list li {
  padding-left: 1em;
  text-indent: -1em;
}
#termsContent {
  width: 44rem;
  height: 37rem;
  margin: 0 auto 2.5rem;
  overflow: hidden;
  border: 2px solid #8f6cd3;
  border-radius: 1vw;
  background: #fff;
  color: #333;
  font-size: 1.8rem;
}
#termsContent .wrap {
  width: calc(100% - 2.6rem);
  height: calc(100% - 3.5rem);
  margin: 1rem 1.4rem 1.4rem 1.8rem;
  padding: 1.5rem 1rem 0 0;
  overflow-y: scroll;
  border-radius: 0;
  scrollbar-width: thin;
  scrollbar-color: #8f6cd3 transparent;
  text-align: left;
}
#termsContent .wrap::-webkit-scrollbar {
  width: .3rem;
}
#termsContent .wrap::-webkit-scrollbar-track {
  display: none;
}
#termsContent .wrap::-webkit-scrollbar-thumb {
  border-radius: .15rem;
  background: #6c2c2f;
}
#termsContent .wrap > section {
  margin: 1.4rem 1rem 0 0;
  padding-left: .5rem;
  padding-bottom: 2.2rem !important;
  border-bottom: .2rem solid #8f6cd3;
	text-align: justify;
}
#termsContent .wrap > section:first-of-type {
  margin-top: 0;
}
#termsContent .wrap > section:last-of-type {
  padding-bottom: 1rem;
  border-bottom: none;
}
#termsContent h3 {
  margin-bottom: .3rem;
  font-weight: bold;
	font-size: 2.3rem;
}
#termsContent .small_list {
  margin-top: .3rem;
}
#termsContent .small_list li {
  padding-left: 1em;
  font-size: 1.55rem;
  text-indent: -1em;
}
#terms .text_indent, #terms .p_indent {
  padding-left: 1em;
  text-indent: -1em;
}
#terms .p_indent02 {
  padding-left: 1em;
  text-indent: -0.6em;
}
#terms .p_between {
	margin-top: 1em;
}
#terms .text_indent, #terms .list.indent_none li {
  text-indent: 0;
}
.txt_indent01 li {
	padding-left: 0.5em!important;
	text-indent: -0.58em!important;
}
.txt_indent02 {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.txt_indent01 .txt_indent03 li {
	padding-left: 0.5em!important;
	text-indent: -1.7rem!important;
}
@media screen and (max-width: 800px) {
  #termsContent {
		border-radius: 2vw;
	}
}
@media screen and (max-width: 500px) {
  #termsContent .wrap {
    height: calc(100% - 4rem);
    margin: 2rem 1.4rem 2rem 1.8rem;
    padding: 0 .5rem 0 0;
  }
  #terms {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 385px) {
  #conditions .conditions_wrap + .conditions_wrap {
    margin-top: 14px;
  }
}
#termsContent .small_list a {
	display: inline;
	word-break: break-all;
}
.mail_term::after {
	display: inline-block;
  width: 1.3rem;
  height: 1rem;
  background: url("/special/stu48/assets/images/ic_link_mail.svg") no-repeat center / contain;
	content: "";
	margin-left: 0.4rem;
}
.txt_indent_none {
	padding-left: 1em!important;
	text-indent: -1em!important;
}
/* campaignCode
------------------------------------------------*/
.campaignCode {
  font-size: 1.9rem;
  text-align: center;
}
.campaignCode span {
  font-size: 2.3rem;
}
/* footer
------------------------------------------------*/
footer {
  width: 100%;
  max-width: 750px;
  margin: 1.2rem auto 0;
  font-size: 1.6rem;
  text-align: center;
}
footer .cp {
	color: #fff;
  margin: 5rem auto 0;
  padding: 3rem 0;
  background: #004da0;
}
#footer p a {
	text-decoration: none;
}
/*modal
-------------------------------------------------*/
.remodal {
  background: url("/special/stu48/assets/images/bg_modal.webp") no-repeat center bottom / cover #fff;
  max-width: 56vw;
  border-radius: 1em;
  padding: 0 0 4vw 0;
}
.member_detail {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center; 
}
.member_detail > img {
  display: inline-block;
  margin-bottom: 0px; 
  width: auto;
  max-width: 80%; 
  height: auto;
}
.member_contents {
  display: flex;
  align-items: flex-start; 
  justify-content: center; 
  gap: 30px;  
  padding: 0 2rem 0;
}
.member_visual_container {
  position: relative;    
  flex: 0 0 55%; 
}
.member_visual_container img {
  width: 100%;
  height: auto;
  display: block;          
}
.copyright {
  position: absolute;
  right: 1vw;            
  bottom: -1.5vw;             
  color: #333;
  font-size: 1vw;         
  font-weight: 500;
  pointer-events: none;   
  white-space: nowrap;
}
.modal_inner {
  flex: 0 0 40%;  
}
.member_detail > img:nth-of-type(1) {
    width: 23vw;            
    height: auto;
    padding: 5% 25% 3.3%;  
}
.member_detail > img:nth-of-type(2) {
    width: 58%;            
    height: auto;
    order: 2;    
	margin-bottom: 2vw
}
.name .largeletters {
  display: inline-block;
  font-size: 4rem;
  font-weight: bold;
}
.modal_inner .member_tx {
  font-size: 1vw;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
  background-image: linear-gradient(transparent 96%, #afcaf2 96%);
  background-size: 100% 1.7vw; 
  border-bottom: none;
  text-align: justify;
	word-break: break-all;
	padding: 0 0.8rem;
}
.remodal-close {
  background: url("/special/stu48/assets/images/modal_close.webp") no-repeat center bottom / cover #fff;
  position: absolute;
  top: 1.1vw;
  right: 1.1vw;
  display: block;
  width: 6%;
  height: 10%;
  cursor: pointer;
}
.remodal-wrapper {
  background: linear-gradient(90deg, rgba(135,192,249,0.5) 0%, rgba(189,184,255,0.5) 100%);
  padding: 10px 30px 0;
}
@media screen and (max-width: 900px) {
.remodal {
	width: 100%;
  max-width: 500px;
  background: url("/special/stu48/assets/images/bg_modal_sp.webp") no-repeat center bottom / cover #fff;
  border-radius: 2rem;
	  aspect-ratio: 11 / 16;
}
.member_contents {
    flex-direction: column;
    align-items: center;   
    gap: 2vw;  
	padding: 0 4.2vw 4.8vw;
  }
	.member_visual_container,
  .modal_inner {
    flex: 0 0 100%;       
    max-width: 100%;
    width: 100%;
  }
	.modal_inner {
    text-align: left;      
  }
.member_detail {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center; 
}
.member_detail > img {
  display: inline-block;
  margin-bottom: 0px; 
  width: auto;
  max-width: 80%; 
  height: auto;
}
.member_visual_container img {
  width: 100%;
  height: auto;
  display: block;          
}
.copyright {
  position: absolute;
  right: 2vw;            
  bottom: -3.5vw;             
  color: #333;
  font-size: 90%;         
  font-weight: 500;
  pointer-events: none;   
  white-space: nowrap;
}
.member_detail > img:nth-of-type(1) {
    width: 76%;            
    height: auto;
    padding: 8% 0 3.3%;  
}
.member_detail > img:nth-of-type(2) {
    width: 58%;            
    height: auto;
    order: 2;    
	margin-bottom: 2vw
}
.name .largeletters {
  display: inline-block;
  font-size: 4rem;
  font-weight: bold;
}
.modal_inner .member_tx {
  font-size: 100%;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.1em;
text-align: justify;	
  margin-bottom: 2rem;
background-image: linear-gradient(transparent 95%, #afcaf2 95%);
  background-size: 100% 1.7em; 
  background-repeat: repeat;
    border-bottom: none; 
}

.remodal-close {
  background: url("/special/stu48/assets/images/modal_close.webp") no-repeat center bottom / cover #fff;
  position: absolute;
  top: 1.2vw;
  right: 1.1vw;
  display: block;
  width: 8.5%;
  height: 5.1%;
  cursor: pointer;
}
.remodal-wrapper {
  background: linear-gradient(90deg, rgba(135,192,249,0.5) 0%, rgba(189,184,255,0.5) 100%);
  padding: 10px 30px 0;
}
}
@media screen and (min-width: 500px) and (max-width: 900px) {
	.remodal-close {
  top: 1.4vw;
  right: 1.3vw;
  width: 7%;
  height: 4.5%;
}
}