@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap');
* {
 margin: 0;
 padding: 0;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
 margin: 0;
 padding: 0;
 border: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
 display: block;
 margin: 0;
 padding: 0;
}
a:link {
 color: #E7382B;
}
a:visited {
 color: #E7382B;
}
a:hover {
 color: #991f1c;
}
a:active {
 color: #E08B01;
}
img {
 vertical-align: bottom;
}
ul, ol {
 list-style-type: none;
 padding: 0px;
 text-indent: 0;
 margin: 0px;
}
a img {
 text-decoration: none;
 border: none;
 webkit-transition: 0.3s ease-in-out;
 -moz-transition: 0.3s ease-in-out;
 -o-transition: 0.3s ease-in-out;
 transition: 0.3s ease-in-out;
}
a img:hover {
 opacity: 0.8;
}
.img_mid {
 vertical-align: middle;
}
address {
 font-style: normal;
}
table {
 font-size: 100%;
 border-collapse: collapse;
 border-spacing: 0;
}
.none {
 display: none;
}
.clearfix {
 display: block;
 height: 0;
 font-size: 0;
 clear: both;
 visibility: hidden;
}
caption, th, td {
 text-align: left;
}
.flex {
 display: flex;
}
.smart {
 display: none;
}
input[type="submit"] {
 -webkit-appearance: none;
}
/*basic style
---------------------------------------*/
.flol {
 float: left;
}
.flor {
 float: right;
}
.txr {
 text-align: right;
}
.txl {
 text-align: left;
}
.txc {
 text-align: center;
}
.nomar {
 margin: 0 !important
}
.bold {
 font-weight: bold;
}
.large {
 font-size: 1.1em;
}
.llarge {
 font-size: 1.2em;
}
.xlarge {
 font-size: 1.3em;
}
.xxlarge {
 font-size: 1.4em;
}
.xxxlarge {
 font-size: 1.7em;
}
.small {
 font-size: 0.9em;
}
.ssmall {
 font-size: 0.6em;
 line-height: 1.6em;
 display: inline-block;
}
.xsmall {
 font-size: 0.7em;
}
.xxsmall {
 font-size: 0.6em;
}
.nobold {
 font-weight: normal;
}
.rela {
 position: relative;
}
.underline {
 text-decoration: underline;
}
.hidden {
 overflow: hidden;
}
.fs13 {
 font-size: 1.3em;
}
.fs15 {
 font-size: 1.55em;
}
.red {
 color: #E7382B;
}
.tin {
 font-weight: 200;
}
h1, h2, h3, h4, h5, h6 {
 clear: both;
}
span.mv {
 position: relative;
}
span.mv span {
 position: absolute;
 top: -95px;
}
/*body
---------------------------------------*/
body {
 font-size: 18px;
 line-height: 1.8em;
 font-family: "PT Sans", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 color: #333;
 font-weight: 500;
}
.noto-sans-jp {
 font-family: "Noto Sans JP", serif;
 font-optical-sizing: auto;
 font-style: normal;
}
.pt-sans-regular {
 font-family: "PT Sans", serif;
 font-weight: 400;
 font-style: normal;
}
.pt-sans-bold {
 font-family: "PT Sans", serif;
 font-weight: 700;
 font-style: normal;
}
.pt-sans-regular-italic {
 font-family: "PT Sans", serif;
 font-weight: 400;
 font-style: italic;
}
.pt-sans-bold-italic {
 font-family: "PT Sans", serif;
 font-weight: 700;
 font-style: italic;
}
.libre-caslon-text-regular {
 font-family: "Libre Caslon Text", serif;
 font-weight: 400;
 font-style: normal;
}
.libre-caslon-text-bold {
 font-family: "Libre Caslon Text", serif;
 font-weight: 700;
 font-style: normal;
}
.libre-caslon-text-regular-italic {
 font-family: "Libre Caslon Text", serif;
 font-weight: 400;
 font-style: italic;
}
h1, h2, h3 {
 font-weight: bold;
}
.wrap {
 width: 90%;
 max-width: 1000px;
 margin: 0 auto;
}
.wrap1200 {
 max-width: 1200px;
 margin: 0 auto;
}
.wrap800 {
 max-width: 800px;
 margin: 0 auto;
}
.wrap700 {
 max-width: 700px;
 margin: 0 auto;
}
/*---------------------------------------------------------------
TOP page
*/
#heroimage {
 background-color: #000;
 background-image: url(img/heroimage.jpg);
 background-position: center;
 background-repeat: no-repeat;
 padding: 130px 0 60px;
}
#heroimage .wrap {
 max-width: 1400px;
 margin: 0 auto;
}
#heroimage .date {
 text-align: right;
 margin: 15px 0;
}
#heroimage h1 {
 text-align: right;
 margin-bottom: 60px;
}
.header nav ul {
 display: flex;
 justify-content: center;
 gap: 80px;
}
.header nav ul li a {
 color: #fff;
 text-decoration: none;
 padding-left: 30px;
 background-image: url(img/down.svg);
 background-repeat: no-repeat;
 background-size: 18px auto;
 background-position: left center;
}
.header nav ul li strong {
 font-weight: 400;
}
.header nav ul li .date {
 font-size: 0.8em;
}
.header nav ul li.first a {
 background-image: none;
 position: relative;
}
.header nav ul li.first a:after {
 content: "";
 width: 18px;
 height: 18px;
 background-image: url(img/down.svg);
 position: absolute;
 left: 0;
 top: 2px;
 background-position: center;
 background-size: 100% auto;
 background-repeat: no-repeat;
}
.scrolled .header nav ul li.first a:after {
 transform: rotate(180deg);
}
.header {
 padding: 20px 10px 0 10px;
 text-align: center;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 100;
 height: 55px;
 box-sizing: border-box;
}
.scrolled .header {
 background-color: #000000a6;
}
.backGray {
 background-color: #e6e6e6;
}
.section {
 padding: 100px 0 120px 0;
}
.seminarContent .flex {
 gap: 20px;
 position: relative;
 margin-bottom: 1em;
}
.seminarContent .title {
 width: 140px;
 text-align: center;
}
.seminarContent .title span {
 display: block;
 background-color: #000;
 color: #fff;
 position: relative;
 height: 30px;
 box-sizing: border-box;
}
.seminarContent .title span:after {
 content: "";
 position: absolute;
 right: -8px;
 border-style: solid;
 border-width: 15px 4px;
 border-color: #000 transparent transparent #000;
}
.seminarContent .content {
 width: calc(100% - 160px);
 line-height: 1.4em;
 font-size: 0.95em;
}
/**/
dl.datetimes {
 display: flex;
 gap: 90px;
 padding: 10px 0;
 justify-content: center;
 border-bottom: 1px solid #CCCCCC;
 position: relative;
}
dl.datetimes:last-child {
 border: none;
}
dl.datetimes.last {
 border-bottom: 1px solid #CCCCCC;
}
dl.datetimes dt {
 width: calc(50% - 45px);
 box-sizing: border-box;
 text-align: right;
 position: relative;
 font-size: 1.2em;
 line-height: 1.4em;
}
dl.datetimes dt:after {
 content: "";
 position: absolute;
 right: -50px;
 width: 10px;
 height: 24px;
 top: 6px;
 background-image: url(img/play.svg);
 background-repeat: no-repeat;
 background-position: 0 0;
 background-size: 100% auto;
}
dl.datetimes dd {
 width: calc(50% - 45px);
 box-sizing: border-box;
 position: relative;
 font-size: 1.2em;
 line-height: 1.3em;
 font-weight: bold;
}
dl.datetimes.left_style dt {
 width: 120px;
}
dl.datetimes.left_style dd {
 width: calc(100% - 90px - 120px);
}
dl.datetimes.schedule dt {
 width: 110px;
 background-image: url(img/clock.svg);
 background-repeat: no-repeat;
 background-size: 18px auto;
 background-position: 12px 6px;
}
dl.datetimes.schedule {
 gap: 20px;
 padding: 3px 0;
 border: none;
}
dl.datetimes.schedule dd {
 width: calc(100% - 20px - 110px);
}
dl.datetimes.schedule dt:after {
 display: none;
}
dl.datetimes.left_style.seminar_style dt {
 width: 195px;
}
dl.datetimes.left_style.seminar_style dd {
 width: calc(100% - 90px - 195px);
}
.seminarContent {
 font-weight: normal;
 font-size: 0.88rem;
}
.backBrown {
 background-color: #f9f7f2;
 border: 3px;
 padding: 20px;
 box-sizing: border-box;
}
.sfit, .backBrown dl.datetimes.schedule {
 max-width: 520px;
 margin: 0 auto;
}
.sfit {
 padding-left: 80px;
}
.backBrown h3 {
 font-weight: bold;
 font-size: 1.65em;
 line-height: 1.4em;
}
.wrap800 p {
 text-align: justify;
}
.topBorder {
 border-top: 1px solid #CCCCCC;
}
/*Btn ----------------*/
a.button {
 background-color: #E7382B;
 max-width: 412px;
 margin: 0 auto;
 display: block;
 text-align: center;
 font-weight: bold;
 color: #D4AF76;
 letter-spacing: 1px;
 font-size: 1.2em;
 line-height: 1.4em;
 padding: 27px 50px;
 box-sizing: border-box;
 width: 95%;
 border-radius: 10px;
 transition: 0.3s ease-in-out;
 position: relative;
 background-image: url("img/lines.svg"), url("img/right_y.svg");
 background-position: left center, calc(100% - 20px) center;
 background-size: 45px auto, 33px auto;
 background-repeat: no-repeat;
 text-decoration: none;
}
.button:hover {
 background-color: #991f1c;
}
a.button.black_btn {
 background-color: #000;
 padding: 29px 50px;
 font-size: 1.6em;
}
a.button.black_btn:hover {
 background-color: #363636;
}
/**/
.section-title {
 font-size: 2.4em;
 margin-bottom: 15px;
 text-align: center;
 font-family: "Libre Caslon Text", serif;
 font-weight: 600;
 font-style: normal;
 letter-spacing: 1px;
 line-height: 1.2em;
 border-bottom: 1px solid #333333;
 padding-bottom: 8px;
}
.date-time {
 font-weight: bold;
 margin-bottom: 10px;
}
.list {
 list-style: none;
 padding: 0;
}
.list-item {
 margin-bottom: 10px;
}
.schedule-item {
 margin-bottom: 5px;
}
.tpm-logo {
 display: inline-block;
 padding: 5px 10px;
 background-color: white;
 border-radius: 50%;
}
.award-dates {
 display: flex;
 justify-content: space-around;
 margin: 15px;
}
.footer {
 background-color: #000;
 color: white;
 padding: 75px 0 30px 0;
 background-image: url(img/footerback.png);
 background-repeat: repeat-x;
 background-position: top center;
}
.footer .button span {
 background-image: url(img/lines_w.svg), url(img/right_y_w.svg);
 background-position: left center, calc(100% - 20px) center;
 background-size: 45px auto, 33px auto;
 background-repeat: no-repeat;
 text-decoration: none;
 display: block;
 width: 100%;
 height: 100%;
}
.footer .button {
 padding: 32px 0px;
 color: #fff;
 background-size: 100% auto;
 background-image: none;
 background-repeat: repeat;
 background: linear-gradient(307deg, #473218 0%, #956932 50%, #473218 100%);
}
.footer .button:hover {
 opacity: 0.8;
}
.footer .flex {
 gap: 20px;
 justify-content: space-between;
}
.footer .flex .footershcedule {
 width: 60%;
 max-width: 650px;
}
.footer .flex .right {
 width: 40%;
}
.footer dl.datetimes {
 border: none;
 padding: 5px 0;
}
.copyright small {
 display: block;
 text-align: right;
 margin-top: 30px;
 font-size: 14px;
}
/*-------------------------------------------------------------------------------------
Mobile
*/
@media only screen and (max-width: 1000px) {
 html {
  -webkit-text-size-adjust: 100%;
 }
 .header nav ul {
  gap: 30px;
 }
}
@media only screen and (max-width: 900px) {
 img {
  max-width: 100%;
 }
 /*Nav */
 .header nav {
  position: fixed;
  left: 0;
  top: -100%;
  height: 100%;
  overflow: auto;
  width: 100%;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 0;
  z-index: 100;
  visibility: hidden;
  background-color: #000000e3;
  box-sizing: border-box;
  padding: 60px 20px;
 }
 .scrolled .header {
  background-color: transparent;
 }
 .header nav.active {
  opacity: 1;
  visibility: visible;
  top: 0%;
 }
 .header nav ul {
  display: block;
 }
 .header nav ul li a {
  font-size: 1.3rem;
  line-height: 1.4em;
  padding: 8px 0 8px 30px;
  margin: 15px 0;
  display: inline-block;
 }
 .header nav ul li.first a:after {
  top: 13px;
 }
 #smart_btn {
  display: block;
  position: fixed;
  top: 15px;
  right: 15px;
  cursor: pointer;
  height: 38px;
  z-index: 105;
  width: 38px;
  background-color: #000000ab;
 }
 #smart_btn span.a, #smart_btn span.b, #smart_btn span.c {
  webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  cursor: pointer;
  display: block;
  height: 3px;
  width: 30px;
  border-radius: 10px;
  background-color: #fff;
  content: "";
  position: absolute;
  left: 4px;
  opacity: 1;
  top: 9px;
 }
 #smart_btn span.a {
  top: 27px;
  opacity: 1;
 }
 #smart_btn span.b {
  top: 18px;
  opacity: 1;
 }
 #smart_btn.active span.c {
  opacity: 0;
 }
 #smart_btn.active span.a {
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  top: 17px;
 }
 #smart_btn.active span.b {
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  top: 17px;
 }
 /*Page*/
 #heroimage .date.day1 img {
  width: 60%;
 }
 #heroimage .date.day2 img {
  width: 90%;
 }
 #heroimage .date {}
 #heroimage .date img {
  padding: 8px;
  background: #000000bd;
 }
 #heroimage {
  padding: 70px 0 30px;
 }
 #heroimage h1 img {
  width: 70%;
  max-width: 400px;
 }
 .seminarContent .flex {
  flex-wrap: wrap;
  gap: 10px;
 }
 .seminarContent .title {
  width: 100%;
  text-align: left;
 }
 .seminarContent .content {
  width: 100%;
 }
 .seminarContent .title span {
  display: inline-block;
  padding: 2px 15px;
  box-sizing: border-box;
  height: auto;
  transform: skewX(-11deg);
 }
 .seminarContent .title span:after {
  display: none;
 }
 .footer .flex {
  display: block;
 }
 .footer .flex .footershcedule, .footer .flex .right {
  width: auto;
 }
 .footer .flex .footershcedule {
  margin: 0 auto 40px auto;
 }
 .wrap1200 {
  width: 90%;
 }
 /*900*/
}
@media only screen and (max-width: 600px) {
 #heroimage h1 {
  text-align: center;
 }
 dl.datetimes.left_style.seminar_style dt {
  width: 40%;
 }
 dl.datetimes.left_style.seminar_style dd {
  width: calc(60% - 30px);
 }
 dl.datetimes {
  gap: 60px;
 }
 dl.datetimes dt:after {
  right: -34px;
 }
 dl.datetimes.left_style dt {
  width: 100px;
 }
 dl.datetimes.left_style dd {
  width: calc(100% - 60px - 100px);
 }
 dl.datetimes dd, dl.datetimes dt {
  width: calc(50% - 30px);
 }
 dl.datetimes.smart_wide {
  flex-wrap: wrap;
  justify-content: left;
  gap: 20px;
 }
 dl.datetimes.smart_wide dt:after {
  transform: rotate(90deg);
  right: 10px;
 }
 dl.datetimes.smart_wide dt {
  text-align: left;
  width: 100% !important;
 }
 dl.datetimes.smart_wide dd {
  width: auto !important;
 }
 /*600*/
}
/*-------------------------------------------------------------------------------------
spacer
*/
.mt0 {
 margin-top: 0px !important;
}
.mt10 {
 margin-top: 10px !important;
}
.mt20 {
 margin-top: 20px !important;
}
.mt30 {
 margin-top: 30px !important;
}
.mt40 {
 margin-top: 40px !important;
}
.mt50 {
 margin-top: 50px !important;
}
.mt60 {
 margin-top: 60px !important;
}
.mt70 {
 margin-top: 70px !important;
}
.mt80 {
 margin-top: 80px !important;
}
.mt90 {
 margin-top: 90px !important;
}
.mt100 {
 margin-top: 100px !important;
}
.mt110 {
 margin-top: 110px !important;
}
.mt120 {
 margin-top: 120px !important;
}
.mt130 {
 margin-top: 130px !important;
}
.mt140 {
 margin-top: 140px !important;
}
.mt150 {
 margin-top: 150px !important;
}
.mt160 {
 margin-top: 160px !important;
}
.mt170 {
 margin-top: 170px !important;
}
.mt180 {
 margin-top: 180px !important;
}
.mt190 {
 margin-top: 190px !important;
}
.mt200 {
 margin-top: 200px !important;
}
.mb10 {
 margin-bottom: 10px !important;
}
.mb20 {
 margin-bottom: 20px !important;
}
.mb30 {
 margin-bottom: 30px !important;
}
.mb40 {
 margin-bottom: 40px !important;
}
.mb50 {
 margin-bottom: 50px !important;
}
.mb60 {
 margin-bottom: 60px !important;
}
.mb70 {
 margin-bottom: 70px !important;
}
.mb80 {
 margin-bottom: 80px !important;
}
.mb90 {
 margin-bottom: 90px !important;
}
.mb100 {
 margin-bottom: 100px !important;
}
.mb110 {
 margin-bottom: 110px !important;
}
.mb120 {
 margin-bottom: 120px !important;
}
.mb130 {
 margin-bottom: 130px !important;
}
.mb140 {
 margin-bottom: 140px !important;
}
.mb150 {
 margin-bottom: 150px !important;
}
.mb160 {
 margin-bottom: 160px !important;
}
.mb170 {
 margin-bottom: 170px !important;
}
.mb180 {
 margin-bottom: 180px !important;
}
.mb190 {
 margin-bottom: 190px !important;
}
.mb200 {
 margin-bottom: 200px !important;
}
.pt10 {
 padding-top: 10px !important;
}
.pt20 {
 padding-top: 20px !important;
}
.pt30 {
 padding-top: 30px !important;
}
.pt40 {
 padding-top: 40px !important;
}
.pt50 {
 padding-top: 50px !important;
}
.pt60 {
 padding-top: 60px !important;
}
.pt70 {
 padding-top: 70px !important;
}
.pt80 {
 padding-top: 80px !important;
}
.pt90 {
 padding-top: 90px !important;
}
.pt100 {
 padding-top: 100px !important;
}
.pt110 {
 padding-top: 110px !important;
}
.pt120 {
 padding-top: 120px !important;
}
.pt130 {
 padding-top: 130px !important;
}
.pt140 {
 padding-top: 140px !important;
}
.pt150 {
 padding-top: 150px !important;
}
.pt160 {
 padding-top: 160px !important;
}
.pt170 {
 padding-top: 170px !important;
}
.pt180 {
 padding-top: 180px !important;
}
.pt190 {
 padding-top: 190px !important;
}
.pt200 {
 padding-top: 200px !important;
}
.pb10 {
 padding-bottom: 10px !important;
}
.pb20 {
 padding-bottom: 20px !important;
}
.pb30 {
 padding-bottom: 30px !important;
}
.pb40 {
 padding-bottom: 40px !important;
}
.pb50 {
 padding-bottom: 50px !important;
}
.pb60 {
 padding-bottom: 60px !important;
}
.pb70 {
 padding-bottom: 70px !important;
}
.pb80 {
 padding-bottom: 80px !important;
}
.pb90 {
 padding-bottom: 90px !important;
}
.pb100 {
 padding-bottom: 100px !important;
}
.pb110 {
 padding-bottom: 110px !important;
}
.pb120 {
 padding-bottom: 120px !important;
}
.pb130 {
 padding-bottom: 130px !important;
}
.pb140 {
 padding-bottom: 140px !important;
}
.pb150 {
 padding-bottom: 150px !important;
}
.pb160 {
 padding-bottom: 160px !important;
}
.pb170 {
 padding-bottom: 170px !important;
}
.pb180 {
 padding-bottom: 180px !important;
}
.pb190 {
 padding-bottom: 190px !important;
}
.pb200 {
 padding-bottom: 200px !important;
}