@charset "utf-8";

/***************************************************
	共通レイアウトスタイル定義
***************************************************/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* Reset
------------------------------------------------------------ */
html {	font-size: 10px;overflow-y: scroll;}h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd {	margin: 0;padding: 0;border: 0;outline: 0;font-size: 1em;}address,caption,cite,code,dfn,em,strong,th,var {	font-style: normal;}a,a:hover,a:active,a:visited {	margin: 0;padding: 0;overflow: hidden;outline: none;}img {	vertical-align: bottom;-webkit-user-select: none;-moz-user-select: none;-khtml-user-select: none;-webkit-user-drag: none;-khtml-user-drag: none;}
/* normalize.css --END-- */

/* Base
------------------------------------------------------------ */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {	-webkit-font-smoothing: antialiased;}
body {
	color: #505050;
	font-family: "Noto Serif JP", serif;
	/* font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; */
	font-size: 16px;
	line-height: 1.7;
}
h1,h2,h3,h4,h5 {
	margin-bottom: 1em;
	font-weight: bold;
	line-height: 1em;
}
p,dl,ol,ul,menu,pre {	margin-bottom: 1em;}
ol,ul,menu {	padding: 0;}
ul {	list-style: none;}
ol {	margin-left: 1.5em;}
fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}
textarea {    resize: vertical;}
img, object, embed {	max-width: 100%;}
img {
	height: auto;
	vertical-align: bottom;
}
small {	font-size: 12px;}

@media only screen and (max-width: 768px) {
	body {
		font-size: 16px;
		line-height: 1.7;
	}
	small {	font-size: 10px;}
}

/* Link
------------------------------------------------------------ */
a:link {
	color: #a33e46;
	text-decoration: underline;
}
a:visited {
	color: #a33e46;
	text-decoration: underline;
}
a:hover {
	color: #a33e46;
	text-decoration: none;
}
a:active {}

/* Layout
------------------------------------------------------------ */
/*---page---*/
footer {	position: relative;}
#page {}
#wrap {	overflow: hidden;}
.container {
	width: 1024px;
	margin: 0 auto;
}
.section {	margin-bottom: 70px;}

@media only screen and (max-width: 768px) {
	.container {
		width: 100%;
		margin-bottom: 0 auto;
		padding: 0 20px;
	}
	.section {	margin: 0 0 50px 0;}
}

.tac {	text-align: center;}
.color01 {	color: #a33e46;}/*red*/

.mb30 {	margin: 0 0 30px 0;}
.mb50 {	margin: 0 0 50px 0;}
.mb70 {	margin-bottom: 70px!important;}

/***************************************************
	competision.css
***************************************************/
#competision .section {
	margin: 0 auto;
	padding: 0 0 70px;
}
#competision #pgtp a {
	display: block;
	position: relative;
	width: 80px;
	height: 80px;
	line-height: 80px;
	border-radius: 50px;
	background: #2b2b2b;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision #pgtp a:hover {	margin: 0 0 10px;}
#competision #pgtp a::before {
	position: absolute;
	top: 25%;
	left: calc(50% - 5px);
	margin-top: -4px;
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

#competision #copyright {
	padding: 10px 0;
	background: #585858;
	color: #fff;
	text-align: center;
	line-height: 1.2;
}
#competision #copyright .only_sp {	display: none;}

@media only screen and (max-width: 768px) {
	#competision .container {	padding: 0 20px;}
	#competision .foot_banner {	padding: 40px 0;}
	#competision #pgtp {	bottom: 15px;}
	#competision #pgtp a {
		width: 50px;
		height: 50px;
		line-height: 56px;
		border-radius: 50px;
		font-size: 13px;
	}
	#competision #pgtp a:hover {	margin: 0;}
	#competision #pgtp a::before {
		position: absolute;
		top: 25%;
		left: calc(50% - 5px);
		margin-top: -4px;
		content: '';
		width: 8px;
		height: 8px;
	}
	#competision #copyright .only_sp {	display: block;}
}

