@charset "UTF-8";
a, abbr, address, article, aside, audio, blockquote, body, canvas, caption, cite, code, dd, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, iframe, img, ins, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption, td, th {
  text-align: left;
}

q::after,
q::before {
  content: '';
}

embed,
object {
  vertical-align: top;
}

abbr,
acronym,
fieldset,
img {
  border: 0;
}

li {
  list-style-type: none;
}

a,
label {
  cursor: pointer;
}

a:active,
a:focus {
  outline: none;
}

button-moz-focus-inner,
input-moz-focus-inner {
  padding: 0;
  border: 0;
}

* {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

caption,
th {
  text-align: left;
}

q:after,
q:before {
  content: '';
}

abbr, acronym, fieldset, img {
  border: 0;
  vertical-align: bottom;
}

li {
  list-style-type: none;
}

em {
  font-style: normal;
  font-weight: normal;
}

strong {
  font-weight: normal;
}

.wrapper a {
  overflow: hidden;
  color: #4473ae;
  text-decoration: underline;
}

.wrapper a:hover {
  text-decoration: none;
}

.wrapper a:focus {
  outline: none;
}

body {
  margin: 0;
  font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","MS P Gothic","ＭＳ Ｐゴシック",Osaka,Helvetica,Arial,sans-serif;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}


.spFoot,
.spGnav,
.spHead {
  display: none;
}

@media screen and (max-width: 640px) {
  
  .spFoot,
  .spGnav,
  .spHead {
    display: block;
  }
}



.wrapper {
  margin: 0 auto 40px;
  /*margin: 0 auto 0;*/
  padding-bottom: 40px;
  text-align: center;
  position: relative;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-width: 1024px;
}


.wrapper * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wrapper *:after,
.wrapper *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wrapper *:after,
.wrapper *:before {
  pointer-events: none;
}

.wrapper .for-sp {
  display: none;
}

.wrapper .for-pc {
  display: block;
}

.wrapper .for-pc-inlineblock {
  display: inline-block;
}

.wrapper .for-sp-inlineblock {
  display: none;
}

.wrapper a {
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.wrapper a:hover {
  opacity: 0.75;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
}

.wrapper .clearfix::after,
.wrapper .clearfix:after {
  content: '';
  clear: both;
  display: table;
}

.wrapper .rich-outer {
  width: 100%;
  min-width: 950px;
  margin: 0 auto;
}

.wrapper img {
  max-width: 100%;
  vertical-align: bottom;
}

.wrapper #pagetop {
  padding: 0 0 30px 830px;
}



@media screen and (max-width: 640px) {
  .wrapper {
    width: 100%;
    min-width: 320px;
    margin-top: 0;
    font-size: 16px;
		background-size:contain;
		padding-bottom: 6%;

  }
  .wrapper .for-sp {
    display: block;
  }
  .wrapper .for-pc {
    display: none;
  }
  .wrapper .for-pc-inlineblock {
    display: none;
  }
  .wrapper .for-sp-inlineblock {
    display: inline-block;
  }
  .wrapper img {
    vertical-align: bottom;
  }
}

.c_wp {
	width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.sec_mt {
	margin-top:160px;
}
.sp {
	display:none;
}
@media screen and (max-width: 640px) {
.c_wp {
	width:100%;
	margin-left:auto;
	margin-right:auto;
}
.sp {
	display:block;
}
.sec_mt {
	margin-top:80px;
}
}
/*アンカー*/
.anc_list {
	width:80%;
	margin:15px auto 15px;
	height:42px;
}
@media screen and (min-width: 641px) {
.anc_list {
	display:table !important;
}
}

.anc_list li {
	display:table-cell;
	width:25%;
	vertical-align:top;
	font-size:18px;
}
.anc_list li a {
	line-height:3em;
	color:#333;
	text-decoration:none;
	display:block;
	font-weight:bold;
}
@media screen and (min-width: 641px) {
.anc_list li a {
	border-bottom:5px solid #fff;
}
.anc_list li a:hover {
	border-bottom:5px solid #019fe8;
}
}

.sp_anc {
	display:none;
}
.anc_list li.h_logo {
	display:none;
	width:0;
}
.stiky {
	position: -webkit-sticky;
  position: sticky;
}

@media screen and (max-width: 640px) {
.sp_anc_wp {
	width:100%;
	position: -webkit-sticky;
  position: sticky;
  top: 0;
	z-index:997;
	background-color:#fff;
}
.sp_anc_wp_in {
	position:relative;
	background-color:#fff;
}
.sp_anc {
	display:block;
	position:absolute;
	top:5px;
	right:5px;
	width:50px;
	height:50px;
	background-image:url(../images/h_op.png);
	background-position:0 0;
	background-repeat:no-repeat;
	background-size:50px 50px;
}
.sp_anc.acc_open {
	background-image:url(../images/h_cl.png);
}
.sp_anc:hover {
	cursor:pointer;
}
.anc_list li.h_logo {
	display:block;
	width:100%;
	padding-left:6%;
	padding-right:25%;
	padding-bottom:10px;
}

.anc_list {
	width:100%;
	position:absolute;
	top:0;
	left:0;
	background-color:#fff;
	margin-top:0;
	padding-top:10px;
	display:none;
	height:auto;
}
.anc_list li {
	display:block;
	width:100%;
	font-size:4vw;
}
.anc_list li a {
	display:block;
	text-align:center;
	color:#fff;
	background-color:#54c3f1;
	background-image:url(../images/a_y.png);
	background-repeat:no-repeat;
	background-position:92% center;
	background-size:auto 1em;
	border-bottom:1px solid #fff;
}
}
/* 応募ボタン */
.r_btn {
	z-index:1;
	top:75vh;
	max-width:1200px;
	margin:0 auto;
	width:100%;
}
.r_btn_b {
	width:121px;
	float:right;
}


 /* fixed */
/*.r_btn {
	position:fixed;
	right:0;
	left:0;
	bottom:100px;	
	overflow:hidden;
	z-index:1;
	max-width:1200px;
	margin:0 auto;
	width:100%;
}*/



@media screen and (max-width: 640px) {
.r_btn {
	display:none;
}
}





/*title*/
.ttl_area {
	display:table;
	width:90%;
	margin:0 auto;
	background-image:url(../images/ttl_bg.jpg);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:95% auto;
	height:540px;
}
/*.ttl_area_l {
	display:table-cell;
	width:37%;
	vertical-align:middle;
}*/
.ttl_area_l {
    display: table-cell;
    width: 37%;
}
@media screen and (min-width: 641px) {
	.ttl_area_l {
    padding-top: 60px;
}
}

@media screen and (max-width: 640px) {
	.ttl_area_l {
		width:50% !important;
	}
}

/*.ttl_area_r {
	display:table-cell;
	vertical-align:middle;
	font-size:50px;
	text-align:left;
	padding-left:25px;
	line-height:1.6;
	letter-spacing:-.02em;
	font-weight:bold;
}*/
.ttl_area_r {
    display: table-cell;
    vertical-align: top;
    font-size: 50px;
    text-align: left;
    padding-left: 25px;
    line-height: 1.6;
    letter-spacing: -.02em;
    font-weight: bold;
}
@media screen and (min-width: 641px) {
	.ttl_area_r {
    padding-top: 71px;
}
}
/*.ttl_area {
	max-width:860px;
	width:86%;
	margin:20px auto 0;
}*/
.bgy {
	padding:1px 5px;
	background-color:#fff100;
}
.kg,
.kg_r {
	/*margin-left:-.2em;*/
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
}
/*.kg_r {
	margin-right:-.2em;
}*/

@media screen and (max-width: 640px) {
.ttl_area {
	display:block;
	width:100%;
	background-position:center bottom;
	background-size:120% auto;
	height:auto;
}
.ttl_area_l {
	display:block;
	width:60%;
	margin:0 auto;
}
.ttl_area_r {
	margin-top:10px;
	display:block;
	width:100%;
	font-size:7vw;
	text-align:center;
	padding-left:0;
}
/*.ttl_area {
	max-width:none;
	width:100%;
	margin:0 auto;
}
*/
}


/* テキスト */
.txt {
	font-size:20px;
	line-height:2;
}
.kk {
	padding-left:1em;
	text-indent:-1em;
}
.txt .bgy {
	font-size:140%;
	line-height:1.4;
}
.mt01 {
	margin-top:1em;
}
@media screen and (max-width: 640px) {
.txt {
	font-size:3.8vw;
}
.txt .bgy {
	font-size:130%;
}
}

.txt01 {
	background-image:url(../images/txt01_bg_1.png),url(../images/txt01_bg_2.png);
	background-repeat:no-repeat,no-repeat;
	background-position:0% 50%, 100% 100%;
	background-size:37% auto, 32% auto;
	font-weight:bold;
}
.txt01 .txt {
	line-height:2.4;
}
.txt01 .mt01 {
	margin-top:1.8em;
}
@media screen and (max-width: 640px) {
.txt01 {
	margin-top:30px;
	font-weight:bold;
	background-image:url(../images/txt01_bg_1.png),url(../images/txt01_bg_2.png),url(../images/txt01_bg_1.png),url(../images/txt01_bg_2.png);
	background-repeat:no-repeat,no-repeat, no-repeat, no-repeat;
	background-position:-30% 20%, 130% 48%, -45% 62%, 130% 92%;
	background-size:50% auto, 50% auto, 50% auto, 50% auto;
}
.txt01 .mt01 {
	margin-top:1.5em;
}

}

.txt01_btm {
	margin-top:-100px;
	height:222px;
	background-image:url(../images/txt01_bg_3.png);
	background-repeat:repeat-x;
	background-position:center top;
	background-size:1427px auto;
}
@media screen and (max-width: 640px) {
.txt01_btm {
	margin-top:-50px;
	height:180px;
	background-position:65% top;
	background-size:auto 150px;
}
}


/* 概要 */
.mh {
	width:34%;
	max-width:332px;
	margin:0 auto;
}
.c_wp h2 {
	text-align:center;
	font-size:48px;
	letter-spacing:.08em;
	font-weight:bold;
}
.txt02 {
	width:76%;
	margin:30px auto 0;
	text-align:left;
	font-weight:bold;
}
.img01 {
	width:90%;
	max-width:894px;
	margin:45px auto 0;
}
.img02 {
	width:85%;
	max-width:848px;
	margin:45px auto 0;
}
.img03 {
	width:100%;
	margin:80px auto 0;
}
@media screen and (max-width: 640px) {
.mh {
	width:48%;
}
.c_wp h2 {
	font-size:35px;
}
.txt02 {
	width:87%;
	margin:20px auto 0;
	font-weight:bold;
}
.img01 {
	width:94%;
	margin:30px auto 0;
}
.img02 {
	width:100%;
	margin:25px auto 0;
}
.img03 {
	width:100%;
	margin:40px auto 0;
}
}


/* スケジュール */
.s2_i {
	width:11%;
	max-width:102px;
	margin:25px auto 0;
}
.s2_img {
	width:82%;
	max-width:814px;
	margin:60px auto 0;
}
@media screen and (max-width: 640px) {
.s2_i {
	width:16%;
	max-width:102px;
	margin:25px auto 0;
}
.s2_img {
	width:76%;
	margin:50px auto 0;
}
}


.x_bg {
	width:100%;
	height:211px;
	background-image:url(../images/x_bg.gif);
	background-repeat:repeat-x;
	background-position:center top;
	background-size:1508px auto;
}
.bl_bg {
	background-color:#d3edfb;
	padding-top:50px;
	padding-bottom:185px;
	background-image:url(../images/x_bg2.png);
	background-repeat:repeat-x;
	background-position:center bottom;
	background-size:1518px auto;
}
@media screen and (max-width: 640px) {
.x_bg {
	display:none;
}
.bl_bg {
	background-color:#fff;
	padding-top:0;
	padding-bottom:0;
}
}


/* 募集要項 */
.c_wp.s3 {
	max-width:950px;
	width:95%;
	border-radius:20px;
	background-color:#fff;
	padding-top:20px;
	padding-bottom:140px;
}
.s3_i {
	width:9%;
	max-width:89px;
	margin:25px auto 0;
}
.s3_sh {
	margin-top:60px;
	font-weight:bold;
}
.fwb_sp {
	font-weight:bold;
}
.s3 .txt {
	line-height:1.6;
}

@media screen and (max-width: 640px) {
.c_wp.s3 {
	margin-top:50px;
	width:99%;
	padding-bottom:0;
}
.s3_i {
	width:14%;
	max-width:88px;
	margin:25px auto 0;
}
.fwb_sp {
	font-weight:bold;
}
}
.s3 .bgy {
	font-weight:bold;
}
.s3 .bgy {
	font-weight:bold;
}
.w_date {
	font-size:30px;
	letter-spacing:-.01em;
}
.w_date .sm {
	font-size:55%;
}

.yy img {
	padding:0 5px;
	height:1em;
	width:auto;
	vertical-align:middle;
	transform:rotate(-90deg);
}
@media screen and (max-width: 640px) {
.w_date {
	margin-top:15px;
	font-size:7vw;
	line-height:1.6;
}
.yy img {
	padding:0 5px;
	height:8vw;
	width:auto;
	vertical-align:middle;
	transform:rotate(0deg);
	background-color:#fff;
}
.bgy.pcn {
	background-color:#fff;
}
}

.bgy.wd {
	letter-spacing:.1em;
	padding:5px 20px;
}
.txt_bg {
	font-size:120%;
}

@media screen and (max-width: 640px) {
.o_txt_sp {
	padding:0 3%;
	text-align:left;
}
}


.c_n {
	width:62px;
	height:62px;
	margin:30px auto 0;
	background-color:#fff100;
	border-radius:50%;
	display:table;
}
.c_n span {
	font-size:50px;
	line-height:62px;
	font-weight:bold;
	display:table-cell;
	vertical-align:middle;
	height:62px;
	width:62px;
}
@media screen and (max-width: 640px) {
.c_n {
	width:50px;
	height:50px;
	margin:30px auto 0;
	background-color:#fff100;
	border-radius:50%;
	display:table;
}
.c_n span {
	font-size:40px;
	line-height:50px;
	font-weight:bold;
	display:table-cell;
	vertical-align:middle;
	height:50px;
	width:50px;
}
}

.s3_txt {
	width:84%;
	margin:15px auto 0;
}
@media screen and (max-width: 640px) {
.s3_txt {
	width:94%;
	margin:15px auto 0;
}
}


.c_n_h {
	text-align:left;
	font-size:22px;
	font-weight:bold;
	padding-bottom:8px;
	padding-left:8px;
	border-bottom:8px dotted #fff100;
	margin-bottom:5px;
}
.nes {
	color:#fff;
	background-color:#e60012;
	padding:2px 10px;
	margin-left:5px;
}
.nes.nn {
	background-color:#00a0e9;
}
.s3_txt .txt {
	text-align:left;
	padding-left:8px;
}
.s3_txt .kk {
	padding-left:1.5em;
	text-indent:-1.5em;
}
@media screen and (max-width: 640px) {
.c_n_h {
	font-size:20px;
}
}




.s3_term {
	margin-top:30px;
	border:1px solid #231815;
	padding:10px 15px;
	height:200px;
	overflow-y:scroll;
}
.s3_term p {
	text-align:left;
	font-size:16px;
	padding-left:1em;
	text-indent:-1em;
	margin-top:2px;
}
.s3_term p:before {
	content:'●';
	padding-right:2px;
	font-size:14px;
}
@media screen and (max-width: 640px) {
.s3_term p {
	font-size:13px;
}
}

/* 応募ボタン */
.ob_btn {
	text-align:center;
	width:540px;
	border:6px solid #333;
	margin:-60px auto 0;
	background-color:#fff;
	font-size:26px;
	font-weight:bold;
	line-height:1.4;
	position:relative;
	z-index:1;
}
.ob_btn .ob_h {
	font-size:48px;
	padding-right:1em;
	background-image:url(../images/yy.png);
	background-repeat:no-repeat;
	background-position:center right;
	background-size:auto 100%;
}
.ob_btn a {
	display:block;
	text-decoration:none;
	color:#333;
	padding:10px 0;
}
.btn_y {
	color:#fff100;
}
.ob_btn a:hover {
	background-color:#54c3f1;
	opacity:1;
}

@media screen and (max-width: 640px) {
.ob_btn {
	text-align:center;
	width:94%;
	border:2px solid #333;
	margin:25px auto 0;
	background-color:#fff;
	font-size:4vw;
}
.ob_btn .ob_h {
	font-size:7vw;
}
}

/*お問い合わせ*/
.contact {
	width:85%;
	max-width:848px;
	margin:80px auto 0;


}
@media screen and (max-width: 640px) {
.contact {
	width:100%;
	max-width:none;
	margin:80px auto 0;
}
}

.mt08 {
	margin-top:0.8em;
}


@media screen and (min-width: 641px) {
	.c_wp .pc { display:block;}
	.c_wp .sp {display:none;}
	
	.txt03 {
	font-size:16px;
	text-align: left;
	padding-left:90px;
}
}


@media screen and (max-width: 640px) {
	.c_wp .pc { display:none;}
  .c_wp .sp {display: inline;}
	
	.txt03 {
		font-size: 12px;
    text-align: left;
    padding-left: 30px;
}

.mt30 {
	margin-top:30px;
}
}
