@charset "UTF-8";
/*===============================================================
	読み込み
===============================================================*/
/*===============================================================
	_mixin.scss
===============================================================*/
/*===============================================================

	noto sans

===============================================================*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("/special/common/webfont/NotoSansCJKjp-Regular_subset.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: bold;
  font-weight: 700;
  src: url("/special/common/webfont/NotoSansCJKjp-Bold_subset.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: bold;
  font-weight: 800;
  src: url("/special/common/webfont/NotoSansCJKjp-Black_subset.woff") format("woff");
}
.noto_sans {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

/*font調整--------------------------*/
.thiscontents * {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*===============================================================

	noto serif

===============================================================*/
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: 400;
  src: url("/special/common/webfont/NotoSerifCJKjp-Regular_subset.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: bold;
  font-weight: 700;
  src: url("/special/common/webfont/NotoSerifCJKjp-Bold_subset.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Japanese";
  font-style: bold;
  font-weight: 800;
  src: url("/special/common/webfont/NotoSerifCJKjp-Black_subset.woff") format("woff");
}
.noto_serif {
  font-family: "Noto Serif Japanese", serif;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.zen {
  font-family: "Zen Old Mincho", serif;
  font-style: normal;
}

/*===============================================================
	色 _color.scss
===============================================================*/
.c_lightgray {
  background: #555;
}

.c_gray {
  background: #333;
}

.c_gray_gradient {
  background-image: radial-gradient(circle farthest-side at center top, #555, #333 100%);
}

/*===============================================================
	変数
===============================================================*/
/*　幅　*/
/*===============================================================
	色
===============================================================*/
/*===============================================================

	_reset.scss 2021/9/24

===============================================================*/
/* 初期化
----------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
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,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline;
  outline: none;
  box-sizing: border-box;
}

img {
  width: 100%;
  height: auto;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

input,
textarea {
  margin: 0;
  padding: 0;
}

input[type=submit],
textarea {
  font-family: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Osaka, sans-serif;
}

h1,
h2 {
  line-height: 1;
}

p {
  line-height: 1.8;
}

caption,
th,
td {
  text-align: left;
  vertical-align: top;
}

img {
  vertical-align: top;
  border: 0;
}

ul,
li {
  list-style: none;
}

option {
  padding-right: 1em;
}

address,
caption {
  font-style: normal;
  font-weight: normal;
}

a {
  text-decoration: underline;
}

ul a,
li a {
  zoom: 1;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

/* HTML5
----------------------------------------------------------------*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  box-sizing: border-box;
}

#page {
  overflow: visible;
}

#footer {
  width: 100vw;
  overflow: hidden;
}

/*===============================================================

common関連の調整（上書き）ほか

===============================================================*/
/*frame調整--------------------------*/
.frame_width {
  width: min(100%, 1120px);
}

.frame_footer {
  display: none;
}

/*section調整--------------------------*/
.section_wrp {
  background: #fff;
}

.section_master_list {
  width: 100%;
}

/*SNS調整--------------------------*/
.section_sns .sns_area_read {
  line-height: 30px;
  padding-right: 0.4rem;
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
  font-weight: bold;
  vertical-align: top;
}

.sns_wrp {
  padding: 1.5rem 0;
}

.sns_wrp .sns ul {
  margin: 0 auto;
  width: min(100%, 1030px);
  /*max-width: 1030px*/
  text-align: right;
}

.sns_wrp.wide .sns ul {
  width: min(96%, 1160px);
  /*max-width: 1200px*/
}

.sns_wrp .sns li.twitter a {
  background: url(https://www.myjcom.jp/common/2022/images/common/logo-sns-tw.png) no-repeat 0 0/30px 30px;
}

.sns_wrp .sns li.facebook a {
  background: url(https://www.myjcom.jp/common/2022/images/common/logo-sns-fb.png) no-repeat 0 0/30px 30px;
}

@media screen and (max-width: 960px) {
  .sns_wrp .sns li.line a {
    background: transparent url(https://www.myjcom.jp/common/2022/images/common/logo-sns-li.png) no-repeat top left/30px 30px;
  }
}
@media only screen and (max-width: 736px) {
  .sns_wrp {
    padding: 1rem 0 0 0;
  }
  .section_sns .sns_area_read {
    padding-right: 0.8rem;
  }
}
/*===============================================================

テーマヘッダー

===============================================================*/
.p-themaHeader {
  top: 0;
  width: 100%;
  display: grid;
  place-items: center;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  z-index: 102;
  /*include remorokuのz-indexが100のため*/
}

.p-themaHeader a {
  font-weight: bold;
  color: #333;
  text-decoration: none;
}

.p-themaHeader a:hover {
  opacity: 0.8;
}

.p-themaHeader-inner {
  box-sizing: border-box;
  padding: 0 clamp(0rem, -0.682rem + 3.41vw, 1.875rem);
  width: min(100%, 1180px);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.p-themaHeader-title {
  line-height: 1;
  padding: 1rem 0;
  font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
  font-weight: bold;
  letter-spacing: -1.5px;
  perspective: 1000;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.p-themaHeader-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
}

.p-themaHeader-nav li {
  position: relative;
}

.p-themaHeader-nav li:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 22px;
  display: inline-block;
  width: 2rem;
  height: 3px;
  transform: translate(-50%);
  background-color: transparent;
}

.p-themaHeader-nav li a {
  display: block;
  padding: 2.4rem 0;
  font-size: clamp(0.8rem, 0.659rem + 0.45vw, 1rem);
}

.p-themaHeader-nav li.p-themaHeader-remoroku a {
  font-weight: normal !important;
}

.page--top .p-themaHeader-nav li.off a {
  color: #ddd;
  pointer-events: none;
  cursor: default;
}

/*縮小版*/
.is-active {
  position: fixed;
}

.page--top .p-themaHeader-nav li:nth-child(1):before,
.page--column .p-themaHeader-nav li:nth-child(2):before,
.page--column-detail .p-themaHeader-nav li:nth-child(2):before {
  background-color: #e93817;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
  .p-themaHeader-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    text-align: center;
  }
  .p-themaHeader-title {
    padding: 1.1rem 0 0.6rem 0;
    font-size: 1.5rem;
  }
  .p-themaHeader-nav {
    display: flex;
    height: 100%;
    justify-content: space-between;
    gap: 0;
  }
  .p-themaHeader-nav li {
    height: 100%;
  }
  .p-themaHeader-nav li:before {
    bottom: 0;
    height: 4px;
  }
  .p-themaHeader-nav li a {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 0.5rem;
    line-height: 1.2;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    min-height: 49.89px;
  }
  .p-themaHeader-nav li:nth-child(1) {
    flex-basis: 50%;
  }
  .p-themaHeader-nav li:nth-child(2) {
    flex-basis: 50%;
  }
  /*
    .p-themaHeader-nav li:nth-child(3) {
      flex-basis: 30%;
    }
  */
  /*
    .p-themaHeader-nav li:nth-child(1) a, .p-themaHeader-nav li:nth-child(2) a {
      font-size: 1rem;
    }
  */
  .p-themaHeader-nav li:nth-child(1) a {
    font-size: 1rem;
  }
  /*縮小版*/
}
/* for SP max-width: 736px */
/*===============================================================

ヒーロー

===============================================================*/
.p-hero {
  position: relative;
  display: flex;
  align-items: center;
  background: #333 url("../images/hero.jpg") no-repeat center/cover;
  padding: 2rem;
  min-height: 360px;
  box-sizing: border-box;
  color: #fff;
}

.p-hero:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, transparent 30%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.15) 80%, transparent 100%);
}

.p-hero.--filter-dark:before {
  backdrop-filter: brightness(80%);
  -webkit-backdrop-filter: brightness(80%);
  background: linear-gradient(to right, transparent 30%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 80%, transparent 100%);
}

.p-hero.--noBg {
  color: #333;
  background: none;
  min-height: auto;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
}

.p-hero.--noBg:before {
  position: absolute;
  background: linear-gradient(to right, transparent 30%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 80%, transparent 100%);
}

.p-hero.--bgLightBlue {
  background: #e8f3ff;
}

.p-hero.--bgLightBlue * {
  color: #003399 !important;
}

.p-hero-inner {
  position: relative;
  width: min(100%, 1030px);
  margin: 0 auto;
  display: grid;
  gap: 1rem;
  grid-template: auto auto/13% 35% 1fr;
  grid-template-areas: "thumb title summary" "thumb update summary";
}

.p-hero-link {
  text-decoration: none !important;
}

.p-hero-link:hover {
  opacity: 0.8;
}

/*simple(detail等)-------------------------*/
.p-hero-inner.--s {
  display: grid;
  width: min(100%, 1130px);
  gap: 1rem;
  align-items: center;
  grid-template: auto/72px auto 1fr;
  grid-template-areas: "thumb title update";
}

.p-hero-inner.--s .p-hero-title {
  padding-bottom: 0;
  border-bottom: 0;
  font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
}

.p-hero-inner.--s .p-hero-title .p-hero-subTitle {
  display: inline-block;
  font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
  font-weight: normal;
  padding: 0 1rem;
}

.p-hero-inner.--s .p-hero-update {
  border-left: 1px solid #003399;
  padding-left: 1rem;
}

/*point-------------------------*/
.p-hero-inner.--point {
  display: grid;
  width: min(100%, 980px);
  gap: 1rem;
  align-items: flex-start;
  grid-template: auto/1fr 1fr;
  grid-template-areas: "title point";
}

.p-hero-inner.--point .p-hero-title {
  border-bottom: 0;
  justify-self: flex-start;
}

.p-hero-thumb {
  grid-area: thumb;
}

.p-hero-title {
  grid-area: title;
}

.p-hero-summary {
  grid-area: summary;
}

.p-hero-update {
  grid-area: update;
}

.p-hero-thumb img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  border: 1px solid #eee;
  -o-object-position: top;
     object-position: top;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-hero-title {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #eee;
  font-size: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
}

.p-hero-title .p-hero-subTitle {
  display: block;
  font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
}

.p-hero-summary {
  font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-hero-update {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.8px;
}

.p-hero-marker {
  display: inline-block;
  margin-right: 0.1rem;
  background: -webkit- linear-gradient(top, rgba(255, 255, 0, 0) 65%, rgba(255, 255, 0, 0.4) 65%, rgb(255, 255, 0.5) 85%, rgba(255, 255, 0, 0) 90%);
  background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 65%, rgba(255, 255, 0, 0.4) 65%, rgba(255, 255, 0, 0.5) 85%, rgba(255, 255, 0, 0) 90%);
}

@media only screen and (max-width: 736px) {
  .p-hero {
    min-height: auto;
    padding: 2rem 1.5rem;
    background: #333 url("../images/hero.jpg") no-repeat center/cover;
    /*画像を左右反転*/
    /*    transform: scale(-1, 1);*/
  }
  .p-hero-inner {
    /*左右反転*/
    /*    transform: scale(-1, 1);*/
    gap: 0.5rem;
    grid-template: auto auto 1fr/4rem 1fr;
    grid-template-areas: "thumb title" "thumb update" "summary summary";
  }
  .p-hero-title {
    padding-bottom: 0.6rem;
    line-height: 1;
    font-size: clamp(1.375rem, 1.193rem + 0.91vw, 1.875rem);
  }
  .p-hero-title .p-hero-subTitle {
    display: block;
    padding-top: 0.25rem;
    font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
  }
  .p-hero-summary {
    line-height: 1.6;
    letter-spacing: 0;
  }
  .p-hero-update {
    padding-left: 0;
  }
  /*simple-------------------------*/
  .p-hero-inner.--s {
    display: grid;
    gap: 0 0.5rem;
    grid-template: auto/60px 1fr;
    grid-template-areas: "thumb title update";
  }
  .p-hero-inner.--s .p-hero-title {
    padding-bottom: 0.2rem;
    border-bottom: 0;
  }
  .p-hero-inner.--s .p-hero-title .p-hero-subTitle {
    display: block;
    padding: 0.25rem 0 0 0;
  }
  .p-hero-inner.--s .p-hero-update {
    font-size: 0.75rem;
    padding-left: 1rem;
  }
  /*point-------------------------*/
  .p-hero-inner.--point {
    display: grid;
    gap: 0;
    align-items: flex-start;
    grid-template: auto auto/1fr;
    grid-template-areas: "title" "point";
  }
  .p-hero-inner.--point .p-hero-title {
    justify-self: start;
  }
}
/* for SP max-width: 736px */
/*===============================================================

放送スケジュール

===============================================================*/
.p-heroPoint {
  font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
  letter-spacing: 0.8px;
}

.p-heroPoint-lead {
  margin-bottom: 0.6rem;
}

.p-heroPoint-jcomText {
  font-family: "Lato", sans-serif !important;
  font-weight: bold;
  font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
  letter-spacing: 1.2px;
  padding-right: 0.2rem;
}

.p-heroPoint-list li {
  padding: 0.5rem 0;
  font-weight: 300;
}

@media only screen and (max-width: 736px) {
  .p-heroPoint {
    letter-spacing: 0;
  }
  .p-heroPoint-lead {
    margin-bottom: 0 !important;
  }
  .p-heroPoint-list li {
    padding: 0.3rem 0;
  }
}
/*アイコン---------------------*/
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?xz3zch");
  src: url("../fonts/icomoon.eot?xz3zch#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?xz3zch") format("truetype"), url("../fonts/icomoon.woff?xz3zch") format("woff"), url("../fonts/icomoon.svg?xz3zch#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-check:before {
  content: "\ea10";
  padding-right: 0.5rem;
}

/*マーカー---------------------*/
.marker_yellow {
  font-weight: 400;
  margin-right: 0.1rem;
  background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 65%, rgba(255, 255, 0, 0.4) 65%, rgba(255, 255, 0, 0.5) 85%, rgba(255, 255, 0, 0) 90%);
}

/*-----------------------------------program_item内_上書き調整*/
.program_item_list {
  margin-top: 0;
}

.program_item {
  padding: 2rem;
  background: #f3f3f3;
  border-radius: 4px;
}

.program_item .title {
  font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem) !important;
  line-height: 1.4 !important;
}

.program_item .summary {
  margin: 1em 0 1.2em 0 !important;
  font-size: 14px !important;
}

.program_item .schedule {
  font-family: "Lato", sans-serif !important;
  letter-spacing: 0.4px;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem) !important;
}

