@charset "UTF-8";
/* CSS Document */

html,
body {
	padding: 0;
	margin: 0;
	font-size: 12px;
}
ul,li {
	list-style: none;
	margin: 0;
	padding: 0;
}
a {
	text-decoration: none;
}
img {
	width: 100%;
}

#st {
	position: relative;
	font-family: "kozuka-gothic-pr6n", sans-serif;
	
	font-weight: 500;
}
.pcv {
	display: none;
}
.en {
	font-family: "impact", sans-serif;
	font-weight: 400;
}
#main_contents {
	position: relative;
}

.txt_padding {
	padding: 2.5% 0;
}
@media only screen and (min-width: 769px) {
	html,
	body {
		font-size: 1vw;
	}
	.pcv {
		display: block;
	}
	#main_contents {
		width: 37%;
		margin: 0 auto -1%;
		padding-bottom: 3%;
		box-sizing: border-box;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
	}
}


.section {
	position: relative;
	margin: 0% auto 15%;
}
.section .img,.section .main {
	position: relative;
	line-height: 0;
}
.banner .tit {
	width: 96%;
	margin: 5px auto 14px;
	background: #000;
	color: #FFF;
	text-align: left;
	padding: 5px 0;
	font-size: 2rem;
	letter-spacing: 2px;
}

.banner .tit span {
	margin-left: 4%;
}

.banner .tit p {
	width: 96%;
	text-align: right;
	font-size: 0.7rem;
	margin: -6.5% 3% 3.3% auto;
	letter-spacing: 0.2px;
}
@media only screen and (min-width: 769px) {
.banner .tit p {
	width: 96%;
	text-align: right;
	font-size: 0.7rem;
	margin: -6% 3% 3% auto;
	letter-spacing: 0.2px;
}
}

/* カルーセル外枠 */
    .carousel-container {
      width: 98%;
      margin: -12% auto 15%;
      padding: 0;
    }

    /* 画像カルーセルラッパー */
    .carousel-wrapper {
      position: relative;
      width: 100%;
      height: auto;
      overflow: hidden;
      padding: 0 0 5%;
    }

    /* スライドリストの基盤 */
    .image-carousel {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      width: auto;
      height: 100%;
      list-style: none;
      padding: 0;
      margin: 0;
      overflow: visible;
    }

    /* 各スライド(li)の設定 */
    .image-carousel li {
      flex-shrink: 0;
      flex-basis: 33.33%;
      box-sizing: border-box;
      position: relative;
      padding: 0 0.65rem;
text-align: center;
font-family: "kozuka-gothic-pr6n", sans-serif;
font-weight: 400;
font-size: 0.7rem;
color: #666;
line-height: 1.8em;
    }

    .image-carousel li img {
      width: 100%;
      height: auto;
      display: block;
border: solid 2px #000;
margin-bottom: 2.4%;
    }

    .image-carousel li h3 {
width: 100%;
color: #000;
font-size: 0.9rem;
font-weight: 700;
line-height: 1.3em;
padding-top: 2.7%;
}

    /* ナビゲーション矢印 */
    .prev-button, .next-button {
      position: absolute;
      top: 33.5%;
      transform: translateY(-50%);
      background-color: rgba(0, 0, 0, 0.6);
      color: #fff;
      border: none;
      font-size: 1.5rem;
      padding: 0.1rem 0.55rem 0.3rem;
      cursor: pointer;
      z-index: 10;
border-radius: 20px;
    }
@media only screen and (min-width: 769px) {
    .prev-button, .next-button {
      font-size: 1rem;
      padding: 0.4rem 0.42rem 0.1rem;
    }
    }
    .prev-button {
      left: 1.2rem;
    }
    .next-button {
      right:1.2rem;
    }

    .prev-button:hover, .next-button:hover {
      background-color: rgba(0, 0, 0, 0.3);
    }

    /* インジケーター */
    .carousel-indicators {
      position: absolute;
      bottom: 0.2rem;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 0.5rem;
      z-index: 10;
    }

    .carousel-indicators span {
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.3);
      cursor: pointer;
      transition: background 0.3s;
    }

    .carousel-indicators span.active {
      background: #000;
    }


.banner ul {
	display: flex;
	flex-wrap: wrap;
	gap:4%;
	width: 96%;
	margin: 0 auto 14px;
}
.banner li {
	width: 30.433%;
	box-sizing: border-box;
	text-align: center;
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-weight: 400;
	font-size: 0.7rem;
	color: #666;
	line-height: 1.8em;
}

