﻿@charset "UTF-8";

.pane-header + .pane-globalnav + .block-faq,
.pane-header + .pane-globalnav + .block-guide,
.pane-header+.pane-globalnav+.block-use,
.pane-header + .pane-globalnav + .block-privacy {
  padding-top: 112px;
}

/* fade image in after load */

.lazyload {
  opacity: 0;
}

.lazyloading {
  opacity: 1;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 200ms;
}

/* よくあるご質問 */
.block-faq {
  padding: 0 10px;
  margin: 12px 0 40px;
}
.block-faq h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 30px 0 40px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
  "メイリオ",
  Meiryo,
  "ヒラギノ角ゴ Pro W6",
  "Hiragino Kaku Gothic Pro",
  Osaka,
  "ＭＳ Ｐゴシック",
  "MS PGothic",
  sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}
.block-faq h1::after{
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}
.block-faq-intro {
  margin: 0 0 50px;
}
.block-faq-intro--text {
  margin: 0 0 20px;
}
.block-faq-intro--nav li:not(:last-child) {
  margin: 0 0 8px;
}
.block-faq-intro--nav a {
  position: relative;
  display: block;
  border: 1px solid #707070;
  font-size: 15px;
  padding: 13px 15px;
  text-align: center;
}
.block-faq h2 {
  padding: 0 0 5px;
  font-size: 16px;
  color: #0054A6;
  border-bottom: 1px solid #0054A6;
  margin-bottom: 20px;
}
.block-faq-section:not(:last-child) {
  margin: 0 0 40px;
}
.block-faq-section dl:not(:last-child) {
  margin: 0 0 16px;
}
.block-faq-section dt {
  position: relative;
  background: #fff;
  border: 1px solid #C1C1C1;
  padding: 13px 35px 13px 15px;
}
.block-faq-section dt:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  transform: rotate(45deg);
  transition: .3s ease;
}
.block-faq-section dt.open:after {
  transform: rotate(-135deg);
}
.block-faq-section dt span {
  position: relative;
  display: block;
  font-size: 13px;
  padding-left: 20px;
}
.block-faq-section dt span:before {
  content: "Q";
  position: absolute;
  top: -3px;
  left: 0;
  font-size: 16px;
  font-weight: bold;
}
.block-faq-section dd {
  display: none;
  position: relative;
  padding: 22px 10px 10px;
  font-size: 13px;
}
.block-faq-section-answer{
  position: relative;
  padding-left: 20px;
}
.block-faq-section-answer:before {
  content: "A";
  position: absolute;
  top: -3px;
  left: 0;
  font-size: 16px;
  font-weight: bold;
}
.block-faq-section dd p:not(:last-child) {
  margin: 0 0 10px;
}
.block-faq-section dd span {
  color: #d53100;
}

.block-faq-section dd a{
  text-decoration: underline;
}

/* ご利用ガイド */
.block-guide {
  padding: 0 20px;
  margin: 12px 0 40px;
}
.block-guide h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 30px 0 40px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
    "メイリオ",
    Meiryo,
    "ヒラギノ角ゴ Pro W6",
    "Hiragino Kaku Gothic Pro",
    Osaka,
    "ＭＳ Ｐゴシック",
    "MS PGothic",
    sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}

.block-guide h1::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}
.block-guide-intro {
  margin: 0 0 40px;
}
.block-guide-intro--text {
  margin: 0 0 20px;
}
.block-guide-intro--nav li:not(:last-child) {
  margin: 0 0 8px;
}
.block-guide-intro--nav a {
  position: relative;
  display: block;
  border: 1px solid #dedede;
  border-radius: 3px;
  font-size: 15px;
  padding: 13px 15px;
}
.block-guide-intro--nav a:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  transform: rotate(45deg);
}
.block-guide h2 {
  padding: 0 0 5px;
  font-size: 16px;
  color: #0054A6;
  border-bottom: 1px solid #0054A6;
  margin-bottom: 20px;
}
.block-guide-section:not(:last-child) {
  margin: 0 0 40px;
}
.block-guide-section--box:not(:last-child) {
  margin: 0 0 32px;
}
.block-guide-section:not(:last-child) {
  margin: 0 0 40px;
}

