@charset "utf-8";

#primary p.category {
  font-weight: 600;
  color: #fff;
  padding: 10px
}

#primary .contents-block {
  background-color: #fff;
  text-align: left
}

#primary .contents-block header h1 {
  font-weight: 500;
  color: #000;
  line-height: 1.5;
  margin-bottom: 10px
}

#primary .contents-block header dl {
  font-size: 0;
  letter-spacing: -1em
}

#primary .contents-block header dl dt {
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0;
  margin-right: 16px
}

#primary .contents-block header dl dt em {
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit
}

#primary .contents-block header dl dd {
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0
}

#primary .contents-block .main-image {
  margin-bottom: 20px
}

#primary .contents-block .sns-area li {
  display: inline-block
}

#primary .contents-block .sns-area li a {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0;
  line-height: 1;
  background-color: #000;
  border-radius: 2px;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .sns-area li a span {
  position: relative;
  left: -100em
}

#primary .contents-block .sns-area li a:before {
  display: inline-block;
  content: '';
  width: 1em;
  height: 1em;
  font-family: icomoon;
  line-height: 1;
  letter-spacing: 0;
  font-size: 20px;
  color: #fff;
}

#primary .contents-block .sns-area li.facebook a {
  background-color: #3b5a9a
}

#primary .contents-block .sns-area li.facebook a:before {
  content: '\e906'
}

#primary .contents-block .sns-area li.x-icon a {
  background-color: #000
}

#primary .contents-block .sns-area li.x-icon a:before {
  content: " ";
  background: no-repeat center top / contain url(../images/x.svg);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -10px;
  margin-top: -10px;
  width: 19.57px;
  height: 20px;
}

#primary .contents-block .sns-area li.twitter a {
  background-color: #50abf1
}

#primary .contents-block .sns-area li.twitter a:before {
  content: '\e90e'
}

#primary .contents-block .sns-area li.hatena a {
  background-color: #1c99cd
}

#primary .contents-block .sns-area li.hatena a:before {
  content: '\e939'
}

#primary .contents-block .sns-area li.googleplus a {
  background-color: #dc4a3d
}

#primary .contents-block .sns-area li.googleplus a:before {
  font-size: 24px;
  content: '\e907'
}

#primary .contents-block .sns-area li.line a {
  background-color: #00c300
}

#primary .contents-block .sns-area li.line a:before {
  font-size: 30px;
  content: '\e928'
}

#primary .contents-block hr {
  border-width: 10px;
}

#primary .contents-block p {
  line-height: 2;
  word-wrap: break-word;
  word-break: break-word
}

#primary .contents-block p b {
  font-weight: 700
}

#primary .contents-block p b span {
  font-weight: inherit
}

#primary .contents-block p strong {
  font-weight: 500
}

#primary .contents-block p strong span {
  font-weight: inherit
}

#primary .contents-block p a {
  text-decoration: underline;
  word-break: break-word
}

#primary .contents-block p a[target="_blank"]:after {
  display: inline-block;
  content: '';
  width: 1em;
  height: 1em;
  font-family: icomoon;
  line-height: 1;
  letter-spacing: 0;
  content: '\e90f';
  font-size: 12px;
  margin-left: 7px
}

#primary .contents-block div.box-border-style {
  border: 1px solid #ccc;
  line-height: 1.7;
  margin-bottom: 35px;
  word-wrap: break-word;
  word-break: break-word;
  padding: 3%
}

#primary .contents-block .index-list {
  background-color: #f1f1f1
}

#primary .contents-block .index-list h4 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px
}

#primary .contents-block .index-list ol {
  margin-left: 20px
}

#primary .contents-block .index-list ol li {
  list-style-type: decimal;
  font-size: 16px;
  letter-spacing: 0
}

#primary .contents-block .index-list ol li a {
  text-decoration: underline
}

#primary .contents-block .index-list ol li dl {
  margin-bottom: 20px
}

#primary .contents-block .index-list ol li dl dt {
  font-size: 16px;
  margin-bottom: 14px;
  line-height: 1.5
}

#primary .contents-block .index-list ol li dl dt h5 {
  font-size: inherit
}

