@charset "utf-8";

/* =========================================================
  サイト ： プロミスエッセー大賞
  タイプ ： レイアウトCSS
  更新日 ： 2022-09-08
========================================================= */



/* リセットスタイル
========================================================= */

p, pre { margin-top: 0; margin-bottom: 0; }
blockquote { margin: 0; }
ol, ul { list-style: none; margin-top: 0; margin-bottom: 0; padding-left: 0; }
dl { margin-top: 0; margin-bottom: 0; }
dd { margin-left: 0; }

sup { top: -0.3em; padding-right: 0.2em; }
sub { bottom: -0.1em; padding-right: 0.2em; }

address { font-style: normal; }

img { vertical-align: top; max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; margin-top: 0; margin-bottom: 0; }

table { border-collapse: collapse; }
th, td { padding: 0; vertical-align: top; }
th { font-weight: normal; text-align: left; }

small { font-size: 100%; }

figure { margin: 0; }

hr { border: none; display: block; margin-top: 0; margin-bottom: 0; }



/* メインスタイル
========================================================= */

/* Base Style
------------------------------------------ */

html {
	font-size: 62.5%; /* 10px */
	overflow-y: scroll;
	width: 100%;
	height: 100%;
	scroll-behavior: smooth;
}

body {
	background-color: #ffffff;
	color: #000000;
	font-family: "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	margin: 0;
}

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }

@media all and (-ms-high-contrast: none) {
	body { font-family: Meiryo, Verdana, sans-serif; }
}

a:link    { color: #000000; text-decoration: none; }
a:visited { color: #000000; text-decoration: none; }
a:hover   { color: #ff8e00; text-decoration: none; }
a:active  { color: #ff8e00; text-decoration: none; }



/* レイアウトスタイル
------------------------------------------ */

#wrapper { width: 100%; max-width: 1000px; min-width: 320px; margin: 0 auto; }

#wrapper header { width: 100%; }
#wrapper header div.header { height: 65px; position: relative; }
#wrapper header div.header h1.pc { max-width: 350px; padding-top: 20px; }
#wrapper header div.header .snsHead { font-size: 0; position: absolute; bottom: 10px; right: 0; }
#wrapper header div.header .snsHead p { display: inline-block; vertical-align: top; margin: 0 0 0 10px; }
#wrapper header div.header .snsHead p:last-child { display: inline-block; vertical-align: top; margin: 0 0 0 15px; }
#wrapper header div.header .snsHead p iframe { border: none; overflow:hidden; width: 100px; height: 20px; }

#wrapper header nav ul { width: 100%; overflow: hidden; }
#wrapper header nav ul li { width: 20%; float: left; }
#wrapper header nav ul li a {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	display: block;
	background: #00a0e9;
	color: #ffffff;
	line-height: 1.0;
	text-align: center;
	box-sizing: border-box;
	padding: 1.0em 0;
}
#wrapper header nav ul li + li a { margin-left: 1px; }
#wrapper header nav ul li a:hover { background: #0b99da; }

#wrapper .pageTitle {
	width: 100%;
	max-width: 1000px;
	background: #ff8e00;
	background-size: 350px;
	margin-top: 1px;
}
#wrapper .pageTitle h2 {
	height: 70px;
	display: table-cell;
	color: #ffffff;
	font-size: 2.8rem;
	line-height: 1.1;
	font-weight: bold;
	letter-spacing: 0.1em;
	vertical-align: middle;
	padding: 0 20px;
}

#wrapper .snsBottom { display: none; }

#wrapper main { width: 100%; }

#wrapper footer { width: 100%; position: relative; padding: 150px 0 50px 0; }
#wrapper footer div.navi { margin: 0 0 0 20px; }
#wrapper footer div.navi ul { display: table; margin: 0 auto; overflow: hidden; }
#wrapper footer div.navi ul li { float: left; font-size: 1.5rem; margin-right: 20px; }
#wrapper footer div.navi ul li a { display: block; position: relative; padding-left: 18px; }
#wrapper footer div.navi ul li a:before {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: rotate(45deg);
	position: absolute;
	top: 30%;
	left: 0;
}
#wrapper footer div.navi ul li a:hover:before {
	border-top: 1px solid #ee7c28;
	border-right: 1px solid #ee7c28;
}