.block-guide-section dl:not(:last-child) {
  margin: 0 0 16px;
}
.block-guide-section--text {
  font-size: 13px;
  margin: 0 0 32px;
}
.block-guide-section--text a {
  text-decoration: underline;
}
.block-guide h3 {
  font-size: 16px;
  padding: 0 0 5px;
  margin: 0 0 15px;
}
.block-guide-section--text p:not(:last-child) {
  margin: 0 0 20px;
}
#payment .block-guide-section--box:nth-of-type(2) .block-guide-section--text p:nth-child(3) {
  margin: 0;
}
#payment .block-guide-section--box:nth-of-type(2) .block-guide-section--text ul {
  margin: 0 0 20px;
}

.block-guide-section dt {
  position: relative;
  background: #fff;
  border: 1px solid #C1C1C1;
  padding: 13px 35px 13px 15px;
}

.block-guide-section dt:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  transform: rotate(45deg);
  transition: .3s ease;
}

.block-guide-section dt.open:after {
  transform: rotate(-135deg);
}

.block-guide-section dt span {
  position: relative;
  display: block;
  font-size: 13px;
  padding-left: 20px;
}

.block-guide-section dt span:before {
  content: "Q";
  position: absolute;
  top: -3px;
  left: 0;
  font-size: 16px;
  font-weight: bold;
}

.block-guide-section dd {
  display: none;
  position: relative;
  padding: 22px 10px 10px;
  font-size: 13px;
}

.block-guide-section-answer {
  position: relative;
  padding-left: 20px;
}

.block-guide-section-answer:before {
  content: "A";
  position: absolute;
  top: -3px;
  left: 0;
  font-size: 16px;
  font-weight: bold;
}

.block-guide-section dd p:not(:last-child) {
  margin: 0 0 10px;
}

.block-guide-section dd span {
  color: #d53100;
}

.block-guide-section dd a {
  text-decoration: underline;
}


/* プライバシーポリシー */
.block-privacy {
  padding: 0 20px;
  margin: 12px 0 40px;
}
.block-privacy h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 30px 0 40px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
    "メイリオ",
    Meiryo,
    "ヒラギノ角ゴ Pro W6",
    "Hiragino Kaku Gothic Pro",
    Osaka,
    "ＭＳ Ｐゴシック",
    "MS PGothic",
    sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}

.block-privacy h1::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}

.block-privacy h2 {
  font-size: 16px;
  color: #0054A6;
  padding: 0 0 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #0054A6;
}

.block-privacy a {
  color: #0054A6;
  text-decoration: underline;
}
.block-privacy-section > span,
.block-privacy-section dd+dt,
.block-privacy-section ul,
.block-privacy-section ul+p,
.block-privacy-section dl{
  margin-top: 20px;
}
.block-privacy-section dt{
  display: flex;
}
.block-privacy-explanation dt::before {
  content: '●';
}
.block-privacy-explanation ul{
  padding-left: 1em;
}
.block-privacy-explanation li+li{
  margin-top: 10px;
}
.block-privacy-section>span{
  display: block;
}
.block-privacy-section > span+dl,
.block-privacy-section dt
.block-privacy-section li+li{
  margin-top: 10px;
}
.block-privacy-section:not(:last-child) {
  margin: 0 0 42px;
}
.block-privacy-section--text p {
  margin: 0 0 20px;
}
.block-privacy-section--text p:last-child {
  margin: 0;
}

/* 利用規約 */
.block-use {
  padding: 0 20px;
  margin: 12px 0 40px;
}

.block-use h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 30px 0 40px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
    "メイリオ",
    Meiryo,
    "ヒラギノ角ゴ Pro W6",
    "Hiragino Kaku Gothic Pro",
    Osaka,
    "ＭＳ Ｐゴシック",
    "MS PGothic",
    sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}

.block-use h1::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}

.block-use h2 {
  font-size: 16px;
  color: #0054A6;
  padding: 0 0 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #0054A6;
}

.block-use a {
  color: #0054A6;
  text-decoration: underline;
}

.block-use-section ul,
.block-use-section ul+p {
  margin-top: 20px;
}
.block-use-section ul {
  padding-left: 1em;
}

.block-use-section li{
  display: flex;
}

.block-use-section li::before{
  content: "・";
}

.block-use-section li+li {
  margin-top: 10px;
}


.block-use-section:not(:last-child) {
  margin: 0 0 42px;
}

.block-use-section--text p {
  margin: 0 0 20px;
}

