@charset "UTF-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font: inherit;
	font-size: 100%;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

img {
	vertical-align: top;
}

body {
	color: #000;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Helvetica, Arial, "メイリオ", "Meiryo", Osaka, sans-serif;
	line-height: 1.7;

	-ms-hyphens: auto;
	-webkit-text-size-adjust: 100%;
}

_:lang(x)::-ms-backdrop, body {
	font-family: "M PLUS 1p", Helvetica, Arial, "メイリオ", "Meiryo", Osaka, sans-serif;
}

/* --------
  汎用クラス
-------- */

.clr:after, .cols:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
}

/* --------
  デフォルト
-------- */

html {
	font-size: 62.5%;
}

body {
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

img {
	max-width: 100%;
}

a {
	outline: none;
	color: #d6261d;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

/* --------
  共通レイアウト
-------- */

.inner {
	margin: 0 auto;
	padding: 0 10px;
	max-width: 800px;
}

.container {
	position: relative;
	overflow: hidden;
	min-width: 320px;
}

/* --------
  
-------- */

.bg {
	background-color: #ffefef;
}

.bg div {
	margin: 0 auto;
	max-width: 1640px;
	width: 100%;
	height: 628px;
	background: url(../img/header.jpg) 50% 14% no-repeat;
	background-size: cover;
}

header {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-ms-flex-align: start;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 10px;
	width: 100%;

	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-box-align: start;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

header .asahi a img {
	width: 80px;
}

header .info {
	text-align: right;
}

header .info p {
	font-weight: bold;
	font-size: 12px;
	font-size: 1.2rem;
}

.contents {
	border-top: 2px solid #d6261d;
	background-color: #fff;
}

.contents section {
	padding-bottom: 160px;
}

.contents section.report .title {
	margin-top: -248px;
	margin-bottom: 90px;
	padding: 64px 75px 0;
	background-color: #fff;
	text-align: center;
}

.contents section.report .title > small {
	position: relative;
	display: inline-block;
	margin-bottom: 16px;
	padding: 4px 30px 0;
	font-size: 20px;
	font-size: 2rem;
}

.contents section.report .title > small:before, .contents section.report .title > small:after {
	position: absolute;
	bottom: 4px;
	display: block;
	width: 23px;
	height: 25px;
	content: "";
}

.contents section.report .title > small:before {
	left: 0;
	background: url(../img/bg-h1s.png) 0 0 no-repeat;
	background-size: contain;
}

.contents section.report .title > small:after {
	right: 0;
	background: url(../img/bg-h1s.png) 0 0 no-repeat;
	background-size: contain;
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}

.contents section.report .title h1 {
	padding: 24px;
	background-color: #d6261d;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.contents section.report .title h1 small {
	display: inline-block;
	margin-bottom: 20px;
	padding: 0 12px;
	background-color: #fff;
	color: #d6261d;
	font-size: 20px;
	font-size: 2rem;
}

.contents section.report .title h1 div {
	margin-bottom: 20px;
}

.contents section.report .title h1 div img {
	width: 590px;
}

.contents section.report .title h1 span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
}

.contents section.report .title h1 span span {
	display: inline;
}

.contents section.report h2 {
	color: #d6261d;
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
}

.contents section.report h2:not(:last-child) {
	margin-bottom: 60px;
}

.contents section.report p:not(:last-child) {
	margin-bottom: 70px;
}

.contents section.report .img:not(:last-child) {
	margin-bottom: 70px;
}

.contents section.report .img figure figcaption {
	margin-top: 4px;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
}

.contents section.award h2 {
	position: relative;
	margin-bottom: 70px;
	text-align: center;
}

.contents section.award h2:before {
	position: absolute;
	top: 30px;
	display: block;
	width: 100%;
	height: 3px;
	background-color: #d6261d;
	content: "";
}

.contents section.award h2 span {
	position: relative;
	display: inline-block;
	padding: 0 30px;
	background-color: #fff;
}

.contents section.award h2 span img {
	width: 240px;
}

.contents section.award ul li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-ms-flex-align: center;

	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.contents section.award ul li:not(:last-child) {
	margin-bottom: 100px;
}

.contents section.award ul li:nth-child(2n) {
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;

	-webkit-box-direction: reverse;
	-webkit-box-orient: horizontal;
}

.contents section.award ul li:nth-child(2n) .name {
	margin-right: 0;
	margin-left: -90px;
}

.contents section.award ul li.comment {
	position: relative;
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-top: -30px;
	padding: 50px 60px;
	width: 100%;
	background-color: #ffefef;
	text-align: center;
}

.contents section.award ul li.comment h3 {
	margin-bottom: 15px;
	color: #d6261d;
	font-size: 24px;
	font-size: 2.4rem;
}

.contents section.award ul li.comment small {
	display: block;
	margin-bottom: 20px;
	font-size: 14px;
	font-size: 1.4rem;
}

.contents section.award ul li.comment p {
	text-align: left;
}

.contents section.award ul li.comment:after {
	position: absolute;
	top: -54px;
	left: 50%;
	display: block;
	margin-left: -32px;
	width: 0;
	height: 0;
	border-right: 32px solid transparent;
	border-bottom: 55px solid #ffefef;
	border-left: 32px solid transparent;
	content: "";
}

.contents section.award ul li .name {
	position: relative;
	z-index: 2;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: -90px;
	padding: 18px 15px;
	width: 340px;
	height: 120px;
	background-color: #d6261d;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
}

.contents section.award ul li .name small {
	display: inline-block;
	padding-left: 45px;
	background: url(../img/icn-crown.png) 0% -2px no-repeat;
	background-size: 39px;
	line-height: 43px;
}

.contents section.award ul li .name strong {
	display: block;
}

.contents section.award ul li figure {
	position: relative;
	z-index: 1;
	width: 550px;
}

.contents section.award ul li figure img {
	width: 100%;
}

.contents section.interview h2 {
	position: relative;
	margin-bottom: 70px;
	text-align: center;
}

.contents section.interview h2:before {
	position: absolute;
	top: 30px;
	display: block;
	width: 100%;
	height: 3px;
	background-color: #d6261d;
	content: "";
}

.contents section.interview h2 span {
	position: relative;
	display: inline-block;
	padding: 0 30px;
	background-color: #fff;
}

.contents section.interview h2 span img {
	width: 346px;
}

.contents section.interview .inner > figure {
	margin-bottom: 70px;
}

.contents section.interview .ttl {
	margin-bottom: 40px;
	text-align: center;
}

.contents section.interview .ttl small {
	font-size: 18px;
	font-size: 1.8rem;
}

.contents section.interview .ttl h3 {
	font-size: 30px;
	font-size: 3rem;
}

.contents section.interview .name {
	margin-bottom: 60px;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
}

.contents section.interview .name strong {
	font-size: 18px;
	font-size: 1.8rem;
}

.contents section.activity {
	padding: 100px 0;
	border-top: 3px solid #d6261d;
	border-bottom: 3px solid #d6261d;
	background-color: #ffadad;
}

.contents section.activity h2 {
	margin-bottom: 80px;
	text-align: center;
}

.contents section.activity h2 span img {
	width: 572px;
}

.contents section.activity .block {
	background-color: #fff;
}

.contents section.activity .block:not(:last-child) {
	margin-bottom: 74px;
}

.contents section.activity .block h3 {
	padding: 5px;
	background-color: #d6261d;
	color: #fff;
	text-align: center;
	font-size: 30px;
	font-size: 3rem;
}

.contents section.activity .block .txt {
	padding: 30px 30px 70px;
}

.contents section.activity .block .txt p {
	margin-bottom: 70px;
}

.contents section.activity .block .txt figure {
	margin-bottom: 70px;
	text-align: center;
}

.contents section.activity .block .txt .flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	margin-bottom: 40px;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.contents section.activity .block .txt .flex figure {
	margin-bottom: 0;
	width: 48.5%;
}

.contents section.activity .block .txt .flex figure figcaption {
	margin-top: 4px;
	text-align: left;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
}

.btns {
	text-align: center;
}

.btns a {
	position: relative;
	display: inline-block;
	padding: 8px 30px;
	min-width: 200px;
	border: 3px solid #d6261d;
	background-color: #fff;
	color: #d6261d;
	font-weight: bold;
}

.btns a.blank:after {
	position: absolute;
	top: 3px;
	right: 3px;
	display: block;
	width: 16px;
	height: 9px;
	background: url(../img/icn-blank.png) 0 0 no-repeat;
	background-size: contain;
	content: "";
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.btns a:hover {
	background-color: #d6261d;
	color: #fff;
	opacity: 1;
}

.btns a:hover.blank:after {
	background: url(../img/icn-blank_o.png) 0 0 no-repeat;
	background-size: contain;
}

.link {
	padding: 90px 0;
	text-align: center;
}

.link small {
	display: block;
	margin-bottom: 30px;
}

.link .logo {
	margin-top: 70px;
}

.link .logo a img {
	width: 205px;
}

footer {
	position: relative;
	padding: 30px 0;
	background-color: #d6261d;
	color: #fff;
	text-align: center;
}

footer .pagetop {
	position: absolute;
	top: -25px;
	right: 40px;
}

footer .pagetop img {
	width: 50px;
}

footer small {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
}

@media all and (min-width: 759px) {
	.forsp {
		display: none;
	}

	a:hover {
		opacity: .7;
	}
}

@media all and (max-width: 1300px) {
	.bg div {
		height: 45vw;
	}

	.contents section.report .title {
		margin-top: -180px;
	}
}

@media all and (max-width: 900px) {
	.bg div {
		background-position: 50% 100%;
		background-size: contain;
	}

	header {
		position: relative;
	}

	.contents section.report .title {
		margin-top: 0;
		margin-bottom: 70px;
		padding: 30px 0 0;
	}
}

@media all and (max-width: 758px) {
	.forpc {
		display: none;
	}

	body {
		font-weight: 500;
		font-size: 1.6rem;
	}

	.inner {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 0 15px;
	}

	.bg {
		background-color: transparent;
	}

	header .info p {
		font-weight: 500;
		font-size: .9rem;
		line-height: 1.5;
	}

	.contents section {
		padding-bottom: 100px;
	}

	.contents section.report .title > small {
		margin-bottom: 12px;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.contents section.report .title > small:before, .contents section.report .title > small:after {
		top: 50%;
		bottom: auto;
	}

	.contents section.report .title h1 {
		padding: 24px 15px;
	}

	.contents section.report .title h1 small {
		padding: 0 12px;
		font-size: 1.8rem;
		line-height: 1.6;
	}

	.contents section.report h2:not(:last-child) {
		margin-bottom: 50px;
	}

	.contents section.report h2 {
		margin-bottom: 50px;
		font-weight: bold;
		font-size: 1.9rem;
		line-height: 1.6;
	}

	.contents section.report .img figure figcaption {
		font-size: 1.2rem;
	}

	.contents section.award h2:before {
		top: 20px;
	}

	.contents section.award h2 span {
		padding: 0 20px;
	}

	.contents section.award h2 span img {
		width: auto;
		height: 60px;
	}

	.contents section.award ul li {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;

		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
	}

	.contents section.award ul li:not(:last-child) {
		margin-bottom: 70px;
	}

	.contents section.award ul li:nth-child(2n) {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;

		-webkit-box-direction: normal;
		-webkit-box-orient: vertical;
	}

	.contents section.award ul li:nth-child(2n) .name {
		margin: 0;
	}

	.contents section.award ul li.comment {
		padding: 30px;
	}

	.contents section.award ul li.comment h3 {
		font-weight: bold;
		font-size: 2rem;
		line-height: 1.6;
	}

	.contents section.award ul li.comment:after {
		top: -40px;
		margin-left: -20px;
		border-right: 20px solid transparent;
		border-bottom: 40px solid #ffefef;
		border-left: 20px solid transparent;
	}

	.contents section.award ul li .name {
		margin: 0;
		padding: 14px 10px;
		width: 100%;
		height: auto;
		font-weight: bold;
		font-size: 2rem;
	}

	.contents section.award ul li figure {
		width: 100%;
	}

	.contents section.interview h2:before {
		top: 20px;
	}

	.contents section.interview h2 span {
		padding: 0 20px;
	}

	.contents section.interview h2 span img {
		width: auto;
		height: 60px;
	}

	.contents section.interview .inner > figure {
		margin-bottom: 50px;
	}

	.contents section.interview .ttl {
		margin-bottom: 30px;
	}

	.contents section.interview .ttl small {
		font-size: 1.6rem;
	}

	.contents section.interview .ttl h3 {
		font-weight: bold;
		font-size: 2rem;
	}

	.contents section.interview .name {
		margin-bottom: 50px;
	}

	.contents section.activity {
		padding: 90px 0;
	}

	.contents section.activity h2 {
		margin-bottom: 70px;
	}

	.contents section.activity .block:not(:last-child) {
		margin-bottom: 70px;
	}

	.contents section.activity .block h3 {
		padding: 8px 5px;
		font-weight: bold;
		font-size: 2rem;
		line-height: 1.5;
	}

	.contents section.activity .block .txt {
		padding: 25px 15px 60px;
	}

	.contents section.activity .block .txt .flex figure {
		width: 48%;
	}

	.btns a {
		padding: 10px 28px;
		min-width: 200px;
	}

	.link {
		padding: 70px 0 90px;
	}

	.link .logo a img {
		width: 180px;
	}

	footer {
		padding: 40px 0 20px;
	}

	footer .pagetop {
		right: 20px;
	}

	footer small {
		font-size: .9rem;
	}
}
