/*!
Theme Name: NIMS Award Symposium
Theme URI: https://www.nims.go.jp/nims-award-symposium/2024
Author: NIMS Award
Author URI: https://www.nims.go.jp/nims-award-symposium/2024
Description: 
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: nims-award
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

NIMS Award Symposium is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@100;400;500&family=Zen+Old+Mincho:wght@400;500;600&display=swap');

/*********************************
preset variables
*********************************/
:root {
	--fontSize: 16px;
	--linkColor: #0a0806;
	--textColor: #0a0806;
	font-feature-settings: "palt";
	/* color preset */
	--mainColor: ;
	--mainDarkColor: ;
	--mainLightColor: ;
	--subColor: ;
	--subDarkColor: ;
	--subLightColor: ;
	background-color: #A7902D;
	/* width preset */
	--gutter: 1.3rem;
	--gap: 3rem;
	--spacing: 1rem;
	--contentWidth: 1100px;
/*	--backgroundWidth: 1200px;*/
}

html {
	line-height: 1.8;
}

body {
	margin: 0;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body {
	color: #0A0806;
	font-family: "Barlow Condensed", "BIZ UDPGothic", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

br.mb {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 400;
}

p {
	margin-bottom: 0.8em;
	font-size: 1.4rem;
	line-height: 1.3;
}

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

.poster-session p {
	padding: 5px 15px;
}

main h1 {
	color: #fff;
	font-size: 2.8rem;
	text-align: center;
	margin: 0 0 0.25em 0;
}

.top-title-img {
		width: 940px;
		height:auto;
		margin: 0 auto;
}

main h2 {
	color: #fff;
	font-size: 2.2rem;
	text-align: center;
	margin: 0 0 0.25em 0;
	line-height: 1.4;
}

h2.program-day {
	background: #0a0806;
	padding: 10px 15px 15px 15px;
}

h2.top-starting {
	font-size: 3.0rem !important;
	font-weight: 600 !important;
	padding-bottom: 25px !important;
padding-top: 25px !important;
}

h2.name,
h2.winner {
	text-align: left;
}

h3 {
	color: #fff;
	font-size: 1.9rem;
	text-align: center;
	margin: 0 0 0.25em 0;
}

h3.black {
	color: #0A0806;
	font-size: 1.6rem;
	line-height: 1.2em;
	font-weight: 500;
}


h4 {
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	margin: 0 0 0.25em 0;
}

h4.black {
	color: #0A0806;
	font-size: 1.5rem;
	text-align: left;
}

.personal {
	font-size: 1.6rem;
	margin-bottom: 20px;
}

.work-text {
	font-size: 1.3rem;
	padding-bottom: 50px;
}

.information  {
	padding: 1.0rem;
	border: 1px solid #d7cd9f;
	border-radius: 8px;
}

div.prof-img {
	display: inline-block;
	width: var(--container-widget-width, 25%);
	max-width: 25%;
	--container-widget-width: 25%;
	--container-widget-flex-grow: 0;
	padding: 0;
	vertical-align: top;
}

div.prof-info {
	display: inline-block;
	width: var(--container-widget-width, 74%);
	max-width: 74%;
	--container-widget-width: 74%;
	--container-widget-flex-grow: 0;
	padding: 20px;
	vertical-align: top;
}

.session-title {
	background: #fff;
	padding: 10px 12px;
	color: #0a0806;
	margin: 25px 0;
}

.spk-single {
	width: 90%;
	margin: 0 auto;
	padding: 20px 15px;
	border-bottom: 1px solid #d7cd9f;
}

.bottom-info {
	color: #A7902D;
	font-size: 1.3rem;
	text-align: center;
	line-height: 1.3;
}

.bottom-info a,
.bottom-info a:visited {
	color: #A7902D;
	font-size: 1.5rem;
	line-height: 1.2;
}
	
.bottom-info a:hover,
.bottom-info a:active {
		color: #ffffff;
	}

button,
input,
select,
optgroup,
textarea {
	color: #0A0806;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #A7902D;
}

main {
	width: 1140px;
	margin: 0 auto;
	padding: 75px 0 !important;
}

hr {
	background-color: #d7cd9f !important;
	border: 0;
	height: 1px;
	margin: 20px 0 !important;
}

ul,
ol {
	margin: 0:
}

ul {
	list-style: none;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 0;
}

ul.spList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 1.5rem;
}

ul.spList li {
	padding: 8px;
}

ul.spList li a:link,
ul.spList li a:visited {
	color: #A7902D;
}

ul.spList li a:hover,
ul.spList li a:active {
	color: #040404;
}

li.guide {
	font-size: 1.6rem;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

/* TABLE */

table {
	margin: 0 0 1.5em;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.program {
	font-size: 1.3rem;
	margin-bottom: 50px;
}

table.program th {
	white-space: nowrap;
	font-weight: 400;
}

table.program th, table.program td {
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	padding: 0.5em 1em;
		vertical-align: top;
}

table.page-navi {
	margin: 0 auto;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
	font-size: 1.3rem;
	margin-top: 25px;
	margin-bottom: 35px;
}

table.page-navi td {
	text-align: center;
	padding: 16px 0;
}

table.sitemap {
	max-width: 222px;
	margin: 30px auto;
}

table.sitemap td {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	border-bottom: 1px solid #d9cfa4;
	padding-left: 1.0em;
}

table.sitemap td.secondcell {
	padding-left: 1.8em;
}


/* Links
--------------------------------------------- */
a:link,
a:visited {
	color: #f5efe4;
}

a:hover,
a:focus,
a:active {
	color: #fff;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

nav a:link,
nav a:visited {
	color: #A7902D !important;
}

nav a:hover,
nav a:focus,
nav a:active {
	color: #CAB34F !important;
}

.prog-navi {
	font-size: 1.4rem;
	line-height: 1.6;
}

.bottom-info a,
.bottom-info a:visited {
	color: #A7902D;
	font-size: 1.5rem;
	line-height: 1.2;
}
	
.bottom-info a:hover,
.bottom-info a:active {
		color: #ffffff;
	}

/* Forms
--------------------------------------------- */
button{
  padding: 0;
  border: none;
  outline: none;
  appearance: none;
  background: none;
  cursor: pointer;
}

.button a {
	background: #f5efe4a6 !important;
	color: #0a0806 !important;
	border-radius: 9999px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 250px;
	padding: 10px 25px;
	text-decoration: none;
	transition: 0.3s ease-in-out;
	font-weight: 500;
	font-size: 1.5rem;
	margin-top: 20px;
}

.button a:hover {
	background: #0a0806 !important;
	color: #f5efe4 !important;
	transform: translateY(-2px);
	box-shadow: 0 15px 30px -5px rgb(0 0 0 / 30%), 0 0 5px rgb(0 0 0 / 30%);
}

.button:active,
.button:focus {
	
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}



/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

.elementor-image-carousel-caption {
	text-align: left;
}

figcaption {
	text-align: left !important;
	padding: 0 0.5em;
}

figcaption h3 {
	text-align: left;
	font-size: 1.7rem;
	line-height: 1.4;
	margin: 0;
	font-weight: 500;
}



/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}



/*************************************
* TOP Youtube
*************************************/

.youtube-wrapper {
	position: absolute;
	width: 100%;
	top: 3rem;
}

.youtube {
	display: flex;
	justify-content: flex-end;
	margin-right: 5%;
}

.youtube a {
	width: 16%;
}


/*************************************
* Footer
*************************************/

#sub-footer {
	padding: 25px 0 0 0;
}


/* banners */
footer .banners {
	background-color: #fff;
	padding: 1.8rem 0;
}

footer .banners ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
	gap: 1rem 2.5rem;
}

footer .banners ul li {
	border: 1px solid #c2c2c2;
}

footer .banners ul li img {
	height: 90px;
	object-fit: contain;
	width: auto;
}

footer nav#footer-nav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem 2.5em;
	padding: 2.5rem var(--spacing);
}