#wrapper footer div.copyRight { /* background: #10217b; */ background: #0097cc; text-align: center; margin-top: 20px; }
#wrapper footer div.copyRight small {
	font-family: Arial, sans-serif;
	color: #ffffff;
	font-size: 1.2rem;
	line-height: 50px;
}

#wrapper footer div.sponsor { margin: 20px 20px 0 20px; }
#wrapper footer div.sponsor li { display: table; overflow: hidden; margin: 0 auto; }
#wrapper footer div.sponsor li + li { margin-top: 5px; }
#wrapper footer div.sponsor dl { float: left; font-size: 1.3rem; line-height: 1.6; }
#wrapper footer div.sponsor dl:first-child { margin-right: 1em; }
#wrapper footer div.sponsor dt,
#wrapper footer div.sponsor dd { display: table-cell; vertical-align: top; }
#wrapper footer div.sponsor dt { white-space: nowrap; }

#wrapper footer p.logo { width: 100%; max-width: 350px; margin: 40px auto 0; }

#wrapper footer p.pageTop {
	font-family: Arial, sans-serif;
	font-size: 1.3rem;
	position: absolute;
	right: 20px;
	bottom: 50px;
}
#wrapper footer p.pageTop a { color: #000000; position: relative; }
#wrapper footer p.pageTop a:before {
	content: '';
	width: 35px;
	height: 35px;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: rotate(-45deg);
	position: absolute;
	top: -25px;
	left: 10px;
}



/* モバイル
========================================================= */

@media screen and (max-width: 1040px) {
	#wrapper header div.header h1.pc { padding: 15px 15px 0 15px; }
	#wrapper header div.header .snsHead { bottom: 10px; right: 15px; }
	#wrapper main { width: auto; margin: 0 20px; }
	#wrapper footer div.copyRight { margin: 20px 20px 0 20px; }
}

@media screen and (max-width: 1000px) {
	#wrapper header nav ul li a { font-size: 1.6vw; }
}

@media screen and (max-width: 860px) {
	#wrapper footer div.sponsor li { margin: 0; }
	#wrapper footer div.sponsor li + li { margin: 0; }
	#wrapper footer div.sponsor dl { margin-top: 5px; }
}



/* スマートフォン
========================================================= */

@media screen and (max-width: 767px) {
	#wrapper header div.header .snsHead { display: none; }
	
	#wrapper header nav ul li a { font-size: 1.4rem; padding: 0.7em 0; }
	#wrapper header nav ul li { width: 50%; }
	#wrapper header nav ul li:nth-child(5) { width: 100%; }
	#wrapper header nav ul li:nth-child(2) a { margin: 0 0 0 1px; }
	#wrapper header nav ul li:nth-child(3) a { margin: 1px 0 0 0; }
	#wrapper header nav ul li:nth-child(4) a { margin: 1px 0 0 1px; }
	#wrapper header nav ul li:nth-child(5) a { margin: 1px 0 0 0; }
	
	#wrapper .snsBottom { display: block; font-size: 0; text-align: center; padding-top: 20px; }
	#wrapper .snsBottom p { display: inline-block; vertical-align: top; margin: 0 0 0 10px; }
	#wrapper .snsBottom p:last-child { display: inline-block; vertical-align: top; margin: 0 0 0 15px; }
	#wrapper .snsBottom p iframe { border: none; overflow:hidden; width: 100px; height: 20px; }
	
	#wrapper .pageTitle { margin-top: 5px; }
	
	#wrapper footer { padding: 70px 0 130px 0; }
	#wrapper footer div.navi ul li { font-size: 1.3rem; margin-top: 10px; }
	#wrapper footer div.copyRight small { font-size: 1.1rem; line-height: 40px; }
	
	#wrapper footer p.logo { width: auto; margin: 40px 20px 0; }
	
	#wrapper footer p.pageTop { width: 100%; text-align: center; bottom: 50px; right: 0; }
}

@media screen and (max-width: 500px) {
	#wrapper .pageTitle h2 { height: 60px; font-size: 2.2rem; }
	body.facebook #wrapper .pageTitle h2 { font-size: 1.8rem; }
}



