/* =========================================
g-navi sp
========================================= */
@media screen and (min-width: 641px) {
  .responsive_s {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  header {
    border-bottom: 0;
  }

  #seminars-nav {
    display: block !important;
  }

  #seminars-nav li {
    width: 100% !important;

    border-bottom: 1px solid #fff;
  }

  #seminars-nav li:last-child {
    border-bottom: none;
  }

  /* ボディ
    ---------------------------------------------------- */
  .responsive_s {
    display: block;
  }

  /*
    --------------------------------------------------- */
  .submenu_sp dd {
    overflow: hidden;
  }

  .submenu_sp {
    position: relative;
    top: 0;

    box-sizing: border-box;
    width: 93%;
    margin: 0 auto 23px;

    border: solid 1px #e0e0e0;
  }

  .submenu_sp dd ul li {
    position: relative;

    float: none;

    width: 100%;

    border-right: none;
  }

  .g_navi_menu_sp ul li div a {
    font-size: 16px;

    padding-left: 8%;

    background: none;
  }

  .submenu_sp dt {
    font-weight: bold;

    padding: 12px 0;
    padding-left: 2%;

    color: #333;
    background: #feeeee;
  }

  .submenu_sp dd ul li:after {
    position: absolute;
    top: 50%;
    left: 3%;

    content: '>';
    transform: translatey(-50%);

    color: #333;
  }

  .submenu_sp dd ul li.opt_top_radius:after {
    color: #d72100;
  }

  /* グローバルナビ（スマホ）
    ---------------------------------------------------- */
  .g_navi_menu_sp {
    display: none;

    width: 100%;
    margin-top: 20px;

    text-align: right;
  }

  .g_navi_menu_sp ul li {
    font-size: 123.1%;

    border-bottom: 1px solid #e0e0e0;
  }

  .g_navi_menu_sp ul li a {
    font-size: 20px;
    font-weight: bold;
    line-height: 60px;

    display: block;

    min-height: 60px;

    text-decoration: none;

    color: #333;
    background-color: #f7f7f7;
  }

  /* パンくずナビ
    ---------------------------------------------------- */
  .p_navi {
    width: 96%;
    max-width: 600px;
    margin: 0 auto 0 auto;
    padding: 10px 2% 10px 2%;
  }

  /* コンテンツ
    ---------------------------------------------------- */
  .contents {
    width: 96%;
    max-width: 640px;
    padding: 0 2% 50px 2%;
  }

  .contents_m {
    width: 96%;
    max-width: 640px;
    padding: 40px 2% 50px 2%;
  }

  .contents_ms {
    width: 96%;
    max-width: 600px;
    padding: 0 2% 50px 2%;
  }

  .contents_slm {
    width: 96%;
    max-width: 600px;
    padding: 50px 2% 50px 2%;
  }

  /* インフォメーションエリア */
  .info_navi_top li p {
    float: none;

    width: 100%;
  }

  .info_navi_top li h5 {
    float: none;

    width: 100%;
  }

  .info_navi_top li p {
    float: none;

    width: 100%;
  }

  .info_navi_top li h5 {
    float: none;

    width: 100%;
  }

  /* テキスト */
  .text18 {
    font-size: 131%;
  }

  .text22 {
    font-size: 138.5%;
  }

  .text30 {
    font-size: 138.5%;
  }

  .bg_red {
    width: 87%;
  }

  .bg_red a {
    text-align: center;
  }


  /* headeer.php用　追加css
    ------------------------------------------------- */
  body {
    min-width: inherit;

    border-left: none;
  }


  .hd_background {
    left: 0;

    width: 100% !important;

    border-bottom: solid 4px #d71200;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .hd_banner_current {
    top: 115px;
    left: 50%;

    width: 80% !important;
    height: 80px;

    transform: translatex(-50%);
  }

  .hd_banner_title {
    font-size: 2rem;

    top: 60%;
    right: 50%;

    display: block;

    margin-right: 0;

    transform: translatex(50%);
  }

  li.sub_s {
    padding-bottom: 1px;

    background-color: #f7f7f7;
  }

  li.sub_s > a {
    text-align: center;
  }

  .red {
    color: #d71200;
  }

  .opt_both_radius {
    border-radius: 10px;
  }

  .opt_top_radius {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }

  .opt_bottom_radius {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
  }


  .submenu_sp dd ul li {
    background-color: #fff;
  }

  #totop {
    display: none;
  }

  /* footer.php用　追加css
    -------------------------------------------------- */
  .footer_wrap {
    width: 94%;
    max-width: 640px;
    padding: 0 3%;

    text-align: left;
  }

  .footer_nav_link {
    box-sizing: border-box;
    width: 23.5%;
    padding: 15px 0 15px 3%;
  }


  .footer_nav_link:nth-child(4) {
  }

  .footer_nav_link:nth-child(5) {
    width: 48%;
  }

  .sub_arrow::before {
    font-size: 24px;

    position: absolute;
    right: 0;

    display: inline-block;

    margin-right: 45px;

    content: '>';
    transform: rotate(90deg);

    color: #666;
  }

  .sub_s.sub_active .sub_arrow::before {
    transform: rotate(-90deg);
  }

  dl.submenu-01 {
    float: inherit;

    width: 100%;

    border-right: none;
    border-left: none;
  }

  .header_logo .logo {
    max-width: 115px;
  }

  @media screen and ( max-width: 540px ) {
    .footer_nav_link {
      width: 48%;
    }
  }

  @media screen and ( max-width: 420px ) {
    #copyright {
      font-size: 10px;

      padding: 65px 0 25px 0;
    }
  }
}


/* =========================================
ac/login
========================================= */
.remindArea {
  margin-top: 5px;
  margin-bottom: 50px;

  text-align: right;
}

