@charset "utf-8";

/* COMMON */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
*{
	margin:0px;
	padding:0px;
	text-decoration:none;
	outline: none
}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
html {
	scroll-behavior: smooth;
}
body{
	max-width: 100% !important;
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #ffffff !important;
}

.crumbs-bg {
	background-color: #F1F9F6;
}
.pc {
  display:block !important;
}
.sp {
  display:none !important;
}

/* ===== 2026/09 キャンペーン画像エリア =====
   デザイン画像を「メインビジュアル」「報酬テーブル」「追加ボーナス〜シミュレーション」の
   3枚に分割し、間にCTAボタンを挟んでいる。
   各画像の背景色をCSS側でも指定し、画像幅(最大1440px)より広い画面でも継ぎ目が出ないようにする。 */
.main {
	background: #fff4c0;
	margin-bottom: 0;
}
/* 画像幅(1440px)より広い画面では、画像の左右端1px列を横に引き伸ばして継ぎ目なく背景を延長する */
.main-img {
	position: relative;
	max-width: 1440px;
	margin: 0 auto;
}
.main-img::before,
.main-img::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100vw;
	background-repeat: repeat-x;
	background-size: auto 100%;
	z-index: 0;
}
.main-img::before {
	right: 100%;
	background-image: url(/contents/campus/conts/20260904/images/campaign_PC_edge_l.png);
}
.main-img::after {
	left: 100%;
	background-image: url(/contents/campus/conts/20260904/images/campaign_PC_edge_r.png);
}
.main {
	overflow: hidden;
}
.main-img img {
	position: relative;
	z-index: 1;
}
.main-img img,
.cp-img img {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	display: block;
}
.cp-cta {
	background: #ffe982; /* 画像の薄黄色と同色 */
	padding: 16px 16px 8px;
}
.cp-cta .btn-area {
	margin-top: 8px;
	margin-bottom: 8px;
}
.cp-cta .login-required {
	color: #7a6a2a;
	margin-bottom: 0;
	padding-bottom: 8px;
}
.cp-reward {
	background: #ffe982;
}
.cp-bonus {
	/* 画像内の「薄黄→白→薄緑」の切り替え位置(高さ比)に合わせたハードストップ */
	background: linear-gradient(to bottom, #ffe982 0, #ffe982 7.3%, #ffffff 7.3%, #ffffff 50.6%, #e2f3ec 50.6%, #e2f3ec 100%);
}

.info{
	text-align: center;
	font-weight: bold;
}

.info-step{
	text-align: center;
	margin-top:80px;
 	font-weight: bold;
}
.main-text h3 {
	display: inline-block;
	color: #01B8BE;
	padding: 8px 16px;
	margin-bottom: 0;
	background-color: #ffffff;
	border-radius: 40px;
	border: 2px solid #01B8BE;
}
.main-text h2 {
	margin-bottom: 8px;
}
.main-text h1 {
	font-size: 42px;
	margin-top: 8px;
	color: #ff5722;
}
.Campaign, .CampaignStep {
	max-width: 1050px;
	margin: 0 auto;
	margin-bottom:40px;
	text-align: center;
}
.Campaign h4 {
	color: #E8477C;
	font-size: 32px;
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: 10px;
	padding-top:10pX;
	border-bottom:  4px solid #E8477C;
}
.Campaign-text {
	font-size: 1.2rem;
	border-radius: 8px;
	padding: 30px 16px;
	line-height: 1.5;
	max-width: 800px;
	margin: 16px auto 16px;
	width: 100%;
}
.campaign-text-memo{
	margin-top:10px;
	font-size:1.2rem;
}
.campaign-text-memo-2{
	margin-top:10px;
	font-size:1.0rem;
	color: #888888;
}
.Campaign-text .text-b {
	font-size: 2rem;
	font-weight: bold;
	color: #333333;
}
.Campaign-text .cpn-b {
	font-size: 2.5rem;
	font-weight: bold;
	color: #E8477C;
	line-height: 1.5;
}
.Campaign span.comments,
.CampaignStep span.comments {
	font-size: 1rem;
	color: #888888;
}


.comments{
	color:  #888888;
	text-decoration:underline;
}
.CampaignStep h4 {
	color: #01b8be;
	font-size: 32px;
	max-width: 800px;
	margin: 0 auto 50px;
	padding: 20px;
	border-bottom:4px solid #01b8be;
}
.CampaignStep-box {
	display: inline-flex;
}
.Step-bg {
	margin: 0 24px;
	border: 2px solid #01b8be;
	border-radius: 8px;
	width: 400px;
	position: relative;
}
.Step-bg img {
	width: 80%;
}
.step-text {
	font-size: 16px;
    padding: 8px 0;
    margin-bottom: 16px;
    color: #01b8be;
    font-weight: bold;
}
.Step {
	background-color: #01b8be;
    color: #ffffff;
    font-weight: bold;
    width: 80%;
    margin: 0 auto;
    border-radius: 99px;
    padding: 8px 0;
    position: relative;
    top: -20px;
}

.how-to-post{
	color: #7d7d7d;
	font-size: 32px;
	max-width: 800px;
	margin: 0 auto 50px;
	padding: 20px;
	border-bottom:4px solid #7d7d7d;

}

.post-detail{
	font-size:18px;
	padding-left:10px;
}

.post-img {
	max-width: 400px;
	width: 100%;
	margin-top:20px;
}

#CampaignNotes {
	background-color: #f2f2f2;
	margin-bottom: 40px;
	padding-bottom: 80px;
}
.notestitle {
	text-align: center;
	font-size: 24px;
    padding: 40px 0;
    color: #3b3b3b;
}
.notes {
	background-color: #ffffff;
	border-radius: 8px;
	font-size: 14px;
	width: 850px;
	padding: 40px;
	margin: 0 auto;
}
.notes a {
	text-decoration: underline;
}
.notes ul {
	margin: 4px 0 24px 0;
	padding-left: 0;
	line-height: 2;
}