.banner li img {
	width: 100%;
	border: 2px solid #000;
	margin-bottom: 1.9%;
}

.banner li h3 {
	width: 100%;
	color: #000;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.4em;
}





.info {
	position: relative;
	width: 90%;
	margin: 0 auto 5%;
}
.info .inner {
	box-sizing: border-box;
	border: 2px solid #000;
	padding: 6% 0;
	border-radius: 20px;
}

.info h2 {
	margin: 0 auto 6%;
	padding: 0;
	color: #FFF;
	position: relative;
	font-weight: 900;
	letter-spacing: 1px;
	font-size: 2rem;
	text-align: center;
}
.info h2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.info h2::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 2px;
  color: #000;
	-webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.info p {
	font-size: 1rem;
	margin: 10px auto;
	line-height: 1.6;
	padding: 0;
}
.info p.center {
	text-align: center;
	margin: 0;
}
.info p.news {
	width: 100%;
	text-align: center;
	margin: 8% auto 0;
	padding: 5.5% 0 0;
	border-top: solid 2px #000; 
}
.info p.left {
	width: 88%;
	text-align: left;
	margin: 0 auto;
}
@media only screen and (min-width: 769px) {
.info p.news {
	width: 80%;
	padding: 3% 0 ;
	border: solid 1px #000; 
	font-size: 0.75rem;
}
}
.info .logo {
	width: 90%;
	margin: 10% auto 0;
	line-height: 0;
}
.info .foot_logo {
	width: 55%;
	margin: 12% auto;
}


.coupon {
	position: relative;
	width: 92%;
	margin: 8% auto 5%;
	padding-top: 1%;
}

.lptop .coupon {
	position: relative;
	width: 92%;
	margin:-6% auto 8%;
	padding-top: 1%;
}

.staffgroup .coupon {
	position: relative;
	width: 92%;
	margin: 6% auto 5%;
	padding-top: 1%;
}

.coupon .inner {
	width: 98%;
	margin: 0 auto;
	box-sizing: border-box;
	border: 2px solid #000;
	padding: 3.5% 0 15.3%;
	border-radius: 20px;
	text-align: center;
}

.coupon h2 {
	margin: 0.2% auto 0.6%;
	padding: 0;
	color: #ffff33;
	position: relative;
	font-weight: 900;
	letter-spacing: 1px;
	font-size: 2rem;
	text-align: center;
}
.coupon h2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.coupon h2::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 2px;
  color: #000;
	-webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.coupon span {
	font-size: 1.13rem;
	line-height: 1.8;
	font-weight: bold;
	text-align: center;
}

.coupon span.marker {
	background-color: #ffff33;
	padding: 2px 8px 0;
}

.coupon p {
	font-size: 0.75rem;
	margin: 10px auto;
	line-height: 1.6;
	padding: 0;
	text-align: center;
}

.coupon .img {
	position: absolute;
	width: 26%;
	top:0;
	right: 0;
}

.coupon hr {
    border-top: 2px dashed #000;
    border-right: none;
    border-bottom: none;
    border-left: none;
	width: 98%;
	margin: 3% auto -1%;
}

.coupon .code {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0% 0;
	text-align: center;
}

.coupon .code p {
	position: absolute;
	top: 0;
	left: 0;
	width: 20%;
	padding: 1.6% 0 1.8%;
	font-size: 1rem;
	line-height: 1.2;
	text-align: center;
	border-right: solid 1px #000;
}

.coupon .code span {
	position: absolute;
	top: 0;
	left: 21.7%;
	width: 50%;
	font-size: 1.5rem;
	line-height: 1.2;
	padding: 5.8% 0 0;
	text-align: center;
}

.coupon .coupon-copy-button {
	position: absolute;
	margin-top: 4.8%;
	right: 2.8%;
	padding: 6px 15px 6px;
	background-color: #000;
	color: #fff;
	font-size: 0.8rem;
	cursor: pointer;
	border-radius: 30px;
	transition: all 0.3s ease;
}

.coupon .coupon-copy-button:hover {
opacity: 0.5;
}

.coupon .coupon-message {
	position: absolute;
	margin-top: 4%;
	margin-left: 75%;
	padding: 4px 45px 6px;
	background-color: #000;
	color: #fff;
	font-size: 1rem;
	border-radius: 30px;
	display: none;
}

@media only screen and (min-width: 769px) {
	
.coupon .inner {
	padding: 3.5% 0 13.3%;
}
	
.coupon .code span {
	padding: 5% 0 0;
}

.coupon .coupon-copy-button {
	margin-top: 4.2%;
}
	
}


