﻿@charset "UTF-8";

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

[reset]

[base]
	font
	anchor
	add class

[home set-up]
	h
	pagetop link

[lower]

[each page]

[contents]
	container
	header
	main contents
	footer
	print

[clearfix]

[cms setting]

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


/* CSS Document */


/*===============================================
●style.css
===============================================*/

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	width
	/***/
	: auto;
}

.container {
	width: 100%;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: reset */

body,
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote {
	margin: 0;
	padding: 0;
}

ul {
	margin: 0;
	padding: 0;
}

header,
nav,
section,
aside,
footer {
	display: block;
}

table {
	border-spacing: 0;
}

fieldset,
img,
a img,
abbr,
acronym {
	border: 0;
}

li img,
dt img {
	vertical-align: top;
}

address,
caption,
cite,
code,
dfn,
th,
var {
	font-style: normal;
	font-weight: normal;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

q:before,
q:after {
	content: '';
}

a {
	outline: none;
}

button,
fieldset,
form,
input,
label,
legend,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: clear */

#serviceList ul:after,
#serviceList ul.normal:after,
*:after {
	content: "";
	display: block;
	clear: both;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: base */

:root {
	--main-color: #333c5e;
	--main-color01: #f2ebe6;
	/* とっても薄め */
	--main-color02: #f0dac2;
	/* 薄め */
	--main-color03: #815519;
	/* 濃いめ */
	--sub-color01: #f5f4f3;
	--base-font: 'Noto Sans JP', 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "PT Sans", "Lucida Grande", sans-serif;
	--sub-font: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.bg_color_1 {
	background-color: #ffffff;
}


/*--------------------------------------- font */

html {
	font-size: 62.5%;
	/* 1em=10px化 */
	;
}

body {
	font-family: 'Noto Sans JP', MyHiraginoGothic, "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.5;
	color: #1d2129;
	-webkit-text-size-adjust: 100%;
	font-size: 1.4em;
	/* 基準フォントサイズ1.4em=14px */
}

.subFont {
	font-family: var(--sub-font);
}

.image-note-txt {
	font-size: 14px;
	text-align: right;
	padding-right: 20px;
	margin: 8px 0 0 0;
}

.pc-txt-center {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.image-note-txt {
		padding-right: 3px;
		text-align: left;
	}
}

@media screen and (max-width: 544px) {
	.image-note-txt {
		font-size: 13px;
	}

	.image-note-txt.red-txt {
		padding-right: 6px;
	}
}

/*----------------------- color */


/* red */

.red,
#input-table table th .input_required {
	color: #FF0000;
}


/* white */

.white {
	color: #FFFFFF;
}


/* aqua */

.aqua {
	color: #000000;
}


/* blue */

.blue {
	color: #334f99;
}


/* gray */

gray {
	color: #7f7979;
}


/* black */

.black {
	color: #0b0b0b;
}

.bg_white {
	background-color: #fff;
}


/*----------------------- size */


/* size10px */

.body_common #newsListStyle02 li .date,
.list_thumbnail li .date,
.size10 {
	font-size: 0.71em;
}


/* size12px */

#input-table table th .input_required,
nav span,
footer {
	font-size: 0.85em;
}


/* size14px */

#header_logo,
.size14 {
	font-size: 1.0em;
}


/* size16px */

section {
	font-size: 1.14em;
}


/* size18px */

#serviceList li span.title,
.size18 {
	font-size: 1.28em;
}


/* size22px */

.pure-drawer .tel,
h3 {
	font-size: 1.57em;
}


/* size24px */

h2 {
	font-size: 2.01em;
}


/*--------------------------------------- anchor */

a {
	color: var(--link-color);
	text-decoration: none;
}

a:hover {
	color: #333c5e;
	text-decoration: none;
}

header a {
	color: #333;
}


/* white */

footer article a {
	color: var(--footer-txtcolor);
}

footer article a:hover {
	text-decoration: underline;
	color: #FFF;
}


/* btn */

.btn a {
	min-width: 45%;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	outline: none;
	position: relative;
	z-index: 2;
	color: #333c5e;
	border-radius: 100px;
	padding: 0.7em 20px;
	border: 2px solid #333c5e;
	font-weight: bold;
	background-color: #ffffff;
	background-size: 180% auto;
	transition: background-color .3s ease-out, color .3s ease-out;
}

.btn a:hover {
	color: #ffffff;
	background-color: #333c5e;
}



/**/
.container_result .info_text.red-txt {
	font-size: 15px;
	margin-top: 30px;
	color: #CE1627;
}

.image-note-txt.red-txt {
	font-size: 10px;
}

@media screen and (min-width:769px),
print {
	.btn a {
		font-size: 1.1em;
	}
}

@media screen and (max-width: 768px) {
	.btn a {
		font-size: 1em;
		padding: 0.3em 20px;
	}
}

/* btn02 */

.btn02 {
	text-align: center;
}

.btn02 a {
	border-radius: 100px;
	padding: 0.7em 20px;
	background-color: #333131;
	color: #FFF;
	text-decoration: none;
	font-size: 1.2em;
	display: inline-block;
	min-width: 45%;
	transition: background-color linear 0.2s, color linear 0.2s;
}

.btn02 a:hover {
	background-color: #999;
	color: #000;
}

@media screen and (max-width: 768px) {
	.btn02 {
		padding: 20px 10px;
	}

	.btn02 a {
		display: block;
	}
}


/* btn03 */

.btn03 {
	text-align: center;
}

.btn03 a {
	padding: 0.7em 20px;
	color: #000;
	text-decoration: none;
	font-size: 1.2em;
	display: inline-block;
	min-width: 45%;
	transition: background-color linear 0.2s, color linear 0.2s, border linear 0.2s;
	border: solid 1px #000;
}

.btn03 a:hover {
	background-color: var(--main-color);
	color: var(--footer-txtcolor);
	border: solid 1px var(--main-color);
}


/*--------------------------------------- add class */

.floatL {
	float: left;
}

.floatR {
	float: right;
}

.clearB {
	clear: both;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.bold {
	font-weight: bold;
}

br.forTab {
	display: none;
}

br.forSp {
	display: none;
}

.mb1em {
	margin-bottom: 1em;
}

.mb5 {
	margin-bottom: 5px;
}

.hidden {
	display: none;
}

.bgWhite {
	background-color: #FFF !important;
}

.bgBlack {
	background-color: #000 !important;
}

.bgGray {
	background-color: #f2f2f2 !important;
}

.bgLightgray {
	background-color: #f9f8f8 !important;
}

.bgBeige {
	background-color: #f3f1ed !important;
}

.bgLightpink {
	background-color: #f5edef !important;
}


@media screen and (min-width: 780px),
print {
	.sp_only {
		display: none;
	}
}

@media screen and (max-width: 779px) {
	.pc_only {
		display: none;
	}
}

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

	p.right.mb5,
	p.right {
		text-align: inherit;
	}
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set-up */

.body_common h2 {
	line-height: 1.2;
	padding: 0.3em 10px;
	clear: both;
	max-width: 978px;
	margin: 10px auto 35px;
	color: #333131;
	text-align: center;
}

.body_common h2 span {
	display: block;
	font-size: 0.6em;
	margin-top: 7px;
}

.lower h1,
.lower h2 {
	color: #333c5e;
	font-weight: bold;
	position: relative;
	padding: 1em 0 30px;
}

/* h:変更した場合はstyle_editor.cssにも反映すること */

.body_common h3 {
	clear: both;
	padding: 1em 0 0.2em;
	margin-bottom: 1.8em;
	color: #333131;
	position: relative;
	text-align: center;
}

.lower h3 {
	border-bottom: dotted 1px #ccc;
	padding-bottom: 20px;
	margin-bottom: 20px;
	color: var(--main-color);
}

.lower h4 {
	clear: both;
	margin: 0 0 15px;
	padding: 5px 12px 5px 12px;
	background-color: var(--main-color-light);
	color: #6d6d6d;
}

.lower h5 {
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
	border-bottom: 2px solid #6d6d6d;
	color: #6d6d6d;
	font-size: 1.3em;
	margin: 0 0 20px;
}

.lower h5:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid #6d6d6d;
	border-right: 2px solid #6d6d6d;
	background-color: #fff;
	transform: rotate(135deg) translateY(50%);
	position: absolute;
	bottom: -12px;
	left: 50%;
}

.lower h6 {
	clear: both;
	margin: 0 0 20px;
	color: var(--main-color);
	line-height: 1.5;
}

.h_box {
	max-width: 800px;
	margin: 0 auto;
}

.h_box .btn {
	min-width: 25%;
	text-align: right;
	margin: 0 0 0 auto;
}

.h_box .btn a {
	font-size: 1em;
	min-width: auto;
	padding: 4px 20px;
}

@media screen and (min-width: 780px),
print {

	h1,
	h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.3em;
	}

	h4 {
		font-size: 1.2em;
	}

	h5,
	h6 {
		font-size: 1.1em;
	}

	.h_box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		align-items: center;
	}
}

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

	h1,
	h2 {
		font-size: 1.3em;
	}

	h3 {
		font-size: 1.2em;
	}

	h4 {
		font-size: 1.1em;
	}

	h5,
	h6 {
		font-size: 1em;
	}

	.h_box {
		padding-bottom: 20px;
	}

	.h_box .h_box_title {
		padding-bottom: 10px;
	}
}