.block-use-section--text p:last-child {
  margin: 0;
}
/* 特定商取引法に基づく表記 */
.block-legal h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 30px 0 40px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
    "メイリオ",
    Meiryo,
    "ヒラギノ角ゴ Pro W6",
    "Hiragino Kaku Gothic Pro",
    Osaka,
    "ＭＳ Ｐゴシック",
    "MS PGothic",
    sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}

.block-legal h1::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}
.block-legal h2{
  font-size: 16px;
  color: #0054A6;
  padding: 0 0 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #0054A6;
}

.block-legal a{
  color: #0054A6;
  text-decoration: underline;
}

.block-legal-wrap{
  margin: auto 10px;
}

.block-legal-section {
  margin-bottom: 26px;
}

/* ----イベント画面---- */
.block-event-head{
  position: relative;
  width: 100%;
  height: 300px;
  background: url(../../img/usr/event/mv.jpg) center / cover no-repeat;
}

.block-event-title{
  position: absolute;
  bottom: 42.5px;
  left: 19px;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  font-family: "游ゴシック体",
  YuGothic,
  "游ゴシック",
  "Yu Gothic",
  sans-serif;
  border-bottom: 1px solid #fff;
  padding: 0 0 10px;
  margin: 0;
}
.block-event-title small{
  display: block;
  font-size: 18px;
}

.block-event-anchor{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 24px 10px 20px;
}

.block-event-anchor li{
  width: calc(50% - 7.5px);
  height: 46px;
  border: 1px solid #0054A6;
}

.block-event-anchor li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #0054A6;
  font-size: 13px;
  background: url(../../img/usr/event/icon_anchor_btn.png) center right 8px / 16px no-repeat;

}

.block-event-common-title{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 0 30px;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "Noto Sans JP",
  "メイリオ",
  Meiryo,
  "ヒラギノ角ゴ Pro W6",
  "Hiragino Kaku Gothic Pro",
  Osaka,
  "ＭＳ Ｐゴシック",
  "MS PGothic",
  sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.333;
  color: #0054A6;
  background: none;
}
.block-event-link-btn{
  width: 240px;
  height: 46px;
  margin: 0 auto 60px;
}
.block-event-link-btn a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: #0054A6;
  border-bottom: 3px solid #003386;
}
.block-event-common-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #0054A6;
  margin-top: 10px;
}
/* 独学支援講座とは */
.block-event-self-stud-support{
  margin: 0 10px 66px;
}

.block-event-self-stud-support dt{
  margin-bottom: 18px;
}
.block-event-self-stud-support dd+dd{
  margin-top: 1.5em;
}
/* 受講までの独学支援講座が おすすめな理由 */
.block-event-recommended-reason-wrap{
  padding: 26px 10px 20px;
}
.block-event-recommended-reason{
  border: 2px solid #C1C1C1;
}
.block-event-recommended-reason+.block-event-recommended-reason{
  margin-top: 20px;
}
.block-event-recommended-reason h3{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  background-color: #F5F5F5;
  font-size: 20px;
  font-weight: bold;
}
.recommended-block h3 {
  background-color: #DFF8FF;
}

.recommended-block h3 span {
  position: relative;
}

.recommended-block h3 span::before {
  content: "";
  width: 96.5px;
  height: 60px;
  position: absolute;
  top: -50px;
  left: -80px;
  background: url(../../img/usr/event/icon_recommended.png) center / auto 60px no-repeat;
}