#primary .contents-block .index-list ol li dl dd {
  font-size: 14px;
  margin-bottom: 12px;
  line-height: 1.5;
  padding-left: 1.5em;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .index-list ol li dl dd:last-child {
  margin-bottom: 0
}

#primary .contents-block .index-list ol li dl dd:before {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1.5;
  font-size: 14px;
  text-indent: 0;
  position: absolute;
  margin: auto;
  left: 0
}

#primary .contents-block .profile-block {
  margin-bottom: 30px
}

#primary .contents-block .profile-area {
  font-size: 0;
  letter-spacing: -1em
}

#primary .contents-block .profile-area figure {
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid #e60012;
  height: 0;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .profile-area figure img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: 0;
  margin: auto;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

#primary .contents-block .profile-area figure:after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 transparent inset;
  z-index: 12
}

#primary .contents-block .profile-area dl dt {
  line-height: 1.5;
  letter-spacing: 0
}

#primary .contents-block .profile-area dl dd {
  line-height: 2;
  letter-spacing: 0
}

#primary .contents-block .overview-area {
  margin-bottom: 20px
}

#primary .contents-block .overview-area dt {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 30px
}

#primary .contents-block .overview-area dd {
  border: 2px solid #e60012;
  padding: 25px 28px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .overview-area dd:before {
  display: block;
  content: '';
  width: 94%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  margin: auto;
  top: -2px;
  left: 0;
  right: 0
}

#primary .contents-block .overview-area dd:after {
  display: block;
  content: '';
  width: 94%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  margin: auto;
  bottom: -2px;
  left: 0;
  right: 0
}

#primary .contents-block section {
  padding-top: 30px
}

#primary .contents-block section:first-of-type {
  padding-top: 0
}

#primary .contents-block section:last-of-type {
  margin-bottom: 60px
}

#primary .contents-block section header h2 {
  font-weight: 500;
  line-height: 1.3;
  color: #000
}

#primary .contents-block section h3 {
  font-weight: 500;
  line-height: 1.3;
  color: #000;
  border-left: 7px solid #000;
  background-color: #ccc
}

#primary .contents-block section h5 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  color: #000;
  border-left: 7px solid #000;
  margin-bottom: 20px;
  padding-left: 20px
}

#primary .contents-block section h5 span {
  font-size: inherit;
  font-weight: inherit;
  color: inherit
}

#primary .contents-block section h6 {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  color: #000;
  margin-bottom: 20px;
  padding-left: 2em;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block section h6 span {
  font-size: inherit;
  font-weight: inherit;
  color: inherit
}

#primary .contents-block section h6:before {
  display: block;
  content: '';
  border-radius: 50%;
  font-size: inherit;
  letter-spacing: 0;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: .1em;
  left: 0;
  margin: auto
}

#primary .contents-block section .video-wrapper {
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 20px;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block section .video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important
}

#primary .contents-block section figure {
  margin-bottom: 20px
}

#primary .contents-block section .interview-area {
  overflow: hidden;
  margin-bottom: 40px
}

#primary .contents-block section .interview-area figure span {
  display: inline-block;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid #000;
  height: 0;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block section .interview-area figure span img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: 0;
  margin: auto;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

#primary .contents-block section .interview-area figure figcaption {
  font-size: 12px;
  line-height: 1.5
}

#primary .contents-block section .interview-area .interview-text {
  background-color: #ccc;
  border-radius: 4px;
  padding: 3% 5%;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block section .interview-area .interview-text:after {
  display: block;
  content: '';
  position: absolute
}

#primary .contents-block section .schedule-area {
  margin-bottom: 40px
}

#primary .contents-block section .schedule-area dl {
  width: 100%;
  margin-bottom: 10px
}

#primary .contents-block section .schedule-area dl:last-child {
  margin-bottom: 0
}

#primary .contents-block section .schedule-area dl dt {
  background-color: #58ce91;
  text-align: left;
  font-size: 14px;
  color: #fff;
  line-height: 1.5;
  position: relative;
  left: 0;
  right: 0
}

#primary .contents-block section .schedule-area dl dd {
  text-align: left;
  font-size: 14px;
  line-height: 1.5
}

#primary .contents-block section .schedule-area dl dd p {
  font-size: 14px
}

#primary .contents-block section .button-area a.button-link {
  text-align: center;
  text-decoration: none
}

