@media screen and (max-width: 767px) {
  #sizeDetect {
    font-family: "sp"; } }

@media screen and (min-width: 768px) {
  #sizeDetect {
    font-family: "tablet"; } }

@media screen and (min-width: 1024px) {
  #sizeDetect {
    font-family: "pc"; } }

@media screen and (min-width: 1680px) {
  #sizeDetect {
    font-family: "large"; } }

@media screen and (max-width: 1023px) {
  .display-pc {
    display: none; }
  .display-sp {
    display: inline-block; } }

@media screen and (min-width: 1024px) {
  .display-sp {
    display: none; }
  .display-pc {
    display: inline-block; }
  .mod-news-item__text {
    font-size: 1.2em;
    line-height: 1.67;
    margin: 0 0 6px 0;
    letter-spacing: 0.04em;
    color: #666; }
  .mod-news-item__date {
    color: #2d75c7;
    font-size: 1.2em;
    line-height: 1;
    margin: 0 0 6px 0;
    letter-spacing: -0.03em; }
  .mod-news-item__author {
    color: #2d75c7;
    line-height: 1;
    font-size: 1em;
    margin: 0; } }

#panelBlockLast {
  display: none; }

.panel-item {
  position: relative;
  overflow: hidden;
  transitionDuration: '0';
  float: left;
  width: 50%;
  margin: 0;
  padding-top: 50%; }
  .panel-item.hide {
    display: none; }
  .panel-item img {
    vertical-align: top; }
  .panel-item a {
    display: block; }
  .panel-item a:focus .panel-item-pic-wrap:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: solid 5px #99999e; }
  .panel-item a:hover img {
    opacity: 0.7; }
  .panel-item .movie-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 35px;
    height: 35px;
    margin-top: -52px;
    margin-left: -17px;
    background-size: 100%;
    z-index: 1; }
  .panel-item a {
    color: #333; }
  .panel-item img {
    width: 100%; }
  .panel-item--main {
    width: 100%;
    margin-bottom: 4px;
    padding-top: 100%;
    position: relative;
    padding-right: 0; }
    .panel-item--main .movie-icon {
      width: 45px;
      height: 45px;
      margin-top: -42px;
      margin-left: -22px; }
    .panel-item--main .panel-item-pic-wrap {
      right: 6px; }
  .panel-item--medium {
    width: 100%; }
  .panel-item--large {
    width: 100%;
    padding-top: 50%; }
  .panel-item-inner {
    position: static;
    margin-right: 6px;
    margin-bottom: 6px; }

.panel-block-first {
  height: 500px; }

.panel-block {
  margin-right: -6px;
  position: relative;
  clear: both; }
  .panel-block:after {
    display: block;
    clear: both;
    content: ''; }
  .panel-block ul {
    margin: 0;
    padding: 0;
    list-style: none; }

#panelBlockLast {
  margin: 15px -6px 15px 0; }

.panel-item-title-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 75px;
  margin-top: -6px;
  background-color: #f2f2f2; }

.panel-item-title-inner {
  vertical-align: medium; }

.panel-item__title {
  margin: 0; }

.panel-item__title--large {
  font-size: 1.3em;
  line-height: 1.44;
  position: absolute;
  top: 10px;
  right: 9px;
  left: 9px;
  margin-bottom: .38em;
  margin-bottom: .38em; }

.panel-item__title--small {
  font-size: .9em;
  line-height: 1;
  position: absolute;
  right: 9px;
  bottom: 7px;
  left: 9px;
  color: #003caa; }

.panel-item-pic-wrap {
  position: absolute;
  top: 0;
  right: 6px;
  left: 0;
  overflow: hidden;
  height: 100%; }
  .panel-item-pic-wrap img {
    width: 100%; }

@media screen and (max-width: 1023px) {
  .panel-item--main {
    margin-bottom: 6px; }
    .panel-item--main .panel-item-title-wrap {
      right: 0;
      height: 70px; }
    .panel-item--main .panel-item-pic-wrap {
      right: 0; }
    .panel-item--main .panel-item-inner {
      margin-right: 0;
      margin-bottom: 0; }
    .panel-item--main .panel-item__title--large {
      font-size: 1.1em;
      line-height: 1.36;
      letter-spacing: 0;
      top: 6px; }
  .panel-item--large .panel-item-title-wrap, .panel-item--medium .panel-item-title-wrap {
    height: 60px; }
  .panel-item--small, .panel-item--medium, .panel-item--large {
    padding-top: 50%;
    width: 50%;
    padding-top: 50%; }
    .panel-item--small .panel-item__title--large, .panel-item--medium .panel-item__title--large, .panel-item--large .panel-item__title--large {
      font-size: 1.1em;
      line-height: 1.36;
      letter-spacing: 0;
      top: 6px; }
    .panel-item--small .panel-item-title-wrap, .panel-item--medium .panel-item-title-wrap, .panel-item--large .panel-item-title-wrap {
      height: 75px; }
  .panel-item-title-wrap {
    height: 70px; } }

@media screen and (min-width: 1024px) {
  /* panel */
  .panel-item {
    width: 25%;
    padding-top: 25%; }
    .panel-item .movie-icon {
      width: 56px;
      height: 56px;
      margin-top: -80px;
      margin-left: -28px; }
    .panel-item--main {
      width: 100%;
      margin-bottom: 10px;
      padding-top: 50%; }
      .panel-item--main .panel-item-title-wrap {
        height: 100px; }
      .panel-item--main .panel-item__title--small {
        bottom: 13px; }
      .panel-item--main .panel-item-inner {
        margin-bottom: 0; }
      .panel-item--main .movie-icon {
        width: 66px;
        height: 66px;
        margin-top: -83px;
        margin-left: -33px; }
    .panel-item--medium {
      width: 50%; }
    .panel-item--large {
      width: 50%;
      padding-top: 56.13%; }
      .panel-item--large img {
        width: auto;
        position: relative;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0); }
    .panel-item-inner {
      padding-right: 0; }
  .panel-item-title-wrap {
    height: 82px; }
  .panel-item__title--large {
    font-size: 13px;
    line-height: 1.56;
    top: 8px;
    left: 11px;
    letter-spacing: 0; }
  .panel-item__title--small {
    font-size: 10px;
    bottom: 11px;
    left: 11px; } }