.block-event-recommended-reason-list {
  padding: 20px 15px 32px;
}
.block-event-recommended-reason-list+.block-event-recommended-reason-list {
  padding-top: 0;
}
.block-event-recommended-reason-list-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.block-event-recommended-reason-list-inner+.block-event-recommended-reason-list-inner{
  margin-top: 32px;
}
.block-event-recommended-reason-list-inner dt{
  width: 70px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
.block-event-recommended-reason-list-inner:first-of-type dt {
  background: url(../../img/usr/event/icon_merit.png) center / 54px no-repeat;
}
.block-event-recommended-reason-list-inner:last-of-type dt {
  background: url(../../img/usr/event/icon_demerit.png) center / 64px auto no-repeat;
}
.block-event-recommended-reason-list-inner dd{
  width: calc(100% - 85px);
}
/* 受講までの流れ */
.block-steps-course{
  padding: 0 20px 60px;
}
.block-steps-course-item{
  position: relative;
  padding: 12.5px 0 21px;
  background-color: #FFF6F5;
  border: 3px solid #FFBDB5;
}
.block-steps-course-item+.block-steps-course-item{
  margin-top: 29px;
}
.block-steps-course-item::after{
  content: "";
  position: absolute;
  bottom: -23px;
  left: calc(50% - 10px);
  display: block;
  width: 20px;
  height: 13px;
  background-color: #ffbdb5;
  clip-path: polygon(50% 13px, 0% 0%, 20px 0%);
  border-radius: 3px;
}
.block-steps-course-item:last-of-type::after{
  display: none;
}
.block-steps-course-item dt{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}
.block-steps-course-item dt img{
  flex-shrink: 0;
  width: 50px;
}
.block-steps-course-item:first-of-type dt img{
  width: 51.5px;
}
.block-steps-course-item dt span{
  background: linear-gradient(transparent 80%, rgba(265, 246, 144, .79) 80%);
  line-height: 1.75;
}
.block-steps-course-item dd{
  text-align: center;
}
/* 講座の特徴 */
.block-features-course{
  margin-bottom: 60px;
  padding: 25px 10px 40px;
  background-color: #F5F5F5;
}
.block-features-course h3{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 21px;
  padding: 0;
  border: none;
  text-align: center;
}
.block-features-course h3 span{
  background: linear-gradient(transparent 80%, rgba(265, 246, 144, .79) 80%);
  line-height: 1.75;
}
.block-features-course h3 strong{
  color: #FF7695;
}
.block-features-course-item{
  padding: 15px 16px 26px;
  background-color: #fff;
}
.block-features-course-item+.block-features-course-item{
  margin-top: 20px;
}
.block-features-course-item dt{
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #0054A6;
  margin-bottom: 10px;
}
.block-features-course-item dt span{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #FFF;
  background-color: #0054A6;
  margin-right: 12px;
}
/* 試験スケジュール */
.block-exam-schedule {
  border: 1px solid #D3D3D3;
  margin: 0 10px 80px;
}
.exam-grade-list{
  display: flex;
  justify-content: center;
  height: 50px;
  background-color: #F4F4F4;
  padding: 0 18px;
}
.exam-grade-list li{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  height: 100%;
  border-bottom: 3px solid #F4F4F4;
  color: #C1C1C1;
  font-size: 16px;
  font-weight: bold;
}
.exam-grade-list li span{
  vertical-align: baseline;
}
.exam-grade-list li strong {
  font-size: 24px;
  margin-right: .1em;
}
.exam-grade-list li.active{
  color: #0870D5;
  border-bottom: 3px solid #0870D5;
}
.block-exam-schedule-wrap{
  display: none;
  padding: 30px 0;
}
.block-exam-schedule-wrap.active{
  display: block;
}
@media screen and (max-width: 932px) {
  .block-exam-schedule-title{
    padding: 0;
    height: 48px;
    border-radius: 24px;
    background-color: #0054A6;
    text-align: center;
    margin: 0 20px 26.4px;
  }
  .block-exam-schedule-inner:last-of-type .block-exam-schedule-title {
    background-color: #EA4B5D;
    margin-top: 50px;
  }
  .block-exam-schedule-title small{
    margin-left: 10px;
    text-align: left;
  }
  .block-last-exam-schedule-item::after,
  .block-exam-schedule-item::after{
      top: -20px;
      left: calc(50% - 10px);
  }
  .block-exam-schedule-item,
  .block-last-exam-schedule-item{
    border-left: none;
  }
  .block-last-exam-schedule-item,
  .block-exam-schedule-item+.block-exam-schedule-item{
    margin-top: 26.4px;
  }
}
.block-exam-schedule-title{
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  border: none;
}
.block-exam-schedule-title span{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.block-exam-schedule-title small{
  font-size: 12px;
  font-weight: normal;
}
.block-exam-schedule-item{
  position: relative;
  display: flex;
  border: 1px solid #D3D3D3;
  width: calc(100% - 20px);
  height: 54px;
}
.block-last-exam-schedule-item::after,
.block-exam-schedule-item::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 13px;
  background-color: #ffbdb5;
  clip-path: polygon(50% 13px, 0% 0%, 20px 0%);
  border-radius: 3px;
}
.block-exam-schedule-item dt{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 90px;
  height: 100%;
  background-color: #FBFFD5;
  font-size: 12px;
}
.block-exam-schedule-item dt strong{
  font-size: 14px;
}
.block-exam-schedule-item dt strong sub{
  font-size: 11px;
  font-weight: normal;
  margin-left: 5px;
}
.block-last-exam-schedule-item dd,
.block-exam-schedule-item dd{
  display: flex;
  align-items: center;
  padding-left: 23.4px;
  font-size: 16px;
  font-weight: bold;
}
.block-last-exam-schedule-item{
  display: flex;
  position: relative;
  border: 1px solid #D3D3D3;
  width: calc(100% - 20px);
}
.block-last-exam-schedule-item dt{
  font-size: 12px;
}
.block-last-exam-schedule-item dt div{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 90px;
  min-height: 59px;
  background-color: #FBFFD5;
}
.block-last-exam-schedule-item dt span{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 20px;
  border-radius: 10px;
  background-color: #0054A6;
  color: #fff;
  font-size: 11px;
}
.block-last-exam-schedule-item dt div{
  padding: 5px 0 10px;
}
.block-last-exam-schedule-item dt div+div span{
  background-color: #EA4B5D;
}
.block-last-exam-schedule-item dt strong{
  font-size: 14px;
}
.block-exam-schedule-remarks{
  margin-top: 30px;
  padding: 0 10px;
}
/* 講座カリキュラム */
.block-course-curriculum{
  padding: 0 10px 24px;
}
.block-course-curriculum-item{
  border: 1px solid #C1C1C1;
}
.block-course-curriculum-item+.block-course-curriculum-item{
  margin-top: 20px;
}
.block-course-curriculum-item dt{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
  font-size: 18px;
  font-weight: bold;
}
.title-department{
  background-color: #DFF8FF;
}
.title-skill{
  background-color: #FFECEA;
}
.block-course-curriculum-item dd{
  display: flex;
  align-items: center;
  border-top: 1px solid #C1C1C1;
  min-height: 49px;
  padding: 15px 23px 15px 20px;
  font-size: 13px;
  font-weight: bold;
}
.block-course-curriculum-item dd small{
  display: block;
  font-size: 10px;
  font-weight: normal;
}
.block-course-curriculum-item dd span:first-of-type{
  margin-right: .5em;
}
.block-course-curriculum-item dd span:last-of-type{
  margin-left: auto;
}
.total-time{
  color: #0054A6;
}
/* 注意事項と使用環境 */
.block-precautions{
  margin-top: 68px;
  padding: 0 10px;
}
.block-precautions-items--inner{
  border: 1px solid #ddd;
  padding: 26px 16px;
}
.block-precautions-items--inner+.block-precautions-items--inner{
  margin-top: 20px;
}
.block-precautions-items--inner dt{
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 18px;
  text-align: center;
}
/* 閲覧履歴 */
.block-recent-item--body{
  margin-top: 40px;
}
/* ---------------------------------------
	ランディングページ
---------------------------------------- */
/* common */
.pane-landingpage-contents {
  background: #fff;
}
.block-landingpage h2[class^="block-landingpage"] {
  margin: 20px 0 10px 0;
  padding: 0;
  font-size: 19px;
  border: none;
}
.block-landingpage .block-landingpage-login--member h2.block-landingpage-login--member-header {
  margin: 0 0 10px;
}
.block-landingpage h2.block-landingpage-form--goods-title,
.block-landingpage h2.block-landingpage-form--guest-title,
.block-landingpage h2.block-landingpage-form--sales-append-title,
.block-landingpage h2.block-landingpage-order--host-title {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  border: none;
}
.block-landingpage h2.block-landingpage-form--sales-append-title {
  margin: 20px 0 5px 0;
}
.block-landingpage #method_spec h3 {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  border: none;
}
.block-landingpage #method_pay h3 {
  display: none;
}
.block-landingpage .block-landingpage--dest-amazonpay h3 {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  border: none;
}
.block-landingpage .block-landingpage-login--member-message {
  margin: 0 0 20px 0;
  font-size: 14px;
  text-align: center;
}
.block-landingpage .block-landingpage-login--ask-password {
  margin: 20px 0 0 0;
  font-size: 14px;
  text-align: center;
}
.block-landingpage .block-landingpage-login--ask-password a {
  text-decoration: underline;
}
.block-landingpage .block-landingpage-login--guest {
  padding: 0;
  margin: 0;
  border: none;
}
.block-landingpage .block-landingpage-other--dest {
  margin: 30px 0 10px;
  padding: 20px;
  border: none;
}
.block-landingpage .block-landingpage-login--member-body {
  width: auto !important;
  margin: 0 0 20px 0;
  border: #dcdcdc 1px solid;
}
.block-landingpage .block-landingpage-form {
  width: auto !important;
  margin: 0 0 20px 0;
  border: #dcdcdc 1px solid;
  display: block;
}
.block-landingpage .block-landingpage-login--first-time-message {
  margin: 0;
  font-size: 14px;
  text-align: center;
}
.block-landingpage .block-landingpage-login--first-time-body {
  width: auto !important;
  border: #dcdcdc 1px solid;
  display: block;
}
.block-landingpage .block-landingpage-form .block-landingpage-form--goods,
.block-landingpage .block-landingpage-form .block-landingpage-form--sales-append-content {
  padding: 0;
  border: none;
}
.block-landingpage-form--spec-content dl dt {
  float: left;
}
.block-landingpage-form--spec-content dl dd {
  margin-left: 8em;
}
.block-landingpage input {
  max-width: 100%;
}
.pane-landingpage-contents #frmLP {
  margin: 0 20px;
}
.pane-landingpage-contents #frmLP .fieldset-vertical {
  border: none !important;
}
.pane-landingpage-contents #frmLP .form-group {
  border: none;
}
.block-landingpage-form--sales-append-content .form-label {
  background: none;
}
.pane-landingpage-contents .block-landingpage-other--dest-change {
  border: none !important;
}
.pane-landingpage-contents #frmLP .action-buttons {
  margin: 30px 0 40px;
}
.pane-landingpage-contents .action-buttons .btn.btn-primary {
  width: 80%;
  padding: 12px 0;
  margin: 0 auto;
  border-radius: 3px;
  font-size: 15px;
  text-align: center;
  display: block;
}
.pane-landingpage-contents #frmLP .action-buttons .btn.btn-primary {
  width: 100%;
}
/* details */
.pane-landingpage-contents #lp_details {
  margin: 40px 20px 0;
}
.pane-landingpage-contents .detail-box {
  margin: 0 0 30px 0;
}
.pane-landingpage-contents .detail-box#detail_bottom {
  margin: 0 0 10px 0;
}
.pane-landingpage-contents .detail-box .detail-ttl {
  padding: 10px 0;
  margin: 0;
  border: none;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  background: #707070;
  color: #fff;
}
.pane-landingpage-contents .detail-box .detail-inbox {
  padding: 10px;
  border-left: #dedede 2px solid;
  border-right: #dedede 2px solid;
  border-bottom: #dedede 2px solid;
}
.pane-landingpage-contents .detail-box .detail-inbox.table {
  padding: 0;
}
.pane-landingpage-contents .detail-box p {
  font-size: 12px;
}
.pane-landingpage-contents .detail-box p + p {
  margin-top: 10px;
}
.pane-landingpage-contents .detail-box .notice-list {
  margin: 0 1em 10px;
}
.pane-landingpage-contents .detail-box .notice-list li {
  font-size: 12px;
  list-style: disc inside;
  padding-left: 1em;
  text-indent: -1em;
}
.pane-landingpage-contents .detail-box .dl-table {
  display: flex;
  align-items: stretch;
}
.pane-landingpage-contents .detail-box .dl-table + .dl-table {
  border-top: #dedede 2px solid;
}
.pane-landingpage-contents .detail-box .dl-table dt {
  width: 30%;
  padding: 10px;
  border-right: #dedede 2px solid;
  font-size: 12px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pane-landingpage-contents .detail-box .dl-table dd {
  width: 70%;
  height: 100%;
  padding: 10px;
  font-size: 12px;
  box-sizing: border-box;
}

/* LP:CLEAR SKIN */
#lp_clear_skin .for-pc {
  display: none;
}
#lp_clear_skin * {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
#lp_clear_skin section {
  position: relative;
}
#lp_clear_skin section .inner {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#lp_clear_skin h1,
#lp_clear_skin h2,
#lp_clear_skin h3 {
  padding: 0;
  margin: 0;
  border: none;
}
#lp_clear_skin #sec_main .top-pop {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
#lp_clear_skin #sec_main .visual img {
  width: 100%;
}
#lp_clear_skin #sec_main .desc-box {
  width: 100%;
  height: 100%;
  padding: 30% 3% 0 55%;
  position: absolute;
  top: 0;
  left: 0;
}
#lp_clear_skin #sec_main .desc-box h1 {
  max-width: 324px;
  margin: 0 auto 10px;
}
#lp_clear_skin #sec_main .desc-box .text {
  margin: 0 0 20px;
  font-size: 0.7rem;
  text-align: center;
  line-height: 1.8;
}
#lp_clear_skin #sec_main .button.days10 a {
  width: 100%;
  height: 38px;
  margin: 0 auto;
  border: #000 1px solid;
  border-radius: 38px;
  font-size: 11px;
  text-align: center;
  line-height: 36px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.3s;
  background: transparent;
}
#lp_clear_skin #sec_main .button.days10 a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  right: 25px;
  top: calc(50% - 4px);
  transform: rotate(45deg);
}
#lp_clear_skin #sec_main .button.days10 a:hover {
  border: #000 1px solid;
  background: #000;
  color: #fff;
}
#lp_clear_skin #sec_main .button.days10 a:hover::after {
  border-color: #fff;
}
#lp_clear_skin #sec_story {
  padding: 0 0 35vw 0;
  background: url("../../img/usr/lp/clear-skin/story_bg_sp.png") center bottom no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  position: relative;
  box-sizing: border-box;
}
#lp_clear_skin #sec_story .side {
  width: 16px;
  position: absolute;
  left: 10px;
  bottom: 45vw;
}
#lp_clear_skin #sec_story .side img {
  width: 16px;
}
#lp_clear_skin #sec_story h2 {
  margin: 0 0 20px 0;
  text-align: center;
}
#lp_clear_skin #sec_story .pop {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_story .text {
  margin: 0 0 20px 0;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
}
#lp_clear_skin #sec_story .kome-list {
  margin: 0 0 30px 0;
  display: flex;
  justify-content: center;
}
#lp_clear_skin #sec_story .kome-list li {
  margin: 0 10px 0 0;
  font-size: 10px;
}
#lp_clear_skin #sec_story .button.days10 a {
  width: 70%;
  height: 50px;
  margin: 0 auto;
  border: #000 1px solid;
  border-radius: 50px;
  font-size: 18px;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.3s;
  background: #fff;
}
#lp_clear_skin #sec_story .button.days10 a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  right: 25px;
  top: calc(50% - 4px);
  transform: rotate(45deg);
}
#lp_clear_skin #sec_story .product {
  width: 70%;
  margin: 25px auto 60px;
  text-align: center;
}
#lp_clear_skin #sec_body {
  width: 100%;
  padding: 0;
  background: url("../../img/usr/lp/clear-skin/body_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_eye {
  width: 100%;
  padding: 22vw 0 0;
  background: url("../../img/usr/lp/clear-skin/eye_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_face {
  width: 100%;
  padding: 22vw 0 0 0;
  background: url("../../img/usr/lp/clear-skin/face_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_body h2 {
  width: 24%;
  position: absolute;
  bottom: -20vw;
  left: -2%;
  z-index: 2;
}
#lp_clear_skin #sec_eye  h2 {
  width: 26%;
  position: absolute;
  bottom: -2vw;
  right: 0;
  z-index: 2;
}
#lp_clear_skin #sec_face h2 {
  width: 20%;
  position: absolute;
  bottom: -18vw;
  left: 0;
  z-index: 2;
}
#lp_clear_skin .item-frame .inner {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
}
#lp_clear_skin .item-frame .image {
  padding: 0 20%;
  text-align: center;
}
#lp_clear_skin .item-frame .image img {
  vertical-align: top;
}
#lp_clear_skin .item-frame .item-desc {
  margin: 10px 0 0 0;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}
