@charset "UTF-8";
/*
Theme Name: JR東日本テクノロジー 鉄道技術展2025
*/
/* ----------------------------- リセット */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, var, b, i,
dl dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
}

/*body{line-height:1;}*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: top;
  /*font-size:0;*/
  line-height: 0;
}

sup {
  font-size: 8px;
}

em {
  font-style: normal;
}

/* ----------------------------- 全体 */
html {
  font-size: 62.5%;
}

body {
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  background: #e7e8ec url(../img/common/bg.png) center top;
  color: #000;
  position: relative;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  min-width: 1280px;
  word-break: break-all;
}
body br {
  font-family: sans-serif;
}

#container {
  margin: 20px;
  border: 1px solid #0F1014;
  border-radius: 40px;
  overflow: hidden;
}

::-webkit-input-placeholder {
  color: #B9B9B9;
}

:-ms-input-placeholder {
  color: #B9B9B9;
}

::-moz-placeholder {
  color: #B9B9B9;
}

::-placeholder {
  color: #B9B9B9;
}

a {
  color: #000;
  text-decoration: underline;
}
a:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.7;
  -ms-filter: "alpha(opacity=70)";
  filter: alpha(opacity=70);
}
a img {
  -webkit-transition: 0.4s ease all;
  transition: 0.4s ease all;
}

a,
button,
input[type="submit"],
input[type="button"] {
  -webkit-transition: 0.4s ease all;
  transition: 0.4s ease all;
}

img {
  max-width: 100%;
  height: auto;
}

em {
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
/*=======================================
ヘッダー
=========================================*/
.l-expo-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #0F1014;
  padding: 20px 40px 20px 60px;
}
.l-expo-header__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-expo-header__menu .nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-expo-header__menu .nav a {
  text-decoration: none;
}
.l-expo-header__menu .nav > li > a,
.l-expo-header__menu .nav > li > .anchor {
  display: block;
  padding: 20px;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}