/*----- Button -----*/
/*--- btn01 ---*/
#competision .btn01 {
	max-width: 250px;
	margin: 0 auto;
	text-align: center;
}
#competision .btn01 a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 7px 30px;
	border: 2px solid #a33e46;
	/* border-radius
	: 3px; */
	background: #a33e46;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision .btn01 a::before {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision .btn01 a:hover {
	background: #fff;
	color: #a33e46;
}
#competision .btn01 a:hover::before {
	right: 15px;
	border-top: 1px solid #a33e46;
	border-right: 1px solid #a33e46;
}

/*--- btn01 n02 ---*/
#competision .btn01.n02 {
	max-width: 500px;
}
#competision .btn01.n02 a {
	max-width: 500px;
	padding: 10px 10px;
	border: 1px solid #333;
	background: #333;
}
#competision .btn01.n02 a:hover {
	background: #fff;
	color: #333;
}
#competision .btn01.n02 a:hover::before {
	border-top: 1px solid #333;
	border-right: 1px solid #333;
}

/*--- btn02 ---*/
#competision .btn02 {
	width: 200px;
	margin: 0 auto;
	text-align: center;
}
#competision .btn02 a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 7px 30px;
	border: 1px solid #a33e46;
	border-radius: 3px;
	background: #a33e46;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision .btn02 a::before {
	position: absolute;
	top: 47%;
	right: 10px;
	margin-top: -4px;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision .btn02 a:hover {
	background: #fff;
	color: #a33e46;
}
#competision .btn02 a:hover::before {
	top: 56%;
	border-top: 1px solid #a33e46;
	border-right: 1px solid #a33e46;
}





@media only screen and (max-width: 768px) {
	#competision .btn01 {	max-width: 100%;}
	#competision .btn02 {	width: 100%;}
}

/*-----PageTop Button-----*/
/* pgtp */
#pgtp {
	position: absolute;
	right: 30px;
	bottom: 60px;
	z-index: 999;
	opacity: 0.95;
	filter: alpha(opacity=95);
	transition: all  0.3s ease;
}
#pgtp img {	padding-bottom: 10px;}
#pgtp.fixed {
	position: fixed;
	top: auto;
	bottom: 20px;
	z-index: 900;
}
#pgtp a {
	position: relative;
	display: block;
}
#pgtp img:hover {	opacity: 1;}
#pgtp:hover {
	opacity: .7;
}
#pgtp a:hover {
	opacity: .95;
	filter: alpha(opacity=95);
}

@media only screen and (max-width: 768px) {
	#pgtp {
		width: 60px;
		right: 10px;
		bottom: -11px;
	}
}

/*----- Title -----*/
#competision .ttl01 {
	margin: 0 0 50px;
	position: relative;
	padding: 70px 0 20px;
	font-size: 40px;
	font-weight: bold;
}
#competision .ttl01::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 5px;
	background: #a33e46;
}

.ttl02 {
	padding: 15px;
	background: #efefef;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
	letter-spacing: 2px;
}

@media only screen and (max-width: 768px) {
	#competision .ttl01 {	font-size: 30px;}
	.ttl02 {
		font-size: 20px;
	}
}

/* header 
------------------------------------------------------------ */
header {
	margin: 0 0 30px;
	border-bottom: 1px solid #ccc;
}
#competision #head {
	display: flex;
	justify-content: space-between;
}
#competision header {	padding: 15px 0 10px;}
#competision h1#head_logo {	margin: 0;}
#competision header nav,
#competision header nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
}
#competision header nav ul {	margin: 0 50px 0 20px;}
#competision header nav li {
	max-width: 250px;
	margin: 0 auto;
	text-align: center;
}
#competision header nav li a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 7px 30px;
	color: #2b2b2b;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision header nav li a::before {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -6px;
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: 2px solid #2b2b2b;
	border-right: 2px solid #2b2b2b;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	-webkit-transition: all .3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#competision header nav li a:hover {
	color: #a33e46;
}
#competision header nav li a:hover::before {
	top: 58%;
	border-top: 2px solid #a33e46;
	border-right: 2px solid #a33e46;
}