#lp_clear_skin .item-frame .desc-box .pop {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  color: #fff;
}
#lp_clear_skin .item-frame .desc-box .text {
  margin: 0;
  font-size: 12px;
  text-align: center;
  line-height: 2.0;
  color: #fff;
}
#lp_clear_skin #sec_eye.item-frame .desc-box .text {
  margin-bottom: 20px;
}
#lp_clear_skin #sec_nayami {
  padding: 35vw 0 60px;
  background: url("../../img/usr/lp/clear-skin/nayami_bg_sp.jpg") center bottom no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}
#lp_clear_skin #sec_nayami .inner {
  position: relative;
  z-index: 2;
}
#lp_clear_skin #sec_nayami h2 {
  margin: 0 0 30px 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_nayami .nayami-list {
  margin: 0 0 25px 0;
  display: flex;
  justify-content: center;
}
#lp_clear_skin #sec_nayami .nayami-list li {
  width: 30vw;
  height: 30vw;
  margin: 0 1vw;
  border-radius: 30vw;
  text-align: center;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: YuMincho, "Yu Mincho", sans-serif;
}
#lp_clear_skin #sec_nayami .line01 {
  margin: 0 0 25px 0;
  font-size: 12px;
  text-align: center;
  line-height: 1.8;
}
#lp_clear_skin #sec_nayami .line02 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 2.0;
}
#lp_clear_skin #sec_offer {
  padding: 30px 20px 20px;
  background: #cac4c4;
  overflow: hidden;
}
#lp_clear_skin #sec_offer .inner {
  margin: 0 auto;
  background: #fff;
  position: relative;
  z-index: 2;
}
#lp_clear_skin #sec_offer .head {
  padding: 30px 15% 15px;
  text-align: center;
  position: relative;
}
#lp_clear_skin #sec_offer .head .pop {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -12px;
  left: 0;
}
#lp_clear_skin #sec_offer .head .pop img {
  width: 142px;
}
#lp_clear_skin #sec_offer .main {
  margin: 0 -20px;
}
#lp_clear_skin #sec_offer .main img {
  width: 100%;
}
#lp_clear_skin #sec_offer .details {
  padding: 30px 25px;
}
#lp_clear_skin #sec_offer .ttl-point {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #e37a7a;
}
#lp_clear_skin #sec_offer .ttl-point strong {
  font-size: 24px;
  font-weight: bold;
}
#lp_clear_skin #sec_offer .point-list {
  margin: 0 0 20px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#lp_clear_skin #sec_offer .point-list li {
  width: 46%;
  padding: 5px 0;
  margin: 0 1% 2%;
  border: #000 1px solid;
  border-radius: 6px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