/* table */

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

table th,
table td {
	border: 0;
	border-top: 1px solid #dddddd;
	word-break: break-all;
}

table tr:first-child th,
table tr:first-child td {
	border-top: 0;
}

table th {
	font-weight: bold;
}

table[border="0"],
table[border="0"] th,
table[border="0"] td {
	border: none;
}

@media screen and (max-width:1000px) {
	.scroll_table {
		overflow-x: auto;
		white-space: nowrap;
		display: block;
		width: 100%;
		border: 1px solid #eaeaea;
		box-shadow: inset -10px 0 10px #eaeaea;
		-webkit-overflow-scrolling: touch;
	}
}

@media screen and (max-width:479px) {
	table th {
		width: auto !important;
	}

	table.responsive tr,
	table.sp_table tr {
		display: block;
	}

	table.responsive th,
	table.responsive td,
	table.sp_table th,
	table.sp_table td {
		text-align: left;
		width: 100% !important;
		display: list-item;
		list-style: none;
	}

	table.responsive tr table,
	table.sp_table tr table {
		display: table;
	}

	table.responsive th table th,
	table.responsive td table td,
	table.sp_table th table th,
	table.sp_table td table td {
		width: auto !important;
		display: table-cell;
	}

	table.noresponsive tr {
		display: table-row;
	}

	table.noresponsive th,
	table.noresponsive td {
		text-align: left;
		width: 100% !important;
		display: table-cell;
		list-style: none;
	}

	table.noresponsive tr table {
		display: table;
	}

	table.noresponsive th table th,
	table.noresponsive td table td {
		width: auto !important;
		display: table-cell;
	}

	.scroll_table_box {
		font-size: 0.9em;
		overflow: auto;
		white-space: nowrap;
	}

	#pagetop .pc-txt-center {
		text-align: left;
	}
}

.tableStyle01,
#input-table table {
	border-collapse: collapse;
	font-size: 0.95em;
}

table.tableStyle01 th,
table.tableStyle01 td,
#input-table table th,
#input-table table td {
	padding: 0.5em 1em;
	border: 1px solid #dddddd;
}

table.tableStyle01 th,
#input-table table th {
	color: #666;
	font-weight: bold;
	background: #f4f4f4;
}

table.tableStyle01[border="0"],
table.tableStyle01[border="0"] th,
table.tableStyle01[border="0"] td,
#input-table table[border="0"],
#input-table table[border="0"] th,
#input-table table[border="0"] td {
	border: none;
}

#input-table table {
	width: 100%;
}


/* flexbox */

.flexbox {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
}

.flexbox li {
	-webkit-box-flex: 1;
	flex-grow: 1;
	list-style: none;
	text-align: center;
}


/*--------------------------------------- container */

.container ul {
	margin: 0 0 0 2em;
}


/* ------------------------ list_thumbnail */

ul.list_thumbnail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    list-style: none;
}

.list_thumbnailC3 li:last-child {
    margin-right: 0;
}

.list_thumbnail li .listBox {
	display: block;
}

.list_thumbnail li .date,
.list_thumbnail li .title {
	text-align: left;
}


.list_thumbnail .thumbnail {
	display: block;
	width: 100%;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	border: 1px solid #333c5e;
	transition: transform linear 0.2s;
}

.list_thumbnail .thumbnail_multiple:before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	background-image: url(./img/icon_clone.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
}

.list_thumbnail .thumbnail span {
	padding: 50% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: inset 0 -1em 4em 1em rgb(0 0 0 / 5%);
	transition: transform 0.5s ease-out;
}

.list_thumbnail li a:hover .thumbnail span {
	transform: scale(1.1);
	box-shadow: none;
}