#primary .contents-block section .button-area small {
  display: block;
  width: 80%;
  text-align: right;
  margin: 0 auto;
  margin-top: 10px
}

#primary .contents-block section .button-area small a {
  font-size: 12px
}

#primary .contents-block section .inner-block:last-child {
  margin-bottom: 0
}

#primary .contents-block .summary {
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .summary:before {
  display: block;
  content: '';
  width: 100%;
  height: 4px;
  background: url(/cmn/images/footer_line.png) center repeat-x;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0
}

#primary .contents-block .summary:after {
  display: block;
  content: '';
  width: 100%;
  height: 4px;
  background: url(/cmn/images/footer_line.png) center repeat-x;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 0
}

#primary .contents-block .summary h3 {
  font-weight: 500;
  line-height: 1.3;
  color: #000
}

#primary .contents-block .summary p {
  line-height: 2
}

#primary .contents-block .entry-limited {
  margin-bottom: 50px;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .entry-limited:before {
  display: block;
  content: '';
  width: 4px;
  height: 4px;
  background-color: #e60012;
  border-radius: 50%;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0
}

#primary .contents-block .entry-limited:after {
  display: block;
  content: '';
  width: 4px;
  height: 4px;
  background-color: #e60012;
  border-radius: 50%;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0
}

#primary .contents-block .entry-limited h5 {
  font-weight: 600;
  margin-bottom: 25px;
  text-align: center;
  color: #e60012;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block .entry-limited h5:before {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 11px 0 11px;
  border-color: #e60012 transparent transparent transparent;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -35px
}

#primary .contents-block .entry-limited h5:after {
  display: block;
  content: '';
  width: 4px;
  height: 4px;
  background-color: #e60012;
  border-radius: 50%;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -50px
}

#primary .contents-block .entry-limited ul {
  border-top: 2px solid #e60012;
  border-bottom: 3px solid #e60012
}

#primary .contents-block .entry-limited ul li a {
  text-align: center
}

#primary .contents-block .share-area {
  border: 1px solid #dcdcdc;
  padding: 4% 6%;
  font-size: 0;
  letter-spacing: -1em
}

#primary .contents-block .share-area h5 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5
}

#primary .contents-block .button-area {
  display: block;
  margin: 0 auto;
  text-align: center;
  padding-top: 30px
}

#primary .contents-block .button-area .button-link {
  width: 80%;
  text-align: center;
  line-height: 1.6
}

#primary .contents-block .button-area .button-link:before {
  left: auto;
  right: 3%
}

#primary .contents-block .cv-banner {
  padding-top: 40px
}

#primary .contents-block .cv-banner a {
  display: block;
  font-size: 0;
  letter-spacing: -1em
}

#primary .contents-block .cv-banner a p {
  transition: all .45s cubic-bezier(.215, .61, .355, 1)
}

#primary .contents-block .cv-banner a small {
  text-decoration: underline;
  color: #090506
}

#primary .contents-block blockquote {
  background-color: #f1f1f1;
  padding: 60px 30px;
  border-left: 2px solid #000;
  margin-bottom: 30px;
  position: relative;
  top: 0;
  left: 0
}

#primary .contents-block blockquote:after, #primary .contents-block blockquote:before {
  display: block;
  content: '';
  color: #000;
  font-size: 90px;
  font-family: nsj;
  position: absolute
}

#primary .contents-block blockquote:before {
  content: "“";
  left: 8px;
  top: 8px
}

#primary .contents-block blockquote:after {
  content: "”";
  right: 8px;
  bottom: -38px
}

.learn p.category {
  background-color: #8a66ae
}

.learn header dt {
  color: #8a66ae
}

.learn hr {
  border-color: #f8e8ff
}

.learn p strong {
  background: linear-gradient(transparent 60%, #f8e8ff 60%)
}

.learn #primary .contents-block section h3 {
  border-color: #8a66ae;
  background-color: #f8e8ff
}

.learn #primary .contents-block section h5 {
  color: #8a66ae;
  border-left: 7px solid #8a66ae
}

.learn #primary .contents-block section h6 {
  color: #8a66ae
}

.learn #primary .contents-block section h6:before {
  background-color: #8a66ae
}