.l-expo-header__menu .nav > li > .anchor {
  cursor: pointer;
}
.l-expo-header__menu .nav .js-pulldown {
  position: relative;
}
.l-expo-header__menu .nav .js-pulldown-trigger span {
  display: block;
  background: url(../img/common/arrow_1-down.svg) no-repeat right center;
  background-size: 8px auto;
  padding-right: 18px;
}
.l-expo-header__menu .nav .js-pulldown-content {
  display: none;
  position: absolute;
  background: #fff;
  border-radius: 30px;
  padding: 24px;
  white-space: nowrap;
  left: 50%;
  z-index: 9;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.l-expo-header__menu .nav .js-pulldown-content li a {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 9px 15px;
  text-decoration: none;
  border-radius: 18px;
}
.l-expo-header__menu .nav .js-pulldown-content li a:hover {
  background: #1F4694;
  color: #fff;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}
.l-expo-header__menu .menu {
  margin-left: 40px;
}
.l-expo-header__menu .menu-trigger {
  background: #1F4694;
  color: #fff;
  cursor: pointer;
  font-size: 15px;
  font-size: 1.5rem;
  border-radius: 20px;
  padding: 21px 20px;
  width: 100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.2;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  position: relative;
  z-index: 12;
  -webkit-transition: 0.4s ease all;
  transition: 0.4s ease all;
}
.l-expo-header__menu .menu-trigger span:before {
  content: "MENU";
}
.l-expo-header__menu .menu-trigger.is-open {
  background: #00175f;
}
.l-expo-header__menu .menu-trigger.is-open span:before {
  content: "CLOSE";
}
.l-expo-header__menu .menu-content {
  display: none;
  position: absolute;
  top: 0;
  right: 20px;
  z-index: 11;
  background: url(../img/common/bg-blue.png) center top;
  border-radius: 40px;
  padding: 88px 38px;
}
.l-expo-header__menu .menu-content li a,
.l-expo-header__menu .menu-content li .anchor {
  color: #fff;
  padding: 12px;
  display: flex;
  align-items: baseline;
  text-decoration: none;
}
.l-expo-header__menu .menu-content li .en {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
.l-expo-header__menu .menu-content li .jp {
  font-size: 11px;
  font-size: 1.1rem;
  margin-left: 8px;
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
  filter: alpha(opacity=80);
}
.l-expo-header__menu .menu-content .sub li {
  margin-bottom: 14px;
  padding-left: 33px;
  position: relative;
}
.l-expo-header__menu .menu-content .sub li:before {
  display: block;
  content: "";
  position: absolute;
  left: 22px;
  top: 11px;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background: #fff;
}
.l-expo-header__menu .menu-content .sub li a {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0;
}
.l-expo-header__menu .menu-content .btn {
  margin-top: 20px;
}
.l-expo-header__menu .menu-content .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  background: #2dc3c8 url(../img/common/icon_blank-white.svg) no-repeat calc(100% - 18px) center;
  background-size: 16px;
  border-radius: 20px;
  margin-bottom: 10px;
  height: 68px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 18px 10px 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.l-expo-header__menu .menu-content .btn a:last-child {
  margin-bottom: 0;
}
.l-expo-header__menu .menu-content .btn img {
  vertical-align: top;
}

/*=======================================
メニュー
=========================================*/
/*=======================================
フッター
=========================================*/
.l-expo-footer {
  margin-top: 128px;
  padding-bottom: 60px;
}
.l-expo-footer__nav {
  border-top: 1px solid #0F1014;
  border-bottom: 1px solid #0F1014;
  margin-bottom: 70px;
}
.l-expo-footer__nav .c-wrap {
  display: flex;
  justify-content: center;
  position: relative;
}
.l-expo-footer__nav .corporate {
  width: 100%;
  max-width: 380px;
}
.l-expo-footer__nav .corporate a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-left: 1px solid #0F1014;
  border-right: 1px solid #0F1014;
  text-decoration: none;
  height: 80px;
  letter-spacing: 0;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
}
.l-expo-footer__nav .pagetop {
  position: absolute;
  right: 0;
}
.l-expo-footer__nav .pagetop a {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  background: #0F1014;
  color: #fff;
  width: 80px;
  height: 80px;
  text-decoration: none;
  text-align: center;
  font-size: 11px;
  font-size: 1.1rem;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}
.l-expo-footer__nav .pagetop a:before {
  display: block;
  content: "";
  background: url(../img/common/arrow_1-up-white.svg) no-repeat center;
  background-size: contain;
  width: 8px;
  height: 12px;
  margin-bottom: 8px;
}
.l-expo-footer__copyright {
  text-align: center;
}
.l-expo-footer__copyright .logo {
  margin-bottom: 18px;
}
.l-expo-footer__copyright .copyright {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.l-expo-footer__gift {
  position: fixed;
  right: 0;
  bottom: 50px;
  z-index: 9;
}

/*=======================================
パンくず
=========================================*/
/*=======================================
ページタイトル
=========================================*/
/*=======================================
ページトップボタン
=========================================*/
.l-expo-pagetop {
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 999;
}

/*=======================================
コンテンツ
=========================================*/
/*=======================================
投稿
=========================================*/
#entrybody a {
  color: #29abe2;
  text-decoration: underline;
}
#entrybody a:hover {
  text-decoration: none;
}
#entrybody p {
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 40px;
}
#entrybody p:last-child {
  margin-bottom: 0;
}
#entrybody small {
  font-size: 14px;
  font-size: 1.4rem;
}
#entrybody h3 {
  padding-bottom: 21px;
  margin-bottom: 20px;
  border-bottom: 1px solid #c3cacd;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 30px;
  background: url(../img/common/title2_icon1.svg) no-repeat left top;
  background-size: auto 40px;
}
#entrybody h3:last-child {
  margin-bottom: 0;
}
#entrybody h4 {
  color: #86969a;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.5;
  padding-left: 32px;
  margin-bottom: 12px;
  position: relative;
}
#entrybody h4:before {
  display: block;
  content: "";
  position: absolute;
  background: linear-gradient(to right, #29abe2 0%, #24a075 100%);
  width: 18px;
  height: 18px;
  border-radius: 100%;
  left: 0;
  top: 9px;
}
#entrybody h5 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1F4694;
  margin-bottom: 10px;
}
#entrybody h6 {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 8px;
}
#entrybody ul,
#entrybody ol {
  margin-bottom: 40px;
}
#entrybody ul:last-child,
#entrybody ol:last-child {
  margin-bottom: 0;
}
#entrybody li {
  position: relative;
  padding-left: 16px;
}
#entrybody li:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background: #1F4694;
}
#entrybody table {
  width: 100%;
  margin-bottom: 40px;
}
#entrybody table th,
#entrybody table td {
  padding: 15px 40px;
  border-bottom: 1px solid #c3cacd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#entrybody table th {
  font-weight: 700;
  text-align: left;
  padding-left: 35px;
  width: 180px;
}
#entrybody table td {
  width: calc(100% - 180px);
  padding-left: 0;
}
#entrybody table tr:first-child th,
#entrybody table tr:first-child td {
  border-top: 1px solid #c3cacd;
}
#entrybody table.wide th,
#entrybody table.wide td {
  padding-top: 30px;
  padding-bottom: 30px;
}
#entrybody .col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#entrybody .col2 > div {
  width: 47.7272%;
}