.notes ul li.list-style-none {
	list-style: none;
	padding-left: 1em;
    text-indent: 0em;
}
.indent {
	text-indent: 1em;
}
.notes ul li　ul li {
	list-style: none;
}
.btn-area {
	text-align: center;
	margin-bottom: 40px;
	margin-top: 40px;
}
a.btn {
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  color: #fff;
  background-color: #E65100;
  font-size: 1.8rem;
}
a.btn:hover {
	opacity: 0.8;
}
a.btn--red.btn--cubic {
  border-bottom: 5px solid #00000033 ;
}

a.btn--radius {
  border-radius: 100vh;
}

.no-active {
	    font-weight: bold;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
    color: #fff;
    background-color: #767676;
    font-size: 2rem;
    border-radius: 999px;
}
.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}

/* PC用中央寄せ */
@media only screen and (min-width: 769px) {
  .Campaign img.pc {
    display: block;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 768px) {
	 .sp {
    display: block !important;
    width: 100%;
    height: auto;
  }
  .pc {
    display: none !important;
  }
	.main-img img {
	    width: 100%;
	}
	.Campaign, .CampaignStep {
		padding-left: 8px;
    	padding-right: 8px;
	}
	.Campaign-text {
	    width: 80%;
	}
	.Step-bg {
      width: initial;
	    margin-bottom: 56px;
	    font-weight: bold;
	}
	.Step-bg:last-child {
        width: initial;
	    margin-bottom: 8px;
	    padding-bottom: 16px;
	    font-weight: bold;
	}
	.CampaignStep-box {
		display: block;
	}
	.notes {
		width: initial;
		margin: 0 16px;
		padding: 16px;
	}
	.notes ul {
	    padding-left: 0.5em;
	}
	.notes ul.indent-ul {
	    padding-left: 1.5em;
	}
	a.btn,
	.no-active {
	    padding: 1rem 2rem;
    	margin: 0 8px;
	}
	a.btn {
	    font-size: 1.5rem;
	    white-space: nowrap;
	}
	/* SP版の切り替え位置(高さ比) */
	.cp-bonus {
		background: linear-gradient(to bottom, #ffe982 0, #ffe982 9%, #ffffff 9%, #ffffff 52.5%, #e2f3ec 52.5%, #e2f3ec 100%);
	}
}
.cpn-end-text {
	color: red;
}



h4 {
	font-size: 16px;
	margin-bottom: 16px;
	text-align: center;
	padding-left:20px;
	padding-right:20px;
}
.about-text {
	margin-bottom: 16px;

}
.post {
	margin-bottom: 20px;
}
.post a {
	display: block;
	text-decoration: underline;
	color: #007e82;
	}
.post-line{
	text-align: center;
	padding:8px;
	font-weight: bold;
	font-size:20px;
}
#post-existing h3,
#post-new h3 {
	padding-top:20px;
	padding-left:20px;
	padding-right:20px;
	padding-bottom: 3px;
	font-size: 24px;
	color: #e8477c;
	text-align: center;


}
#post-existing .bg,
#post-new .bg {
	padding: 16px 0 16px 32px;
	margin-bottom: 40px;
	background-color: #fffae4;
	max-width: 850px;
    margin: 0 auto;
    padding-bottom: 80px;
	border-radius: 8px;
}
#post-new .bg {
	margin-bottom: 50px;
}

