@charset "UTF-8";
/* ===========================================================

	Title: thema.css
	Created: 2018-08-27

=========================================================== */

/*
	基本設定



=========================================================== */

body {
	color: #000;
	background-color: #fff;
  line-height: 1.4;
  font-weight: 500;
  text-rendering: optimizeSpeed;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Arial, Helvetica, sans-serif, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-align: justify;
}
a { transition: all 0.5s; color: rgba(234,109,153,1.00); }
a:hover { transition: all 0.5s; color: rgba(100,183,65,1.00); }



/* ===========================================================
  .jumbotron
=========================================================== */

/* .jumbotron */
.jumbotron {
  display: flex; padding: 0 calc(50% - (980px / 2)); margin: 0;
  align-items: center;
  width: 100%; min-width: 980px;
  position: relative;
  background-image: url(../img/jumbotron-bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}



.jumbotron__cell {
  display: block; position: relative; z-index: 5;
}

.jumbotron__main { padding: 0; width: 590px; }
.jumbotron__main h1 { display: block; padding: 50px 0; margin: 0; }


/* ===========================================================
  .jumbotron__data
=========================================================== */

.jumbotron__data {
  display: flex; flex-wrap: wrap;
  align-content: center; align-self: stretch;
  padding: 0; width: 390px; background-color: rgba(255,255,255,0.70);
}
.jumbotron__data dl {
  display: block; width: calc(100% - 40px); padding: 0; margin: 0 auto 20px auto;
  border-bottom: solid 1px rgba(100,183,65,1.00);
  position: relative;
}
.jumbotron__data dt {
  display: block; padding: 0; margin: 0;
  position: absolute; top: 0; left: -30px;
}
.jumbotron__data dd {
  display: block; padding: 0; margin: 0;
}

/* .jumbotron__data--date */
.jumbotron__data--date p {
  display: block; padding: 5px 0 20px 0; margin: 0;
  text-align: right;
}

/* .jumbotron__data--place */
.jumbotron__data--place dd {
  padding: 30px 0 15px 0;
}
.jumbotron__data--place .place-sets {
  display: flex; justify-content: space-between;
  align-items: center;
  
}
.jumbotron__data--place .place-sets p {
  display: block; padding: 0; margin: 0;
}
.jumbotron__data--place .place-sets a {
  display: block; padding: 0; margin: 0;
  background-color: rgba(255,255,255,1.00);
  border-radius: 6px;
}
.jumbotron__data--place .place-sets a:hover {
  background-color: rgba(255,255,255,0.50);
}


/* .jumbotron__data--application */

.jumbotron__data--application { display: block; padding: 0 20px; margin: 0; }
.jumbotron__data--application a {
	display: block; padding: 0 0 5px 0; margin: 0;
	background-color: #ea6d99; border-radius: 5px;
	vertical-align: bottom; box-shadow: inset 0 -5px 0 0 rgba(0,0,0,0.20);
	position: relative;
 text-align: center;}
.jumbotron__data--application a::after {
	display: block; padding: 0; margin: auto; clear: both;
	position: absolute; top: 0; left: 0; bottom: 0; right: 0;
	width: 100%; height: 100%; content: ""; z-index: 1;
	background-image: linear-gradient(180deg,rgba(255,255,255,0.20) 0%,rgba(255,255,255,0.00) 100%);
	transition: all 1.5s;
}
.jumbotron__data--application a:hover {
	box-shadow: inset 0 -5px 0 0 rgba(0,0,0,0.30);
}
.jumbotron__data--application a:hover::after {
	background-image: linear-gradient(180deg,rgba(255,255,255,0.50) 0%,rgba(255,255,255,0.00) 100%);
}
.jumbotron__data--application img {
	vertical-align: bottom; position: relative; z-index: 2;
}


/* ===========================================================
  .section-row
=========================================================== */


.section-row {
  display: flex;
  padding: 3.0rem calc(50% - (980px / 2)); margin: 0;
  width: 100%; min-width: 980px;
  position: relative;
}
.section-row__title {
  display: block; padding: 0; margin: 0;
  width: 230px;
}
.section-row__title h2 {
  display: block; padding: 0 2.0rem 0 0; margin: 0;
}
.section-row__title h2 span {
  display: block; padding: 0; margin: 0; font-weight: normal;
  color: rgba(0,0,0,1.00);
}
.section-row__title h2 span.section-row__title--ja {
  font-size: 1.625rem;
  color: rgba(234,109,153,1.00);
}
.section-row__title h2 span.section-row__title--en {
  font-size: 0.875rem; margin: 0.5em 0 0 0;
}

.section-row__body {
  display: block; padding: 0 0 0 2.0rem; margin: 0;
  position: relative;
  width: calc(100% - 230px); font-size: 0.875rem; line-height: 1.6;
}
.section-row__body::before {
  display: block; padding: 0; margin: 0;
  width: 2px; height: 100%;
  background-color: rgba(100,183,65,1.00);
  content: "";
  position: absolute; top: 0; left: 0;
}
.section-row__body *:last-child { margin-bottom: 0; }


/* ===========================================================
  .section-row__body h2
=========================================================== */

.section-row__body h2 {
  display: block; padding: 0.25em 0; margin: 0 0 1.0rem 0;
  font-weight: normal; font-size: 1.500em;
  border-bottom: solid 2px #ddd;
}


/* ===========================================================
  .section-row__body h3
=========================================================== */
.section-row__body h3 {
  display: block; padding: 0.25em 0; margin: 0 0 0.5rem 0;
  font-weight: normal; font-size: 1.250em;
  color: rgba(100,183,65,1.00);
}


/* ===========================================================
  .section-row__body table
=========================================================== */

.section-row__body table {
  width: 100%; margin: 0;
  background-color: rgba(255,255,255,1.00);
  border-top: solid 1px #ddd;
}
.section-row__body table th,
.section-row__body table td {
  padding: 1.5rem; vertical-align: middle;
  box-shadow: 0 1px 0  #ddd; font-weight: normal;
}

.section-row__body table th {
  border-right: solid 2px rgba(100,183,65,1.00);
  background-color: rgba(100,183,65,0.10);
  width: 20%;
}


/* ===========================================================
  .section-row__body table.time-table
=========================================================== */

.section-row__body table.time-table {
  width: 100%; margin: 0;
  background-color: rgba(255,255,255,1.00);
  border-top: solid 1px #ddd;
}
.section-row__body table.time-table th,
.section-row__body table.time-table td {
  vertical-align: middle;
  box-shadow: 0 1px 0  #ddd; font-weight: normal;
}

.section-row__body table.time-table th {
  border-right: none; padding: 0.5rem 0;
  background-color: rgba(255,255,255,0.00);
  color: rgba(234,109,153,1.00);
  font-weight: bold;
  width: 1%; white-space: nowrap;
}
.section-row__body table.time-table td {
  border-right: none; padding: 0.5rem 0 0.5rem 1.5rem;
  background-color: rgba(255,255,255,0.00);
}





/* ===========================================================
  .personal-card
=========================================================== */

.personal-card {
  display: flex; padding: 0; margin: 0 0 1.0rem 0;
}

.personal-card__photo {
  display: block; padding: 0; margin: 0;
  width: 150px;
}

.personal-card__photo figure {
  display: block; padding: 0; margin: 0;
  width: 100%; border-radius: 10px;
  overflow: hidden;
}
.personal-card__photo figure img { 
  vertical-align: bottom; width: auto; height: auto;
  max-width: 100%; max-height: 100%;
}


.personal-card__body {
  display: block; padding: 0 0 0 2.0rem; margin: 0;
  width: calc(100% - 150px);
}




p.personal-card__body__affiliation {
  display: block; padding: 0; margin: 0;
  font-size: 0.85em; line-height: 1.4;
}
.personal-card__body p {
  font-size: 0.85em; line-height: 1.6;
}

.personal-card__body *:last-child { margin-bottom: 0; }



/* ===========================================================
  points
=========================================================== */



.points {
  justify-content: space-between;
  background-color: rgba(100,183,65,0.20);
}

.points__cell {
  display: block; padding: 0; margin: 0;
  background-color: rgba(255,255,255,1.00);
  width: 300px;
  box-shadow: 0 0 30px rgba(100,183,65,0.20);
}


.point-card {
  display: block; padding: 0; margin: 0;
  background-color: rgba(255,255,255,1.00);
}
.point-card__photo {
  display: block; padding: 0; margin: 0 0 1.5rem 0;
}
.point-card__photo img { vertical-align: bottom; }


.point-card__title {
  display: flex; padding: 0; margin: 0 0 1.5rem 0;
  text-align: center; justify-content: center; align-items: center;
  font-size: 1.0rem; line-height: 1.4;
  color: rgba(234,109,153,1.00);
  height: 3.0rem;
  
}

.point-card__body {
  display: block; padding: 0 1.5rem 1.0rem 1.5rem;
  font-size: 0.875rem; line-height: 1.5;
}


/* ===========================================================
  about
=========================================================== */


.about {
  background-image: url(../img/about-bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.about .section-row__title h2 span,
.about .section-row__title h2 span.section-row__title--ja  { color: #fff; }

.about .section-row__body::before {
  background-color: rgba(255,255,255,1.00);
}





/* ===========================================================
  program
=========================================================== */

.program { }


/* ===========================================================
  join
=========================================================== */
.join {
  flex-direction: column;
  background-color: rgba(100,183,65,0.20);
}
.join > h2 {
  display: block; padding: 1.5rem 0; margin: 0;
  text-align: center;
}


.join-cards {
  display: block; padding: 1.0rem 0; margin: 0;
}


.join-card {
  display: flex; padding: 1.0rem 0; margin: 0;
  align-items: flex-start;
  border-bottom: solid 1px rgba(100,183,65,1.00);
}
.join-card:last-child {
  border-bottom: none;
}
.join-card__banner,
.join-card__profile,
.join-card__comment { display: block; padding: 0; margin: 0; }


.join-card__banner { width: 310px; }
.join-card__banner a {
  display: block; padding: 0; margin: 0;
  background-color: #fff;
}
.join-card__banner img { vertical-align: bottom; }


.join-card__profile {
  display: flex; padding: 0 1.0rem; width: calc(100% - (310px + 330px));
  align-items: flex-start;
}
.join-card__profile--photo {
  display: block; padding: 0; margin: 0;
  width: 100px; height: 100px; border-radius: 50%;
  overflow: hidden;
}

.join-card__profile--photo img { 
  vertical-align: bottom; width: auto; height: auto;
  max-width: 100%; max-height: 100%;
}

.join-card__profile--data {
  display: block; padding: 0 0 0 0.5rem; margin: 0;
  width: calc(100% - 100px);
}

.join-card__profile--data p { font-size: 0.750em; margin: 0.25rem 0; }
.join-card__profile--data h2 {
  display: block; padding: 0; margin: 0;
  font-weight: normal; font-size: 1.500rem;
  
}


.join-card__comment {
  padding: 0.5rem 1.5rem;
  width: 330px; background-color: #fff;
  font-size: 0.750em; border-radius: 6px;
}
.join-card__comment p { margin: 0.25rem 0; }


/* ===========================================================
  special-lecture
=========================================================== */

.special-lecture {}


/* ===========================================================
  application
=========================================================== */

.application {
  background-color: rgba(234,109,153,1.00);
}
.application,
.application .section-row__title h2 span,
.application .section-row__title h2 span.section-row__title--ja  { color: #fff; }

.application .section-row__body::before {
  background-color: rgba(255,255,255,1.00);
}

.application-read { font-size: 1.0rem; margin: 0 0 2.0rem 0; }

.application-body {
  display: flex; padding: 0;
  justify-content: space-between; align-items: center;
}
.application-body__text {
  font-size: 0.875rem;
}


.application-body__button { display: flex; }
.application-body__button a {
  display: block; padding: 0; margin: 0;
  background-color: rgba(100,183,65,1.00); border-radius: 5px;
  width: 280px; box-shadow: inset 0 -5px 0 0 rgba(0,0,0,0.20);
  position: relative;
}
.application-body__button a::after {
	display: block; padding: 0; margin: auto; clear: both;
	position: absolute; top: 0; left: 0; bottom: 0; right: 0;
	width: 100%; height: 100%; content: ""; z-index: 1;
	background-image: linear-gradient(180deg,rgba(255,255,255,0.20) 0%,rgba(255,255,255,0.00) 100%);
	transition: all 1.5s;
}
.application-body__button a:hover { box-shadow: inset 0 -5px 0 0 rgba(0,0,0,0.30); }
.application-body__button a:hover::after {
	background-image: linear-gradient(180deg,rgba(255,255,255,0.50) 0%,rgba(255,255,255,0.00) 100%);
}
.application-body__button a img {
  vertical-align: bottom; position: relative; z-index: 2;
}


.application-body__attention {
  display: block; padding: 1.5rem; margin: 1.5rem 0 0 0;
  color: rgba(234,109,153,1.00); background-color: #fff;
  font-size: 1.0rem; border-radius: 6px;
}
.application-body__attention p {
  display: block; padding: 0; margin: 0;
  font-weight: bold;
}



/* ===========================================================
  contact
=========================================================== */

.contact { }


/* ===========================================================
  sponsor-banner
=========================================================== */

.sponsor-banner {
  display: flex; clear: both;  padding: 1.0rem calc(50% - (980px / 2)); margin: 0;
  justify-content: space-between;
  width: 100%; min-width: 980px;
  position: relative;
  font-size: 0.875rem; line-height: 1.4;
  background-color: rgba(100,183,65,0.20);
}
.sponsor-banner dl { display: flex; padding: 1px 2px; margin: 0; background-color: rgba(100,183,65,0.20); }

.sponsor-banner dl dt { display: flex; padding: 0; margin: 0; align-items: center; font-weight: normal; }
.sponsor-banner span { display: block; padding: 0 2.0rem; margin: 0; }

.sponsor-banner dl dd { display: block; padding: 0; margin: 0; }


.sponsor-banner ul { display: flex; padding: 0; margin: 0 -1px; clear: both; list-style-type: none; list-style: none; }
.sponsor-banner ul li { display: block; padding: 1px; margin: 0; vertical-align: bottom; }
.sponsor-banner a {
  display: block; padding: 0.25rem 1.25rem; margin: 0;
  background-color: #fff; border: solid 1px #fff;
  text-align: center;
}
.sponsor-banner a:hover { border: solid 1px rgba(100,183,65, 1.00); }






/* ===========================================================
  disclaimer
=========================================================== */


.disclaimer {
  display: block; clear: both;  padding: 1.0rem calc(50% - (980px / 2)); margin: 0;
  width: 100%; min-width: 980px;
  position: relative;
  color: #666; font-size: 0.688em; line-height: 1.4;
}
.disclaimer dl {
	display: block; clear: both; padding: 0; margin: 0;
}
.disclaimer dt {
	display: block; clear: both; padding: 0; margin: 1.0em 0 0 0;
}
.disclaimer dd {
	display: block; clear: both; padding: 0; margin: 0.25em 0 0 0;
}


.disclaimer ul { padding: 0 0 0 2.0em; margin: 0; }
.disclaimer li { padding: 0; margin: 0 0 0.5em 0; }

/* ===========================================================
  global-footer
=========================================================== */

.global-footer {
  display: flex;
  padding: 1.0rem calc(50% - (980px / 2)); margin: 0;
  width: 100%; min-width: 980px;
  position: relative;
  background-color: rgba(100,183,65,1.00);
  justify-content: space-between;
  
}


.global-footer ul {
	display: flex; padding: 0; margin: 0; font-size: 0.875rem;
}
.global-footer li {
	display: block; padding: 0; margin: 0 1.5rem 0 0;
}
.global-footer a { color: #fff; display: block; padding: 0 0 0 1.0rem; margin: 0; position: relative; }
.global-footer a:hover { text-decoration: underline; }
.global-footer a:before {
  display: block; content: ""; padding: 0; margin: -0.2rem 0 0 0;
  width: 0.4rem; height: 0.4rem;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute; top: 50%; left: 0;
  transform: rotate(45deg);
}

.global-copyright {
	display: block; padding: 0; margin: 0;
	text-align: right; float: right;
	font-family: Arial, Helvetica, sans-serif;
	color: #fff; font-size: 0.750em;
}



.section ul.caption-list li { list-style-type: none; padding: 0; margin: 0; }
.caption-list { display: block; padding: 0; margin: 0; list-style-type: none; }
.caption-list li { display: table; list-style-type: none; }
.caption-list li:before {
	display: table-cell; content: attr(data-caption-head);
	white-space: nowrap; width: 1%;
}
.caption-list li span { display: table-cell; }