.program_item .schedule span {
  width: 8em !important;
}

.content_master_list {
  margin-top: 60px !important;
}

.content_master_list .program_item .thumb_block {
  width: 44%;
}

.content_master_list .program_item .info_block {
  width: 52%;
}

.content_master_list .program_item + .program_item {
  border-top: 0;
}

.thumb_block.noimage img {
  height: 240px;
}

.content_master_list .program_item .btn a {
  background: #fff;
}

@media screen and (max-width: 1030px) {
  .thumb_block.noimage img {
    height: 24vw;
  }
}
@media only screen and (max-width: 736px) {
  .content_master_list {
    margin-top: 6vw !important;
  }
  .info_block {
    padding: 0.5rem !important;
  }
  .thumb_block.noimage img {
    height: 40vw;
  }
  .program_item {
    padding: 1rem;
  }
  .program_item .info_block {
    margin-top: 1rem;
  }
  .content_master_list .program_item .thumb_block,
  .content_master_list .program_item .info_block {
    width: 100%;
  }
}
.thumb_block,
.thumb_block.noimage {
  border-radius: 2px;
  background: #fff;
  border: 0;
}

/*Button関連----------------*/
.show_more_btn {
  border-top: 0;
  margin: 0 auto;
  padding: 4rem 0 0 0 !important;
}

.content_master_list .program_item .btn a {
  border-radius: 2px;
  border-color: #e2e2e2;
  color: #333;
  transition: all 0.3s;
}

.show_more_btn a {
  border-radius: 4px;
  border-color: #ddd;
}

.show_more_btn a {
  padding: 15px 1.2rem 15px 0;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
  .show_more_btn {
    padding: 2rem 0 0 0 !important;
  }
}
/*===============================================================

コラムトップ

===============================================================*/
/*common調整----------------------------------*/
.p-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  gap: 1.5rem 0;
}

.p-cards:before {
  content: "";
  display: block;
  width: 24.5%;
  /* .boxに指定したwidthと同じ幅を指定 */
  order: 1;
}

.p-cards:after {
  content: "";
  display: block;
  width: 24.5%;
  /* .boxに指定したwidthと同じ幅を指定 */
  height: 0;
}

.p-cards a {
  color: #333;
  position: relative;
  text-decoration: none;
  transition: transform 0.1s linear, box-shadow 0.1s linear;
}

.p-cards a:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.p-cards-item {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  flex-basis: 24.5%;
  padding: 0 0 1rem 0;
  border-radius: 0.25rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
}

.p-cards-title {
  font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem);
  font-weight: 700;
  margin: 0 !important;
  padding: 0 1rem;
}

.p-cards-img img {
  max-width: 100%;
}

.p-cards-date {
  display: block;
  margin: auto 0 0 0 !important;
  padding: 0 1rem !important;
  line-height: 1 !important;
  font-size: 0.75rem !important;
}

.p-cards-new:after {
  content: "NEW";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  padding: 5px 8px;
  background: #c1253b;
}

@media screen and (max-width: 1030px) {
  .p-cards:before {
    width: 33%;
    /* .boxに指定したwidthと同じ幅を指定 */
  }
  .p-cards:after {
    width: 33%;
    /* .boxに指定したwidthと同じ幅を指定 */
  }
  .p-cards-item {
    flex-basis: 33%;
  }
}
/* for tablet max-width: 1400px */
@media only screen and (max-width: 736px) {
  .p-cards-item {
    flex-basis: 49%;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  }
}
/* for SP max-width: 736px */
.p-writer {
  margin: 0 auto 3rem !important;
}

.p-writer-inner {
  /*	width: min(100%, 1030px);*/
  width: min(90%, 940px);
  margin: 0 auto;
  padding: clamp(1rem, 0.636rem + 1.82vw, 2rem);
  background: #e8f3ff;
  border-radius: 8px;
}

.p-writer-head {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  margin-bottom: 0.5rem;
  color: #003399;
}

.p-writer-head small {
  font-weight: 400;
  font-size: 0.75rem;
}

.p-writer-text {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  margin-bottom: 0.5rem !important;
  line-height: 1.8;
}

/*===============================================================

	コラム詳細ページ

===============================================================*/
.p-detailHeader {
  padding: 2rem 2rem 0;
  display: grid;
  /*row/col*/
  grid-template: 10rem 1fr auto/50% 50%;
  gap: 1rem;
  grid-template-areas: "update photo" "title photo" "title sns";
}