.list_thumbnail li span.title {
	font-size: 0.9em;
	padding: 15px 0 10%;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.list_thumbnail li span.text {
	color: #393939;
}

img {
	pointer-events: none;
}

img {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	touch-callout: none;
	user-select: none;
}


@media screen and (min-width:780px),
print {
	.list_thumbnail li {
		margin-bottom: 4%;
	}

	.list_thumbnailC3 li {
		width: 30%;
		margin-right: 5%;
	}

	.list_thumbnailC3 li:nth-child(3n) {
		margin-right: 0;
	}

	.list_thumbnailC4 li {
		width: 25%;
		margin-right: 5%;
	}

	.list_thumbnailC4 li:nth-child(4n) {
		margin-right: 0;
	}
}

@media screen and (max-width:779px) {
	.list_thumbnail li {
		margin-bottom: 2%;
	}

	.list_thumbnailC3 li {
		width: 48%;
		margin-right: 4%;
	}

	.list_thumbnailC3 li:nth-child(2n) {
		margin-right: 0;
	}
}


/* .list_thumbnail.style02 */

.list_thumbnail.style02 li .thumbnail span {
	width: 100%;
	height: 100%;
	display: block;
	background-size: 106% auto;
	background-position: center center;
}

.list_thumbnail.style02 li .new {
	position: absolute;
	top: 19px;
	left: 17px;
	width: 111px;
	height: 107px;
	overflow: hidden;
}

.list_thumbnail.style02 li .new span {
	display: inline-block;
	position: absolute;
	padding: 5px 0;
	left: -47px;
	top: 24px;
	width: 163px;
	text-align: center;
	font-size: 14px;
	line-height: 13px;
	background: #ffa520;
	color: #fff;
	letter-spacing: 0.05em;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-shadow: 0 2px 5px rgb(0 0 0 / 20%);
}

.list_thumbnail.style02 .new span:before,
.list_thumbnail.style02 .new span:after {
	position: absolute;
	content: "";
	border-top: 4px solid #b2751b;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	bottom: -4px;
}

.list_thumbnail.style02 li .new span:before {
	right: 14px;
}

.list_thumbnail.style02 li .new span:after {
	left: 18px;
}


/* ------------------------ picTxtFrame */

.picTxtFrame {
	padding-bottom: 30px;
}

.picTxtFrame .pic {
	float: left;
	width: 40%;
	margin-top: 30px;
}

.picTxtFrame .pic img {
	width: 100%;
}

.picTxtFrame .txt {
	float: right;
	width: 60%;
	padding: 40px 10% 0;
}

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

	.picTxtFrame .pic,
	.picTxtFrame .txt {
		float: none;
		width: 100%;
	}

	.picTxtFrame .txt {
		padding: 20px 0 0;
	}
}

.picTxtFrame:nth-of-type(even) .pic {
	float: right;
}

.picTxtFrame:nth-of-type(even) .txt {
	float: left;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main */

article,
.con {
	margin-bottom: 30px;
}

.con {
	padding-bottom: 30px;
	border-bottom: dotted 1px #CCCCCC;
}

.entry {
	padding-bottom: 50px;
}

.entry li {
	margin-left: 2em;
}


/*--------------------------------------- kayFrame */


/*--------------------------------------- mainContaints */

.bgf8f6f3 {
	background-color: #f8f6f3;
}

.container article {
	padding: 0 10px;
}

.layout02 article {
	width: 76%;
	float: left;
}

@media screen and (min-width:479px),
print {
	.container {
		padding: 30px 0 5%;
	}
}

@media screen and (max-width:478px) {
	.container {
		padding: 20px 0;
	}
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: contents */


/*--------------------------------------- container */

html {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	height: 100%;
	margin: 0;
	padding: 0;
}

.msg {
	padding-top: 3%;
	line-height: 1.8;
	padding-bottom: 4%;
}

.layout02,
.breadCrumb ul,
.copy div,
article {
	max-width: 1120px;
	width: 100%;
	margin: 0 auto;
}


/*--------------------------------------- header */

header {
	position: relative;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10;
	background-color: #fff;
}

header #header_inner {
	padding: 10px 20px;
}

header a {
	color: #333;
	text-decoration: none;
	display: block;
}

header a:hover {
	text-decoration: underline;
}

header #header_logo {
	font-size: 1em;
}

header #header_logo a {
	display: inline-block;
}

header div {
	position: relative;
}

header #header_logo img {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	max-width: 400px;
}

header #header_inner {
	padding: 10px 10px 10px 60px;
	text-align: center;
}

header #header_logo a {
	padding: 5px 0;
}

header #header_logo span {
	margin-top: 1em;
	display: block;
	clear: both;
	float: none;
	padding-left: 0;
}

@media screen and (max-width: 544px) {
	header #header_logo a {
		width: 250px;
	}
}

@media screen and (max-width:478px) {
	header #header_inner {
		padding: 10px 10px 10px 50px;
	}

	header #header_logo img {
		max-width: 320px;
	}
}

.sp_menu_bg {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 20;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	display: none;
}

.sp_menu_bg.bg_fixed {
	display: block;
}

.sp_menu_btn {
	position: fixed;
	top: 10px;
	left: 10px;
	width: 50px;
	height: 50px;
	background-color: #ffffff;
	z-index: 500;
	background-image: url(./img/icon_menu_btn_open.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 100em;
}

.sp_menu_btn.close {
	background-image: url(./img/icon_menu_btn_close.png);
}

.sp_menu {
	position: fixed;
	z-index: 60;
	left: -100%;
	top: 0;
	width: 100%;
	max-width: 280px;
	height: 100%;
	padding: 70px 0;
	background-color: #ffffff;
	box-shadow: -3px 0 10px rgba(95, 96, 96, 0.3);
	overflow-y: auto;
	opacity: 0;
	transition: left 0.3s;
}

.sp_menu_navi ul {
	list-style: none;
	padding: 10px;
}

.sp_menu_navi ul li {}

.sp_menu_navi li a {
	color: #333333;
	display: block;
	text-decoration: none;
	padding: 10px 20px;
	position: relative;
	border-radius: 10px;
}

.sp_menu_navi li a:before {
	content: "";
	position: absolute;
	left: 5px;
	top: 10px;
	margin-top: 0.6em;
	width: 7px;
	border: 1px solid #999999;
}

.sp_menu_library li a:before {
	border-color: #333c5e;
}

.sp_menu_contests li a:before {
	border-color: #0095CF;
}

.sp_menu_navi li a:hover {
	background-color: #fafafa;
}

.sp_menu.menu_fixed {
	left: 0;
	opacity: 10;
}

.sp_menu_title {
	font-weight: bold;
	padding: 20px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	background-color: #F5F5F5;
}

.sp_menu_library .sp_menu_title {
	color: #333c5e;
}

.sp_menu_contests .sp_menu_title {
	color: #0095CF;
}

.sp_menu_library .sp_menu_title {
	border-top: 3px solid #333c5e;
	border-bottom: 1px solid #333c5e;
	background-color: #fafafa;
}

.sp_menu_contests .sp_menu_title {
	border-top: 3px solid #0095CF;
	border-bottom: 1px solid #0095CF;
	background-color: #edf8fc;
}

@media screen and (max-width:478px) {
	.sp_menu_btn {
		position: fixed;
		width: 45px;
		height: 45px;
		top: 6px;
		left: 6px;
	}
}

/*--------------------------------------- pagetop link */

#page_top a {
	width: 30px;
	height: 30px;
	border: 5px solid;
	border-color: var(--main-color) var(--main-color) transparent transparent;
	transform: rotate(-45deg);
	display: block;
	text-indent: -9999;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9;
}


/*--------------------------------------- pageprev/next link */

.page_link {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}

.page_link a {
	max-width: 640px;
	display: block;
	margin: 0 auto;
	border-radius: 100px;
}

.page_link .btn {
	padding-top: 20px;
}

@media screen and (max-width: 768px) {
	.page_link {
		padding: 20px 10px;
	}

	.page_link a {
		font-size: 1em;
		padding: 0.3em 20px;
	}
}