.post-text span {
	font-weight: bold;
	font-size: 24px;
	color: #007e82;
	margin-left:10px;
}
.bg img {
	margin-bottom: 24px;
}
.annotation {
	display: block;
}

  @media only screen and (max-width: 768px) {
		.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.main {
		padding: 0; /* SPはメインビジュアルを端まで表示 */
	}
	#post-existing .bg, #post-new .bg {
	    padding: 8px;
	}
}
.login-required {
    text-align: center;
    font-size: 14px;
    color: #a9a9a9;
    margin-bottom: 10px;
}

/* ===== 投稿方法セクション(授業評価の投稿方法)のレイアウト調整 2026/09 =====
   本文が画面左端に寄る・行間が詰まる問題への対応。上の旧ルールを上書きする。 */
.info-step {
	margin-top: 64px;
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 1.8;
	padding: 0 16px;
}
#post-existing,
#post-new {
	max-width: 850px;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}
.how-to-post {
	margin: 0 auto 28px;
	padding: 12px 20px 16px;
	line-height: 1.4;
}
.post {
	margin-bottom: 4px;
}
.post-line {
	padding: 6px 8px;
	font-size: 18px;
	line-height: 1.6;
}
#post-existing h3,
#post-new h3 {
	margin: 48px 0 12px;
	padding: 0 16px;
	font-size: 24px;
	line-height: 1.4;
}
#post-existing > p,
#post-new > p {
	text-align: center;
	font-size: 15px;
	line-height: 1.8;
	color: #555555;
	margin: 0 auto 20px;
	padding: 0 16px;
}
#post-existing .bg,
#post-new .bg {
	padding: 32px 40px 40px;
	margin: 0 auto;
	border-radius: 12px;
	text-align: center; /* 手順テキスト・画像とも中央揃え */
}
#post-new .bg {
	margin-bottom: 0;
}
.post-text {
	font-size: 14px;
	line-height: 1.9;
	margin: 0;
}
.post-text span {
	font-size: 24px;
	line-height: 1.4;
	margin-left: 0;
	margin-right: 6px;
	vertical-align: -1px;
}
.post-detail {
	font-size: 18px;
	line-height: 1.5;
	padding-left: 4px;
}
.post-img,
.bg img.post-img {
	display: block;
	max-width: 400px;
	width: 100%;
	height: auto;
	margin: 16px auto 40px;
	border-radius: 6px;
}
.bg img.post-img:last-of-type {
	margin-bottom: 24px;
}
.annotation {
	display: block;
	font-size: 13px;
	line-height: 1.8;
	color: #666666;
	margin-top: 8px;
}
@media only screen and (max-width: 768px) {
	.info-step {
		margin-top: 48px;
		font-size: 14px;
	}
	#post-existing,
	#post-new {
		padding: 0 12px;
	}
	.how-to-post {
		font-size: 24px;
		margin-bottom: 20px;
		padding: 8px 12px 12px;
	}
	.post-line {
		font-size: 16px;
	}
	#post-existing h3,
	#post-new h3 {
		margin: 40px 0 10px;
		font-size: 20px;
	}
	#post-existing > p,
	#post-new > p {
		font-size: 14px;
		margin-bottom: 16px;
	}
	#post-existing .bg,
	#post-new .bg {
		padding: 24px 16px 32px;
		border-radius: 10px;
	}
	.post-detail {
		font-size: 16px;
	}
	.post-text span {
		font-size: 22px;
	}
	.post-img,
	.bg img.post-img {
		max-width: 100%;
		margin: 12px auto 32px;
	}
}