@media screen and (min-width: 1680px) {
  .panel-item {
    width: 20%;
    padding-top: 20%; }
    .panel-item--main {
      width: 100%;
      padding-top: 50%; }
    .panel-item--large {
      width: 40%;
      padding-top: 56.13%; }
    .panel-item--medium {
      width: 40%; } }

.loader {
  position: absolute;
  width: 50px;
  height: 50px;
  left: 50%;
  margin-left: -25px;
  top: 0;
  opacity: 0; }

.circular {
  -webkit-animation: rotate 2s linear infinite;
          animation: rotate 2s linear infinite;
  height: 50px;
  position: relative;
  width: 50px; }

.path {
  stroke: #0057e7;
  stroke-dasharray: 1,200;
  stroke-dashoffset: 0;
  -webkit-animation: dash 1.5s ease-in-out infinite;
          animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round; }

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124; } }

@keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124; } }

#tmpl_main {
  width: auto; }

.trace {
  position: absolute;
  left: 0;
  top: -3px;
  width: 100%;
  text-align: center;
  opacity: 0.5;
  z-index: 99; }
  @media screen and (max-width: 1023px) {
    .trace {
      top: 0; }
      .trace img {
        width: 100%; } }

.readmore-container {
  position: relative;
  clear: both; }

.readmore__btn {
  background-color: #767676;
  color: #fff;
  margin: 15px auto;
  text-align: center;
  width: 154px;
  font-size: 1.1em;
  line-height: 60px;
  cursor: pointer;
  position: relative;
  z-index: 1; }

.readmore__btn a {
  color: #fff;
  text-decoration: none; }