/*--------------------------------------- footer */

body footer#footer {
	width: 100%;
	border-top: 1px solid #dddddd;
}

.footer_box_1 {
	padding: 20px 10px;
}

body footer#footer nav {
	padding-top: 20px;
}

body footer#footer .navi_title {
	font-weight: bold;
	font-size: 1.2em;
}

.footer_box_1 .nav_library .navi_title {
	color: #333c5e;
}

.footer_box_1 .nav_contests .navi_title {
	color: #0095CF;
}

body footer#footer ul {
	list-style: none;
}

body footer#footer ul li {
	padding: 5px;
	padding-left: 20px;
	position: relative;
}

body footer#footer ul li:before {
	content: "";
	position: absolute;
	left: 5px;
	top: 60%;
	margin-top: -0.25em;
	width: 10px;
	border-top: 2px solid #999999;
}

body footer#footer .nav_library ul li:before {
	border-color: #333c5e;
}

body footer#footer .nav_contests ul li:before {
	border-color: #0095CF;
}

body footer#footer ul li a {
	display: inline-block;
}

.footer_box_2 {
	padding-top: 1%;
}

.footer_box_2 #footer__logo a {
	display: block;
	margin: 0 0 10px;
	width: 191px;
	height: 44px;
}

.footer_box_2 p {
	font-size: 0.9em;
	text-align: right;
	padding: 10px;
	margin-left: auto;
}

@media screen and (min-width: 545px),
print {
	body footer#footer .columnBox {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		max-width: 1000px;
		margin: 0 auto;
	}

	body footer#footer .footer_box_2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		max-width: 1000px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 544px) {
	body footer#footer #footer__logo a {
		margin: 20px auto 0 auto;
		width: 143px;
		height: 33px;
	}

	body footer#footer p {
		font-size: 10px;
		text-align: center;
		padding-top: 10px;
	}
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: lower */


/* breadCrumb */

.breadCrumb {
	font-size: 0.9em;
	background-color: #f4f4f4;
}

@media screen and (max-width:498px) {
	.breadCrumb {
		display: none;
	}
}

.breadCrumb ul {
	padding: 0.7em 20px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.breadCrumb li {
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
}

.breadCrumb li::before,
.breadCrumb li::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.breadCrumb li::before {
	left: 3px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.breadCrumb li a {
	color: #999999;
	text-decoration: none;
}

.breadCrumb li:first-child {
	padding: 0;
}

.breadCrumb li:first-child::before {
	border-top: none;
	border-right: none;
}

.breadCrumb li:last-child {
	background-image: none;
	padding-right: 0;
}


/* side */

nav#side {
	padding-bottom: 50px;
}

nav#side ul {
	-webkit-box-pack: center;
	justify-content: center;
}

nav#side li {
	margin-right: 10px;
}

nav#side li:last-of-type {
	margin-right: 0;
}

nav#side li a {
	border: solid 1px #CCC;
	padding: 12px 30px;
}

nav#side li.current a {
	background-color: var(--main-color);
	color: var(--footer-txtcolor);
	border: solid 1px var(--main-color);
}

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

	nav#side ul,
	nav#side li {
		margin: 0;
	}

	nav#side li a {
		border-radius: 0;
	}
}

/*--------------------------------------- columnBox_navi */
@media screen and (min-width: 545px),
print {
	.columnBox_navi {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin: 0 auto;
	}

	.columnBox_navi .column_navi {
		width: 24%;
	}

	.columnBox_navi .column_list {
		width: 75%;
		margin: 0 0 0 auto;
	}
}

@media screen and (max-width: 544px) {
	.columnBox_navi .column_navi {
		display: none;
	}
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main */
.body_common .main_h2 {
	font-size: 2em;
	margin: 50px 10px 0;
	max-width: 100%;
}

.body_common .main_h2_p {
	margin-bottom: 40px;
	text-align: center;
	font-size: 11.6667px;
}

.body_common .main_h2_p span {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background-image: url("../common/menu.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.red-txt {
	color: #CE1627;
}

.body_common .container.bg_color_1 {
	padding-bottom: 1%;
}

.body_common .page_link {
	padding-bottom: 100px;
}

.txt-center {
	text-align: center;
}

a.link-txt {
	font-weight: 600;
	color: #0095cf;
}

p.link-btn {
	margin-top: 10px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: cms setting */


/* フォームツールチップ */

.invisible {
	display: none;
}

a.tooltiplink {
	display: inline-block;
	margin: 1px 3px 0;
	padding: 1px 3px 0;
	border: 2px solid #C7C7C7;
	background-color: #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
	text-decoration: none;
	color: #FFFFFF;
	font-size: 1.0em;
	font-weight: bold;
}

#input-table a.tooltiplink:link,
#input-table a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}

#input-table a.tooltiplink:hover,
#input-table a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}

a.tooltiplink:link,
a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}

a.tooltiplink:hover,
a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}

p.tooltipbox {
	position: absolute;
	top: 100px;
	left: 20px;
	font-size: 1.0em;
	margin: 0;
	padding: 10px;
	min-width: 100px;
	min-height: 30px;
	color: #FFFFFF;
	background: #075698;
	border: 2px solid #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
}

#input-table p.tooltipbox a:link,
#input-table p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}

#input-table p.tooltipbox a:hover,
#input-table p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}

p.tooltipbox a:link,
p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}

p.tooltipbox a:hover,
p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}


/* comment form */

.comment_box {
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	border-collapse: collapse;
	border: solid 1px #cccccc;
	background: #eeeeee;
}

.comment_box th,
.comment_box td {
	padding: 10px;
}

.comment_id {
	width: 10%;
	text-align: left;
	white-space: nowrap;
}

.comment_name {
	width: 70%;
	text-align: left;
}

.comment_regist {
	width: 20%;
	text-align: right;
	vertical-align: bottom;
	white-space: nowrap;
	font-size: 0.8em;
	color: #aaaaaa;
}

.comment_box td {
	padding-top: 0;
}

.comment_text {
	padding: 15px;
	background: #ffffff;
}

.icon_comment {
	text-align: right;
}

.icon_comment a {
	padding-left: 30px;
	background: url(./icon_comment.gif) no-repeat left center;
}


/* twitter widget */

#twtr-hd h3,
#twtr-hd h4,
.twtr-widget h3,
.twtr-widget h4,
.twtr-widget p,
.twtr-widget-profile h3,
.twtr-widget-profile h4 {
	clear: none;
	margin: auto;
	padding: auto;
	font-size: auto;
	color: auto;
	border: none;
	background-image: none;
}


/* twitter tweet button */

iframe.twitter-share-button {
	width: 115px !important;
}


/* エディター：スタイル */

.editor-style-btn1 {
	display: inline-block;
	padding: 1em 2em;
	color: #FFFFFF;
	border-radius: 50px;
	background-color: #333131;
	transition: background-color linear 0.2s;
}

.editor-style-btn1:hover {
	background-color: #999;
}