#lp_clear_skin #sec_offer .middle-text {
  margin: 0 0 30px 0;
  font-size: 14px;
  text-align: center;
  line-height: 2.0;
}
#lp_clear_skin #sec_offer .middle-text .days10 {
  padding: 5px 8px;
  margin: 0 10px;
  border: #e37a7a 1px solid;
  color: #e37a7a;
  display: inline-block;
  line-height: 1.0;
}
#lp_clear_skin #sec_offer .middle-text .line {
  border-bottom: #e37a7a 2px solid;
  display: inline-block;
  line-height: 1.0;
}
#lp_clear_skin #sec_offer .price-box-wrap {
  margin: 0 0 25px 0;
  border: #dedede 1px solid;
  padding: 20px;
  background: #f5f5f5;
}
#lp_clear_skin #sec_offer .price-box .price-line {
  margin: 0 0 10px 0;
  text-align: center;
}
#lp_clear_skin #sec_offer .price-box .regular-line {
  display: none;
}
#lp_clear_skin #sec_offer .trial-button {
  margin: 0;
}
#lp_clear_skin #sec_offer .trial-button a {
  width: 100%;
  height: 50px;
  margin: 0 auto;
  border-radius: 3px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 50px;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  background: linear-gradient(90deg, rgba(213,8,8,1) 0%, rgba(237,9,141,1) 100%);
  transition: 0.3s;
}
#lp_clear_skin #sec_offer .trial-button a:hover {
  opacity: 0.7;
}
#lp_clear_skin #sec_offer .trial-button a::after {
  content: "";
  width: 0;
  height: 0;
  margin: 0 0 0 14px;
  border-top: 6px solid transparent;
  border-right: 6px solid transparent;
  border-left: 6px solid #fff;
  border-bottom: 6px solid transparent;
  display: inline-block;
}
#lp_clear_skin #sec_offer .notice-list li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 10px;
  color: #444;
}

/* lightbox.css override */
/*  Preload images */
body:after {
  content: url(../../img/sys/close.png) url(../../img/sys/loading.gif) url(../../img/sys/prev.png) url(../../img/sys/next.png);
  display: none;
}

body .lightboxOverlay {
  z-index: 99999;
}

body .lightbox {
  z-index: 100000;
}