.p-detailHeader-update {
  grid-area: update;
  align-self: flex-end;
}

.p-detailHeader-title {
  grid-area: title;
}

.p-detailHeader-title h1 {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #666;
  font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
  font-weight: 700;
}

.p-detailHeader-photo {
  grid-area: photo;
  box-shadow: 1rem 2rem 3rem rgba(0, 0, 0, 0.16);
}

.p-detailHeader-sns {
  grid-area: sns;
}

.p-detailMain {
  padding: 0 1.5rem 3rem;
}

.p-detailMain h3.head {
  margin: 4rem 0 1.5rem 0;
  font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
}

.p-detailMain p {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  line-height: 2;
  letter-spacing: 0.8px;
  margin-bottom: 2rem;
}

.p-detailMain-intro {
  margin-top: 2rem;
  line-height: 2.2 !important;
}

.p-detailMain .sign {
  width: 140px;
  margin: 1rem 1rem 0 auto;
  text-align: center;
}

.p-detailMain .sign p {
  font-size: 14px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  .p-detailHeader {
    padding: 1rem 0 0;
    display: grid;
    /*row/col*/
    grid-template: auto auto auto auto/1fr;
    gap: 0.2rem;
    grid-template-areas: "update" "title" "photo" "sns";
  }
  .p-detailHeader-update {
    padding: 0 1rem !important;
  }
  .p-detailHeader-title {
    padding: 0 1rem 1rem;
  }
  .p-detailHeader-title h1 {
    padding-bottom: 0;
    border-bottom: 0;
    font-weight: normal;
  }
  .p-detailHeader-photo {
    box-shadow: 1rem 2rem 3rem rgba(0, 0, 0, 0.16);
  }
  .p-detailMain {
    padding: 0 1rem 1rem;
  }
  .p-detailMain h3.head {
    margin: 2.5rem 0 1rem 0;
  }
  .p-detailMain p {
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 1.5rem;
  }
  .p-detailMain-intro {
    margin-top: 1rem !important;
    line-height: 1.8 !important;
  }
}
/* for SP max-width: 736px */
/*-------------------------------------------------------------
	columnlist	
-------------------------------------------------------------*/
.columnlist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: -30px;
}

.columnlist .item {
  width: 24.7%;
  margin-right: 0.4%;
  box-sizing: border-box;
  margin-top: 30px;
}

.columnlist .item:nth-child(4n) {
  margin-right: 0;
}

.columnlist .item a {
  display: block;
  height: 100%;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
  transition: transform 0.1s linear, box-shadow 0.1s linear;
}

.columnlist .item a:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.columnlist .item_new a {
  position: relative;
}

.columnlist .item_new a:after {
  content: "NEW";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  padding: 5px 8px;
  background: #c1253b;
}

.columnlist .item_blank a {
  position: relative;
}

.columnlist .item_blank a:after {
  content: "";
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 20px;
  height: 19px;
  background: url("../column/images/icon_blank_black.svg") no-repeat center/contain;
  opacity: 0.2;
}

.columnlist .item .txt {
  padding: 15px 20px 20px;
}

.columnlist .item .txt .head {
  color: #333;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
}

.columnlist .item .txt .date {
  color: #333;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 15px;
}

/* 1400px以下 */
/* for tablet max-width: 1400px */
/* 1200px以下 */
/* for tablet max-width: 1200px */
/* タブレット以下 */
@media screen and (max-width: 1030px) {
  .columnlist .item {
    width: 33%;
    margin-right: 0.5%;
  }
  .columnlist .item:nth-child(4n) {
    margin-right: 0.5%;
  }
  .columnlist .item:nth-child(3n) {
    margin-right: 0;
  }
}
/* for tablet max-width: 1030px */
/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
  .columnlist {
    margin-top: -6vw;
  }
  .section_columnlist_2020 .columnlist {
    /*margin-top: -4vw;*/
  }
  .columnlist .item {
    width: 47%;
    margin-right: 6%;
    margin-top: 6vw;
  }
  .columnlist .item:nth-child(4n) {
    margin-right: 0;
  }
  .columnlist .item:nth-child(3n) {
    margin-right: 6%;
  }
  .columnlist .item:nth-child(2n) {
    margin-right: 0;
  }
  .columnlist .item_new a:after {
    content: "NEW";
    font-size: 3.5vw;
    padding: 1vw 1.5vw;
  }
  .columnlist .item_blank a:after {
    bottom: 4.5vw;
    right: 2vw;
    width: 4vw;
    height: 3.8vw;
  }
  .columnlist .item .txt {
    padding: 3vw 3vw 4vw;
  }
  .columnlist .item .txt .head {
    font-size: 3.5vw;
  }
  .columnlist .item .txt .date {
    font-size: 3vw;
    margin-top: 2vw;
  }
}
/* for SP max-width: 736px */
/*-------------------------------------------------------------
	section_column_detail	
-------------------------------------------------------------*/
/* タブレット以下 */
/* for tablet max-width: 1030px */
/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
  .section_column_detail .section_inner {
    padding-left: 0;
    padding-right: 0;
  }
}
/* for SP max-width: 736px */
/*-------------------------------------------------------------
	column_detail	
-------------------------------------------------------------*/
.column_detail .main {
  padding: 0 2rem 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.column_detail .head_wrp {
  width: 49%;
}

.column_detail .head_wrp .date {
  font-size: 13px;
}

.column_detail .head_wrp .main_title {
  margin-top: 0.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #666;
  font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
  font-weight: 700;
}

.column_detail .main_photo {
  width: 49%;
  box-shadow: 1rem 2rem 3rem rgba(0, 0, 0, 0.16);
}

.column_detail .box {
  width: 100%;
}

.column_detail .box .sns_wrp .sns_area_read {
  line-height: 30px;
  padding-right: 0.4rem;
  font-weight: bold;
  vertical-align: top;
}

.column_detail .box .sns_wrp .sns ul {
  width: auto;
}

.column_detail .column {
  padding: 0 1.5rem 0rem;
}

.column_detail .column .head {
  margin: 4rem 0 1.5rem 0;
  font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
}

.column_detail .column p {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  line-height: 2;
  letter-spacing: 0.8px;
  margin-bottom: 2rem;
}

.column_detail .column .intro {
  margin-top: 2rem;
  line-height: 2.2 !important;
}

.column_detail .sign {
  padding: 0 1.5rem;
  text-align: right;
}

.column_detail .sign img {
  width: 140px;
  height: auto;
}

.column_detail .sign p {
  width: 140px;
  text-align: center;
  font-size: 14px;
  margin: 0 0 0 auto;
}

/* 1240px以下 */
@media screen and (max-width: 1240px) {
  .column_detail .main {
    padding: 0;
  }
}
/* for tablet max-width: 1240px */
@media only screen and (max-width: 736px) {
  .column_detail .head_wrp {
    width: 100%;
  }
  .column_detail .head_wrp .date {
    font-size: 11px;
  }
  .column_detail .head_wrp {
    padding: 0 1rem 1rem;
  }
  .column_detail .head_wrp .main_title {
    margin-top: 0;
    padding-bottom: 0;
    border-bottom: 0;
    font-weight: normal;
  }
  .column_detail .main_photo {
    width: 100%;
    box-shadow: 1rem 2rem 3rem rgba(0, 0, 0, 0.16);
  }
  .column_detail .column {
    padding: 0 1rem;
  }
  .column_detail .column .head {
    margin: 2.5rem 0 1rem 0;
  }
  .column_detail .column p {
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 1.5rem;
  }
  .column_detail .column .intro {
    margin-top: 1rem !important;
    line-height: 1.8 !important;
  }
}
/* for SP max-width: 736px */
/*===============================================================

アンカーリンク調整

===============================================================*/
#link-remoroku {
  margin-top: -112px;
  padding-top: 112px;
}

/*===============================================================

	section_external_link

===============================================================*/
.section_external_link {
  padding-bottom: 80px;
  max-width: 1030px;
  margin: 0 auto;
}

.section_external_link .bnr {
  padding: 0 40px;
}

.section_external_link .bnr a {
  display: block;
  transition: all 0.3s;
}