.editor-style-btn1 a:link,
.editor-style-btn1 a:visited,
.editor-style-btn1 a:active,
.editor-style-btn1 a:hover {
	color: #FFFFFF;
	text-decoration: none;
}

.editor-style-text1 {
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3), -1px -1px 5px rgba(0, 0, 0, 0.3);
}


/* フォームエラー */

.error_msg,
.error_msg_js {
	padding-left: 20px;
	background: url(./img/form_error.gif) left top no-repeat;
}

.error_msg_js_wrapper_privacy {
	float: left;
}

/* 学校制服フォトコンテスト バナー */
.result__container li {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px;
	}
  
  .container ul.result__container {
	margin: 40px 0 0 0;
  }
  
  .result__container a.redults__result {
	display: block;
	transition: .5s;
  }
  
  .result__container a.redults__result:hover {
	transition: .5s;
	opacity: .7;
  }
  
  .result__container .results__result__info p {
	position: relative;
	display: block;
	padding: 20px 0 0 30px;
	}
  
  .result__container .results__result__info p::before {
	position: absolute;
	top: 73%;
	transform: translateY(-50%);
	left: 0;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 11px;
	content: "";
	border-radius: 50%;
	background: #e40011 url(https://kanko-gakuseifuku.co.jp/application/themes/kanko/html/dist/assets/images/nav-company_icon.svg) 50% no-repeat;
	background-color: #111;
	}
  
/* pager */

.pager_box {
	clear: both;
	text-align: center;
	margin-top: 15px;
}

.pager_box .pager {
	width: 2.5em;
	display: inline-block;
	border: 1px solid #BFBFBE;
	border-radius: 3px;
}

.pager_box .pager a {
	display: block;
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

.pager_box .pager a:link,
.pager_box .pager a:visited {
	color: #333333;
	text-decoration: none;
}

.pager_box .pager a:hover,
.pager_box .pager a:active {
	background: #F1F1F1;
	text-decoration: none;
}

.pager_box .pager_current {
	background: #F1F1F1;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

.pager_box .pager_dot {
	width: 1.5em;
	display: inline-block;
}

.pager_box .pager_space {
	width: 1em;
	display: inline-block;
	padding-left: 0.2em;
	padding-right: 0.2em;
}

.pager_box .pager_first {
	display: inline-block;
}

.pager_box .pager_last {
	display: inline-block;
}

/* CSS Document */


/*===============================================
●style_tab.css  画面の横幅が779pxまで
===============================================*/

@media screen and (max-width:779px) {
	br.forTab {
		display: inline;
	}

	html,
	body {
		-webkit-text-size-adjust: 100%;
		-webkit-overflow-scrolling: touch;
	}

	body {
		font-size: 1.3em;
	}

	nav ul {
		display: block;
	}
}


/* CSS Document */

br.forSp {
	display: inline;
}


/*===============================================
●style_sp.css  画面の横幅が479pxまで
===============================================*/

@media screen and (max-width:479px) {
	br.forSp {
		display: block;
	}

	br.forPc {
		display: inline;
	}

	.container_result .info_text.red-txt {
		text-align: left;
	}
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: base */


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.set-up */

.body_common h2 {
	margin: 0 10px 20px;
	letter-spacing: 0.1em;
}

@media screen and (max-width:498px) {
	.body_common h2 {
		margin: 0 10px 10px;
	}
}


/* contact form */

#input-table .input_button {
	width: 80%;
}

input[type="text"] {
	width: 100% !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#input-table table .form_input_addnumber {
	width: 40% !important;
}

#input-table table textarea {
	width: 96% !important;
	font-size: 110%;
}


/*--------------------------------------- index.php */

.section_main_img {
	text-align: center;
}

.section_main_img img {
	max-width: 100%;
	vertical-align: middle;
}

.bnr {
	color: #333c5e;
	text-align: center;
	border: 1px solid;
	line-height: 1.4;
}

.bnr a {
	color: #333c5e;
	display: block;
	padding: 5% 20px;
}

@media screen and (min-width: 780px),
print {
	.bnr {
		font-size: 2em;
	}
}

@media screen and (max-width: 779px) {
	.bnr {
		font-size: 1.2em;
	}
}

/*--------------------------------------- item/index.html */

.body_item .list_thumbnail li {
	list-style: none;
	padding-bottom: 50px;
}

.body_item .list_thumbnail li img {
	width: 100%;
	margin-bottom: 8px;
}

.body_item .list_thumbnail li .text {
	color: #000;
	font-size: 0.9em;
}

.containerInner_item .imageMain {
	text-align: center;
	padding-bottom: 40px;
}

.containerInner_item .imageMain img {
	width: 100%;
	max-width: 100%;
}

.containerInner_item .txt {
	padding-bottom: 120px;
}

.containerInner_item .imageSideLayout .txt {
	float: left;
	width: 60%;
}

.containerInner_item .imageSideLayout .imageSide {
	float: right;
	width: 36%;
	text-align: center;
}

.containerInner_item .imageSideLayout .imageSide img {
	width: 100%;
}

.containerInner_item .imageSideLayout .imageSide span {
	display: block;
	text-align: left;
	font-size: 0.8em;
	padding-top: 8px;
}


/*--------------------------------------- news/index.html */

#newsList li span {
	display: block;
}

#newsList li a {
	text-decoration: none;
	display: block;
	padding: 20px;
	transition: background-color 0.8s;
	-webkit-transition: background-color 0.8s;
}

#newsList li a:hover {
	background-color: #eeeded;
	transition: background-color 0.5s;
}

#newsList li p {
	float: right;
	width: 83%;
}

#newsList li .thumbnail img {
	width: 100%;
}

#newsList li .date {
	color: #CCC;
}

#newsList li .title {
	padding: 0 0 10px;
}

#newsList li {
	position: relative;
	vertical-align: middle;
	text-decoration: none;
	margin-bottom: 20px;
}

@media screen and (max-width:498px) {
	.body_common #newsList li {
		display: none;
	}

	.body_common #newsList li:first-of-type {
		display: block;
	}
}

#newsList li .thumbnail::before,
#newsList li .thumbnail::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

#newsList li .thumbnail::before {
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	-webkit-border-radius: 0;
	border-radius: 0;
	background-color: var(--main-color);
	z-index: 99;
}

#newsList li .thumbnail::after {
	right: 8px;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--footer-txtcolor);
	border-right: 1px solid var(--footer-txtcolor);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 99;
}

.containerInner_news .date {
	display: block;
	text-align: right;
	margin-bottom: 20px;
	margin-top: -20px;
}

.containerInner_news .thumbnail {
	display: block;
	margin-bottom: 40px;
	text-align: center;
}

.containerInner_news .msg {
	margin-bottom: 50px;
}


/* --------------------------------------- contact/ */

.container ul.form_flow {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: space-around;
	justify-content: space-around;
	border-right: 1px solid #f4f4f4;
	border-bottom: 1px solid #f4f4f4;
	margin: 50px auto 0;
}

.form_flow li {
	-webkit-box-flex: 1;
	flex-grow: 1;
}

