@charset "utf-8";
/* CSS Document */


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');


/*目次

1.FSの設定打消し(不使用)
2.全体の設定
3.PC版とSP版での表示切替（見出しなどで分けたい場合に使用）
4.メインビジュアル（h1）部分
5.メッセージ部分
6.概要部分
7.ステップ部分
8.サポート部分
9.コンタクト部分
10.notice注意部分
11.フッター部分

ex.ナビメニュー部分
ex.追従ボタン/応募部分
ex:パンくずリスト
ex:フェードインエフェクト　


*/



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
1.FSの設定打消し
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
2.全体の設定
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*全体の設定/フォントなど*/
.jsb-body{
	text-align: left;
	font-size:1.3rem;
	line-height: 1.5;
	letter-spacing: 0.07em;
	font-family:'Noto Sans JP','Helvetica Neue', Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans', Meiryo, sans-serif;
	font-weight: 500;
	/*背景色*/
	background-color: #fff;
}
@media screen and (max-width:768px) {
	.jsb-body{
		
	}
}



/*リンクの設定*/
.jsb-body a{
	text-decoration:none;
	color:black;
}
.jsb-body a:hover,a:hover img{
	opacity:0.6;
    -moz-opacity:0.6;
    filter:alpha(opacity = 60);
}


/*widthなどの適応範囲をborder基準に変更*/
.jsb-body, .jsb-body::before, .jsb-body::after{
	box-sizing: border-box;
}


/*SP版画像サイズ制御*/
@media screen and (max-width:768px) {
    /*　画面サイズが768px以下の時はここを読み込む　*/
	
	.jsb-body img{
	width:100%;
	height: auto;
	}
}

/*PC980px、SP100%*/
.jsb-container{
	width:980px;
	margin:auto;
}
@media screen and (max-width: 768px){   
	.jsb-container{
		width:100%;
	}
}