.readmore-container .readmore__btn a:hover {
  color: #fff; }

.readmore__btn:hover {
  background-color: #626262; }

.information__text {
  font-family: "SST W55 Bold"; }

.information__text a {
  color: #656565;
  text-decoration: none; }

.top-content-block {
  font-family: "SST W55 Regular";
  position: relative;
  -webkit-font-smoothing: antialiased; }
  .top-content-block a {
    text-decoration: none; }
  .top-content-block a:hover {
    color: #3b4b73; }

.news-item a:hover p,
.service-information-item a:hover p {
  color: #3b4b73; }

.panel-block .panel-item,
.main-container {
  opacity: 0; }

.no-js .readmore__btn {
  display: none; }

.no-js .panel-block .panel-item,
.no-js .main-container {
  opacity: 1; }

.service-information-message span {
  font-family: "SST W55 Bold"; }

.information-container,
.service-information-container {
  clear: both; }

@media screen and (max-width: 1023px) {
  .main-news,
  .information-container,
  .service-information-container {
    display: none; }
  .top-content-block {
    font-size: 10px; }
  .main-container:after {
    content: "";
    clear: both;
    display: block; }
  .top-content-block-inner {
    padding: 7px 5px; } }

@media screen and (min-width: 1024px) {
  .top-content-block {
    font-size: 10px;
    color: #666666;
    max-width: 1920px;
    margin: 0 auto; } }
  @media screen and (min-width: 1024px) and (max-width: 1365px) {
    .top-content-block {
      font-size: 8px; } }
  @media screen and (min-width: 1024px) and (min-width: 1024px) {
    .top-content-block {
      font-size: 12.35px; } }
  @media screen and (min-width: 1024px) and (min-width: 1024px) {
    .top-content-block {
      font-size: 10px; } }
  @media screen and (min-width: 1024px) and (min-width: 1024px) {
    .top-content-block {
      font-size: 8px; } }
  @media screen and (min-width: 1024px) and (min-width: 1300px) {
    .top-content-block {
      font-size: 10px; } }

@media screen and (min-width: 1024px) {
  .top-content-block-inner {
    padding: 7px; }
  .main-container {
    clear: both; }
  .main-container:after {
    content: "";
    clear: both;
    display: block; }
  .main-visual {
    width: 75.3%;
    float: left; }
  .main-news {
    float: right;
    width: 24.7%;
    padding-left: 4px;
    box-sizing: border-box; }
  .main-news-inner {
    border: 2px solid #eee;
    padding: 20px 20px 10px;
    margin-bottom: 10px;
    box-sizing: border-box; }
  .news-title-wrap {
    border-bottom: 1px solid #eee;
    line-height: 1;
    height: 4.5em;
    margin-bottom: 17px; }
  .news__title {
    font-size: 1.4em;
    float: left;
    line-height: 1;
    margin: 0;
    padding-top: 3px;
    letter-spacing: 0.07em; }
  .news-tool-list {
    width: 100px;
    float: right;
    padding-top: 4px; }
    .news-tool-list ul {
      margin: 0;
      padding: 0;
      list-style: none; }
  .news-tool__item {
    margin-right: 20px;
    float: right; }
    .news-tool__item img {
      vertical-align: top;
      margin-right: 10px; }
    .news-tool__item:nth-child(3) {
      margin-right: 0; }
    .news-tool__item--mail {
      padding-top: 3px; }
    .news-tool__item--navi {
      padding-top: 2px; }
    .news-tool__item--list {
      font-size: 1.2em;
      margin-right: 0; }
      .news-tool__item--list a {
        color: #656565; }
  .news-list {
    height: 368px;
    overflow-y: auto; }
    .news-list ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .news-list li:last-child {
      margin-bottom: 0; }
  .news-item {
    padding-bottom: 11px;
    margin-bottom: 8px;
    border-bottom: 1px solid #eee; }
  .service-information-message {
    background-color: #ececec;
    box-sizing: border-box;
    text-align: center;
    padding-top: 3%; }
    .service-information-message a {
      color: #656565;
      text-decoration: none; }
    .service-information-message span {
      display: block;
      font-size: 1.4em;
      line-height: 75px;
      height: 80px;
      padding-left: 2.74em;
      background: url(../img/icon/top-icon-information.png) no-repeat left center;
      letter-spacing: 0;
      font-family: "SST W55 Bold";
      background-size: 20px auto; }
    .service-information-message img {
      margin-top: -3px; }
  .main-news .service-information-message {
    padding-top: 0; }
    .main-news .service-information-message span {
      background-size: auto;
      padding-left: 2.14em;
      text-align: left;
      display: inline-block; }
  .service-information-container {
    box-sizing: border-box;
    padding: 2em 1.7em 2em 0;
    height: 160px;
    border: 1px solid #eee; }
    .service-information-container:after {
      content: "";
      clear: both;
      display: block; }
    .service-information-container .mod-news-item__text {
      line-height: 1.57;
      color: #666; }
    .service-information-container .service-information-message {
      background-color: transparent;
      float: left;
      width: 15.97%;
      display: table;
      padding-top: 0;
      height: 100%;
      padding: 0 8px; }
      .service-information-container .service-information-message__cell {
        display: table-cell;
        vertical-align: middle; }
      .service-information-container .service-information-message a {
        display: inline-block; }
      .service-information-container .service-information-message .service-information-message-inner {
        display: inline-block;
        font-size: 1.2em;
        line-height: 1.8;
        text-align: left;
        height: auto;
        position: relative;
        padding-right: 2.8em; }
      .service-information-container .service-information-message .service-information-message__icon {
        position: absolute;
        right: 0;
        top: 0;
        display: block;
        width: 13px;
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        margin-left: -6px;
        margin-top: -7px; }
  .service-information-list {
    width: 83.33%;
    float: left; }
    .service-information-list ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .service-information-list li:last-child {
      border-right: none;
      padding-right: 0; }
  .information-container {
    text-align: center;
    height: 60px;
    line-height: 60px;
    box-sizing: border-box;
    border: 1px solid #eee;
    margin-bottom: 7px; }
    .information-container dl {
      margin: 0;
      padding: 0; }
  .information__title {
    margin: 0;
    font-size: 1.4em;
    display: inline-block;
    padding: 0;
    margin-right: 18px;
    letter-spacing: 0.06em;
    position: relative;
    padding-right: 20px; }
    .information__title:after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      height: 20px;
      margin-top: -10px;
      width: 1px;
      background-color: #ececec; }
  .information__text {
    margin: 0;
    font-size: 1.4em;
    padding: 0;
    display: inline-block;
    letter-spacing: 0.02em; }
  .service-information-item {
    width: 20%;
    float: left;
    border-right: 1px solid #ececec;
    padding-right: 2em;
    padding-left: 2em;
    box-sizing: border-box;
    position: relative;
    height: 125px; }
    .service-information-item__date {
      position: absolute;
      left: 1.7em;
      bottom: 4px; }
  .readmore__btn {
    margin: 15px auto;
    text-align: center;
    width: 460px;
    font-size: 1.6em;
    line-height: 60px; } }

@media screen and (min-width: 1024px) {
  .service-information-list li:first-child {
    border-left: #ececec 1px solid; } }