.form_flow li,
.form_flow li:first-child {
	display: block;
	width: 100%;
	text-align: left;
	border-left: 1px solid #f4f4f4;
	text-align: center;
}

.form_flow li {
	border-top: 1px solid #f4f4f4;
	padding: 10px;
}

.form_flow li:first-child {
	border-top: none;
}

.form_flow li.current {
	background-color: #f4f4f4;
}


/* table */

#input-table table th .input_required {
	display: inline-block;
	padding: 10px;
}


/* contact form */

#input-table .input_button {
	display: inline-block;
	border-radius: 4%;
	text-align: center;
	cursor: pointer;
	padding: 22px 44px;
	background: #bfbfbb;
	color: #ffffff;
	line-height: 1em;
	transition: color .3, background .3ss;
	border: 2px solid #bfbfbb;
	margin-bottom: 20px;
}

#input-table .input_button:hover {
	color: #bfbfbb;
	background: #ffffff;
}

.form_radio {
	margin-top: 3px;
}

.input-table-title div {
	display: inline-flex;
}


/*--------------------------------------- data/index_detail.php */

.slick_slider {
	max-width: 800px;
	margin: 0 auto;
}

.slick_slider .slick-list .slick-track {
	display: flex;
	align-items: center;
}

.slick_slider .thumbnail {
	max-width: 800px;
}

.slick-slide img {
	border: 1px solid #333c5e;
	margin: 0 auto;
}

.thumbnail .slick-track {
	transform: unset !important;
}

.slick_img img {
	max-height: 500px;
	margin: 0 auto;
	cursor: pointer;
}

.thumbnail .slick_thumbnail {
	opacity: .3;
	transition: opacity .3s linear;
	cursor: pointer;
}

.thumbnail .slick_thumbnail img {
	max-height: 100px;
	margin: 0 auto;
}

.thumbnail .slick-current {
	opacity: 1;
}

.slick_img {
	padding: 0 5px;
}

.slick_thumbnail {
	padding: 10px 5px;
}

.data_input,
.data_add_info {
	max-width: 800px;
	margin: 20px auto 0;
	background-color: #fff;
	padding: 20px;
	border: 1px solid #dddddd;
}

.data_input {}

.data_add_info {}

.data_input table th,
.data_add_info table th {
	width: 30%;
	vertical-align: top;
}

.popup_img {
	text-align: center;
}

@media screen and (max-width:478px) {
	.slick_img img {
		max-height: 350px;
	}
}

#uniforms-content .nav ul li a:hover::before {
	border: solid #e40010;
	border-width: 1px 1px 0 0;
}

/*--------------------------------------- data_search */

.search_box {
	padding: 10px 10px 20px;
	background-color: #ffffff;
}

.search_box .search_box_inner {
	margin-top: 20px;
	border-top: 1px dashed rgb(255 255 255 / 50%);
}

.search_box .search_box_text {
	font-size: 0.9em;
	color: #444444;
	width: 100%;
	height: 40px;
	margin-top: 10px;
	padding: 5px;
	border: none;
	background-color: #FAFAFA;
	border: 1px solid #ddd;
}

.search_box .search_box_text:focus {
	outline: 0;
}

.search_box .search_box_button {
	font-size: 1.2em;
	color: #ffffff;
	background-color: #333c5e;
	border: none;
	margin-top: 10px;
	width: 100%;
	height: 40px;
	cursor: pointer;
}

.search_box .search_box_title {
	font-size: 0.9em;
	padding-top: 15px;
}

.search_box .search_box_select {
	padding-top: 10px;
}

.search_box .search_box_select select {
	color: #444444;
	border: none;
	width: 100%;
	height: 40px;
	background-color: #fafafa;
	border: 1px solid #ddd;
}

.search_box_1 {
	border: 3px solid #333c5e;
	padding: 10px 20px 30px;
}

.body_data_search .main_h2_p span {
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url("../common/menu.png");
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width:479px),
print {
	.search_box_1 .search_box_select_list {
		display: flex;
		justify-content: space-between;
	}

	.search_box_1 .search_box_select {
		flex: 1;
		padding-left: 10px;
	}

	.search_box_1 .search_box_select:first-child {
		padding-left: 0;
	}

	.search_box_1 .search_box_inner {
		position: relative;
	}

	.search_box_1 .search_box_text {
		padding-right: 50px;
	}

	.search_box_1 .search_box_button {
		width: 40px;
		position: absolute;
		right: 0;
		top: 0;
		border-radius: 0 10px 10px 0;
	}
}

@media screen and (max-width:478px) {
	.search_box_1 .search_box_button:before {
		content: "検索";
		margin-right: 10px;
	}
}

/*--------------------------------------- result */

.container_main_img {
	text-align: center;
}

container_result {
	padding: 0 20px 5%;
}

.container_result article {
	max-width: 860px;
	padding: 0 25px;
}

.container_result h1 {
	text-align: center;
	color: #d02435;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
	font-size: 2.4em;
}

.container_result h2,
#judges h2 {
	text-align: center;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
	font-size: 2.2em;
	padding-bottom: 10px;
}

.container_result h2 span,
#judges h2 span {
	padding: 10px 20px;
	display: inline-block;
	border-bottom: 3px solid #0095CF;
}

.container_result h2.h2_gold span {
	border-bottom: 3px solid #CDA800;
}

.container_result h2.h2_silver span {
	border-bottom: 3px solid #C0BDBF;
}

.container_result h2.h2_copper span {
	border-bottom: 3px solid #C29E76;
}

.h2_add {
	text-align: center;
	font-size: 1.4em;
}

.container_result .msg {
	max-width: 810px;
	margin: 0 auto;
}

.result_title {
	text-align: center;
	margin: 0 auto;
	padding-top: 8%;
}

.result_img {
	text-align: center;
	display: flex;
	align-items: flex-end;
}

.result_text {
	padding: 5%;
	word-wrap: break-word;
}

.result_text .title_box {
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 30px;
	position: relative;
}

.result_list_winning .result_text .title_box {
	margin-bottom: 10px;
}

.result_text .title_box:after {
	content: "";
	display: block;
	position: absolute;
	width: 60%;
	bottom: 0;
	left: 20%;
}

.result_list_gold .result_text .title_box:after {
	border-bottom: 1px solid #CDA800;
}

.result_list_silver .result_text .title_box:after {
	border-bottom: 1px solid #C0BDBF;
}

.result_list_copper .result_text .title_box:after {
	border-bottom: 1px solid #C29E76;
}

.result_list_special .result_text .title_box:after {
	border-bottom: 1px solid #0095CF;
}

.result_text .title_box .title {
	font-size: 1.4em;
	padding-bottom: 10px;
}

.result_text .title_box .name {
	font-size: 1.4em;
}

.result_list_winning .result_text .title_box .title,
.result_list_winning .result_text .title_box .name {
	font-size: 1.2em;
}

.result_text .title_box .name_add,
.h2_add .name_add {
	font-size: 0.8em;
	padding-left: 0.25em;
}