.section_external_link .bnr a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1030px) {
  .section_external_link {
    padding: 0 40px 40px;
  }
  .section_external_link .bnr {
    padding: 0;
  }
}
/* for tablet max-width: 1030px */
@media only screen and (max-width: 736px) {
  .section_external_link {
    padding: 0 3vw 8vw;
  }
}
/* for SP max-width: 736px */
/*===============================================================

	レイアウト

===============================================================*/
.full_width {
  width: auto;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.wide_width {
  width: auto;
  max-width: 1300px;
  padding: 0 50px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.content_width {
  width: auto;
  max-width: 1130px;
  padding-left: 50px;
  padding-right: 50px;
  margin-right: auto;
  box-sizing: border-box;
}

.narrow_width {
  width: auto;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
  .wide_width {
    width: 100%;
  }
}
@media screen and (max-width: 1030px) {
  .content_width {
    width: 100%;
  }
}
@media screen and (max-width: 736px) {
  .wide_width, .content_width {
    padding: 0;
  }
  .narrow_width {
    width: 100%;
  }
}
/*===============================================================

	content 

===============================================================*/
.content {
  margin: 0 auto;
}

.content + .content {
  margin-top: 50px;
}

.headline + .content {
  margin-top: 30px;
}

.content_mt70 {
  margin-top: 70px !important;
}

.content_mt100 {
  margin-top: 100px !important;
}

.content_mt150 {
  margin-top: 150px !important;
}

.content p {
  font-size: 16px;
  line-height: 2;
  margin-top: 10px;
}

.content p + p {
  margin-top: 20px;
}

@media screen and (max-width: 1030px) {
  .content {
    margin: 0 auto;
  }
}
@media screen and (max-width: 736px) {
  .content {
    width: 100%;
    margin: 0 auto;
  }
  .content + .content {
    margin-top: 6vw;
  }
  .headline + .content {
    margin-top: 3vw;
  }
  .content_mt70 {
    margin-top: 6vw !important;
  }
  .content_mt100 {
    margin-top: 8vw !important;
  }
  .content_mt150 {
    margin-top: 20vw !important;
  }
  .content p {
    font-size: 3.5vw;
    line-height: 1.8;
    margin-top: 0;
  }
  .content p + p {
    margin-top: 2vw;
  }
}
/*===============================================================

	section
	複数のcontent、headlineなど格納するブロック

===============================================================*/
.section {
  width: 100%;
  overflow: hidden;
}

.section_inner {
  margin: 0 auto;
  padding: 120px 0;
}

@media screen and (max-width: 736px) {
  .section_inner {
    margin: 0 auto;
    padding: 13vw 5vw;
  }
}
/*===============================================================

    headline

===============================================================*/
.headline {
  text-align: center;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.headline .title {
  font-size: 40px;
}
.headline .lead {
  margin-top: 5px;
  font-size: 22px;
}
@media screen and (max-width: 736px) {
  .headline .title {
    font-size: 7vw;
  }
  .headline .lead {
    margin-top: 1vw;
    font-size: 4vw;
  }
}

/*===============================================================

	c_tab_content

===============================================================*/
.c_tab_content {
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	c_tab tablist	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	c_tab tabbody	
  -------------------------------------------------------------*/
  /*===============================================================
  //	c_tab
  ===============================================================*/
}
.c_tab_content .tablist {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: end;
  min-height: 100px;
  gap: 20px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.c_tab_content .tablist::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  z-index: 2;
}
.c_tab_content .tablist button[role=tab] {
  border: solid 2px #fff;
  border-bottom: 0;
  background: #333;
  color: #fff;
  border-radius: 20px 20px 0 0;
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  padding: 28px;
  border-bottom: 0;
  width: 420px;
  position: relative;
  z-index: 1;
}
.c_tab_content .tablist button[role=tab] .tab_label {
  display: inline-block;
  position: relative;
  pointer-events: none;
  font-weight: bold;
}
.c_tab_content .tablist button[role=tab] .tab_label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  height: 3px;
  background: linear-gradient(to right, rgb(248, 16, 79) 0%, rgb(18, 113, 248) 100%);
  transition: all 0.3s;
  opacity: 0;
}
.c_tab_content .tablist button[role=tab][aria-selected=true] {
  padding: 35px 30px;
  z-index: 3;
}
.c_tab_content .tablist button[role=tab][aria-selected=true] .tab_label {
  position: relative;
}
.c_tab_content .tablist button[role=tab][aria-selected=true] .tab_label::after {
  opacity: 1;
  width: 100%;
}
.c_tab_content .tablist button[role=tab][aria-selected=false]:hover {
  cursor: pointer;
}
@media screen and (max-width: 736px) {
  .c_tab_content .tablist {
    min-height: inherit;
    gap: 3vw;
  }
  .c_tab_content .tablist button[role=tab] {
    padding: 4vw 3vw;
    border-radius: 2vw 2vw 0 0;
    font-size: 4vw;
  }
  .c_tab_content .tablist button[role=tab][aria-selected=true] {
    padding: 6vw 3vw;
    z-index: 3;
  }
  .c_tab_content .tablist button[role=tab][aria-selected=true] .tab_label {
    position: relative;
  }
  .c_tab_content .tablist button[role=tab][aria-selected=true] .tab_label::after {
    opacity: 1;
    width: 100%;
  }
}
.c_tab_content .tabbody {
  transition: all 0.3s;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #333;
  height: auto;
  color: #fff;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.c_tab_content .tabbody .content_width {
  transition: all 0.3s;
  opacity: 0;
  transform: translateY(30px);
}
.c_tab_content .tabbody .active .content_width {
  opacity: 1;
  transform: translateX(0);
  height: auto;
}
.c_tab_content .tabbody .tab_title {
  font-size: 3rem;
}
.c_tab_content .tabbody p {
  margin-top: 1em;
}
.c_tab_content .tabbody .tabcontent:nth-child(3) .inner {
  background: #333;
  color: #fff;
}
@media screen and (max-width: 736px) {
  .c_tab_content .tabbody .inner {
    padding: 5vw;
  }
}

/*===============================================================

    content_netflix_set

===============================================================*/
.content_netflix_set {
  padding: 60px 0 100px;
  /*===============================================================
  set_fig_block
  ===============================================================*/
  /*===============================================================
  more_block
  ===============================================================*/
  /*===============================================================
  otoku330_block
  ===============================================================*/
  /*===============================================================
  title_block
  ===============================================================*/
}
@media screen and (max-width: 736px) {
  .content_netflix_set {
    padding: 10vw 5vw;
    padding-bottom: 15vw;
  }
}
.content_netflix_set .set_fig_block {
  max-width: 600px;
  margin: 0 auto;
  margin-top: 60px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.content_netflix_set .set_fig_block .item {
  background-color: #FDECEE;
  border-radius: 20px;
  width: calc((100% - 30px) / 2);
  padding: 30px;
  text-align: center;
  color: #333;
}
.content_netflix_set .set_fig_block .icon_plus {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
}
.content_netflix_set .set_fig_block .logo {
  max-width: 200px;
  padding: 15px 0;
  margin: 0 auto;
}
.content_netflix_set .set_fig_block .txt {
  min-height: 3em;
  font-size: 20px;
  list-style: 1.3;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 736px) {
  .content_netflix_set .set_fig_block {
    margin-top: 5vw;
  }
  .content_netflix_set .set_fig_block .item {
    border-radius: 5vw;
    width: calc((100% - 5vw) / 2);
    padding: 5vw;
    text-align: center;
    color: #333;
  }
  .content_netflix_set .set_fig_block .icon_plus {
    width: 8vw;
    height: 8vw;
  }
  .content_netflix_set .set_fig_block .logo {
    padding: 3vw 0;
    min-height: 16vw;
  }
  .content_netflix_set .set_fig_block .txt {
    min-height: 3em;
    font-size: 4vw;
    list-style: 1.3;
  }
}
.content_netflix_set .more_block {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
  margin-top: 30px;
}
.content_netflix_set .more_block .cta_btn_arw {
  margin-top: 40px;
}
.content_netflix_set .more_block .offer {
  font-size: 16px;
  font-weight: bold;
}
.content_netflix_set .more_block .price {
  font-size: 22px;
  color: #E93616;
  font-weight: bold;
  margin-top: 15px;
}
.content_netflix_set .more_block .price span {
  font-size: 14px;
  font-weight: bold;
}
@media screen and (max-width: 736px) {
  .content_netflix_set .more_block {
    margin-top: 8vw;
  }
  .content_netflix_set .more_block .cta_btn_arw {
    margin-top: 5vw;
  }
  .content_netflix_set .more_block .offer {
    font-size: 16px;
    font-weight: bold;
  }
  .content_netflix_set .more_block .price {
    font-size: 6vw;
    margin-top: 2vw;
  }
  .content_netflix_set .more_block .price span {
    font-size: 3.5vw;
  }
}
.content_netflix_set .otoku330_block {
  text-align: center;
}
.content_netflix_set .otoku330_block .otoku {
  max-width: 600px;
  margin: 0 auto;
}
.content_netflix_set .otoku330_block .lead {
  margin-top: 30px;
  font-size: 20px;
  font-weight: bold;
}
.content_netflix_set .otoku330_block .lead strong {
  display: inline-block;
  background-color: #ea4818;
  line-height: 1.5;
}
.content_netflix_set .title_block {
  text-align: center;
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  margin-top: 80px;
  padding-top: 60px;
}
.content_netflix_set .title_block .title {
  font-size: 25px;
  line-height: 1.4;
}
.content_netflix_set .title_block .title strong {
  font-size: 140%;
}
@media screen and (max-width: 736px) {
  .content_netflix_set .title_block {
    margin-top: 10vw;
    padding-top: 8vw;
  }
  .content_netflix_set .title_block .title {
    font-size: 4.5vw;
  }
  .content_netflix_set .title_block .title strong {
    font-size: 120%;
  }
}

/*===============================================================

    content_netflix_set_box

===============================================================*/
.content_netflix_set_box {
  max-width: 740px;
  margin: 0 auto;
  border: solid 1px #555555;
  text-align: center;
  padding: 0;
  /*===============================================================
  box_body_block
  ===============================================================*/
}
.content_netflix_set_box .box_title_block {
  padding: 20px;
  border-bottom: solid 1px #555555;
}
.content_netflix_set_box .box_title_block .title {
  font-size: 22px;
}
@media screen and (max-width: 736px) {
  .content_netflix_set_box .box_title_block {
    padding: 3vw;
    border-bottom: solid 1px #555555;
  }
  .content_netflix_set_box .box_title_block .title {
    font-size: 5vw;
  }
}
.content_netflix_set_box .box_body_block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 30px;
  /*-------------------------------------------------------------
  set_fig_block
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  txt_block
  -------------------------------------------------------------*/
}
.content_netflix_set_box .box_body_block .set_fig_block {
  width: 300px;
}
.content_netflix_set_box .box_body_block .txt_block {
  width: calc(100% - 330px);
}
@media screen and (max-width: 736px) {
  .content_netflix_set_box .box_body_block {
    padding: 5vw;
    flex-direction: column;
  }
  .content_netflix_set_box .box_body_block .set_fig_block {
    width: 100%;
  }
  .content_netflix_set_box .box_body_block .txt_block {
    width: 100%;
    margin-top: 5vw;
  }
}
.content_netflix_set_box .box_body_block .set_fig_block {
  margin: 0;
}
.content_netflix_set_box .box_body_block .set_fig_block .item {
  padding: 15px;
  width: calc((100% - 10px) / 2);
  border-radius: 15px;
}
.content_netflix_set_box .box_body_block .set_fig_block .item .txt {
  font-size: 14px;
}
.content_netflix_set_box .box_body_block .set_fig_block .item .logo {
  min-height: 65px;
}
.content_netflix_set_box .box_body_block .set_fig_block .icon_plus {
  width: 30px;
  height: 30px;
}
.content_netflix_set_box .box_body_block .txt_block .lead {
  font-size: 16px;
  font-weight: bold;
}
.content_netflix_set_box .box_body_block .txt_block .price {
  font-size: 20px;
  color: #ea4818;
  font-weight: bold;
  margin-top: 15px;
  display: inline-block;
  border-bottom: solid 1px #ea4818;
}
.content_netflix_set_box .box_body_block .txt_block .price span {
  font-size: 14px;
  font-weight: bold;
}
.content_netflix_set_box .box_body_block .txt_block .cta_btn_width {
  margin-top: 30px;
}
@media screen and (max-width: 736px) {
  .content_netflix_set_box .box_body_block .txt_block .price {
    font-size: 5vw;
    margin-top: 3vw;
  }
  .content_netflix_set_box .box_body_block .txt_block .price span {
    font-size: 3.5vw;
  }
  .content_netflix_set_box .box_body_block .txt_block .cta_btn_width {
    margin-top: 5vw;
  }
}

/*===============================================================

    block_price_box

===============================================================*/
.block_price_box {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*===============================================================
      //	block_price_box
  ===============================================================*/
}
.block_price_box .title {
  color: #fff;
  font-size: 20px;
  line-height: 1;
  height: 1em;
  position: relative;
}
.block_price_box .title::after, .block_price_box .title::before {
  content: "";
  width: calc((100% - 8em) / 2);
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.block_price_box .title::after {
  left: 0;
}
.block_price_box .title::before {
  right: 0;
}
.block_price_box .block_price {
  margin-top: -10px;
  padding: 30px;
  border: solid 1px #fff;
  border-top: 0;
}
.block_price_box .block_box + .block_box {
  margin-top: 20px;
}
.block_price_box .block_box + .block_box.new {
  margin-top: 48px;
}
.block_price_box .block_box {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.block_price_box .block_box .label_icon {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.block_price_box .block_box .icon {
  width: 80px;
  margin-right: 10px;
}
.block_price_box .block_box .label .bar_pop_block {
  position: absolute;
  top: -43px;
  left: -21px;
  width: 118%;
  margin: 0 auto 14px;
}
.block_price_box .block_box .label .bar_pop_block .bar_pop {
  padding-bottom: 8px;
  color: #fff;
  font-weight: normal;
  font-size: 13px;
}
.block_price_box .block_box .label .bar_pop_block .bar_pop .new_label {
  margin-right: 4px;
  padding: 0 4px 1px;
  background: #E93417;
  font-size: 14px;
  line-height: 1;
  border-radius: 0.05rem;
}
.block_price_box .block_box .label .bar_pop_block .bar_pop .bar {
  width: calc(50% - 20px);
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
}
.block_price_box .block_box .label .bar_pop_block .bar_pop .bar::before {
  content: "";
  width: calc(100% + 20px);
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: calc((100% + 40px) * -1);
}
.block_price_box .block_box .label .bar_pop_block .bar_pop .bar::after {
  content: "";
  width: 20px;
  height: 1.5px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: rotate(-45deg) translate(-16px, -6px);
}
.block_price_box .label {
  position: relative;
  min-width: 218px;
  font-size: 16px;
  line-height: 1.2;
}
.block_price_box .label .label_inner {
  padding: 8px 12px;
  background-color: #000;
  font-weight: bold;
  border-radius: 5px;
}
.block_price_box .label.top_pop .pop {
  position: relative;
  font-size: 12px;
  font-weight: bold;
  background-color: #E93817;
  padding: 8px 12px;
  border-radius: 5px 5px 0 0;
}
.block_price_box .label.top_pop .pop::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 8px;
  border-style: solid;
  border-color: #E93817 transparent transparent transparent;
}
.block_price_box .label.top_pop .label_inner {
  padding: 14px 12px 8px;
  background-color: #333;
  font-weight: bold;
  border-radius: 0 0 5px 5px;
}
.block_price_box .price {
  font-size: 26px;
  font-size: 16px;
  font-weight: bold;
}
.block_price_box .price .price_en {
  font-size: 46px;
  font-size: 30px;
  padding-left: 10px;
  padding-right: 3px;
  font-weight: 600 !important;
}
.block_price_box .price .tax {
  font-weight: normal;
  font-size: 18px;
  font-size: 14px;
}
@media screen and (max-width: 736px) {
  .block_price_box .block_price {
    margin-top: -3vw;
    padding: 8vw 5vw;
  }
  .block_price_box .block_box + .block_box {
    margin-top: 8vw;
  }
  .block_price_box .block_box + .block_box.new {
    margin-top: 20vw;
  }
  .block_price_box .title {
    height: 6.1vw;
  }
  .block_price_box .label {
    min-width: 100%;
    font-size: 4.5vw;
    line-height: 1.2;
  }
  .block_price_box .label .label_inner {
    padding: 3vw 5vw;
  }
  .block_price_box .label.top_pop .pop {
    font-size: 3.5vw;
    padding: 3vw 5vw;
  }
  .block_price_box .label.top_pop .label_inner {
    padding: 4vw 5vw 3vw;
    background-color: #333;
  }
  .block_price_box .block_box .label_icon {
    width: 100%;
    position: relative;
  }
  .block_price_box .block_box .icon {
    z-index: 5;
    top: -6vw;
    left: -8vw;
    position: absolute;
    width: 16vw;
    margin-right: 0;
  }
  .block_price_box .block_box .label .bar_pop_block {
    top: -12vw;
    left: 0;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 5vw;
  }
  .block_price_box .block_box .label .bar_pop_block .bar_pop {
    padding-bottom: 2vw;
    font-size: 4vw;
  }
  .block_price_box .block_box .label .bar_pop_block .bar_pop .new_label {
    margin-right: 0;
    padding: 0 1vw 0.5vw;
    font-size: 3.5vw;
  }
  .block_price_box .price {
    width: 100%;
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.2;
  }
  .block_price_box .price .price_en {
    font-size: 8vw;
    padding: 0 1vw 0 1vw;
    font-weight: 600 !important;
  }
  .block_price_box .price .tax {
    font-size: 3vw;
  }
}

/*===============================================================

	c_lineframe_accordion

===============================================================*/
.c_lineframe_accordion {
  border: solid 2px #fff;
  border-radius: 10px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	accordion_header	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	accordion_body	
  -------------------------------------------------------------*/
  /*===============================================================
  	//	c_accordion
  ===============================================================*/
}
.c_lineframe_accordion + .c_lineframe_accordion {
  margin-top: 30px;
}
@media screen and (max-width: 736px) {
  .c_lineframe_accordion + .c_lineframe_accordion {
    margin-top: 5vw;
  }
}
.c_lineframe_accordion .accordion_header {
  border-radius: 10px;
  position: relative;
  display: block;
  width: 100%;
  border: none;
  background: #333;
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  padding: 30px;
  transition: all 0.3s;
  cursor: pointer;
  color: #fff;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.c_lineframe_accordion .accordion_header:hover {
  opacity: 0.7;
}
.c_lineframe_accordion .accordion_header .gradetion_line {
  position: relative;
  pointer-events: none;
  font-weight: bold;
}
.c_lineframe_accordion .accordion_header .gradetion_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, rgb(248, 16, 79) 0%, rgb(18, 113, 248) 100%);
  transition: all 0.3s;
}
.c_lineframe_accordion .accordion_header .question {
  font-size: 140%;
  line-height: 1;
  color: #E73416;
  padding-right: 0.5em;
}
.c_lineframe_accordion .accordion_header .plus_minus,
.c_lineframe_accordion .accordion_header .icon_arw_down {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  height: 1em;
}
.c_lineframe_accordion .accordion_header .plus_minus {
  width: 30px;
  height: 30px;
  right: 30px;
}
.c_lineframe_accordion .accordion_header .plus_minus::after, .c_lineframe_accordion .accordion_header .plus_minus::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  width: 30px;
  height: 2px;
  background: #fff;
}
.c_lineframe_accordion .accordion_header .plus_minus::before {
  transition: all 0.3s;
  transform: rotate(90deg);
}
.c_lineframe_accordion .accordion_header.opened .icon_arw_down {
  transform: rotate(180deg);
}
.c_lineframe_accordion .accordion_header.opened .plus_minus::before {
  transform: rotate(0);
}
@media screen and (max-width: 736px) {
  .c_lineframe_accordion .accordion_header {
    padding: 4vw 5vw;
    padding-right: 2em;
  }
  .c_lineframe_accordion .accordion_header .gradetion_line {
    display: inline-block;
  }
  .c_lineframe_accordion .accordion_header .plus_minus {
    width: 5vw;
    height: 5vw;
    right: 3vw;
  }
  .c_lineframe_accordion .accordion_header .plus_minus::after, .c_lineframe_accordion .accordion_header .plus_minus::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    width: 5vw;
    height: 2px;
    background: #fff;
  }
  .c_lineframe_accordion .accordion_header .plus_minus::before {
    transition: all 0.3s;
    transform: rotate(90deg);
  }
}
.c_lineframe_accordion .accordion_body {
  overflow: hidden;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.c_lineframe_accordion .accordion_body .inner {
  border-top: solid 2px #fff;
  padding: 60px 30px;
  padding-bottom: 80px;
}
@media screen and (max-width: 736px) {
  .c_lineframe_accordion .accordion_body .inner {
    padding: 5vw;
  }
}

/*===============================================================

    content_shinsta_service_info

===============================================================*/
.content_shinsta_service_info {
  padding: 80px 0 0px;
  text-align: center;
  /*-------------------------------------------------------------
          txt_block
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
          service_block
      -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  price_txt_block
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      more_block
  -------------------------------------------------------------*/
  /*===============================================================
  c_lineframe_accordion
  ===============================================================*/
  /*===============================================================
  block_price_box
  ===============================================================*/
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info {
    padding: 10vw 0 0;
  }
}
.content_shinsta_service_info .txt_block .title {
  font-size: 20px;
  font-weight: bold;
}
.content_shinsta_service_info .txt_block .lead {
  font-size: 16px;
  font-weight: bold;
  margin-top: 1em;
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .txt_block .title {
    font-size: 5vw;
  }
  .content_shinsta_service_info .txt_block .lead {
    font-size: 4vw;
  }
}
.content_shinsta_service_info .service_block {
  max-width: 680px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 30px;
}
.content_shinsta_service_info .service_block .service {
  padding: 16px;
  border-radius: 12px;
  border: 2px solid #d9161B;
  background: #ffffff;
  color: #333333;
  width: calc((100% - 40px) / 2);
}
.content_shinsta_service_info .service_block .plus {
  width: 40px;
  padding: 8px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.content_shinsta_service_info .service_block .title {
  font-size: 20px;
  line-height: 2;
  font-weight: bold;
}
.content_shinsta_service_info .service_block .title svg {
  vertical-align: middle;
}
.content_shinsta_service_info .service_block .fig {
  min-height: 140px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.content_shinsta_service_info .service_block .link {
  margin-top: 10px;
}
.content_shinsta_service_info .service_block .jcom_link_blank {
  position: relative;
  padding-right: 20px;
  display: inline-block;
  font-size: 16px;
  line-height: 1.6;
  font-weight: bold;
  cursor: pointer;
  color: #333;
}
.content_shinsta_service_info .service_block .jcom_link_blank::after {
  content: "";
  position: absolute;
  top: 1px;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  background-image: url(/special/common/images/asset/icn_link/icn_link_blank_black.svg);
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .service_block {
    flex-direction: column;
    margin-top: 8vw;
  }
  .content_shinsta_service_info .service_block .service {
    width: 100%;
  }
  .content_shinsta_service_info .service_block .jcom_link_blank {
    padding-right: 5vw;
    font-size: 4.2vw;
  }
  .content_shinsta_service_info .service_block .jcom_link_blank::after {
    width: 4vw;
    height: 4vw;
  }
  .content_shinsta_service_info .service_block .plus {
    width: 100%;
    padding: 15px;
  }
  .content_shinsta_service_info .service_block .plus img {
    width: 20px;
  }
  .content_shinsta_service_info .service_block .fig {
    min-height: inherit;
    max-width: 300px;
    margin: 0 auto;
  }
  .content_shinsta_service_info .service_block .link {
    margin-top: 10px;
  }
}
.content_shinsta_service_info .price_txt_block {
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  margin-top: 80px;
  padding-top: 60px;
}
.content_shinsta_service_info .price_txt_block .title {
  font-size: 20px;
  font-weight: bold;
  color: #ea4818;
}
.content_shinsta_service_info .price_txt_block .price {
  max-width: 560px;
  margin: 0 auto;
}
.content_shinsta_service_info .price_txt_block .cashback {
  max-width: 720px;
  margin: 0 auto;
  margin-top: 20px;
}
.content_shinsta_service_info .price_txt_block .caption {
  margin-top: 30px;
  font-size: 14px;
}
.content_shinsta_service_info .price_txt_block .caption a {
  color: #fff;
  text-decoration: underline;
}
.content_shinsta_service_info .price_txt_block .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .price_txt_block {
    margin-top: 10vw;
    padding-top: 8vw;
  }
  .content_shinsta_service_info .price_txt_block .title {
    font-size: 5vw;
  }
  .content_shinsta_service_info .price_txt_block .cashback {
    margin-top: 3vw;
  }
  .content_shinsta_service_info .price_txt_block .caption {
    margin-top: 5vw;
    font-size: 3.5vw;
  }
}
.content_shinsta_service_info .more_block {
  max-width: 400px;
  margin: 0 auto;
  margin-top: 30px;
}
.content_shinsta_service_info .more_block .cta_btn_width {
  margin-top: 40px;
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .more_block {
    margin-top: 3vw;
  }
  .content_shinsta_service_info .more_block .cta_btn_width {
    margin-top: 5vw;
  }
}
.content_shinsta_service_info .c_lineframe_accordion {
  margin-top: 80px;
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .c_lineframe_accordion {
    margin-top: 15vw;
  }
}
.content_shinsta_service_info .block_price_box {
  margin-top: 80px;
}
@media screen and (max-width: 736px) {
  .content_shinsta_service_info .block_price_box {
    margin-top: 10vw;
  }
}

/*===============================================================

	section_link

===============================================================*/
.contet_link {
  margin: 120px auto 0;
  /*===============================================================
  	content_block
  ===============================================================*/
  /*===============================================================
  	photo_block
  ===============================================================*/
  /*===============================================================
  	txt_block
  ===============================================================*/
}
.contet_link .inner {
  background: url(../images/bnr/bg.jpg);
  padding: 30px 80px;
  margin: 0px 50px;
  overflow: hidden;
}
@media screen and (max-width: 1030px) {
  .contet_link .content_width {
    padding: 0 50px;
  }
  .contet_link .inner {
    padding: 30px;
    margin: 0;
  }
}
@media screen and (max-width: 736px) {
  .contet_link {
    margin: 13vw auto 0;
  }
  .contet_link .content_width {
    padding: 0;
  }
  .contet_link .inner {
    padding: 0vw 0vw;
    margin: 0 5vw;
  }
}
.contet_link .content_block {
  position: relative;
  gap: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.contet_link .content_block .block {
  width: calc((100% - 20px) / 2);
}
.contet_link .content_block .arw {
  position: absolute;
  z-index: 0;
  width: 190px;
}
@media screen and (max-width: 1030px) {
  .contet_link .content_block {
    gap: 20px;
  }
  .contet_link .content_block .block {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 736px) {
  .contet_link .content_block {
    margin-top: 0vw;
    gap: 0vw;
  }
  .contet_link .content_block .block {
    width: 100%;
  }
  .contet_link .content_block .arw {
    width: 30vw;
  }
}
.contet_link .photo_block .thumb {
  position: relative;
  z-index: 1;
}
.contet_link .photo_block .arw {
  left: -130px;
  top: -15px;
}
@media screen and (max-width: 736px) {
  .contet_link .photo_block .arw {
    left: -11vw;
    top: 50vw;
  }
}
.contet_link .txt_block {
  text-align: center;
  flex-direction: column;
  justify-content: space-between;
  height: -moz-min-content;
  height: min-content;
  position: relative;
  /*===============================================================
      headline
  ===============================================================*/
  /*===============================================================
  	btn_detail
  ===============================================================*/
}
.contet_link .txt_block .c_title {
  margin-top: 25px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  color: #231854;
}
.contet_link .txt_block .txt {
  margin-top: 10px;
  line-height: 1.7;
  font-size: 19px;
  color: #403136;
}
.contet_link .txt_block .arw {
  right: -140px;
  bottom: -10px;
}
@media screen and (max-width: 736px) {
  .contet_link .txt_block {
    padding: 6vw 5vw 8vw;
  }
  .contet_link .txt_block .c_title {
    margin-top: 6vw;
    font-size: 3.8vw;
  }
  .contet_link .txt_block .txt {
    margin-top: 2vw;
    font-size: 4.2vw;
  }
  .contet_link .txt_block .arw {
    right: -12vw;
    bottom: 3vw;
  }
}
.contet_link .txt_block .headline {
  text-align: center;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.contet_link .txt_block .headline .title {
  font-size: min(27px, 3vw);
  line-height: 1.2;
}
.contet_link .txt_block .headline .title .small {
  font-size: 80%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5px;
}
.contet_link .txt_block .headline .title .small::after, .contet_link .txt_block .headline .title .small::before {
  content: "";
  width: 15px;
  height: 1px;
  background: #333;
  display: inline-block;
  margin-top: 4px;
}
.contet_link .txt_block .headline .title .small::after {
  margin-left: 5px;
}
.contet_link .txt_block .headline .title .small::before {
  margin-right: 5px;
}
.contet_link .txt_block .headline .lead {
  margin-top: 5px;
  font-size: 22px;
}
@media screen and (max-width: 736px) {
  .contet_link .txt_block .headline .title {
    font-size: 6.2vw;
  }
  .contet_link .txt_block .headline .title .small::after, .contet_link .txt_block .headline .title .small::before {
    width: 3.5vw;
    height: 0.25vw;
    display: inline-block;
    margin-top: 1vw;
  }
  .contet_link .txt_block .headline .title .small::after {
    margin-left: 1.5vw;
  }
  .contet_link .txt_block .headline .title .small::before {
    margin-right: 1.5vw;
  }
  .contet_link .txt_block .headline .lead {
    margin-top: 1vw;
    font-size: 4vw;
  }
}
.contet_link .txt_block .btn_detail {
  display: block;
  padding: 10px 0;
  font-size: 18px;
  border: 1px solid #403136;
  display: block;
  max-width: 200px;
  margin: 20px auto 0;
  position: relative;
  color: #403136;
  z-index: 1;
}
.contet_link .txt_block .btn_detail::after {
  position: absolute;
  content: " ";
  width: 6px;
  height: 6px;
  top: 0;
  left: auto;
  bottom: 0;
  right: 10px;
  margin: auto;
  border-top: solid 1px #403136;
  border-left: solid 1px #403136;
  transform: rotate(135deg);
}
.contet_link .txt_block .btn_detail:hover {
  background: #231854;
  color: #fff;
  text-decoration: none;
}
.contet_link .txt_block .btn_detail:hover::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}
@media screen and (max-width: 736px) {
  .contet_link .txt_block .btn_detail {
    margin-top: 4vw;
    max-width: 45vw;
    padding: 3vw 0;
    font-size: 4.2vw;
    border: 0.35vw solid #333;
  }
  .contet_link .txt_block .btn_detail::after {
    border-top: solid 0.25vw #403136;
    border-left: solid 0.25vw #403136;
  }
  .contet_link .txt_block .btn_detail:hover {
    border-top: solid 0.25vw #fff;
    border-left: solid 0.25vw #fff;
  }
}

/*===============================================================

	section_kv

===============================================================*/
.section_kv {
  position: relative;
  display: flex;
  align-items: center;
  background: #333 url(../images/hero.jpg) no-repeat center/cover;
  min-height: 380px;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  /*===============================================================
  	// section_mv
  ===============================================================*/
}
.section_kv::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 70%);
}
.section_kv .inner {
  z-index: 1;
  width: 100%;
}
.section_kv .kv_title {
  font-size: 95px;
  letter-spacing: 2px;
  text-align: center;
}
.section_kv .kv_title .space {
  letter-spacing: -18px;
}
.section_kv .fitimg {
  max-width: 450px;
  width: 100%;
  margin: auto;
}
.section_kv .lead {
  margin-top: 30px;
  font-size: 22px;
  line-height: 1.6;
  text-align: center;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.2) 20%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 110%);
}
.section_kv .marker_yellow {
  background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 65%, rgba(255, 255, 0, 0.6) 65%, rgba(255, 255, 0, 0.6) 85%, rgba(255, 255, 0, 0) 90%);
}
@media screen and (max-width: 736px) {
  .section_kv {
    min-height: auto;
    padding: 13vw 0;
  }
  .section_kv::before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 40%);
  }
  .section_kv .kv_title {
    font-size: 13vw;
  }
  .section_kv .kv_title .space {
    letter-spacing: -2.5vw;
  }
  .section_kv .kv_title .small {
    font-size: 98%;
  }
  .section_kv .fitimg {
    max-width: 100%;
    width: 72%;
    margin: auto;
  }
  .section_kv .lead {
    margin-top: 4vw;
    font-size: 4.2vw;
  }
}

