@media screen and (max-width: 768px) {
  body {
    min-width: 320px;
    max-width: 768px;
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  header {
    width: 100%;
    padding-left: 1rem;
  }

  /* ナビゲーション */
  nav {
    width: 100%;
    overflow: hidden;
    font-size: small;
  }

  nav ul {
    min-width: 320px;
    max-width: 768px;
  }

  nav li {
    width: 20vw;
    border-top: 1px solid #cf000f;
    border-bottom: 1px solid #cf000f;
    vertical-align: middle;
  }

  nav li:first-child {
    border-left: none;
  }

  nav li:last-child {
    border-right: none;
  }

  .TopBrandingArea {
    width: 100%;
  }

  .TopBrandingLine {
    padding-bottom: 0rem;
    font-size: 0;
    background-image: none;
  }

  /* テーブル会社案内 */
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }

  .TableCorp {
    width: 80%;
  }

  .TableCorp th, .TableCorp td {
    border-bottom: none;
    display: block;
    width: 100%;
  }

  table.TableCorp th {
    width: 100%;
  }

  table.TableCorp td {
    width: 100%;
  }

  /* 社長メッセージ */
  .TableMessage {
    width: 80%;
  }

  .TableMessage th, .TableMessage td {
    border-bottom: none;
    display: block;
    width: 100%;
  }

  table.TableMessage th {
    width: 100%;
  }

  table.TableMessage td {
    width: 100%;
    padding-left: 0;
  }

  /* テーブル受託開発 */
  .TableDev {
    width: 80%;
  }

  .TableDev th, .TableDev td {
    border-bottom: none;
    display: block;
    width: 100%;
  }

  table.TableDev th {
    width: 100%;
  }

  table.TableDev td {
    width: 100%;
  }

  /* テーブルSIGLENT */
  .TableSIGLENT {
    width: 80%;
  }

  .TableSIGLENT th, .TableSIGLENT td {
    border-bottom: none;
    display: block;
    width: 100%;
  }

  table.TableSIGLENT th {
    width: 100%;
  }

  table.TableSIGLENT td {
    width: 100%;
    padding: 0;
  }

  /* スライダ */
  .swiper-slide img {
    min-width: 320px;
    max-width: 768px;
  }

  .swiper-container {
    width: 100%;
  }

  .swiper-container img {
    width: 100%;
  }

  /* サイドバー */
  .TopBrandingLineBanner {
    display: none;
  }

  .TopBrandingLineBannerSP {
    display: block;
    width: 100%;
    text-align: center;
  }

  /* おすすめ教材 */
  .Caption {
    width: 100%;
    height: 100%;
    filter: none;
  }

  .Caption h1 {
    font-size: large;
    text-align: justify;
  }

  .Caption h2 {
    padding-bottom: 0.5rem;
    text-align: justify;
    margin-right: 1rem;
  }

  .ContainerArea {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .ContainerBox {
    width: auto;
    min-width: 320px;
    max-width: 768px;
  }

  .ContainerBox img {
    max-width: 90%;
  }

  .Column {
    width: 100%;
    float: none;
    display: block;
    text-align: left;
    padding: 15px;
    margin: 1rem 0 0;
    position: relative;
    border: none;
    background: none;
  }

  .Column img {
    width: 30px;
    margin: 0 0.5rem 0 0;
    display: inline-block;
    vertical-align: middle;
  }

  .Column:after {
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 1px #cf000f;
    border-right: solid 1px #cf000f;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 3%;
    margin-top: -3px;
  }

  /* グループサイト */
  .GroupArea {
    display: block;
    width: 90%;
  }

  .GroupLeft {
    width: 100%;
    margin-bottom: 2rem;
  }

  .GroupRight {
    width: 100%;
    margin: 0;
  }

  .SocialArea {
    width: 100%;
  }

  .SocialBottom {
    width: 90%;
  }

  .SocialBottom ul {
    padding: 0 3rem;
    justify-content: space-between;
  }

  .SocialBottom li {
    border: none;
    font-size: 0;
    padding: 0;
  }

  /* コンテンツ */
  div.Contents {
    width: 100%;
    min-width: 320px;
    max-width: 768px;
    margin-top: 0.45rem;
    padding: 0 1rem;
    text-align: justify;
    display: flex;
    flex-direction: column;
  }
  .Contents > * {
    width: 100%;
    order: 99;
  }
  p.top-info {
    position: relative;
    order: 1;
    margin-bottom: 1rem;
  }

  /* ルート */
  .TopicPath {
    width: 100%;
    padding: 0 1rem;
    text-align: justify;
  }

  /* 製品・サービス */
  .GoodsArea {
    width: 100%;
  }

  .GoodsBox {
    width: 100%;
  }

  /* カタログ */
  .CatalogArea {
    width: 100%;
  }

  .CatalogBox {
    width: 100%;
  }

  .eBookBox {
    width: 100%;
  }

  .ADDArea {
    width: 100%;
    display: block;
  }

  .ADDBox img {
    width: 100%;
  }

  .ADDBox dt {
    font-size: small;
  }

  .ADD {
    width: 100%;
  }

  .ColumnSet {
    width: 100%;
  }

  .ColumnLeft {
    width: 100%;
  }

  .ProductImg {
    background-image: url("../image/corp/note_main_sp.png");
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 1.5rem;
    height: auto;
    background-repeat: repeat;
  }

  .ProductImg img {
    width: 90%;
  }

  .ImgSub {
    width: 90%;
  }

  .ImgSub img {
    max-width: 100%;
    width: auto;
    max-height: 3rem;
  }

  .ImgSub li {
    margin-right: 10px;
  }

  .ProductGoal {
    width: 100%;
    height: auto;
    display: block;
    padding: 1rem;
  }

  .ProductText {
    padding: 2rem 0;
  }

  .ProductPoint {
    padding: 0.5rem 1rem 2rem;
  }

  .ProductMovie {
    width: 100%;
    background-image: none;
    padding: 0 0 56.25% 0;
    height: 0px;
    position: relative;
    margin: 1rem auto;
  }

  .ProductMovie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* 特設ページ */
  .FeatureArea {
    width: 100%;
  }

  .FeatureSIGLENT {
    width: 100%;
    display: block;
    margin: 0;
  }

  .FeatureShop {
    text-align: center;
  }

  .FeatureMovie {
    width: 100%;
    background-image: none;
    padding: 0 0 56.25% 0;
    height: 0px;
    position: relative;
    margin: 1rem auto;
  }

  .FeatureMovie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  table.TableFeature {
    table-layout: auto;
  }

  /*製品スペック*/
  .ProductSpec, .ProductLineup, .ProductOverview, .ProductCurriculum {
    width: 100%;
  }

  .ProductSpec h3, .ProductLineup h3, .ProductOverview h3, .ProductCurriculum h3, .ProductCase h3, .ProductVoice h3 {
    margin: 1rem 0;
  }

  .ProductOverview img {
    width: 100%;
  }

  ul.Case {
    font-size: x-small;
  }

  .ColumnSetRight {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  .ProductSet h3 {
    width: 100%;
    height: auto;
    display: block;
    padding: 0.5rem;
  }

  .ProductQuestion img {
    width: 100;
  }

  .ProductShop {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  .ProductShop ul {
    display: block;
  }

  .ProductShop img {
    max-height: 100%;
    max-width: 90%;
  }

  /*販売代理店*/
  dl.PartnerList dt {
    width: 100%;
    background-color: #eee;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin: 0 0 0.5rem;
  }

  dl.PartnerList dd {
    margin: 0 0 0;
    border-left: 0px;
  }

  dl.PartnerList dt:first-child {
    display: none;
  }

  dl.PartnerList dt:first-child+dd {
    display: none;
  }

  ul.JapanArea {
    font-size: small;
  }

  ul.JapanArea li {
    min-width: 50%;
  }

  /* フッター */
  footer {
    width: 100%;
    height: 150px;
  }

  .sitemap {
    width: 100%;
    padding: 1rem;
  }

  .sitemap-left {
    width: 100%;
    text-align: center;
  }

  .sitemap-right {
    width: 100%;
    text-align: center;
  }

  /*Back to top button */
  #back-top {
    bottom: 1rem;
    right: 1rem;
  }

  /* 製品情報 */
  .ProductTitle {
    display: block;
  }

  .ProductTitle h1 {
    border-left: solid 0.5rem #cf000f;
    /* 上・右・下・左*/
    padding: 0 0 0 0.5rem;
    margin-top: 1rem;
    font-size: large;
  }

  .ProductTitle img {
    display: none;
  }

  div.login {
	  display: block;
  }

  h2 {
    font-size: 1rem;
  }

  /* 製品情報ボタン群 */
  .ProductTitleButton {
    display: block;
    /*margin-top: -0.6rem;*/
    margin-top: -0.05rem;
    margin-bottom: 1.45rem;
  }

  div.ProductList {
    margin-top: 0;
    margin-bottom: 0;
  }

  /* eラーニングボタン */
  p.LearningButton {
    margin: 0 auto;
  }

  /* サポートボタン */
  p.SupportButton {
    margin: 0 auto;
  }

  /*問い合わせボタン*/
  p.MailButton {
    margin: 0 auto;
  }

  /* 購入ボタン */
  p.BuyButton {
    margin: 0 auto;
  }

  p.BuyButton a {
    width: 220px;
    margin: 0 auto;
    margin-bottom: 0.5rem;
  }

  /*ログインボタン*/
  p.LoginButton {
    position: relative;
    margin: 0 auto;
    order: 1;
  }

  p.LoginButton a {
    margin: 0 auto;
    margin-bottom: 1.5rem;
  }

  /* 製品タイトル部ボタン */
  div.ProductTitleButton {
    position: relative;
    order: 2;
  }

  /* 製品情報ボタン */
  p.ProductInfoButton {
    margin: 0 auto;
  }

  p.ProductInfoButton a {
    width: 220px;
    margin: 0 auto;
    margin-bottom: 0.5rem;
  }

  /* パンフレットボタン */
  p.PamphletButton {
    margin: 0 auto;
  }

  p.PamphletButton a {
    width: 220px;
    margin: 0 auto;
    margin-bottom: 0.5rem;
  }

  /* flashコンテンツ */
  div.swf-contents {
    margin-top: -1em;
    min-height: 180px;
  }
  div.swf-contents > div:first-child {
    float: none;
    margin-top: 1em;
  }
  div.swf-contents > div:nth-child(2) {
    padding-left: 0px;
    margin-top: 2em;
  }

  /* 問い合わせフォーム */
  .contact-form th,
  .contact-form td {
    text-align: center;
    border-bottom: none;
    display: block;
    width: 100%;
  }
  table.contact-form textarea {
	  width: 100%;
	  min-width: 0;
  }
}