.result_list {
	margin-top: 3%;
}

.result_list_special .result_box {
	padding-top: 3%;
}

.result_list_special .result_box:first-child {
	padding-top: 0;
}

.result_list_school {}

.result_list_school .result_box {
	padding: 2.5% 5%;
}

.result_list_school .result_medal {}

.result_list_school .result_medal img {
	width: 100%;
	max-width: 120px;
}

.result_list_school {
	padding: 3% 2% 0;
}

.result_list_school td {
	padding: 5px;
}

.result_list_school .result_school_text a {
	color: #0094CE;
}

.result_bnr {
	padding-top: 5%;
}

.result_medal {
	font-weight: bold;
	font-size: 2em;
}

.result_medal_gold {
	color: #CDA800;
}

.result_medal_silver {
	color: #C0BDBF;
}

.result_medal_copper {
	color: #C29E76;
}

.container_result .info_text {
	text-align: center;
	padding-bottom: 20px;
}

.container_result .btn {
	text-align: center;
}

.container_result .btn a {
	color: #ffffff;
	background-color: #333c5e;
	border: none;
	border-radius: 5px;
}

.container_result .btn a:hover {
	background-color: rgb(51 60 94 / 80%);
}

.result_list_winning:after {
	display: none;
}

@media screen and (min-width:780px),
print {

	.container_result .top_msg,
	.result_list_gold .result_text,
	.result_list_silver .result_text,
	.result_list_copper .result_text,
	.result_list_special .result_text,
	.result_list_school {
		font-size: 1.1em;
	}
}

@media screen and (max-width:810px) {
	.image-note-txt.red-txt {
		padding-right: 14px;
	}
}

@media screen and (max-width:779px) {
	.container_result .info_text.red-txt {
		font-size: 13px;
	}

	.image-note-txt.red-txt {
		padding-right: 4px;
	}
}

@media screen and (max-width:768px) {
	.image-note-txt.red-txt {
		padding-right: 4px;
	}
}

@media screen and (max-width:680px) {
	.body_common .main_h2_p.red-txt br.br-none-680 {
		display: none;
	}
}

@media screen and (min-width:479px),
print {
	.result_title {
		width: 83%;
	}

	.result_list_winning {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 7%;
	}

	.result_list_winning .result_box {
		padding-top: 5%;
		width: calc((100% - 7%) / 2);
	}

	.result_list_school .result_school {
		width: 250px;
	}
}

@media screen and (max-width:478px) {
	.result_title {
		width: 90%;
	}

	.result_list_winning .result_box {
		padding-top: 4%;
	}


	.container_result .info_text.red-txt {
		font-size: 0.9em;
	}

	.result_list_school td {
		display: block;
	}
}

@media screen and (max-width:375px) {
	.image-note-txt.red-txt {
		padding-right: 1px;
	}
}

#judges {
	width: 100%;
}

#judges ul#judges__container {
	width: 100%;
	margin: 62px auto 20px;
}

#judges ul#judges__container .judges__container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 1200px) {
	#judges ul#judges__container .judges__container {
		width: 100%;
	}
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container {
		width: 100%;
	}
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container .judges__container {
		display: block;
		width: 100%;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 440px;
	height: 231px;
	margin: 10px 10px 10px 10px;
	border-bottom: none;
}

@media screen and (max-width: 1200px) {
	#judges ul#judges__container .judges__container h3.judges__judge {
		width: 328px;
		height: 220px;
	}
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge {
		width: 260px;
		height: 200px;
		margin: 5px;
	}
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container .judges__container h3.judges__judge {
		width: 100%;
		height: 200px;
		margin: 0 auto;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__img {
	width: 50%;
	height: 100%;
	background: #4d4d4d;
}

@media screen and (max-width: 1200px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__img {
		width: 40%;
	}
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__img {
		width: 50%;
	}
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__img {
		width: 50%;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info {
	width: 50%;
	height: 100%;
	background: #0095cf;
	/*	cursor: pointer;*/
	position: relative;
}

@media screen and (max-width: 1200px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info {
		width: 60%;
	}
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info {
		width: 50%;
	}
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info {
		width: 50%;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .judges__judge__name {
	font-size: 26px;
	color: #ffed00;
	margin: 30px auto auto 25px;
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .judges__judge__name {
		font-size: 22px;
		font-weight: 700;
		color: #ffed00;
		margin: 20px auto auto 10px;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .judges__judge__posts {
	font-size: 13px;
	font-weight: 400;
	color: white;
	varter-spacing: 0;
	margin: 20px auto auto 25px;
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .judges__judge__posts {
		font-size: 11px;
		line-height: 1.1rem;
		varter-spacing: 0;
		margin: 20px auto auto 10px;
	}
}

/*#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .arrow {
	position: absolute;
	width: 63px;
	height: 11px;
	background: url(../../entry/imgs/arrow.svg) no-repeat center/contain;
	bottom: 20px;
	right: 25px;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}*/
@media screen and (max-width: 1200px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .arrow {
		bottom: 20px;
	}
}

@media screen and (max-width: 992px) {
	#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info .arrow {
		bottom: 20px;
	}
}

#judges ul#judges__container .judges__container h3.judges__judge .judges__judge__info:hover>.arrow {
	right: 15px;
}

#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(1) {
	margin-left: 0;
}

#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(1) .judges__judge__img {
	background: url(../../entry/imgs/judge_01.jpg) no-repeat center/cover;
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(1) .judges__judge__img {
		background: url(../../entry/imgs/judge_01.jpg) no-repeat center top/cover;
	}
}

#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(2) {
	margin-right: 0;
}

#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(2) .judges__judge__img {
	background: url(../../entry/imgs/judge_02.jpg) no-repeat center/cover;
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container li#judges__container--01 h3.judges__judge:nth-of-type(2) .judges__judge__img {
		background: url(../../entry/imgs/judge_02.jpg) no-repeat center top/cover;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
}

#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(1) {
	margin-left: 0;
}

#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(1) .judges__judge__img {
	background: url(../../entry/imgs/judge_03.jpg) no-repeat center/cover;
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(1) .judges__judge__img {
		background: url(../../entry/imgs/judge_03.jpg) no-repeat center top/cover;
	}
}

#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(2) .judges__judge__img {
	background: url(../../entry/imgs/judge_04.jpg) no-repeat center/cover;
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(2) .judges__judge__img {
		background: url(../../entry/imgs/judge_04.jpg) no-repeat center top/cover;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
}

#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(3) {
	margin-right: 0;
}

#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(3) .judges__judge__img {
	background: url(../../entry/imgs/judge_05.jpg) no-repeat center/cover;
}

@media screen and (max-width: 544px) {
	#judges ul#judges__container li#judges__container--02 h3.judges__judge:nth-of-type(3) .judges__judge__img {
		background: url(../../entry/imgs/judge_05.jpg) no-repeat center top/cover;
	}
}

#judges ul.modal__container .modal {
	display: none;
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	z-index: 101;
	background: #0095cf;
}