footer nav#footer-nav a {
	color: var(--textColor);
}

footer .copyright {
	padding: 1.5rem var(--spacing) 3rem;
	font-size: 0.8rem;
	text-align: center;
	opacity: 0.8;
}

footer .ft-title {
	margin-top: 25px;
	color: #a7902d;
}

footer ul.spList {
	gap: 0 1.0rem;
	margin: 0;
}

footer .pagetop {
	display: flex;
	justify-content: center;
	background-color: #3a3a3a;
	padding: 0.5rem 0 0.3rem;
}

footer .pagetop img {
	height: 2.8rem;
	filter: invert(0.95);
}


@media only screen and (max-width: 700px) {
	footer .banners ul li img {
		height: 50px;
	}
	
	footer .ft-title {
	margin-top: 0;
}

	footer .pagetop img {
		height: 2rem;
	}

	footer .copyright {
		padding: 2rem var(--spacing);
	}
	
	footer  .fb-brackets {
		margin-bottom: 18px;
	}
	
	ul.spList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	padding: 0 10px;
	margin: 0;
		font-size: 0.9rem;
	}
	
	ul.spList li {
	padding: 5px 8px;
	}

}

/*************************************
* Mobile
*************************************/

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

	main {
	width: 100vw;
	margin: 0 auto;
	padding: 25px 10px !important;
}
	
	br.mb {
	display: block;
}
	
	main h1 {
	font-size: 2.2rem;
	}

	.top-title-img {
		width: 95%;
		height:auto;
}
	
	main h2 {
		font-size: 1.7rem;
	}

	h2.top-starting {
		font-size: 1.7rem !important;
		font-weight: 600 !important;
		padding-bottom: 10px !important;
		padding-top: 10px !important;
}
	
	h3.black {
	font-size: 1.3rem;
	line-height: 1.1em;
}
	
	table {
		table-layout: fixed;
		word-break: break-all;
		word-wrap: break-all;
	}
	
	table.program th, table.program td {
		width: 100%;
		display: block;
	}
	
	table.program th {
		border-bottom: 1px dashed #efebdb;
		padding-top: 0.75em;
		white-space: break-spaces;
		text-align: left;
	}
	
	table.program td {
		border-top: 0px;
		padding-bottom: 0.75em;
	}
	
	table.page-navi td {
		width: 100%;
		display: block;
		border-bottom: 1px solid #fff;
	}
	
	table.page-navi  {
		border-bottom: 0px;
	}
	
	div.prof-img {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
}
	
	.prof-img img {
		width: 75%;
		max-width: 250px;
}