.category {
	position: relative;
	width: 90%;
	margin: 15% auto 7%;
	text-align: center;
	font-size: 0.8rem;
	color: #666;
}
.category h2 {
	background: url("https://www.dot-st.com/static/docs/c/pages/260702_andstcomic/assets/img/category_bg.png") #eae9e9;
	background-size: 100%;
	padding:5px 0%;
	box-sizing: border-box;
	border-radius: 20px 20px 0 0;
	border: 2px solid #000;
	margin: 0;
}
.category h2 span {
	color: #FFF;
	position: relative;
	font-weight: 900;
	letter-spacing: 1px;
	font-size: 1.6rem;
	text-align: center;
	z-index: 10;
	display: block;
}
.category h2 span::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.category h2 span::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 2px;
  color: #000;
	-webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.category .img {
	box-sizing: border-box;
	line-height: 0;
	border: 2px solid #000;
	margin: 2% auto;
}




h1 {
	width: 70%;
	margin: 0 auto;
	padding: 10% 0;
	line-height: 0;
}
@media only screen and (min-width: 769px) {
	h1 {
		position: fixed;
		top: 50%;
		left: 0;
		width: 31.5%;
		transform: translate(0,-50%)
	}	
	h1 img {
		display: block;
		width: 60%;
		margin: 0 auto;
	}
	.read {
		position: fixed;
		top: 50%;
		right: 0;
		width: 31.5%;
		transform: translate(0,-50%)
	}
	.read .inner {
		width: 100%;
		margin: 0 auto;
		border: none;
		padding: 0;
	}
	.read .inner h2 {
	}
}

.staff {
	margin: 0 0 2% 0;
}

.prof {
	position: relative;
	box-sizing: border-box;
	border: 2px solid #000;
	width: 96%;
	margin: 0 auto;
	padding: 2% 0
}
.prof h2 {
	margin: 0 auto;
	padding: 0;
	color: #FFF;
	position: relative;
	font-weight: 900;
	letter-spacing: 1px;
	font-size: 2rem;
	text-align: center;
}
.prof h2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.prof h2::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 2px;
  color: #000;
	-webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.prof p {
	text-align: center;
	margin: 5px 0 10px;
	padding: 0;
	font-size: 1rem;
}
.prof a {
	display: block;
	width: 50%;
	margin: 0 auto;
}

.prof_s {
	position: absolute;
	box-sizing: border-box;
	width: 50%;
	right: 0;
	top: 6%;
	padding: 2% 0
}
.prof_s h2 {
	margin: 0 auto;
	padding: 0;
	color: #FFF;
	position: relative;
	font-weight: 900;
	letter-spacing: 1px;
	font-size: 2rem;
	text-align: center;
}
.prof_s h2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  -webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.prof_s h2::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 2px;
  color: #000;
	-webkit-text-stroke: 4px #000;
  z-index: -1;
	text-align: center;
	width: 100%;
}
.prof_s p {
	text-align: center;
	margin: 2px 0 10px;
	padding: 0;
	font-size: 1rem;
	line-height: 1.5;
}
.prof_s a {
	display: block;
	width: 70%;
	margin: 0 auto;
}

@media only screen and (min-width: 769px) {
.prof_s {
	top: 8%;
}
}

.recommend {
	position: relative;
}
.recommend .pickup {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap:2%;
	width: 96%;
	margin: 0 auto;
	
}
.recommend .pickup .bg {
	width: 24%;
	box-sizing: border-box;
	border: 2px solid #000;
}
.bayako .recommend .pickup .bg {
	background: url("https://www.dot-st.com/static/docs/c/pages/260702_andstcomic/assets/img/reason.png") no-repeat #fd9031 top right;
	background-size: 100%;
}
.shimayu .recommend .pickup .bg {
	background: url("https://www.dot-st.com/static/docs/c/pages/260702_andstcomic/assets/img/reason.png") no-repeat #707ffc top right;
	background-size: 100%;
}
.recommend .pickup .txt {
	width: 74%;
	box-sizing: border-box;
	border: 2px solid #000;
	text-align: center;
	padding: 1% 0;
}
.bayako .recommend .pickup .txt {
	padding: 3.5% 0;
	background:#fd9031;
}
.shimayu .recommend .pickup .txt {
	background:#707ffc;
	color: #FFF;
	padding: 2% 0;
}
.recommend .pickup .txt p {
	font-size: 1rem;
	line-height: 1.6
}
.recommend .box {
	position: relative;
	margin-bottom: 10%;
	overflow: hidden;
}
.recommend .box h3 {
	position: absolute;
	top: 0;
	right: 0;
	width: 45%;
}
.staffgroup .recommend .box h3 {
	position: absolute;
	top: 0;
	left: 0;
	padding-bottom: 5%;
	width: 45%;
}