#judges ul.modal__container .modal .modal_bg {
	display: block;
	position: absolute;
	width: 0;
	height: 100%;
	bottom: 0;
	left: 0;
	background: #0095cf;
	overflow: hidden;
	opacity: 0.5;
}

#judges ul.modal__container .modal .modal_bg::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	left: 0;
	width: 110%;
	height: 110%;
	background: url(../../entry/imgs/modal_bg.jpg) no-repeat center/cover;
	-webkit-animation: modal_bg 12s linear infinite;
	animation: modal_bg 12s linear infinite;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal .modal_bg {
		width: 100%;
		height: 0;
	}

	#judges ul.modal__container .modal .modal_bg::before {
		left: 0;
		width: 110%;
		height: 110%;
		background: url(../../entry/imgs/modal_bg.jpg) no-repeat center bottom/cover;
		-webkit-animation: modal_bg_sp 7s linear infinite;
		animation: modal_bg_sp 7s linear infinite;
		-webkit-animation-direction: alternate;
		animation-direction: alternate;
	}
}

@-webkit-keyframes modal_bg {
	0% {
		left: 0;
	}

	100% {
		left: -20%;
	}
}

@keyframes modal_bg {
	0% {
		left: 0;
	}

	100% {
		left: -20%;
	}
}

@-webkit-keyframes modal_bg_sp {
	0% {
		left: 0;
	}

	100% {
		left: -10%;
	}
}

@keyframes modal_bg_sp {
	0% {
		left: 0;
	}

	100% {
		left: -10%;
	}
}

#judges ul.modal__container .modal ul {
	display: none;
	position: absolute;
	width: 844px;
	height: 385px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	opacity: 0;
}

@media screen and (max-width: 992px) {
	#judges ul.modal__container .modal ul {
		width: 80%;
		height: 60%;
		top: -20%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul {
		width: 100%;
		height: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

#judges ul.modal__container .modal ul li.modal__judge__img {
	display: block;
	width: 343px;
	height: 100%;
}

@media screen and (max-width: 992px) {
	#judges ul.modal__container .modal ul li.modal__judge__img {
		width: 343px;
		height: 100%;
		margin: 0 auto;
		padding: 22%;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul li.modal__judge__img {
		width: 220px;
		height: 220px;
		margin: -20px auto 0 auto;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
}

#judges ul.modal__container .modal ul li.modal__judge__info {
	width: 50%;
	height: 100%;
	margin-left: 40px;
}

@media screen and (max-width: 992px) {
	#judges ul.modal__container .modal ul li.modal__judge__info {
		width: 340px;
		height: auto;
		margin: 0 auto;
		bottom: 20px;
	}
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul li.modal__judge__info {
		width: 300px;
		height: auto;
		margin: 40% auto 0 auto;
	}
}

#judges ul.modal__container .modal ul li.modal__judge__info .modal__judge__name {
	font-size: 26px;
	color: #ffed00;
	margin-bottom: 30px;
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul li.modal__judge__info .modal__judge__name {
		font-size: 20px;
		margin-bottom: 15px;
	}
}

#judges ul.modal__container .modal ul li.modal__judge__info .modal__judge__posts {
	color: white;
	margin-bottom: 30px;
	line-height: 1.7rem;
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul li.modal__judge__info .modal__judge__posts {
		font-size: 13px;
		margin-bottom: 15px;
		line-height: 1.3rem;
	}
}

#judges ul.modal__container .modal ul li.modal__judge__info .modal_phara {
	color: white;
	line-height: 1.7rem;
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal ul li.modal__judge__info .modal_phara {
		font-size: 12px;
		margin-bottom: 15px;
		line-height: 1.3rem;
	}
}

#judges ul.modal__container .modal .modal_xButton {
	display: block;
	position: absolute;
	width: 45px;
	height: 45px;
	top: 10%;
	right: 10%;
	z-index: 2;
}

@media screen and (max-width: 992px) {
	#judges ul.modal__container .modal .modal_xButton {
		top: 3%;
		right: 5%;
	}
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal .modal_xButton {
		top: 7%;
	}
}

#judges ul.modal__container .modal .modal_xButton:hover {
	cursor: pointer;
}

#judges ul.modal__container .modal .modal_xButton span.xbutton {
	display: block;
	width: 100%;
	height: 3px;
	margin-top: 20px;
	background: #ffed00;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#judges ul.modal__container .modal .modal_xButton span.xbutton:nth-of-type(2) {
	margin-top: -2px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

@media screen and (max-width: 544px) {
	#judges ul.modal__container .modal .modal_xButton span.xbutton {
		margin-top: -20px;
	}
}

#judges ul.modal__container #judges__modal--01 li.modal__judge__img {
	background: url(../../entry/imgs/judge_01.jpg) no-repeat center/contain;
}

#judges ul.modal__container #judges__modal--02 li.modal__judge__img {
	background: url(../../entry/imgs/judge_02.jpg) no-repeat center/contain;
}

#judges ul.modal__container #judges__modal--03 li.modal__judge__img {
	background: url(../../entry/imgs/judge_03.jpg) no-repeat center/contain;
}

#judges ul.modal__container #judges__modal--04 li.modal__judge__img {
	background: url(../../entry/imgs/judge_04.jpg) no-repeat center/contain;
}

#judges ul.modal__container #judges__modal--05 li.modal__judge__img {
	background: url(../../entry/imgs/judge_05.jpg) no-repeat center/contain;
}

#judges .modal__open {
	display: block !important;
	-webkit-animation: modal_open_pc 0.1s linear forwards;
	animation: modal_open_pc 0.1s linear forwards;
}

#judges .modal__open .modal_bg {
	display: block !important;
	-webkit-animation: modal_open__img_pc 0.2s linear forwards;
	animation: modal_open__img_pc 0.2s linear forwards;
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

#judges .modal__open ul {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-animation: modal_open__items_pc 0.2s linear forwards;
	animation: modal_open__items_pc 0.2s linear forwards;
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}

@media screen and (max-width: 544px) {
	#judges .modal__open .modal_bg {
		-webkit-animation: modal_open__img_sp 0.2s linear forwards;
		animation: modal_open__img_sp 0.2s linear forwards;
		-webkit-animation-delay: 0.1s;
		animation-delay: 0.1s;
	}
}

@-webkit-keyframes modal_open_pc {
	0% {
		width: 0;
	}

	100% {
		width: 100vw;
	}
}

@keyframes modal_open_pc {
	0% {
		width: 0;
	}

	100% {
		width: 100vw;
	}
}

@-webkit-keyframes modal_open__items_pc {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes modal_open__items_pc {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes modal_open__img_pc {
	0% {
		width: 0;
	}

	100% {
		width: 40%;
	}
}

@keyframes modal_open__img_pc {
	0% {
		width: 0;
	}

	100% {
		width: 40%;
	}
}

@-webkit-keyframes modal_open__img_sp {
	0% {
		height: 0;
	}

	100% {
		height: 37%;
	}
}

@keyframes modal_open__img_sp {
	0% {
		height: 0;
	}

	100% {
		height: 37%;
	}
}