@media only screen and (max-width: 768px) {
	#competision #head {
		display: block;
		margin: 20px auto 15px;
	}
	#competision h1#head_logo {	margin: 0 auto 10px;}
	#competision header {	padding: 0;}
	#competision #head_logo {
		width: 170px;
		margin: 0 auto 10px;
	}
	#competision header nav {
		display: block;
	}
	#competision header nav ul {	margin: 0;}
	#competision header nav li {
	}
}

/* hero 
------------------------------------------------------------ */
#competision #hero {	text-align: center;}
#competision #hero img {
	width: 100%;
	max-width: 1200px;
}

#competision .txtbox01 {
	margin: 0 0 50px;
	padding: 0 20px;
	font-size: 20px;
	text-align: center;
}
#competision .txtbox01 a {
	color: #1a308b;
	text-decoration: none;
    transition: all 0.3s ease-in-out;
}
#competision .txtbox01 a:hover {
	color: #505050;
}
@media only screen and (max-width: 768px) {
	#competision .txtbox01 {	font-size: 18px;}
}

/* section01
------------------------------------------------------------ */
#competision #section01 {
	padding: 50px 0 60px;
	text-align: center;
}
#competision #section01 .txt01 {
	margin: 0 0 30px;
	padding: 0 10px;
	color: #990a0a;
	font-size: 35px;
	font-weight: bold;
}
#competision #section01 .txt02 {
	margin: 0 0 30px;
	font-size: 20px;
}
#competision #section01 .txt03 {
	color: #990a0a;
	font-size: 25px;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	#competision #section01 .txt01 {	font-size: 21px;}
	#competision #section01 .txt02 {
	    padding: 0 20px;
		font-size: 18px;
	}
	#competision #section01 .txt03 {	font-size: 18px;}
}

/* section02
------------------------------------------------------------ */
#competision #section02 .txt01 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
#competision #section02 table {
	margin: 50px auto 0;
}
#competision #section02 th {
	width: 11em;
	padding: 15px;
	border-bottom: 1px solid #ccc;
	text-align: left;
	vertical-align: top;
}
#competision #section02 td {
	padding: 15px;
	border-bottom: 1px solid #ccc;
}
#competision #section02 table ul {
	list-style: disc;
	margin: 0 0 0 1em;
}
#competision #section02 table li {	margin: 0 0 5px;}
#competision #section02 table li:last-child {	margin: 0;}

.icon_pdf {
	display: block;
	width: 20px;
	height: 40px;
	margin: 0 10px 0 0;
	background: url("https://jmpa.or.jp/wpdir/wp-content/themes/jmpa/images_n24/icon_pdf02.svg") no-repeat;
}

@media only screen and (max-width: 768px) {
	#competision #section02 .txt01 {	font-size: 20px;}
	#competision #section02 th {
		display: block;
		width: 100%;
		padding: 5px;
		background: #eee;
		border-bottom: none;
		text-align: center;
		vertical-align: top;
	}
	#competision #section02 td {
		display: block;
		padding: 15px 0 30px;
		border-bottom: none;
	}
	#competision #section02 table ul {
		list-style: disc;
		margin: 0 0 0 1em;
	}
}

/* section03
------------------------------------------------------------ */
#competision #section03 {	background: #f8f8f8;}
#competision #section03 .txt01 {
	margin: 0 0 30px;
	text-align: center;
	line-height: 2.2;
}

@media only screen and (max-width: 768px) {

}

/* section04
------------------------------------------------------------ */
#competision #section04 .txt01 {
	margin: 0 0 50px;
	text-align: center;
}