/*縦の余白定義*/
.container{
	padding:42px 0px;
}
/*横の余白定義*/
.contents{
	margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.wrap{
	overflow: hidden;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
3.PC版とSP版での表示切替（見出しなどで分けたい場合に使用）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*brタグにclassを追加
PCのみで改行→pc <br class="pc">
SPのみで改行→sp <br class="sp">
※両方共通の改行の場合は<br>のみでOK

他、PCとSPで表示を分けたい部分にも使用可能
*/

@media screen and (min-width: 768px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 768px){   
  .pc { display:none; }
  .sp { display:block; }
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
4.メインビジュアル（h1）部分
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.jsb-main .main {
	display: flex;
  	justify-content: center;
  	align-items: center;

	text-align: center;
	background-color: #fab152;
}
/*背景画像*/
.fullimage {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: url(../img/main_back-img.jpg)
    center / cover;
}
/*ロゴ画像*/
.jsb-main .main_logo img{
	margin: auto;
	width:85%;
}
/*テキスト01*/
.jsb-main .main_text .text01{
	color:#fff;
	font-size:1.2em;
}
/*テキスト02*/
.jsb-main .main_text .text02{
	margin: 0.5em auto;
	line-height: 1.4;
	color: #fff;
}
.jsb-main .main_text .text02 .color{
	color:#000;
	background-color: #ff9ca2;
	font-weight: 700;
}
/*テキスト03*/
.jsb-main .main_text .text03{
	display: inline-block;
	margin: 2em auto;
	/*width:80%;*/
	font-size:0.5em;
	border:solid 1px #fff;
	padding:1em;
	color:#fff;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .main_logo img{
		width:60%;
	}
	.jsb-main .main_text .text03{
		/*width:460px;*/
		font-size:0.7em;
	}
}

/*応募期間 date*/
.jsb-main .main_text .date{
	margin: 1em auto;
	font-size:0.8em;
	color:#fff;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
5.メッセージ部分
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.jsb-main .message{
	background-color: #f2f0ed;
	padding:1em;
}
/*タイトル*/
.jsb-main .message h2{
	margin:0;
	font-weight: 700;
	font-size:1.3em;
}
.jsb-main .message h2:first-letter{
	color:#fab152;
}
/*SP設定*/
@media screen and (max-width: 768px){
	.jsb-main .message h2{
		font-size:5vw;
	}
}
/*テキスト01*/
.jsb-main .message .text01{
	padding-top:1em;
	font-size: 0.6em;
	line-height: 2;
}
/*テキスト02*/
.jsb-main .message .text02{
	margin-top:2em;
	font-size: 0.8em;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .message .text01{
		padding-top:2em;
		font-size: 0.65em;
	}
	.jsb-main .message .text02{
		margin-top:1.5em;
		font-size:1.2em;
	}
	.message_itembox{
		/*フレックスボックスの設定*/
		display: -webkit-flex;
    	display: flex;
    	-webkit-flex-wrap: wrap;
    	flex-wrap: wrap;
		/*フレックスボックスの要素を中央寄せ*/
		justify-content: center;
		align-items: center;
		width:100%;
	}
	.message_item01{
		width:40%;
	}
	.message_item01 img{
		width:100%;
	}
	.message_item02{
		width:60%;
		padding-left:70px;
		box-sizing: border-box; /* paddingが効くようにする */
	}
	.message_imgbox{
		/*フレックスボックスの設定*/
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		/*フレックスボックスの要素を中央寄せ*/
		justify-content: center;
		align-items: center;
		width:100%;
		
		margin-top:50px;
	}
	.message_imgitem{
		width:33.333333333%;
	}
	.message_imgitem img{
		width:100%;	
	}
}

/*SP設定*/
@media screen and (max-width: 768px){
	.message_item01{
		width:80%;
		margin:auto;
	}
	.message_item02{
		margin-top:1.5em;
	}
	.message_imgbox{
		margin-top:1.5em;
		line-height: 0;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
6.概要部分
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.jsb-main .overview{
	background-color: #f2f0ed;
	text-align: center;
}
/*背景画像*/
.fullimage2 {
  position: relative;
  width: 100%;
  /*min-height: 100vh;*/
  background: url(../img/overview_back-img.jpg)
    center / cover;
}
/*タイトル*/
.jsb-main .overview h2{
	margin:1.5em auto;
	font-weight: 700;
	color:#fff;
	text-shadow: 1px 2px 3px #000;
}
/*テキスト01*/
.jsb-main .overview .text01{
	/*padding-top:0.5em;*/
	font-size:0.7em;
	color:#fff;
	text-shadow: 1px 2px 3px #000;
}
/*テキスト02*/
.jsb-main .overview .text02-box{
	margin:3.5em auto;
	padding:1em;
	color:#000;
	font-size: 0.7em;
	background-color: #ffffff;
}
.jsb-main .overview .text02-t{
	display: inline-block;
	padding:0.5em;
	border-bottom: solid 2px #fab152;
}
.jsb-main .overview .text02-in{
	padding:1em;
}
.jsb-main .overview .text02-in2{
	display: inline-block;
	text-align: left;
	font-size:0.8em;
	font-weight: 500;
	border:1px solid #fab152;
	padding:1em;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .overview .text02-box{
		width:400px;
	}
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
7.ステップ部分
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.jsb-main .step{
	background-color: #fff;
}
/*タイトル*/
.jsb-main .step h2{
	margin:0;
	font-weight: 700;
	text-align: center;
}
.jsb-main .step h2:first-letter{
	color:#fab152;
}
/*ステップ1～4のボックスデザイン*/
.jsb-main .step .step-item01{
	position: relative;
	margin:2.5em auto;
	padding:1em;
	background-color: #f2f0ed;
}
.jsb-main .step .stripe{
	position: absolute;
  	top: 0;
  	right: 0;
  	left:0;
  	height: 30px;
  	/* ストライプパターンのCSS */
 	background : repeating-linear-gradient(315deg,
                                         #fab152,
                                         #fab152 2px,
                                         rgba(255, 255, 255, 0.10) 0,
                                         rgba(255, 255, 255, 0.10) 4px);
}
.jsb-main .step .item{
	/*position: relative;*/
}
.jsb-main .step .number{
	position:absolute;
	z-index: 10;
	margin: -45px auto 0;
	
	padding:0.5em;
	width:20px;
	height:20px;
	border:solid 2px #000;
	background-color: #fff;
	color: #fab152;
	
	/*タイトル枠線上左右中央配置*/
 	left: 50%;
 	transform: translateX(-50%);
 	-webkit-transform: translateX(-50%);
 	-ms-transform: translateX(-50%);
	
	display: flex;
  	justify-content: center;
  	align-items: center;
}
/*アイコン部分*/
.jsb-main .step .heading{
	margin:1em auto 0.5em;
	position: relative;
	
	display: flex;
  	justify-content: center;
  	align-items: center;
}
.jsb-main .step .heading .text{
	position:absolute;
	font-weight: 700;
	text-align: center;
}
.jsb-main .step .heading .image img{
	width:100%;
}
.jsb-main .step .under_text{
	padding-top:1em;
	font-size:0.7em;
	text-align: center;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .step .under_text{
		font-size:0.6em;
		line-height: 1.7;
	}
}

/*矢印*/
.jsb-main .step .arrow{
	margin:auto;
	width: 0;
  	height: 0;
  	border-top: 20px solid #000;
 	border-right: 30px solid transparent;
  	border-bottom: 30px solid transparent;
  	border-left: 30px solid transparent;
}


/*ステップ5～のボックスデザイン*/
.jsb-main .step .step-item02,.step-item03{
	position: relative;
	margin:1em auto 2.5em;
	padding:1em;
	background-color: #f4f4f4;
	text-align: center;
}
	/*タイトル*/
.jsb-main .step .step-item02 .title , .step-item03 .title{
	margin:0;
	font-weight: 700;
	font-size:1.5em;
}
.jsb-main .step .step-item02 .title:first-letter ,.step-item03 .title:first-letter{
	color:#fab152;
}
/*PC設定*/
@media screen and (min-width: 768px){
	/*STEP05背景&テキスト位置調整*/
	.jsb-main .step .step-item02{
		height:170px;
		background-image: url("../img/step05_back-img_pc.jpg");
		background-size:cover;
		
		padding-top:2em;
		padding-left:100px;
		text-align: left;
	}
	.jsb-main .step .step-item02 .under_text{
		text-align: left;
	}
	/*STEP06背景&テキスト位置調整*/
	.jsb-main .step .step-item03{
		height:170px;
		background-image: url("../img/step06_back-img_pc.jpg");
		background-size:cover;
		
		padding-top:2em;
		padding-right:40px;
		text-align: right;
	}
	.jsb-main .step .step-item03 .under_text{
		text-align: right;
	}
}

  /*三角*/
.jsb-main .step .stripe-tri{
	position: absolute;
  	top: 0;
  	right: 0;
  	left:0;
  	width: 0;
  	height: 0;
  	border-top: 30px solid #fab152;
 	border-right: 80px solid transparent;
  	border-bottom: 7px solid transparent;
  	border-left: 20px solid #fab152;
}

/*PC設定*/
@media screen and (min-width: 768px){   
	.jsb-main .step .step-box_in{
		/*フレックスボックスの設定*/
		display: -webkit-flex;
    	display: flex;
    	-webkit-flex-wrap: wrap;
    	flex-wrap: wrap;
		/*フレックスボックスの要素を中央寄せ*/
		justify-content: center;
	}
	.step-item01{
		/*フレックスボックスの1つの幅設定*/
		width:18%;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
8.サポート部分
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.jsb-main .support{
	background-color: #f2f0ed;
}

.jsb-main .support .box{
	padding:10%;
	background-image: url("../img/support_back-img.jpg");
	background-size:cover;
}

.jsb-main .support h2{
	margin:auto;
	padding:20px;
	background-color: #fff;
	border:1px solid #000;
	text-align: center;
	width:80%;
	/*box-shadow: 4px 4px #fab152;*/
	font-size: 1.25em;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .support h2{
		width:300px;
	}
}

.jsb-main .support .box_title{
	font-size: 0.6em;
	font-weight: normal;
	padding-top:1.5em;
}

	/*タイトル*/
.jsb-main .support .box_title{
	margin:0;
	font-weight: 700;
	font-size:1.3em;
}
.jsb-main .support .box_title:first-letter{
	color:#fab152;
}

/*テキスト*/
.jsb-main .support .box_text{
	font-size: 0.6em;
	font-weight: normal;
	padding-top:2em;
	padding-bottom:2em;
	line-height: 1.8;
}

/*リンクボタン*/
.jsb-main .support .box_link{
	display: inline-block;
	padding: 0.5em 1em;
	background-color: #111;
	color:white;
	margin: 0.5em 0 ;
	font-size: 0.6em;
	border-radius: 3px;
}


/*ポイント*/
.jsb-main .support .point_container{
	padding:0.25em 1.25em 1.25em;
	background-color: #fff;
	margin-top:1.5em;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .support .point_container{
		margin:5em auto 2em;
		width:500px;
	}
}

.jsb-main .support .point_box{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を中央寄せ*/
	justify-content: center;
	
	/*その他の設定*/
	padding-top:1em;
	margin:auto;
}
.jsb-main .support .point_box .item{
	/*フレックスボックスの1つの幅設定*/
	
	/*その他の設定*/
	width: 90px;/*幅*/
	height: 90px;/*高さ*/
	border-radius: 50%;/*角丸*/
	background-color:#fab152;
	
	margin:2%;
	color:#fff;
	font-size:0.8em;
	text-align: center;
	
	/*テキスト上下中央揃え*/
	display: flex;
  	justify-content: center;
 	align-items: center;
}
	
.jsb-main .support .point_text{
	text-align: center;
	padding-top:1em;
}


/*----------------------------------------
9.コンタクト部分
----------------------------------------*/

.jsb-main .contact{
	background-color: #fab152;
}

.jsb-main .contact h2{
	margin:0;
	font-weight: 700;
	text-align: center;
	color:#fff;
}


.jsb-main .contact .ct-text_h{
	text-align: center;
	margin:1em auto;
	font-weight: bold;
}
.jsb-main .contact .ct-text_h2{
	text-align: center;
	margin:1em auto;
	font-size:0.7em;
}

.jsb-main .contact .ct-text_join{
	margin:1em auto;
	display: inline-block;
	padding:20px;
	background-color:#fff;
	/*border:3px solid #000;*/
	border-radius: 100px;
	text-align: center;
	width:400px;
	max-width:80%;
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
	font-weight: bold;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .contact .ct-text_join{
		
	}
}

.jsb-main .contact .ct-text_date{
	text-align: center;
	font-size:0.8em;
	color:#fff;
}

/*応募条件*/
.jsb-main .contact .ct-conditions {
 position: relative;
 margin: 2em 1em;
 padding: 1.2em;
 background-color: transparent; /* 背景色 */
 border: 1px solid #000; /* 枠線の太さ・色 */
 text-align: center;
}
.jsb-main .contact .ct-conditions .title {
 position: absolute;
 padding: 0 0.5em; 
 
 /*タイトル枠線上左右中央配置*/
 top: -10px;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);

 background-color: #fab152; /* タイトル背景色 */
 font-size:0.6em;
 font-weight: normal;
}

.jsb-main .contact .ct-conditions .text{
	font-size:0.8em;
	font-weight: bold;
}
/*PC設定*/
@media screen and (min-width: 768px){
	.jsb-main .contact .ct-conditions{
		margin: 2em auto;
		width:400px;
	}
}

/*応募条件下部テキスト*/
.jsb-main .contact .ct-text_under{
	text-align: center;
}
.jsb-main .contact .ct-text_under .text01{
	font-size:0.8em;
	font-weight: bold;
}
.jsb-main .contact .ct-text_under .text02{
	padding-top:2em;
	font-size:0.5em;
	font-weight: normal;
}



/*----------------------------------------
10.notice注意部分
----------------------------------------*/

.jsb-main .notice{
	background-color: #f2f0ed;
	text-align: center;
}

.jsb-main .notice h2{
	margin:0;
	font-weight: 700;
	text-align: center;
	color:#fab152;
}

.jsb-main .notice .nt-textbox{
	display: inline-block;
	margin: 0 auto;
}

p.indent{
	/*インデント*/
	padding-left:1em;
    text-indent:-1em;
	
	font-size: 0.5em;
	font-weight: normal;
	text-align: left;
}



/*----------------------------------------
11.フッター部分
----------------------------------------*/


.footer{
	background-color: #fff;
}

.footer .footer-box{
	font-size: normal;
	text-align: center;
	
	margin:0 auto 3em;
	width:90%;
	max-width: 438px;
	
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.footer .footer-logo img{
	width:90%;
	max-width: 438px;
}
.footer .footer-line{
	margin:1em auto;
	border-bottom: 1px solid #000;
}
.footer .footer-text01{
	font-size: 0.8em;
}
.footer .footer-text02{
	font-size: 0.4em;
}


/*----------------------------------------
ex.ナビメニュー部分
----------------------------------------*/

.menu {
  position: fixed;
  top: 0;
  right: 0;
  text-align: center;
  width: 100%;
  transform: translateY(-100%);
  transition: all 0.8s;
  z-index: 100000;
}
.menu__ul {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: rgba(0,0,0,0.75);
}
.menu__ul--item {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 0px solid #333;
}
.menu__ul--item a {
  display: block;
  padding: 0.5em 0;
  color: #fff;
  text-decoration: none;
}

.active {
  transform: translateY(-7%);
}

.icon {
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 100001;
}
.icon span {
  display: block;
  position: absolute;
  width: 30px;
  border-bottom: solid 2px;
  -webkit-transition: .30s;
  -moz-transition: .30s;
  transition: .30s;
}
.icon span:nth-child(1) {
  top: 10px;
}
.icon span:nth-child(2) {
  top: 20px;
}
.icon span:nth-child(3) {
  top: 30px;
}

.active span {
  border-bottom: solid 2px #ffffff;
}

.active span:nth-child(1) {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.active span:nth-child(2) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
.active span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}


/*----------------------------------------
ex.追従ボタン/応募部分
----------------------------------------*/
.fixed_btn
{
  position: fixed;
  bottom: 15px; 
  right: 15px;
  z-index: 100000;
	
	padding:15px 30px;
	background-color: #fab152;
	border-radius: 100px;
	border: none;
	text-align: center;
	font-size:14px;
	font-weight: bold;
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
}


.fixed_btn span{
	color:#fff;
}

@media (max-width: 768px) {
	.fixed_btn{
		width:90%;
		left: calc(50% - 90%/2);
	}
}


/*----------------------------------------
 ex:パンくずリスト　
----------------------------------------*/
.breadcrumb_box {
	width:100%;
	/*margin-top: 60px;*/
	font-size: 0.5em;
	text-align: center;
	border-top:black 1px dotted;
}
.breadcrumb_box .container{
	padding-top:15px;
	padding-bottom:15px;
}

@media (max-width: 768px) {
	.breadcrumb_box{
		margin-top: 0px;
		font-size: 0.5em;
	}
	.breadcrumb_box .container{
		padding-top:15px;
		padding-bottom:15px;
	}
}

.breadcrumb {
	padding-left:0;
	margin-left:0;
}

.breadcrumb li{
	display:inline;/*横に並ぶように*/
	list-style: none;
	/*font-weight: bold;*//*太字*/
}

.breadcrumb li:after {/* >を表示*/
	content: '>';
	padding: 0 3px;
	color: #555;
}

.breadcrumb li:last-child:after {
	content: '';
}

.breadcrumb li a {
	text-decoration: none;
	color: #000000;/*色*/
}

.breadcrumb li a:hover {
	text-decoration: underline;
}



/*----------------------------------------
 ex:フェードインエフェクト　
----------------------------------------*/
.fadein-top {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/*下から*/
.fadein {
	opacity : 0;
	transform: translateY(50px);
	transition: all 1s;
	-moz-transform: translateY(50px);
	-webkit-transform: translateY(50px);
	-o-transform: translateY(50px);
	-ms-transform: translateY(50px);
}