@charset "utf-8";

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	color: #333;
	font-size: 0.625rem;
	font-weight: 400;
	line-height: 1;
	text-align: justify;
	text-justify : inter-ideograph ; /* for IE */
}

body {
	min-width: 1020px;
	background-color: #0068b9;
}

	@media screen and (max-width: 670px) {
		body {
			min-width: 320px;
		}
	}

::-moz-selection {
	text-shadow: none;
	background-color: #b3d4fc;
}
::selection {
	text-shadow: none;
	background-color: #b3d4fc;
}

hr {
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	display: block;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

textarea {
	resize: vertical;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ============================== general ============================== */

.cont_width {
	max-width: 1000px;
	margin: 0 auto;
}

.top .bg_img {
	padding-bottom: 40px;
	background-image:
		url(../img/txt_chara_name01.svg),
		url(../img/txt_chara_name02.svg),
		url(../img/txt_chara_name03.svg),
		url(../img/img_chara_trio.svg),
		url(../img/bg_img.png),
		url(../img/bg_dot.svg);
	background-repeat: 
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat,
		repeat;
	background-position:
		calc(50% - 435px) 535px,
		calc(50% + 180px) 533px,
		calc(50% + 430px) 540px,
		center 325px,
		center top,
		left top;
	background-size:
		120px 15.5px,
		120px 15.5px,
		120px 15.5px,
		790px 292px,
		100%,
		10px 10px;
}

.sub .bg_img {
	background-image:
		url(../img/bg_dot.svg);
	background-repeat:
		repeat;
	background-position:
		left top;
	background-size:
		10px 10px;
}

.bg_pachapo {
	background-repeat: no-repeat;
}
.bg_pachapo.typ00 {
	background-image: url(../img/img_news_pachapo.svg);
	background-position: calc(100% - 60px) -50px;
	background-size: 220px 200px;
}
.bg_pachapo.typ01 {
	background-image: url(../img/img_bg_pachapo01.svg);
	background-position: calc(100% - 60px) -57px;
	background-size: 230px 198px;
}
.bg_pachapo.typ02 {
	background-image: url(../img/img_bg_pachapo02.svg);
	background-position: calc(100% - 60px) -46px;
	background-size: 200px 200px;
}
.bg_pachapo.typ03 {
	background-image: url(../img/img_bg_pachapo03.svg);
	background-position: calc(100% - 60px) -51px;
	background-size: 210px 194px;
}
.bg_pachapo.typ04 {
	background-image: url(../img/img_bg_nintei.svg);
	background-position: calc(100% - 70px) -10px;
	background-size: 130px 201px;
}
.bg_pachapo.typ05 {
	background-image: url(../img/img_bg_pachapo05.svg);
	background-position: calc(100% - 60px) -55px;
	background-size: 220px 210px;
}
.bg_pachapo.typ06 {
	background-image: url(../img/img_bg_pachapo06.svg);
	background-position: calc(100% - 65px) -30px;
	background-size: 200px 156px;
}

.txt_blue {
	color: #00a9ec;
}
.txt_min {
	font-size: 75%;
}
.bold {
	font-weight: 600;
}
.tac {
	text-align: center;
}
.indent {
	margin-left: 1em;
	text-indent: -1em;
}
.break_all {
	word-break: break-all;
}

.shadow_area {
	border-radius: 15px;
	box-shadow: 0 0 0 6px rgba(153, 153, 153, 0.5);
}
.top .shadow_area {
	background-color: rgba(153, 153, 153, 0.5);
}

.bg_white {
	background-color: #fff;
}

.db,
.anchor_block a,
a.anchor_block {
	display: block;
}
.dib {
	display: inline-block;
}

.op0 {
	opacity: 0;
}
.over {
	transition: opacity 600ms cubic-bezier(0.23, 1, 0.32, 1);
}
.over:hover {
	opacity: 0.4;
}

.rltv {
	position: relative;
}
.absl {
	position: absolute;
}

.inertial_scroll {
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

.change_svg_style {
	fill: currentColor;
}

.top .bnr_list li:nth-child(2) a {
	pointer-events: none;
}
.sub .main_header .bnr_list li:first-child a {
	opacity: 0.4;
	pointer-events: none;
}

	@media screen and (max-width: 670px) {
		.top .bg_img {
			background-repeat:
				no-repeat,
				no-repeat,
				no-repeat,
				no-repeat,
				no-repeat,
				repeat;
			background-position:
				calc(50% - 100px) 298px,
				calc(50% + 100px) 285px,
				calc(50% + 150px) 300px,
				center 207px,
				center top,
				left top;
			background-size:
				120px 15.5px,
				120px 15.5px,
				120px 15.5px,
				360px 133px,
				670px,
				8px 8px;
		}

		.sub .bg_img {
			background-repeat: repeat;
			background-position: left top;
			background-size: 8px 8px;
		}

		.bg_pachapo.typ00 {
			background-position: right -22px;
			background-size: 140px 126px;
		}
		.bg_pachapo.typ01 {
			background-position: right -25px;
			background-size: 140px 120px;
		}
		.bg_pachapo.typ02 {
			background-position: right -20px;
			background-size: 120px 120px;
		}
		.bg_pachapo.typ03 {
			background-position: right -24px;
			background-size: 130px 120px;
		}
		.bg_pachapo.typ04 {
			background-position: right -16px;
			background-size: 85px 131px;
		}
		.bg_pachapo.typ05 {
			background-position: right -16px;
			background-size: 110px 105px;
		}
		.bg_pachapo.typ06 {
			background-position: right -16px;
			background-size: 120px 94px;
		}

		.shadow_area {
			box-shadow: 0 0 0 4 rgba(153, 153, 153, 0.5);
		}
		.top .shadow_area {
			max-width: calc(100% - 24px);
		}

		.over:hover {
			opacity: 1;
		}
	}


/* ============================== main header ============================== */

.top .main_header {
	margin-bottom: 215px;
	font-size: 1.3rem;
	line-height: 1.3;
}

.top .main_header .txt_date.typ01 {
	padding: 3px 0;
	color: #fff;
	font-size: 1.7rem;
	background-color: #0068b9;
}
.top .main_header .txt_date.typ01 span {
	padding-left: 10px;
}
.top .main_header .txt_date.typ01 .txt_min {
	vertical-align: middle;
}

.top .main_header .txt_date.typ02 {
	height: 54px;
	margin-bottom: 15px;
	color: #0068b9;
	background-color: #ffe603;
	background-image: url(../img/txt_date.png);
	background-repeat: no-repeat;
	background-position: center center;
}

.top .main_header h1.cont_width {
	max-width: 675px;
}


.sub .main_header {
	padding: 10px 0;
	background-image:
		url(../img/img_jambow.svg),
		url(../img/img_pachapo01.svg),
		url(../img/img_nintei.svg),
		url(../img/bg_img_sub.png);
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat;
	background-position:
		calc(50% - 80px) -5px,
		calc(50% - 520px) -17px,
		calc(50% + 25px) -12px,
		center center;
	background-size:
		110px 97px,
		150px 120px,
		95px 151px,
		cover;
}

.sub .main_header h1 {
	width: 349px;
}

.sub .main_header .bnr_list {
	padding: 8px;
	border: solid 3px #0068b9;
	border-top: none;
	border-radius: 0 0 12px 12px;
	background-color: rgba(255, 242, 29, 0.85);
	top: -10px;
	right: 0;
}
.sub .main_header .bnr_list li {
	width: 160px;
	float: left;
}
.sub .main_header .bnr_list li:nth-child(n+2) {
	margin-left: 8px;
}

	@media screen and (max-width: 670px) {
		.top .main_header {
			margin-bottom: 28%;
		}

		.top .main_header .txt_date {
			padding: 5px 12px !important;
		}

		.top .main_header .txt_date.typ01 {
			font-size: inherit;
		}

		.top .main_header .txt_date.typ02 {
			height: auto;
			text-indent: 0;
			white-space: normal;
			background-image: none;
		}

		.top .main_header h1.cont_width {
			max-width: 300px;
		}

		.sub .main_header {
			padding: 0;
			background-repeat:
				no-repeat,
				no-repeat,
				no-repeat,
				no-repeat;
			background-position:
				calc(50% - 156px) 34px,
				calc(50% - 156px) -16px,
				calc(50% + 170px) -10px,
				-175px top;
			background-size:
				60px,
				90px,
				75px,
				auto 75px;
		}

		.sub .main_header h1 {
			width: 296px;
			margin: 0 auto;
			padding: 10px 0;
		}

		.sub .main_header .bnr_list {
			border: none;
			border-radius: 0;
			background-color: rgba(255, 242, 29, 1);
			position: static;
		}
		.sub .main_header .bnr_list li {
			width: 148px;
			display: inline-block;
			float: none;
		}
		.sub .main_header .bnr_list li:nth-child(n+2) {
			margin-left: 5px;
		}
	}


/* ============================== nav ============================== */
nav {
	background-color: #00a9ec;
	overflow: hidden;
}

nav .inertial_scroll {
	overflow-x: auto;
	overflow-y: hidden;
}

nav li {
	/* width: 130px; */
	width: 118px;
	padding: 15px 0;
	float: left;
}
nav li:nth-child(n+2) {
	/* margin-left: 15px; */
	margin-left: 8px;
}
.top nav li {
	width: 114px;
}

nav a {
	padding: 5px 0;
	color: #fff;
	border: solid 2px rgba(255, 255, 255, 0.6);
	border-radius: 10px;
	transition:
		color 400ms cubic-bezier(0.23, 1, 0.32, 1),
		border-color 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
nav a:hover,
nav .active {
	color: #fff21d;
	border: solid 2px currentColor;
}
nav li:nth-child(2) a:hover,
nav li:nth-child(2) .active {
	color: #b4ff49;
	border: solid 2px currentColor;
}
nav li:nth-child(3) a:hover,
nav li:nth-child(3) .active {
	color: #201479;
	border: solid 2px currentColor;
}
nav li:nth-child(4) a:hover,
nav li:nth-child(4) .active {
	color: #fd1884;
	border: solid 2px currentColor;
}
nav li:nth-child(5) a:hover,
nav li:nth-child(5) .active {
	color: #ffcb3e;
	border: solid 2px currentColor;
}
nav li:nth-child(6) a:hover,
nav li:nth-child(6) .active {
	color: #8d23a7;
	border: solid 2px currentColor;
}
nav li:nth-child(7) a:hover,
nav li:nth-child(7) .active {
	color: #f62323;
	border: solid 2px currentColor;
}
nav li:nth-child(8) a:hover,
nav li:nth-child(8) .active {
	color: #444;
	border: solid 2px currentColor;
}

nav svg {
	height: 18px;
}

.top nav {
	border-radius: 15px 15px 0 0;
}

.top nav ul.cont_width {
	/* max-width: 940px; */
	max-width: 947px;
}

.top nav li:nth-child(n+2) {
	margin-left: 5px;
}

	@media screen and (max-width: 670px) {
		nav {
			height: 59px;
		}

		nav ul.cont_width {
			/* width: 750px; */
			width: 855px;
			max-width: none !important;
			padding: 0 10px 50px 10px;
		}

		nav li {
			width: 100px !important;
			padding: 10px 0;
		}
		nav li:nth-child(n+2) {
			margin-left: 5px;
		}

		nav a {
			padding: 10px 0;
		}

		nav svg {
			height: 15px;
		}
	}


/* ============================== main footer ============================== */

.main_footer {
	color: #fff;
}
.main_footer .cr {
	padding: 19.5px 0;
	font-size: 1.3rem;
}

	@media screen and (max-width: 670px) {
		.main_footer .cr {
			padding: 17px -0px;
			font-size: 1.1rem;
		}
	}


/* ============================== main ============================== */

main {
	font-size: 1.5em;
	line-height: 1.5;
}
main p + p {
	margin-top: 8px;
}

main .news_list li {
	padding: 17px 0;
}
main .news_list li:nth-child(n+2) {
	border-top: dashed 1px currentColor;
}

main .news_list time {
	color: #00a9ec;
	font-size: 1.5rem;
}
main .news_list a {
	color: #ff5600;
}
main .news_list a:hover {
	text-decoration: underline;
}

.top main {
	margin-top: 3px;
	padding: 15px;
	border-radius: 0 0 15px 15px;
}
.top main .cont_wrap > * {
	float: left;
}

.top main .news {
	width: 100%;
	max-width: 655px;
	padding: 0 6px 6px 6px;
	border-radius: 15px;
	background-color: #0068b9;
}
.top main .news header {
	padding: 12px 14px;
}
.top main .news h2 {
	color: #fff21d;
	font-size: 2.3rem;
}
.top main .news .btn {
	width: 115px;
	height: 31px;
	margin: auto;
	color: #0068b9;
	font-size: 1.7rem;
	border-radius: 8px;
	background-color: #fff21d;
	top: 0;
	bottom: 0;
	right: 9px;
}
.top main .news .btn a {
	padding: 3px 0;
}
.top main .news .pachapo {
	width: 72px;
	height: 65px;
	bottom: 2px;
	left: 115px;
}

.top main .news_list {
	/* height: 310px; */
	height: 244px;
	padding: 0 20px;
	border-radius: 0 0 10px 10px;
	overflow-y: scroll;
}

.top main .bnr_list {
	max-width: 300px;
	margin-left: 15px;
}
.top main .bnr_list li:nth-child(n+2) {
	/* margin-top: 5px; */
	margin-top: 8px;
}

	@media screen and (max-width: 670px) {
		main {
			font-size: 1.3em;
		}

		main .news_list li {
			padding: 9px 0;
		}

		.top main {
			padding: 15px 12px;
		}
		.top main .cont_wrap > * {
			float: none;
		}

		.top main .news header {
			padding: 6px 10px;
		}
		.top main .news h2 {
			color: #fff21d;
			font-size: 2.1rem;
		}
		.top main .news .btn {
			width: 95px;
			height: 28px;
			margin: auto;
			color: #0068b9;
			font-size: 1.5rem;
		}
		.top main .news .btn a {
			padding: 3px 0;
		}
		.top main .news .pachapo {
			height: 55px;
			left: 90px;
		}

		.top main .news {
			padding: 0 4px 4px 4px;
		}

		.top main .news_list {
			/* height: 200px; */
			height: auto;
			max-height: 200px;
			padding: 0 12px;
		}

		.top main .bnr_list {
			max-width: 90%;
			margin: 10px auto 0 auto;
		}
	}

.sub main {
	padding-bottom: 80px;
}
.sub main > article {
	padding-top: 30px;
}
.sub main h2.htxt {
	width: 342px;
	margin-bottom: 25px;
}
.sub main h3.htxt_sub {
	margin-bottom: 30px;
	padding: 10px 40px 10px 70px;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	background-color: #00a9ec;
	background-image: url(../img/img_htxt_pachapo.svg);
	background-repeat: no-repeat;
	background-position: 15px center;
	background-size: 45px 41px;
}

.sub main .shadow_area {
	padding: 50px 0;
}

.sub main * + .contents {
	margin-top: 30px;
}
.sub main .contents_area {
	padding: 0 40px;
}

.sub main .news_list li:first-child {
	padding-top: 0;
}
.sub main .news_list li:last-child {
	padding-bottom: 0;
}

	@media screen and (max-width: 670px) {
		.sub main {
			padding: 0 12px 40px 12px;
		}
		.sub main > article {
			padding-top: 20px;
		}
		.sub main h2.htxt {
			width: 295px;
			margin-bottom: 15px;
		}
		.sub main h3.htxt_sub {
			margin-bottom: 18px;
			padding: 8px 12px 8px 56px;
			color: #fff;
			font-size: 1.9rem;
			background-position: 10px center;
			background-size: 36px 32px;
		}

		.sub main .shadow_area {
			padding: 25px 0;
		}

		.sub main * + .contents {
			margin-top: 18px;
		}
		.sub main .contents_area {
			padding: 0 12px;
		}
	}

.sub main .intro > * {
	float: left;
}
.sub main .intro .txt_wrap {
	width: calc(100% - 267px);
	padding-right: 30px;
}
.sub main .about figure {
	margin: 0 auto;
}
.sub main .about .logo_typ figure {
	max-width: 640px;
}
.sub main .about .slogan figure {
	margin-bottom: 30px;
}
.sub main .about .slogan .contents_area {
	padding: 0 165px;
}
.sub main .about .character .character_lst li {
	width: calc((100% - 40px) / 3);
	float: left;
}
.sub main .about .character .character_lst li:nth-child(n+2) {
	margin-left: 20px;
}
.sub main .about .character .character_lst figure img {
	height: 255px;
}
.sub main .about .character .character_lst figcaption {
	margin: 16px 0 18px 0;
	font-size: 1.3rem;
	line-height: 1.3;
}
.sub main .about .character .character_lst .chara_name {
	margin-bottom: 10px;
	padding: 6px 12px;
	color: #0068b9;
	font-size: 1.7rem;
	line-height: 1;
	border-radius: 5px;
	background-color: #fff100;
	display: inline-block;
	box-shadow: 0 2px 0 0 rgba(236, 224, 0, 1);
}
.sub main .about .character .character_lst .txt_wrap {
	padding: 10px 12px;
	font-size: 1.3rem;
	border: solid 2px #00a9ec;
	border-radius: 8px;
}

	@media screen and (max-width: 670px) {
		.sub main .intro > * {
			float: none;
		}
		.sub main .intro .txt_wrap {
			width: auto;
			padding: 0;
		}
		.sub main .intro figure {
			margin-top: 15px;
		}
		.sub main .about .slogan figure {
			margin-bottom: 18px;
		}
		.sub main .about .slogan .contents_area {
			padding: 0 12px;
		}
		.sub main .about .character .character_lst li {
			width: 100%;
			float: none;
		}
		.sub main .about .character .character_lst li:nth-child(n+2) {
			margin: 25px 0 0 0;
		}
		.sub main .about .character .character_lst figure img {
			height: 180px;
		}
		.sub main .about .character .character_lst figcaption {
			margin: 12px 0 14px 0;
		}
		.sub main .about .character .character_lst .chara_name {
			font-size: 1.5rem;
		}
	}

.sub main .event a {
	color: #ff5600;
}
.sub main .event a:hover {
	text-decoration: underline;
}
.sub main .event .event_list {
	margin-bottom: 30px;
}
.sub main .event .event_list li {
	width: 160px;
	padding: 4px;
	color: #4e78ff;
	border-radius: 10px;
	background-color: currentColor;
	display: table;
	float: left;
}
.sub main .event .event_list li:nth-child(n+2) {
	margin-left: 10px;
}
.sub main .event .event_list li:nth-child(2) {
	color: #4ac1eb;
}
.sub main .event .event_list li:nth-child(3) {
	color: #53c4b6;
}
.sub main .event .event_list li:nth-child(4) {
	color: #099fec;
}
.sub main .event .event_list a {
	padding: 4px 0;
	color: currentColor;
	vertical-align: middle;
	border: solid 2px #fff;
	border-radius: 6px;
	background: #fff;
	display: table-cell;
	transition:
		color 450ms cubic-bezier(0.23, 1, 0.32, 1),
		background-color 450ms cubic-bezier(0.23, 1, 0.32, 1);
}
.sub main .event .event_list a:hover,
.sub main .event .event_list .active {
	color: #fff100;
	text-decoration: none;
	background-color: transparent;
}

.sub main .event h3.htxt_sub.add_time {
	width: 100%;
	padding: 0;
	background-image: none;
	overflow: hidden;
	display: table;
	cursor: pointer;
	position: relative;
}
.sub main .event h3.htxt_sub.add_time::after {
	content: '';
	width: 36px;
	height: 36px;
	margin: auto;
	background-image: url(../img/icon_toggle.svg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 36px 72px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
}
.sub main .event h3.htxt_sub.add_time.active::after {
	background-position: center bottom;
}
.sub main .event h3.htxt_sub.add_time time {
	width: 115px;
	color: #0068b9;
	text-align: center;
	vertical-align: middle;
	background-color: #fff100;
	display: table-cell;
	box-shadow: 2px 0 2px 0 rgba(2, 27, 37, 0.2);
}
.sub main .event h3.htxt_sub.add_time span {
	padding: 10px 40px 10px 15px;
}
.sub main .event h3.htxt_sub.add_time span span {
	padding: 0;
}
.sub main .event .event_detail > * {
	width: calc((100% - 12px) / 2);
	float: right;
}
.sub main .event .event_detail figure {
	margin-left: 12px;
}
.sub main .event .tbl_wrap {
	border: solid 3px #00a9ec;
	border-radius: 8px;
}
.sub main .event table {
	width: 100%;
}
.sub main .event th {
	width: 100px;
	padding-right: 20px;
	color: #00a9ec;
	line-height: 1.3;
	text-align: left;
}
.sub main .event tr:nth-child(n+2) {
	border-top: dotted 1px #333;
}
.sub main .event tr > * {
	padding: 10px 0;
}

.sub main .event .event_tbl th {
	padding-left: 12px;
}
.sub main .event .event_tbl td {
	padding-right: 12px;
}

.sub main .event.competition .shadow_area,
.sub main .event.aquatics .shadow_area,
.sub main .event.sp_booth .shadow_area {
	padding-bottom: 20px;
}
.sub main .event.competition * + .contents,
.sub main .event.aquatics * + .contents,
.sub main .event.sp_booth * + .contents {
	margin-top: 0;
}
.sub main .event.competition .contents_area,
.sub main .event.aquatics .contents_area,
.sub main .event.sp_booth .contents_area {
	padding-bottom: 30px;
	display: none;
}
.sub main .event.competition .txt_intro,
.sub main .event.aquatics .txt_intro,
.sub main .event.sp_booth .txt_intro {
	margin-bottom: 15px;
}

.sub main .event.schedule .schedule_wrap {
/* 	padding-top: 109%; */
	padding-top: 84.6%;
}
.sub main .event.schedule svg.schedule {
	width: 100%;
	top: 0;
	left: 0;
}
.sub main .event.schedule figure:last-child {
	margin-top: 40px;
}
.sub main .event.schedule figure:last-child img {
	width: 85%;
}

.sub main .event.aquatics .annot {
	margin: -20px 0 15px 0;
	padding: 0 12px;
}
.sub main .event.aquatics .annot + .contents {
	margin-top: 0;
}
.sub main .event.aquatics .clinic_list {
	margin-top: 15px;
}
.sub main .event.aquatics .clinic_list li {
	width: calc((100% - 60px) / 3);
	float: left;
}
.sub main .event.aquatics .clinic_list li:nth-child(3n+2) {
	margin: 0 29.5px;
}
.sub main .event.aquatics .clinic_list li:nth-child(n+4) {
	margin-top: 20px;
}
.sub main .event.aquatics .clinic_list h3 {
	margin-bottom: 15px;
	padding: 4px 8px;
	color: #0068b9;
	border-radius: 5px;
	background-color: #fff100;
	box-shadow: 0 2px 0 0 rgba(236, 224, 0, 1);
}
.sub main .event.aquatics .clinic_list h4 {
	margin: 8px 0 4px 0;
}
.sub main .event.aquatics .clinic_list p {
	font-size: 1.3rem;
}

.sub main .event.sp_booth .event_detail > * {
	float: none;
}

.sub main .event.overview .dl_list {
	top: 0;
	right: 40px;
}
.sub main .event.overview .dl_list li {
	width: 160px;
	float: left;
}
.sub main .event.overview .dl_list li:nth-child(n+2) {
	margin-left: 5px;
}
.sub main .event.overview tr:first-child > * {
	padding-top: 0;
}
.sub main .event.overview tr:last-child > * {
	padding-bottom: 0;
}
.sub main .event.overview .entry_tbl tr:last-child .mt {
	margin-top: 8px;
}

	@media screen and (max-width: 670px) {
		.sub main .event .event_list {
			margin-bottom: 20px;
		}
		.sub main .event .event_list li {
			padding: 3px;
			border-radius: 6px;
		}
		.sub main .event .event_list li {
			width: calc(50% - 3px);
		}
		.sub main .event .event_list li:nth-child(odd) {
			margin-left: 0;
		}
		.sub main .event .event_list li:nth-child(even) {
			margin-left: 6px;
		}
		.sub main .event .event_list li:nth-child(n+3) {
			margin-top: 6px;
		}
		.sub main .event .event_list a {
			border-radius: 4px;
		}

		.sub main .event h3.htxt_sub.add_time {
			font-size: 1.6rem;
		}
		.sub main .event h3.htxt_sub.add_time::after {
			width: 20px;
			height: 20px;
			background-size: 20px 40px;
			right: 10px;
		}
		.sub main .event h3.htxt_sub.add_time time {
			width: 65px;
			font-size: 1.5rem;
		}
		.sub main .event h3.htxt_sub.add_time span {
			padding: 8px 40px 8px 12px;
		}
		.sub main .event .event_detail > * {
			width: 100%;
			float: none;
		}
		.sub main .event .event_detail figure {
			margin: 0 0 12px 0;
		}
		.sub main .event th {
			width: 80px;
			padding-right: 10px;
		}

		.sub main .event.schedule figure:last-child {
			margin-top: 15px;
		}

		.sub main .event.competition .shadow_area,
		.sub main .event.aquatics .shadow_area,
		.sub main .event.sp_booth .shadow_area  {
			padding-bottom: 7px;
		}
		.sub main .event.competition .contents_area,
		.sub main .event.aquatics .contents_area,
		.sub main .event.sp_booth .contents_area {
			padding-bottom: 18px;
		}

		.sub main .event.aquatics .annot {
			margin: -10px 0 10px 0;
			padding: 0 12px;
			font-size: 1.1rem;
		}
		.sub main .event.aquatics .clinic_list li {
			width: auto;
			float: none;
		}
		.sub main .event.aquatics .clinic_list li:nth-child(3n+2) {
			margin: 0;
		}
		.sub main .event.aquatics .clinic_list li:nth-child(n+2) {
			margin-top: 14px;
		}
		.sub main .event.aquatics .clinic_list h3 {
			margin-bottom: 8px;
		}
		.sub main .event.aquatics .clinic_list h4 {
			margin: 5px 0 2px 0;
		}
		.sub main .event.aquatics .clinic_list p {
			font-size: 1.1rem;
		}

		.sub main .event.overview .dl_list {
			margin: -18px 0 18px 0;
			padding: 0 12px 8px 12px;
			text-align: center;
			background-color: #00a9ec;
			position: static;
		}
		.sub main .event.overview .dl_list li {
			width: calc((100% - 10px) / 3);
			display: inline-block;
			float: none;
		}
	}

.sub main .entry h3 {
	margin-bottom: 25px;
	font-size: 2.6rem;
	letter-spacing: 1.5px;
	background-image: url(../img/logo_entry.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
}
.sub main .entry .entry_wrap {
	margin-top: 25px;
	padding: 22px 0;
	color: #613838;
	font-size: 1.9rem;
	background-color: #ffcccc;
}
.sub main .entry .btn_entry {
	max-width: 380px;
	margin: 0 auto;
	pointer-events: none;
}
.sub main .entry .entry_wrap + ul {
	/* max-width: 580px; */
	margin: 18px auto -15px auto;
	padding: 0 40px;
}
.sub main .entry .entry_wrap + ul li:nth-child(n+2) {
	margin-top: 3px;
}

	@media screen and (max-width: 670px) {
		.sub main .entry h3 {
			margin-bottom: 15px;
			padding-bottom: 82px;
			font-size: 1.7rem;
			letter-spacing: 0;
			background-position: center bottom;
			background-size: 270px 70px;
		}
		.sub main .entry .entry_wrap {
			margin-top: 15px;
			padding: 18px 12px;
			font-size: 1.5rem;
		}
		.sub main .entry .entry_wrap + ul {
			margin: 15px auto -5px auto;
			padding: 0 12px;
		}
	}

.sub main .olympian .htxt_sub::after {
	content: '（50音順）';
	height: 27px;
	margin: auto;
	font-size: 2.1rem;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
}
.sub main .olympian h4.htxt {
	max-width: 220px;
	margin: 30px auto;
	padding: 6px 0;
	font-size: 2.3rem;
	font-weight: bold;
	border-radius: 6px;
	background-color: #fff100;
	box-shadow: 0 3px 0 0 rgba(236, 224, 0, 1);
}
.sub main .olympian .olympian_lst + h4.htxt {
	margin-top: 55px;
}
.sub main .olympian .olympian_lst > *,
.sub main .olympian .olympian_lst li > * {
	float: left;
}
.sub main .olympian .olympian_lst li {
	width: calc((100% - 20px) / 2);
	padding: 15px;
	border-radius: 8px;
	background-color: #fff100;
	box-shadow: 3px 3px 0 0 rgba(236, 224, 0, 1);
}
.sub main .olympian .olympian_lst .photo {
	max-width: 125px;
	box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.15);
}
.sub main .olympian .olympian_lst li:nth-child(even) {
	margin-left: 20px;
}
.sub main .olympian .olympian_lst li:nth-child(n+3) {
	margin-top: 20px;
}
.sub main .olympian .olympian_lst .txt_wrap {
	width: calc(100% - 125px);
	padding-left: 15px;
}
.sub main .olympian .olympian_lst .txt_wrap h5 {
	font-size: 2.1rem;
	font-weight: bold;
}
.sub main .olympian .olympian_lst .txt_wrap p {
	margin-top: 6px;
}
.sub main .olympian .olympian_lst .txt_wrap .scroll {
	max-height: 260px;
	overflow-y: scroll;
}

	@media screen and (max-width: 670px) {
		.sub main .olympian .htxt_sub::after {
			height: 19px;
			margin: auto;
			font-size: 1.5rem;
			right: 0;
		}
		.sub main .olympian h4.htxt {
			max-width: 220px;
			margin: 20px auto;
			font-size: 2.1rem;
		}
		.sub main .olympian .olympian_lst + h4.htxt {
			margin-top: 35px;
		}
		.sub main .olympian .olympian_lst > *,
		.sub main .olympian .olympian_lst li > * {
			width: auto !important;
			float: none;
		}
		.sub main .olympian .olympian_lst .photo {
			margin: 0 auto;
			box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.15);
		}
		.sub main .olympian .olympian_lst .txt_wrap {
			padding: 0;
		}
		.sub main .olympian .olympian_lst .txt_wrap h5 {
			margin-top: 12px;
			font-size: 1.7rem;
			text-align: center;
		}
		.sub main .olympian .olympian_lst li:nth-child(even) {
			margin-left: 0;
		}
		.sub main .olympian .olympian_lst li:nth-child(n+2) {
			margin-top: 18px;
		}
		.sub main .olympian .olympian_lst .txt_wrap .scroll {
			max-height: 100%;
		}
	}
	@media screen and (max-width: 374px) {
		.sub main .olympian .htxt_sub {
			height: 58px;
		}
		.sub main .olympian .htxt_sub::after {
			bottom: -22px;
		}
	}

.sub main .sponsor .sponsor_logo > * {
	float: left;
}
.sub main .sponsor .sponsor_logo a {
	border: solid 1px #000;
}
.sub main .sponsor .sponsor_logo figcaption {
	padding: 9px 0 0 35px;
}
.sub main .sponsor .sp_sponsor .sponsor_logo figcaption {
	padding-top: 14px;
}
.sub main .sponsor .sponsor_logo img {
	width: 120px;
	height: 38px;
}
.sub main .sponsor .sp_sponsor .sponsor_logo img {
	width: 215px;
	height: 50px;
}
.sub main .sponsor .spons_list li {
	padding: 25px 0;
}
.sub main .sponsor .spons_list li:first-child {
	padding-top: 0;
}
.sub main .sponsor .spons_list li:last-child {
	padding-bottom: 0;
}
.sub main .sponsor .spons_list li:nth-child(n+2) {
	border-top: dashed 1px #646464;
}
	@media screen and (max-width: 670px) {
		.sub main .sponsor .contents_area {
			text-align: center;
		}
		.sub main .sponsor .sponsor_logo > * {
			float: none;
		}
		.sub main .sponsor .sponsor_logo a {
			display: inline-block;
		}
		.sub main .sponsor .sponsor_logo figcaption {
			padding: 8px 0 0 0 !important;
		}
		.sub main .sponsor .spons_list li {
			padding: 18px 0 15px 0;
		}
	}

.sub main .faq .ml10{margin-left:1em;}
.sub main .faq .mt10{margin-top:1em;}
.sub main .faq * + h3.htxt_sub,
.sub main .faq .cont_faq + .cont_faq {
	margin-top: 30px;
}
.sub main .faq a {
	color: #ff5600;
}
.sub main .faq a:hover {
	text-decoration: underline;
}
.sub main .faq .cont_faq h4 {
	padding: 3px 12px 3px 40px;
	font-size: 1.9rem;
	background-image: url(../img/icon_q.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 30px 30px;
}
.sub main .faq .cont_faq hr {
	margin: 13px 0 18px 0;
	border-top: dashed 1px #333;
}
.sub main .faq .cont_faq hr + * ~ * {
	margin-top: 10px;
}
.sub main .faq .cont_faq li:nth-child(n+2) {
	margin-top: 4px;
}
.sub main .faq .inquiry {
	margin-top: 40px;
}

	@media screen and (max-width: 670px) {
		.sub main .faq * + h3.htxt_sub,
		.sub main .faq .cont_faq + .cont_faq {
			margin-top: 18px;
		}
		.sub main .faq .cont_faq h4 {
			padding-left: 35px;
			font-size: 1.5rem;
			background-size: 25px 25px;
		}
		.sub main .faq .cont_faq hr {
			margin: 10px 0 15px 0;
		}
		.sub main .faq .cont_faq hr + * ~ * {
			margin-top: 8px;
		}
		.sub main .faq .inquiry {
			margin-top: 22px;
		}
	}

.sub main .access h4.htxt_sub {
	margin: 20px 0 8px 0;
	font-size: 1.7rem;
}
.sub main .access #map {
	width: 100%;
	height: 500px;
}
.sub main .access .big_map {
	margin-top: 15px;
	padding: 2px 0 2px 32px;
	background-image: url(../img/icon_bmap.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 26px 26px;
}
.sub main .access .big_map a:hover {
	color: #ff5600;
}

	@media screen and (max-width: 670px) {
		.sub main .access h4.htxt_sub {
			margin-top: 14px;
			font-size: 1.5rem;
		}
		.sub main .access #map {
			height: 250px;
		}
		.sub main .access .big_map {
			margin-top: 10px;
			padding: 2px 0 2px 29px;
			background-size: 23px 23px;
		}
	}

[class^='sponsor_list'] {
	margin: 0 auto;
}
.sponsor_list01 {
	width: 606px !important;
	margin-bottom: 10px;
}
.sponsor_list02 {
	width: 962px !important;
}
[class^='sponsor_list'] li {
	float: left;
}
[class^='sponsor_list'] li:nth-child(n+2) {
	margin-left: 10px;
}
.sponsor_list01 li:nth-child(n+2) {
	margin-top: 10px;
}
[class^='sponsor_list']  a {
	border: solid 1px #000;
}
.sponsor_list01 li:first-child img {
	width: 172px;
	height: 40px;
}
.sponsor_list01 li:nth-child(n+2) img,
.sponsor_list02 img {
	width: 96px;
	height: 30px;
}

.top .sponsor_wrap {
	margin-bottom: 20px;
}

.sub .sponsor_wrap {
	padding: 18px 0;
	background-color: #fff;
}


.ticker [class^='sponsor_list'] {
	margin-left: 10px;
}
.ticker .sponsor_list01 li:nth-child(n+2),
.ticker .sponsor_list02 li {
	margin-top: 5px;
}

.top .ticker {
	margin-bottom: 0;
}

.sub .ticker {
	padding: 0;
}

.bx-wrapper {
	height: 0;
	opacity: 0;
	visibility: hidden;
}

	@media screen and (max-width: 670px) {
		.sponsor_wrap {
			display: none;
		}
		.ticker {
			display: block;
		}

		.bx-wrapper {
			height: auto;
			opacity: 1;
			visibility: visible;
		}

		.top .bx-wrapper {
			margin-bottom: 20px;
		}

		.sub .bx-wrapper {
			padding: 12px 0;
			background-color: #fff;
		}
	}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/*
 * Hide visually and from screen readers
 */

.hidden {
	display: none !important;
}
.hpc {
	display: none;
}
	@media screen and (max-width: 670px) {
		.hpc {
			display: block;
		}
		.hsp {
			display: none;
		}
	}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	position: absolute;
	clip: rect(0 0 0 0);
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	clip: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clear fix
 */

.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}