div.prof-info {
	display: block;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	padding: 5px;
}
	
	h2.winner {
		font-size: 2.0rem;
		text-align: center;
		line-height: 1.3;
		border-bottom: 1px solid #fff;
		padding-bottom: 0.7em;
		margin-bottom: 0.7em;
	}
	
	.personal {
		font-size: 1.4rem;
		line-height: 1.3;
		border-bottom: 1px solid #fff;
		padding-bottom: 0.7em;
		margin-bottom: 0.7em;
	}
	
	.work-text {
			line-height: 1.4;
	}
	
	.bottom-info {
	color: #A7902D;
	font-size: 1.2rem;
	line-height: 1.2;
}
	
	.bottom-info a,
	.bottom-info a:visited {
	color: #A7902D;
	font-size: 1.5rem;
	line-height: 1.2;
}
	
	.bottom-info a:hover,
	.bottom-info a:active {
		color: #ffffff;
	}
	
}



/*//////////// Japanese ////////////*/
.jp {
	font-family: "Zen Old Mincho", serif;
}

h1.jp {
	text-align: center;
	font-size: 1.4rem;
	color: #0a0806;
	font-family: "Zen Old Mincho", serif;
}

h1.pagetitle-jp,
.pagetitle-jp {
	font-family: "Zen Old Mincho", serif;
	text-align: center;
	font-size: 2.4rem;
	text-align: center;
}

h2.jp {
	color: #0a0806;
	font-size: 1.4rem;
	margin: 0 0 0.25em 0;
	line-height: 1.6;
	text-align: justify;
}

h2.program-day-jp {
	font-family: "Zen Old Mincho", serif;
	background: #0a0806;
	padding: 10px 15px 15px 15px;
	color: #fff;
}

h5.jp {
	font-size: 1.3rem;
	text-align: center;
	margin: 0 0 0.25em 0;
	line-height: 1.75;
}

h5.top-joint {
	font-family: "Zen Old Mincho", serif;
	font-size: 1.3rem;
	text-align: center;
	}

h2.name-jp,
h2.winner-jp {
	text-align: left;
	font-family: "Zen Old Mincho", serif;
}

h2.winner-jp {
	font-size: 2.0rem;
}

h2.name-jp {
	font-size: 1.9rem;
}

.personal-jp {
	font-size: 1.6rem;
	margin-bottom: 20px;
	font-family: "Zen Old Mincho", serif;
}

.work-text h4 {
	font-size: 1.5rem;
	padding-top: 24px;
	padding-bottom: 12px;
	font-family: "Zen Old Mincho", serif;
}

.fs10 {
	font-size: 1.2rem;
}

.fs20 {
	font-size: 1.3rem;
}

table.sitemap-jp {
	max-width: 260px;
	margin: 30px auto;
	font-family: "Zen Old Mincho", serif;
}

table.sitemap-jp td {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 2.0;
	border-bottom: 1px solid #d9cfa4;
	padding-left: 1.0em;
}

table.sitemap-jp td.secondcell {
	padding-left: 1.8em;
}



@media only screen and (max-width: 700px) {
	
	h2.name-jp {
	font-size: 1.5rem;
}
	
	h4.bottom {
		font-size: 1.4rem;
	}
	
		.personal-jp {
		font-size: 1.4rem;
		line-height: 1.3;
		border-top: 1px solid #d7cd9f;
		padding-top: 0.7em;
		margin-top: 0.7em;
	}

	.fs20 {
		display: block;
		line-height: 1.3;
}
	
	.top-text {
		font-size: 1.2rem !important;
	}
	
	h5.top-joint {
		font-size: 1.1rem !important;
		text-align: justify;
	}
	
}
	