@media (max-width: 640px) {
  .remindArea {
    margin-bottom: 20px;
  }
}

/* =========================================
agreement コンポーネント
========================================= */
.agreementArea {
  width: auto;
  margin: 0 auto;
  padding: 20px;
}

.agreementTitle {
  color: #d01027;
}

/* =========================================
mail_send_complete コンポーネント
========================================= */
.mailSettingArea {
  font-feature-settings: 'palt';
}

.mailSettingTitle {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
}

.urlLink {
  word-break: break-all;
}

/* =========================================
gplus_temporary
========================================= */
.about_gplus {
  margin: 30px auto;
  padding: 20px;

  border: 1px solid #d01027;
  border-radius: 5px;
  background-color: #fff;
}

.agreementLeadText {
  margin: 20px auto;

  text-align: center;
}

/* =========================================
gplus_register
========================================= */
.myAddress {
  font-size: 18px;
  font-size: 1.8rem;

  margin: 0 0 20px 0;
}

/* =========================================
contact
========================================= */
.contactContentsArea {
  margin-top: 30px;
  padding: 30px;

  background: #fff;
}

@media screen and (max-width: 640px) {
  .contactContentsArea {
    padding: 20px;
  }
}

.privacyArea {
  margin-top: 30px;
  padding-top: 30px;

  border-top: 1px solid #ccc;
}

.privacyArea .privacyTitle {
  font-weight: bold;

  margin-bottom: 1em;
}

.privacyArea .privacyText {
  margin-bottom: 0;
}

/* =========================================
ログイン後トップ
========================================= */
/* タブ */
.tabArea {
  display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;

  margin: 0 -1px;

  border-bottom: 4px solid #d01027;
}

.tabArea .tabMenu {
  line-height: 1;

  width: calc(100% / 3);
  margin: 0;
  padding: 0;

  border-radius: 3px 3px 0 0;
  background-color: #a1a1a1;
}

.tabMenu + .tabMenu {
  margin-left: 1px;
}

.tabArea .tabMenu::before {
  display: none;
}

.tabArea .tabMenu.select {
  background-color: #d01027;
}

.tabArea .tabMenu a {
  display: block;

  padding: 1em 0;

  text-align: center;
  text-decoration: none;

  color: #fff;
}

.tabArea .tabMenu a:hover {
  opacity: .8;
}

@media (max-width: 640px) {
  .tabArea {
    border-bottom: 2px solid #d01027;
  }

  .tabArea .tabMenu a {
    font-size: 90%;
  }

  .tabArea .tabMenu a:hover {
    opacity: .8;
  }
}


/* サービス紹介 */
.serviceContentsArea .banner {
  position: relative;

  display: flex;
  flex-wrap: wrap;

  min-height: 110px;
  padding: 10px 20px;

  border-radius: 10px;
  background-color: #f2f2f2;
}

.banner + .banner,
.banner + .noticeArea,
.noticeArea + .banner {
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .banner + .banner,
  .banner + .noticeArea,
  .noticeArea + .banner {
    margin-top: 20px;
  }
}

.serviceContentsArea .banner .bannerImage {
  display: flex;
  align-items: center;

  box-sizing: border-box;
  width: 160px;
  padding-right: 20px;
}

@media screen and (max-width: 640px) {
  .serviceContentsArea .banner .bannerImage {
    width: 80px;
  }
}

.bannerImage .seminarIcon {
  width: 150px;
  max-height: 120px;
  margin: auto;

  object-fit: contain;
}

.bannerImage .appIcon {
  width: 95px;
  height: 95px;
  margin: auto;

  border-radius: 22.5%;

  object-fit: contain;
}

.serviceContentsArea .banner .bannerContents {
  display: flex;
  flex-direction: column;
  justify-content: center;

  width: calc(100% - 160px - 30px);
}

@media screen and (max-width: 640px) {
  .serviceContentsArea .banner .bannerContents {
    width: calc(100% - 80px - 30px);
  }
}

.bannerContents .contentsMark {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;

  margin-bottom: 5px;

  color: #c03;
}

.bannerContents .contentsTitle {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 105%;

  margin-bottom: 5px;
}

.serviceContentsArea .banner .bannerArrow {
  display: flex;
  align-items: center;

  width: 30px;
}

.bannerArrow .arrowIcon {
  font-size: 24px;
  font-style: inherit;

  margin-left: auto;
}

.serviceContentsArea .banner > a {
  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;
}

.serviceContentsArea .banner > a:hover {
  transition: background-color .5s ease;

  background-color: #fff;

  filter: opacity(.25);
}

.serviceContentsArea .noticeArea {
  padding: 15px;

  text-align: center;

  color: #c03;
  border: solid 1px #c03;
  border-radius: 10px;
}

/* 購入記録 */
ul.tabMenu th {
  text-align: center;
}

thead th {
  text-align: center;
}

table td .btn {
  line-height: 1;

  display: inline-block;

  width: 4em;
  padding: 10px;

  text-align: center;
  text-decoration: none;

  color: #fff;
  border-radius: 3px;
}

.purchase_records_wrap h3 {
  margin-top: 15px;
}

.purchase_records th,
.purchase_records td {
  word-break: break-all;
}

.purchase_records td.detail-btn {
  min-height: 28px;
}

.purchase_records td.detail-btn a {
  font-weight: bold;

  display: block;

  width: 100%;
  margin: 0 auto;
  padding: 5px 0;

  cursor: pointer;
  text-align: center;
  text-decoration: none;

  color: #666;
  border: 1px solid #ccc;
  border-radius: 2px;
  background-color: #fff;
}

@media screen and (max-width: 640px) {
  .site-content table.purchase_records tbody td {
    padding-left: 11em;
  }
}

/* =========================================
ログイン後トップ
========================================= */
