@charset "UTF-8";
/* reset
-------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  font: inherit;
}
body {
  -webkit-text-size-adjust: none;
  word-break: break-word;
}
input {
  word-break: normal;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
img {
  border: 0
}
ul,ol {
  list-style: none
}
img,input,select,textarea {
  vertical-align: middle
}
/* base
-----------------------------*/
*,
*::before,
*::after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  position: relative;
  height: 100%;
  overflow: auto;
  font-size: 62.5%;
}
body {
  position: relative;
  height: 100%;
  background-color: #fff;
  color: #000;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.0rem;
  line-height: 1.5;
  word-break: break-all;
  -webkit-text-size-adjust: 100%;
}
input,
select,
textarea,
button {
  font-family: inherit;
  font-size: 100%;
  vertical-align: middle;
}
a {
  outline: none;
  color: #000;
}
a img {
  transition: opacity .4s;
}
a:link,
a:visited {
  text-decoration: none;
}
a:hover,
a:active {
  text-decoration: underline;
}
a:hover img,
a:active img {
  opacity: 0.7;
}
th,
td {
  text-align: left;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
iframe {
  max-width: 100%;
}
.em {
  color: #f00;
  font-style: inherit;
}
.indent_1em {
  padding-left: 1em;
  text-indent: -1em;
}
/* 20230301 以前の header_s 用
-----------------------------*/
#top + header {
  display: none;
}
/* utilities
-----------------------------*/
.clearfix::after {
  content: " ";
  display: block;
  clear: both;
}
.bold {
  font-weight: bold;
}
.pc_hidden {
  display: none;
}
.mb0 {
  margin-bottom: 0 !important;
}
/* swiper
-----------------------------*/
.swiper-box {
  position: relative;
}
.swiper-slide {
  height: auto !important;
}
.swiper-button-prev::after,
.swiper-container-rtl .swiper-button-next::after,
.swiper-button-next::after,
.swiper-container-rtl .swiper-button-prev::after {
  content: ""!important;
}
.swiper-button-next,
.swiper-button-prev {
  width: 13px!important;
  height: 24px!important;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: -8px!important;
  background: url("/cc/N/special/cm/2024/images/common/prev.png") center/contain no-repeat;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: -8px!important;
  transform: scale(-1, 1);
  background: url("/cc/N/special/cm/2024/images/common/prev.png") center/contain no-repeat;
}
.swiper-off .swiper-button-next,
.swiper-off .swiper-button-prev {
  display: none;
}
.swiper-off .swiper-slide {
  flex-shrink: 1;
  width: auto;
}
.swiper-container {
  position: static!important;
}
/* wrapper
-----------------------------*/
.wrapper {
  position: relative;
  min-width: 900px;
  overflow: hidden;
}
/* contents
-----------------------------*/
.contents_area {
  margin-bottom: 20px;
  background: #eee;
  font-size: 1.6rem;
}
/* container
-----------------------------*/
.container {
  position: relative;
  width: 900px;
  margin: auto;
  clear: both;
}
/* header
-----------------------------*/
.header {
  box-sizing: border-box;
  width: 900px;
  text-align: left;
}
.header_logo {
  display: inline-block;
  margin: 12px;
}
.header a {
  display: block;
}
.header_logo img {
  width: auto;
  height: 40px;
}
/* btn
-----------------------------*/
.btn {
  display: block;
  position: absolute;
  right: 40px;
  bottom: 32px;
  width: 167px;
  margin: auto;
  padding: 8px 20px;
  transition: opacity .4s;
  border: 1px solid #999;
  background-color: #f4f4f4;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
}
.btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #666;
  border-right: 2px solid #666;
}
.btn:hover {
  opacity: 0.7;
}
/* play
-----------------------------*/
.play {
  position: relative;
}
.play::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 70px;
  height: 70px;
  margin: auto;
  background: url("/cc/N/special/cm/2024/images/common/play.png") 0 0 no-repeat;
  background-size: 70px;
}
figcaption {
  display: block;
  height: auto;
  margin: 6px 0 0 2px;
  overflow: hidden;
  color: #000;
  line-height: 1.2;
  text-align: left;
}
/* section
-----------------------------*/
.section_box {
  position: relative;
  width: 900px;
  margin: 40px auto 0;
  padding: 25px;
  background-color: #fff;
}
.section_box::before {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 90px;
  height: 90px;
  transform: rotate(10deg);
  border-radius: 50%;
  background-color: #ff9000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 90px;
}
.section_box.bg_gray {
  padding: 0;
  background: none;
}
.cm_intro_image + .section_box {
  margin-top: 60px;
}
.section_title {
  margin: 10px 0 15px;
  text-align: center;
}
.section_title span {
  display: inline-block;
  padding: 0 8px 8px;
  border-bottom: 2px solid #666;
}
.section_image {
  width: 50%;
  padding: 10px;
}
.section_image_item {
  display: inline-block;
  padding: 10px;
  background-color: #fff;
  box-shadow: 0 1px 6px 0 rgba(12, 4, 8, 0.3);
}
.section_image_item:hover {
  text-decoration: none;
}
.section_body {
  width: 50%;
  padding: 20px 0 45px;
  text-align: center;
}
.section_body h2 {
  margin-bottom: 25px;
}
.section_body h2 span {
  display: inline-block;
  padding: 0 8px 8px;
  border-bottom: 2px solid #666;
}
.section_body p {
  line-height: 1.75;
}
.section_lead {
  margin: 12px 0 0;
  font-size: 1.8rem;
  text-align: center;
}
.section_lead.sliderbottom {
  margin: 20px 0 0;
  font-size: 1.8rem;
  text-align: center;
}
.section_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* 背景白セクション
-----------------------------*/
.bg_white {
  width: 100%;
  padding-top: 40px;
  background: #fff;
}
.bg_white > * {
  max-width: 900px;
  margin: auto;
}
/* movie
-----------------------------*/
.movie_area {
  padding: 60px 0 20px;
  background-color: #eee;
}
#tvcm::before,
#webcm::before {
  content: "ON AIR";
}
#interview::before {
  content: "SPECIAL";
}
#making::before {
  content: "SPECIAL";
}
#cmreport::before {
  content: "SPECIAL";
}
.movie_list {
  margin: auto;
}
.movie_list li {
  padding: 10px 20px;
}
.movie_list li .section_image_item {
  height: 100%;
}
.movie_list li.new::before {
  content: "NEW";
  display: flex;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 12px;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #ddc644;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}
.swiper-off .movie_list img,
.swiper-off .movie_list figcaption,
#interview .movie_list img,
#making .movie_list img,
#cmreport .movie_list img {
  max-width: 345px;
  height: auto;
}
#webcm .swiper-off .movie_list {
  justify-content: center;
}
#webcm .swiper-off .movie_list img,
#webcm .swiper-off .movie_list figcaption {
  max-width: 210px;
}
/* cm_manga
-----------------------------*/
.cm_manga {
  width: 100%;
  margin-top: 60px;
  padding: 60px 0 0;
}
.cm_manga h2 {
  margin-bottom: 20px;
  text-align: center;
}
.cm_manga h2 span {
  display: inline-block;
  padding-bottom: 15px;
  border-bottom: 2px solid #666;
}
.cm_manga h2 + p {
  margin-bottom: 40px;
  font-size: 1.8rem;
  line-height: 1.75;
}
.cm_manga_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  width: 900px;
  margin: 0 auto;
}
.cm_manga_list li {
  display: flex;
  flex-direction: column;
  width: 20%;
  margin-bottom: 60px;
  padding: 0 4px;
}
.cm_manga_list li a {
  text-decoration: none !important;
  text-decoration-skip-ink: none;
}
.cm_manga_list li a:hover {
  text-decoration: underline;
}
.cm_manga_list li a p {
  line-height: 1.3;
}
.cm_manga_list li > a {
  margin-top: auto;
}
.cm_manga_list li > a .btn_title {
  display: block;
  position: relative;
  margin: 5px 6px 0;
  padding: 6px 0 8px;
  transition: opacity .4s;
  border: none;
  border-radius: 3px;
  background: #ff9000;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
}
.cm_manga_list li a .btn_title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  width: 7px;
  height: 7px;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.cm_manga_list li a:hover p {
  text-decoration: underline;
}
.cm_manga_list li a:hover .btn_title {
  opacity: 0.7;
  text-decoration: underline;
}
.cm_manga_image {
  text-align: center;
}
.cm_manga_image img {
  max-height: 222px;
  border: 1px solid #ccc;
}
.cm_manga_title {
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cm_manga_title a {
  color: #626d77;
}
.cm_manga_author {
  overflow: hidden;
  color: #9f9f9f;
  font-size: 1.4rem;
  white-space: nowrap
}
.cm_manga_author a {
  color: #9f9f9f;
}
/* キャッチコピーエリア
-----------------------------*/
.logo_catch {
  display: flex;
  text-align: center;
}
.logo_catch a {
  display: block;
}
.logo_catch a:hover {
  text-decoration: none;
}
.logo_catch li:not(:first-child) {
  margin-left: 8px;
}
.logo_catch p {
  font-size: 20px;
}
/* 非会員バナー
-----------------------------*/
.bannerArea a {
  display: block;
}
.bannerArea.bg_gray {
  padding: 0;
}
/* 20周年記念動画エリア
-----------------------------*/
#memorial.movie_area {
  padding-bottom: 0;
}
#memorial .section_box {
  margin-bottom: 0;
}
#memorial .movie_list {
  display: flex;
}
#memorial .movie_list li {
  flex: 1;
  padding: 10px;
}
#memorial .movie_list img {
  width: 100%;
  max-width: 345px;
}
#memorial .movie_list figcaption {
  font-size: 14px;
}
#memorial .btn {
  position: relative;
  right: unset;
  bottom: unset;
  margin: 24px auto 4px;
}
/* about
-----------------------------*/
.about_area {
  margin-top: 60px;
  padding-top: 70px;
}
.about_box {
  position: relative;
  margin: auto;
  padding: 4px;
  border: solid 4px #999;
  text-align: center;
}
.about_box::before,
.about_box::after {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: -4px;
  width: 26px;
  height: 26px;
  background: url("/cc/N/special/cm/2024/images/common/about_bg.png") 0 0 no-repeat;
}
.about_box::after {
  right: -4px;
  left: auto;
  transform: rotate(90deg);
}
.about_box_inner {
  padding: 90px;
  border: solid 1px #ccc;
}
.about_box_inner::before,
.about_box_inner::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -4px;
  left: -4px;
  width: 26px;
  height: 26px;
  transform: rotate(270deg);
  background: url("/cc/N/special/cm/2024/images/common/about_bg.png") 0 0 no-repeat;
}
.about_box_inner::after {
  right: -4px;
  left: auto;
  transform: rotate(180deg);
}
.about_box_inner h2 {
  position: absolute;
  top: -29px;
  right: 0;
  left: 0;
  width: 365px;
  height: 54px;
  margin: auto;
  background-color: #444;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 54px;
}
.about_box_inner h2::before,
.about_box_inner h2::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -20px;
  width: 0;
  height: 0;
  border-width: 27px 20px 27px 0;
  border-style: solid;
  border-color: transparent #444 transparent transparent;
}
.about_box_inner h2::after {
  right: -20px;
  left: auto;
  border-width: 27px 0 27px 20px;
  border-color: transparent transparent transparent #444;
}
.about_box_inner p {
  margin-bottom: 25px;
  font-size: 1.6rem;
  line-height: 2;
}
.about_box_inner p:last-child {
  margin-bottom: 0;
}
.about_logo {
  margin-bottom: 50px;
}
/* コピーライト
-----------------------------*/
.copyright_area div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 800px;
  text-align: center;
}
.copyright_area p {
  padding: 0 .5em;
  font-size: 10px;
}
/* sns area
-----------------------------*/
.sns_area {
  line-height: 1;
}
/* pagetop
-----------------------------*/
.pagetop {
  display: flex;
  justify-content: flex-end;
}
.pagetop a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  transition: opacity .4s;
  background-color: #ccc;
}
.pagetop a::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-25%) rotate(-45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
.pagetop a img {
  opacity: 1 !important;
}
.pagetop a:hover {
  opacity: 0.7;
}
/* footer
-----------------------------*/
.footer {
  width: 100%;
  padding: 30px 0;
  background-color: #333;
}
.footer .copyright {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}