.recommend .box .comic {
	position: relative;
	width: 90%;
	margin: 0 auto;
	padding: 10% 0 30%
}
.recommend .first .comic {
	padding: 35% 0 30%
}

.staffgroup .recommend .first .comic {
	padding: 44% 0 30%
}

.recommend .box .comic .img {
	width: 45%;
	position: relative;
	z-index: 10;
}
.recommend .box .comic .img::before {
	content: "";
	background: url("https://www.dot-st.com/static/docs/c/pages/260702_andstcomic/assets/img/comic_bg.png") no-repeat;
	background-size: 100%;
	position: absolute;
	top: 5%;
	left: 5%;
	width: 100%;
	height: 100%;
}
.recommend .box .comic .img img {
	box-sizing: border-box;
	border: 2px solid #000;
	position: relative;
	z-index: 10
}
.recommend .box .comic .comment {
	width: 60%;
	position: absolute;
	bottom: 0;
	right: 0;
}
.recommend .box .comic .comment .inner {
	writing-mode: vertical-rl;
	text-orientation: upright;
	box-sizing: border-box;
	padding: 25px 15px 50px;
	width: 100%;
	border-radius: 20px;
	border: 2px solid #000;
}
.bayako .recommend .box .comic .comment .inner {
	background:#fd9031;
}
.shimayu .recommend .box .comic .comment .inner {
	background:#707ffc;
}
.staffgroup .recommend .box .comic .comment .inner {
	background:#ff84b2;
}

.fd455b .recommend .box .comic .comment .inner {
	background:#fd455b;
}

.recommend .box .comic .comment .inner p {
	margin: 0 20px;
	padding: 0;
	color: #FFF;
	font-size: 1.1rem;
	line-height: 1.6;
	letter-spacing: 1px
}
@media only screen and (min-width: 769px) {
	.recommend .box .comic .comment .inner p {
		font-size: 1.4rem;
	}
}

.recommend .box .comic .comment .face {
	width: 38%;
	overflow: hidden;
	border-radius: 100px;
	line-height: 0;
	box-sizing: border-box;
	background: #FFF;
	border: 2px solid #000;
	padding: 3px;
	margin: -20% auto 0;
	position: relative;
}
.recommend .box .comic .comment .face img {
	overflow: hidden;
	border-radius: 100px;
}
.recommend .box .title {
	font-size: 1.8rem;
	font-weight: 900;
	letter-spacing: 1px;
	line-height: 1.1;
	width: 90%;
	margin: -5% auto 5%;
}

.recommend .box .title p {
	font-size: 1rem;
	font-weight: 700;
	line-height: 2.3;
	color: #666;
}

.recommend .box .btn a {
	display: block;
	width: 94%;
	background: #000;
	box-sizing: border-box;
	padding: 15px 25px;
	color: #FFF;
	border-radius: 0 100px 100px 0;
	position: relative;
	font-size: 1.6rem;
	margin-top: 5px;
}
.recommend .box .btn a span {
	font-size: 0.8rem;
	font-weight: 400;
	position: absolute;
	top: 50%;
	right: 75px;
	transform: translate(0,-50%)
}
.recommend .box .btn a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translate(0,-50%);
	width: 30px;
	height: 30px;
	background: url("https://www.dot-st.com/static/docs/c/pages/260702_andstcomic/assets/img/arrow.svg") no-repeat center;
	background-size: 100%;
}
.anim {
	opacity: 0;
	transform: scale(0.8);
	transition: 0.6s all 0.1s ease;
}
.anim.ac {
	opacity: 1;
	transform: scale(1)
}

.recommend .box .comic .img {
	transform: translate(0,-50px);
	transition: 0.8s all 0s ease;
}
.recommend .box .comic .comment {
	transform: translate(0,50px);
	transition: 0.8s all 0s ease;
}
.recommend .box .btn {
	transform: translate(-50px,0);
	transition: 0.8s all 0s ease;
	
}
.recommend .box .comic .img.ac,.recommend .box .comic .comment.ac,.recommend .box .btn.ac {
	transform: translate(0);
}