/* ----------------------------- タブレット（768～1024px） */
/* ----------------------------- スマホ（～767px） */
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
    min-width: initial;
  }

  #container {
    margin: 10px;
    border-radius: 20px;
  }

  .l-expo-header {
    padding: 15px;
  }
  .l-expo-header__logo img {
    width: 200px;
  }
  .l-expo-header__menu .menu {
    margin-left: 0;
  }
  .l-expo-header__menu .menu-trigger {
    font-size: 14px;
    font-size: 1.4rem;
    border-radius: 10px;
    padding: 12px 15px;
  }
  .l-expo-header__menu .menu-content {
    display: none;
    position: absolute;
    top: 0;
    right: 10px;
    width: calc(100% - 20px);
    z-index: 1;
    background: url(../img/common/bg-blue.png) center top;
    border-radius: 20px;
    padding: 30px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .l-expo-header__menu .menu-content li a,
  .l-expo-header__menu .menu-content li .anchor {
    color: #fff;
    padding: 12px;
    display: flex;
    align-items: baseline;
    text-decoration: none;
  }
  .l-expo-header__menu .menu-content li .en {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    font-family: "Montserrat", "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  }
  .l-expo-header__menu .menu-content li .jp {
    font-size: 11px;
    font-size: 1.1rem;
    margin-left: 8px;
    opacity: 0.8;
    -ms-filter: "alpha(opacity=80)";
    filter: alpha(opacity=80);
  }
  .l-expo-header__menu .menu-content .sub li {
    margin-bottom: 14px;
    padding-left: 33px;
    position: relative;
  }
  .l-expo-header__menu .menu-content .sub li:before {
    display: block;
    content: "";
    position: absolute;
    left: 22px;
    top: 11px;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #fff;
  }
  .l-expo-header__menu .menu-content .sub li a {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0;
  }
  .l-expo-header__menu .menu-content .btn {
    margin-top: 20px;
  }
  .l-expo-header__menu .menu-content .btn a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    background: #2dc3c8 url(../img/common/icon_blank-white.svg) no-repeat calc(100% - 18px) center;
    background-size: 16px;
    border-radius: 20px;
    margin-bottom: 10px;
    height: 68px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 18px 10px 30px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .l-expo-header__menu .menu-content .btn a:last-child {
    margin-bottom: 0;
  }
  .l-expo-header__menu .menu-content .btn img {
    vertical-align: top;
  }

  .l-expo-footer {
    margin-top: 60px;
    padding-bottom: 130px;
  }
  .l-expo-footer__nav {
    margin-bottom: 30px;
  }
  .l-expo-footer__nav .c-wrap {
    justify-content: flex-start;
    padding-left: 0;
    padding-right: 0;
  }
  .l-expo-footer__nav .corporate {
    max-width: calc(100% - 60px);
  }
  .l-expo-footer__nav .corporate a {
    font-size: 14px;
    font-size: 1.4rem;
    height: 60px;
    border-left: 0;
    border-right: 0;
  }
  .l-expo-footer__nav .pagetop a {
    width: 60px;
    height: 60px;
    font-size: 9px;
    font-size: 0.9rem;
  }
  .l-expo-footer__nav .pagetop a:before {
    margin-bottom: 5px;
  }
  .l-expo-footer__copyright {
    padding-left: 20px;
    padding-right: 20px;
  }
  .l-expo-footer__copyright .logo img {
    width: 220px;
  }
  .l-expo-footer__copyright .copyright {
    font-size: 9px;
    font-size: 0.9rem;
  }
  .l-expo-footer__gift {
    right: -30px;
    bottom: 20px;
  }
  .l-expo-footer__gift img {
    width: 200px;
  }

  #entrybody p {
    font-size: 3.56234vw;
    margin-bottom: 5.08906vw;
  }
  #entrybody p:last-child {
    margin-bottom: 0;
  }
  #entrybody small {
    font-size: 3.05344vw;
  }
  #entrybody h3 {
    padding-bottom: 4.07125vw;
    margin-bottom: 5.08906vw;
    font-size: 5.08906vw;
    padding-left: 5.08906vw;
    background-size: 0.76336vw auto;
  }
  #entrybody h3:last-child {
    margin-bottom: 0;
  }
  #entrybody h4 {
    font-size: 5.08906vw;
    padding-left: 8.14249vw;
    margin-bottom: 4.58015vw;
  }
  #entrybody h4:before {
    width: 4.58015vw;
    height: 4.58015vw;
    top: 1.78117vw;
  }
  #entrybody h5 {
    font-size: 4.07125vw;
    margin-bottom: 2.54453vw;
  }
  #entrybody h6 {
    font-size: 3.81679vw;
    margin-bottom: 2.03562vw;
  }
  #entrybody ul,
  #entrybody ol {
    margin-bottom: 5.08906vw;
  }
  #entrybody ul:last-child,
  #entrybody ol:last-child {
    margin-bottom: 0;
  }
  #entrybody li {
    padding-left: 3.56234vw;
  }
  #entrybody li:before {
    top: 2.29008vw;
    width: 2.03562vw;
    height: 2.03562vw;
  }
  #entrybody table,
  #entrybody table tbody,
  #entrybody table thead,
  #entrybody table tr,
  #entrybody table th,
  #entrybody table td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #entrybody table th,
  #entrybody table td {
    font-size: 3.56234vw;
    padding: 3.81679vw 0;
    vertical-align: middle;
  }
  #entrybody table th {
    border-bottom: 0;
    padding-bottom: 0;
  }
  #entrybody table td {
    padding-top: 2.03562vw;
  }
  #entrybody table tr:first-child td {
    border-top: 0;
  }
  #entrybody table.wide th {
    padding-top: 7.63359vw;
    padding-bottom: 0;
  }
  #entrybody table.wide td {
    padding-top: 2.03562vw;
    padding-bottom: 7.63359vw;
  }
  #entrybody .col2 {
    display: block;
  }
  #entrybody .col2 > div {
    width: auto;
    margin-bottom: 5.08906vw;
  }
  #entrybody .col2 > div:last-child {
    margin-bottom: 0;
  }
}