/*===============================================================

    section_fv_cta

===============================================================*/
.section_fv_cta {
  padding: 30px;
  display: none;
}
.section_fv_cta .cta_btns {
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.section_fv_cta .cta_btn_width {
  width: calc((100% - 30px) / 2) !important;
  margin: 0;
}
@media screen and (max-width: 1030px) {
  .section_fv_cta .cta_btn_width {
    width: calc((100% - 10px) / 2) !important;
    margin: 0;
  }
}
@media screen and (max-width: 736px) {
  .section_fv_cta {
    padding: 5vw;
  }
  .section_fv_cta .cta_btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .section_fv_cta .cta_btn_width {
    width: calc((100% - 3vw) / 2) !important;
    margin: 0;
  }
  .section_fv_cta .cta_btn_width [class*=cta_btn] {
    border-radius: 3vw;
    padding: 10vw 3vw 8vw;
    width: 100%;
    margin: 0;
    background-position: center top 1vw;
  }
  .section_fv_cta .cta_btn_width .btn_label {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-height: 3em;
  }
  .section_fv_cta .cta_btn_width .btn_label .sub {
    padding-bottom: 3px;
  }
  .section_fv_cta .cta_btn_width [class*=icon_] {
    top: auto;
    bottom: 2vw;
    left: 0;
    right: 0;
    margin: auto;
  }
}

/*===============================================================

    section_service_price

===============================================================*/
.section_service_price {
  color: #fff;
}
.section_service_price .headline .title {
  color: #fff;
}
/*===============================================================

    section_present_cp

===============================================================*/
.section_present_cp {
  background-color: #111;
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  /*===============================================================
    bottom_pickup
    ===============================================================*/
  /*===============================================================
    jcom_present_cp_block
    ===============================================================*/
}
.section_present_cp .section_inner {
  padding-bottom: 30px;
}
.section_present_cp .bottom_pickup {
  margin-top: 50px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 25px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
.section_present_cp .bottom_pickup:before {
  content: "";
  width: 2px;
  height: 30px;
  background: #fff;
  transform: rotate(-30deg);
}
.section_present_cp .bottom_pickup:after {
  content: "";
  width: 2px;
  height: 30px;
  background: #fff;
  transform: rotate(30deg);
}
@media screen and (max-width: 736px) {
  .section_present_cp .bottom_pickup {
    margin-top: 5vw;
    font-size: 4vw;
  }
}
.section_present_cp .jcom_present_cp_block {
  max-width: 450px;
  margin: 0 auto;
  margin-top: 30px;
}
.section_present_cp .jcom_present_cp_block img,
.section_present_cp .jcom_present_cp_block picture,
.section_present_cp .jcom_present_cp_block a {
  display: block;
}
.section_present_cp .jcom_present_cp_block a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 736px) {
  .section_present_cp .jcom_present_cp_block {
    margin-top: 5vw;
  }
}

/*===============================================================

    section_cta

===============================================================*/
.section_cta {
  background-color: #333;
  color: #fff;
  /*===============================================================
  cta_wrp_block
  ===============================================================*/
}
.section_cta .section_inner {
  padding: 60px 0 120px;
}
.section_cta .headline {
  color: #fff;
  padding-bottom: 80px;
}
@media screen and (max-width: 736px) {
  .section_cta .headline {
    padding-bottom: 10vw;
  }
  .section_cta .section_inner {
    padding: 10vw 5vw 13vw;
  }
}
.section_cta .cta_wrp_block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  /*-------------------------------------------------------------
  title_block
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  for_member
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  btn_block
  -------------------------------------------------------------*/
}
.section_cta .cta_wrp_block .cta_block {
  width: calc((100% - 40px) / 2);
  text-align: center;
}
@media screen and (max-width: 736px) {
  .section_cta .cta_wrp_block {
    flex-direction: column;
  }
  .section_cta .cta_wrp_block .cta_block {
    width: 100%;
  }
}
.section_cta .cta_wrp_block .title_block {
  border-top: solid 1px #ea4818;
  padding-top: 30px;
  position: relative;
}
.section_cta .cta_wrp_block .title_block .title {
  font-size: 22px;
  font-weight: bold;
  color: #ea4818;
}
.section_cta .cta_wrp_block .title_block .icon {
  background-color: #ea4818;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  padding: 7px;
  border-radius: 40px;
}
.section_cta .cta_wrp_block .for_member .title_block {
  border-top: solid 1px #FFCE00;
}
.section_cta .cta_wrp_block .for_member .title_block .title {
  color: #FFCE00;
}
.section_cta .cta_wrp_block .for_member .title_block .icon {
  background-color: #FFCE00;
}
@media screen and (max-width: 736px) {
  .section_cta .cta_wrp_block .for_member {
    margin-top: 10vw;
  }
}
.section_cta .cta_wrp_block .btn_block .bnr,
.section_cta .cta_wrp_block .btn_block .cta_btn_width {
  margin-top: 30px;
}
.section_cta .cta_wrp_block .btn_block .bnr a {
  display: block;
}
.section_cta .cta_wrp_block .btn_block .bnr a:hover {
  opacity: 0.7;
}
.section_cta .cta_wrp_block .btn_block .cta_btn_caption {
  margin-top: 0.5em;
}
/*===============================================================

    section_lineup_slider

===============================================================*/
.section_lineup_slider {
  /* ガター */
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*===============================================================
      headline
  ===============================================================*/
  /*-------------------------------------------------------------
  .slider .pager
     -------------------------------------------------------------*/
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	.slider .pager a
  -------------------------------------------------------------*/
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*===============================================================
  thumb
  ===============================================================*/
  /*===============================================================
  detail_data
  ===============================================================*/
  /*-------------------------------------------------------------
  more_link
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  section_lineup_slider ここまで
  -------------------------------------------------------------*/
}
.section_lineup_slider .section_inner {
  padding: 50px 0 120px;
}
.section_lineup_slider .slick-arrow {
  display: none !important;
}
.section_lineup_slider.slide_loaded {
  min-height: inherit;
}
.section_lineup_slider .slider {
  position: relative;
}
.section_lineup_slider .slider .slide {
  position: relative;
  text-align: left;
}
.section_lineup_slider .slider .slide a {
  display: block;
}
.section_lineup_slider .slider .slide a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.section_lineup_slider .slick-list {
  margin-right: -20px;
}
.section_lineup_slider .slick-slide {
  margin-right: 20px;
}
.section_lineup_slider.pc_no_slide .pager {
  display: none;
}
.section_lineup_slider .pager {
  display: none;
}
@media screen and (max-width: 1030px) {
  .section_lineup_slider .pager {
    display: block;
  }
}
@media screen and (max-width: 736px) {
  .section_lineup_slider .section_inner {
    padding: 8vw 0 13vw;
  }
  .section_lineup_slider.pc_no_slide .pager {
    display: block;
  }
}
.section_lineup_slider .headline {
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.section_lineup_slider .headline .title {
  color: #E73416;
}
.section_lineup_slider .slider .pager {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 30px;
  z-index: 5;
  cursor: pointer;
}
.section_lineup_slider .slider .next {
  right: -40px;
}
.section_lineup_slider .slider .prev {
  left: -40px;
}
@media screen and (max-width: 736px) {
  .section_lineup_slider .slider .pager {
    width: 10vw;
    height: 10vw;
  }
  .section_lineup_slider .slider .prev {
    left: 2vw;
  }
  .section_lineup_slider .slider .next {
    right: 2vw;
  }
}
.section_lineup_slider .slider .pager a {
  display: block;
  width: 30px;
  height: 30px;
  background-color: #252525;
  border-radius: 50% 50%;
  overflow: hidden;
  text-indent: -200%;
  position: relative;
  transition: all 0.3s;
}
.section_lineup_slider .slider .pager a:hover {
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.section_lineup_slider .slider .pager a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  width: 6px;
  height: 6px;
  transform: rotate(-45deg);
  transition: all 0.3s;
}
.section_lineup_slider .slider .prev a:after {
  transform: rotate(135deg);
}
@media screen and (max-width: 736px) {
  .section_lineup_slider .slider .pager a {
    width: 10vw;
    height: 10vw;
  }
}
.section_lineup_slider .thumb {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.section_lineup_slider .thumb.no_photo {
  background-color: #fff;
}
.section_lineup_slider .thumb img {
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 16/9;
}
.section_lineup_slider .detail_data {
  margin-top: 15px;
  color: #000;
}
.section_lineup_slider .detail_data .program_title {
  font-size: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.section_lineup_slider .detail_data .program_date {
  font-size: 14px;
  line-height: 1.6;
  color: #000;
  margin-top: 5px;
}
.section_lineup_slider .detail_data .channel_name {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 2px;
  color: #000;
}
.section_lineup_slider .detail_data .brand_label {
  margin-top: 8px;
  font-size: 12px;
  list-style: 1;
  padding: 1px 8px 2px 8px;
  border-radius: 2px;
  display: inline-block;
  border: solid 1px #666;
}
.section_lineup_slider .detail_data .brand_label + .brand_label {
  margin-left: 5px;
}
@media screen and (max-width: 736px) {
  .section_lineup_slider .detail_data {
    margin-top: 3vw;
  }
  .section_lineup_slider .detail_data .program_title {
    font-size: 4vw;
  }
  .section_lineup_slider .detail_data .program_date {
    font-size: 3.5vw;
    margin-top: 1vw;
  }
  .section_lineup_slider .detail_data .channel_name {
    font-size: 3.5vw;
    margin-top: 0.5vw;
  }
  .section_lineup_slider .detail_data .brand_label {
    font-size: 3.2vw;
    margin-top: 2vw;
  }
}
.section_lineup_slider .more_link {
  text-align: right;
  margin-top: 20px;
}
.section_lineup_slider .more_link a {
  color: #f00;
  position: relative;
  padding-right: 1em;
}
.section_lineup_slider .more_link a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  border: solid 1px #f00;
  width: 6px;
  height: 6px;
  border-top: none;
  border-left: none;
  transform: rotate(-45deg) translate(-1px, -1px);
  transition: all 0.3s;
}
.section_lineup_slider .more_link a:hover {
  opacity: 0.7;
  text-decoration: none;
}
/*===============================================================

    section_pickuplist

===============================================================*/
.section_pickuplist {
  width: 100%;
  margin: 0 auto;
  background-image: radial-gradient(circle farthest-side at center top, #555, #333 100%);
  overflow: hidden;
  padding: 0;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*===============================================================
  	headline
  ===============================================================*/
  /*===============================================================
  	content_list
  ===============================================================*/
  /*===============================================================
  	item
  ===============================================================*/
  /*===============================================================
      bnr
  ===============================================================*/
}
.section_pickuplist .headline {
  /* for TABLET */
  /* SP */
}
.section_pickuplist .headline .title {
  width: 100%;
  text-align: center;
  font-size: min(50px, 5.5vw);
  line-height: 1.2;
  color: #fff;
}
@media screen and (max-width: 736px) {
  .section_pickuplist .headline .title {
    font-size: 7vw;
  }
}
.section_pickuplist .content_list {
  margin-top: 50px;
  gap: 30px;
  display: flex;
  flex-wrap: wrap;
  padding: 0 50px;
  /* for TABLET */
  /* SP */
}
@media screen and (max-width: 1030px) {
  .section_pickuplist .content_list {
    padding: 0 30px;
  }
}
@media screen and (max-width: 736px) {
  .section_pickuplist .content_list {
    margin-top: 8vw;
    padding: 0;
    gap: 6vw 4vw;
  }
}
.section_pickuplist .item {
  margin-top: 0;
  background: #222;
  width: calc((100% - 90px) / 4);
  box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
  /*===============================================================
      label
  ===============================================================*/
}
.section_pickuplist .item::after {
  display: none;
}
.section_pickuplist .item .ph {
  display: table;
  border: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
}
.section_pickuplist .item .ph::after {
  content: " ";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  background: url(/special/tv/thema/jidaigeki/images/modal/icon_play.png) no-repeat center center;
  background-size: 50px 50px;
  z-index: 1;
  pointer-events: none;
}
.section_pickuplist .item .ph_inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 100%;
  height: auto;
}
.section_pickuplist .item .title {
  margin-top: 0;
  padding: 20px;
  font-size: 17px;
  line-height: 1.4;
  word-break: break-all;
  background: #222;
  text-overflow: ellipsis;
  box-sizing: border-box;
  height: auto;
}
.section_pickuplist .item .pickup_link {
  position: relative;
  height: 100%;
  color: #fff;
  transition: all 0.3s;
  display: block;
}
.section_pickuplist .item .pickup_link:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media screen and (max-width: 1030px) {
  .section_pickuplist .item {
    width: calc((100% - 60px) / 3);
  }
}
@media screen and (max-width: 736px) {
  .section_pickuplist .item {
    width: calc((100% - 4vw) / 2);
  }
  .section_pickuplist .item .title {
    padding: 4vw;
    font-size: 3.8vw;
  }
  .section_pickuplist .item .ph::after {
    width: 10vw;
    height: 10vw;
    background-size: 9vw;
  }
}
.section_pickuplist .item .label {
  position: absolute;
  z-index: 1;
  font-size: 14px;
  line-height: 1;
  top: -5px;
  left: -5px;
  width: 70px;
  padding: 5px 0;
  text-align: center;
  text-transform: uppercase;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 736px) {
  .section_pickuplist .item .label {
    padding: 1vw 0;
    width: 13vw;
    top: -3%;
    left: -2%;
    font-size: 2.8vw;
  }
}
.section_pickuplist .item .label_cs {
  background: #ffd500;
  color: #000;
}
.section_pickuplist .item .label_stream {
  background: #f22e05;
}
.section_pickuplist .bnr {
  text-align: center;
  width: 680px;
  margin: 20px auto 0;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.section_pickuplist .bnr:hover {
  opacity: 0.7;
}
.section_pickuplist .bnr a {
  display: block;
}
@media screen and (max-width: 736px) {
  .section_pickuplist .bnr {
    width: 100%;
    margin: 4vw auto 0;
  }
}

/*-------------------------------------------------------------
	section_pickuplist	
-------------------------------------------------------------*/
.section_pickuplist .preloader {
  width: 100%;
  height: 50px;
  background: url(/special/tv/thema/jidaigeki/images/pickuplist/preloader.gif) no-repeat center center;
  background-size: 80px 10px;
}

/*===============================================================
    modal_ondemandbranch
===============================================================*/
.modal_ondemandbranch {
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 736px) {
  .modal_ondemandbranch .close {
    top: 3vw;
    right: 2vw;
  }
  .modal_ondemandbranch .modal_contents_wrp {
    padding: 10vw 5vw 5vw;
  }
}/*# sourceMappingURL=style.css.map */