#competision #compe_form {
	width: 760px;
	margin: 0 auto;
	padding: 50px;
	background: #f8f8f8;
}

/*----- Table -----*/
.table_style01 {	margin: 0 0 50px;}
.table_style01 th {
	width: 260px;
	padding: 10px 20px 10px 0;
	font-size: normal;
	text-align: right;
	white-space: nowrap;
}
.table_style01 td {
	padding: 10px 0;
}
.table_style01 input,
.table_style01 select,
.table_style01 textarea {
	padding: 10px 8px;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.table_style01 select {
    margin: 0 5px 0 10px;
	cursor: pointer;
}
div.wpcf7 input[type="file"] {	width: 100%;}

/*submit button*/
#competision #section04 .btn01 #submit {
	display: inline-block;
    position: relative;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    padding: 15px 30px;
    border: 2px solid #a33e46;
    border-radius: 3px;
    background: #a33e46;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    letter-spacing: 1px;
    -webkit-transition: all .3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
#competision #section04 .btn01 #submit:hover {
    background: #fff;
    color: #a33e46;
}

/*error*/
#competision span.wpcf7-not-valid-tip {
	color: #d20202;
}

#competision div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: none;
	color: #d20202;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
#compe_form .screen-reader-response {	display: none;}
#competision #compe_form .btn01 {	margin: 0 auto 30px;}

/*ok text*/
#competision div.wpcf7-mail-sent-ok {
	padding: 20px 10px;
	border: none;
	border-radius: 50px;
	background: #fefefe;
	color: #a33e46;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	#competision #section04 {	padding: 0 20px 70px;}

	#competision #compe_form {
		width: 100%;
		padding: 50px 20px;
	}

	/*----- Table -----*/
	.table_style01 {
		width: 100%;
	}
	.table_style01 th {
		display: block;
		width: 100%;
		/*padding: 10px 20px 10px 0;*/
		text-align: left;
	}
	.table_style01 td {
		display: block;
		padding: 10px 0 20px;
	}
	.table_style01 input,
	.table_style01 textarea {
		width: 100%;
	}

}


/* announs.html
------------------------------------------------------------ */
#competision .catch_ttl {
    margin: 30px auto;
	padding: 0 20px 0 35px;
	color: #1a308b;
	font-size: 35px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 30px;
}
#competision .txt04 {
	margin: 0 auto 100px;
	padding: 0 20px;
	color: #1a308b;
	font-size: 20px;
	text-align: center;
}

.gallery_box {
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
    margin: 0 0 100px;
	padding: 0 0 100px;
}
.gallery_box.n01 {
	justify-content: center;
	border-bottom: 1px solid #ccc;
	margin: 100px auto;
}
.gallery_box.bd,
.gallery_box.bd_sp_none {
	border-bottom: 1px solid #ccc;
}
.gallery_box_inn {
	width: 30%;
	margin: 0 1.5%;
	text-align: center;
}

.gallery_box .img_box {	margin: 0 0 10px;}
.gallery_box.n01 .img_box {	margin: 0 30px 0 0;}
.gallery_box.n01 > div {
	display: inline-block;
}

@media only screen and (max-width: 768px) {
	#competision .catch_ttl {
		font-size: 30px;
		letter-spacing: 20px;
	}
	#competision .txt04 {	font-size: 16px;}
	.gallery_box {
		display: block;
		margin: 0 0 60px;
		padding: 0;
	}
	.gallery_box.n01 {
		display: block;
		margin: 50px auto;
		padding: 0 0 50px;
		text-align: center;
	}
	.gallery_box.n01 .img_box {	margin: 0 0 10px;}
	.gallery_box.n01 > div {
		display: block;
	}
	.gallery_box_inn {
		width: 100%;
		margin: 0 0 50px;
		text-align: center;
	}
	.gallery_box.bd_sp_none {	border-bottom: none;}
}