.learn #primary .contents-block section blockquote {
  border-color: #8a66ae
}

.learn #primary .contents-block section blockquote:after, .learn #primary .contents-block section blockquote:before {
  color: #8a66ae
}

.learn #primary .contents-block section .format h4:before {
  color: #8a66ae
}

.learn #primary .contents-block section .format h4 span {
  color: #8a66ae
}

.learn #primary .contents-block section .format dl {
  background-color: #8a66ae;
  box-shadow: 7px 7px 0 0 #f8e8ff
}

.know p.category {
  background-color: #dfbe23
}

.know header dt {
  color: #c3a517
}

.know hr {
  border-color: #faf1c4
}

.know p strong {
  background: linear-gradient(transparent 60%, #faf1c4 60%)
}

.know #primary .contents-block section h3 {
  border-color: #c3a517;
  background-color: #fffbe8
}

.know #primary .contents-block section h5 {
  color: #c3a517;
  border-left: 7px solid #c3a517
}

.know #primary .contents-block section h6 {
  color: #c3a517
}

.know #primary .contents-block section h6:before {
  background-color: #c3a517
}

.know #primary .contents-block section blockquote {
  border-color: #c3a517
}

.know #primary .contents-block section blockquote:after, .know #primary .contents-block section blockquote:before {
  color: #c3a517
}

.know #primary .contents-block section .format h4:before {
  color: #c3a517
}

.know #primary .contents-block section .format h4 span {
  color: #c3a517
}

.know #primary .contents-block section .format dl {
  background-color: #dfbe23;
  box-shadow: 7px 7px 0 0 #fffbe8
}

.enjoy p.category {
  background-color: #508ab2
}

.enjoy header dt {
  color: #508ab2
}

.enjoy hr {
  border-color: #e8f0ff
}

.enjoy p strong {
  background: linear-gradient(transparent 60%, #e8f0ff 60%)
}

.enjoy #primary .contents-block section h3 {
  border-color: #508ab2;
  background-color: #e8f0ff
}

.enjoy #primary .contents-block section h5 {
  color: #508ab2;
  border-left: 7px solid #508ab2
}

.enjoy #primary .contents-block section h6 {
  color: #508ab2
}

.enjoy #primary .contents-block section h6:before {
  background-color: #508ab2
}

.enjoy #primary .contents-block section blockquote {
  border-color: #508ab2
}

.enjoy #primary .contents-block section blockquote:after, .enjoy #primary .contents-block section blockquote:before {
  color: #508ab2
}

.enjoy #primary .contents-block section .format h4:before {
  color: #508ab2
}

.enjoy #primary .contents-block section .format h4 span {
  color: #508ab2
}

.enjoy #primary .contents-block section .format dl {
  background-color: #508ab2;
  box-shadow: 7px 7px 0 0 #e8f0ff
}

.special p.category {
  background-color: #58ce91
}

.special header dt {
  color: #58ce91
}

.special hr {
  border-color: #eefaf4
}

.special p strong {
  background: linear-gradient(transparent 60%, #eefaf4 60%)
}

.special #primary .contents-block section h3 {
  border-color: #58ce91;
  background-color: #eefaf4
}

.special #primary .contents-block section h5 {
  color: #58ce91;
  border-left: 7px solid #58ce91
}

.special #primary .contents-block section h6 {
  color: #58ce91
}

.special #primary .contents-block section h6:before {
  background-color: #58ce91
}

.special #primary .contents-block section blockquote {
  border-color: #58ce91
}

.special #primary .contents-block section blockquote:after, .special #primary .contents-block section blockquote:before {
  color: #58ce91
}

.special #primary .contents-block section .format h4:before {
  color: #58ce91
}

.special #primary .contents-block section .format h4 span {
  color: #58ce91
}

.special #primary .contents-block section .format dl {
  background-color: #58ce91;
  box-shadow: 7px 7px 0 0 #eefaf4
}

.phrase p.category {
  background-color: #e60012;
  position: relative;
  top: 0;
  left: 0
}

.phrase p.category:after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 7px 0 7px;
  border-color: #e60012 transparent transparent transparent;
  position: absolute;
  margin: auto;
  bottom: -6px;
  left: 0;
  right: 0
}