@charset "UTF-8";
/*===============================================================
	読み込み
===============================================================*/
@import url("/extra/library/common/css/smart_phone.css") only screen and (max-width: 1030px);
body {
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

/* Contents
========================================================================== */
#page, .container {
  font-family: Meiryo, メイリオ, sans-serif !important;
}

/*===============================================================
	変数
===============================================================*/
/*　画面左右のマージン　*/
/*　幅　*/
/*	グリッド幅  */
/*	セクション、コンテンツ間のマージン　*/
/*===============================================================
	色
===============================================================*/
.c_jcom {
  color: #E83416 !important;
}

.c_txtlink {
  color: #7AFFED !important;
}

.c_blue02 {
  color: #1977ff !important;
}

/*===============================================================
	_mixin.scss
===============================================================*/
/*===============================================================

	_font.scss 2021/9/24

===============================================================*/
/*----------------------------------------------------------------
  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-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("/special/common/webfont/NotoSansCJKjp-Medium_subset.woff") format("woff");
  font-display: swap;
}
@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-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: bold;
  font-weight: 800;
  src: url("/special/common/webfont/NotoSansCJKjp-Black_subset.woff") format("woff");
  font-display: swap;
}
.noto_sans {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.09em;
}
@media screen and (max-width: 800px) {
  .noto_sans {
    letter-spacing: 0.05em;
  }
}

.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.alumni {
  font-family: "Alumni Sans Pinstripe", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

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

	レイアウト
	_rayout.scss

===============================================================*/
.full_width {
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 800px) {
  .full_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.max_width {
  max-width: 1900px;
  padding-left: 50px;
  padding-right: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .max_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.large_width {
  max-width: 1500px;
  padding-left: 50px;
  padding-right: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .large_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.wide_width {
  max-width: 1300px;
  padding-left: 50px;
  padding-right: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .wide_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.content_width {
  max-width: 1130px;
  padding-left: 50px;
  padding-right: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .content_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.narrow_width {
  max-width: 800px;
  padding-left: 50px;
  padding-right: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .narrow_width {
    padding-left: 0;
    padding-right: 0;
  }
}

.absolute_full_width {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.btn_width {
  max-width: 430px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .btn_width {
    max-width: inherit;
  }
}

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

	seciton
	headlineとcontentなど、複数の要素、機能を取りまとめるコンテナ的な親要素。
	幅はsection_innerに記述する

===============================================================*/
.section_wrp {
  color: #fff;
}

.section {
  width: 100%;
}

.section_inner {
  margin: 0 auto;
  padding-top: 150px;
  padding-bottom: 150px;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 800px) {
  .section_inner {
    padding-top: 15vw;
    padding-bottom: 15vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.section_inner_pt0 {
  padding-top: 0;
}
@media screen and (max-width: 800px) {
  .section_inner_pt0 {
    padding-top: 0;
  }
}

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

	content 
	個別のコンテンツ

===============================================================*/
.content + .content {
  margin-top: 100px;
}

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

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

.content .content + *,
.content * + .content {
  margin-top: 70px;
}

.content_title + .content {
  margin-top: 0;
}

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

.content_mt100_pt50 {
  margin-top: 100px !important;
  padding-top: 50px !important;
}

.content_mt50_pt50 {
  margin-top: 50px !important;
  padding-top: 50px !important;
}

@media screen and (max-width: 1030px) {
  .content {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 800px) {
  .content + .content {
    margin-top: 12vw;
  }
  .content + .headline {
    margin-top: 12vw;
  }
  .headline + .content {
    margin-top: 10vw;
  }
  .content .content + *,
  .content * + .content {
    margin-top: 9.6vw;
  }
  .content_title + .content {
    margin-top: 0;
  }
  .content_mt150 {
    margin-top: 12vw !important;
  }
  .content_mt100_pt50 {
    margin-top: 6vw !important;
    padding-top: 6vw !important;
  }
  .content_mt50_pt50 {
    margin-top: 6vw !important;
    padding-top: 6vw !important;
  }
}
/*===============================================================
	_grid.scss
===============================================================*/
.grid_wrp {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -40px;
  box-sizing: border-box;
}
.grid_wrp .grid {
  box-sizing: border-box;
  margin-top: 40px;
}
.grid_wrp .grid .grid_wrp {
  margin-top: -20px;
}
.grid_wrp .grid .grid {
  margin-top: 20px;
}
.grid_wrp .grid_1_1 {
  width: 100%;
}
.grid_wrp .grid_2_1 {
  width: calc((100% - 40px) / 2);
}
.grid_wrp .grid_3_1 {
  width: calc((100% - 40px * 2) / 3); /* 40px * 2 = 80px */
}
.grid_wrp .grid_3_2 {
  width: calc(100% - (100% - 40px * 2) / 3 - 40px);
}
.grid_wrp .grid_4_1 {
  width: calc((100% - 40px * 3) / 4); /* 40px * 3 = 120px */
}
.grid_wrp .grid_5_1 {
  width: calc((100% - 40px * 2) / 5); /* 20px * 4 = 80px */
}
.grid_wrp .grid_6_1 {
  width: calc((100% - 40px * 5) / 6); /* 50px * 5 = 100px */
}
.grid_wrp.grid_wrp3:after, .grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before, .grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {
  content: "";
  display: block;
  height: 0;
  order: 1;
}
.grid_wrp.grid_wrp3:after {
  width: calc((100% - 40px * 2) / 3);
}
.grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before {
  width: calc((100% - 40px * 3) / 4);
}
.grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {
  width: calc((100% - 40px * 2) / 5);
}
@media screen and (max-width: 800px) {
  .grid_wrp {
    margin-top: -5vw;
  }
  .grid_wrp .grid {
    margin-top: 5vw;
  }
  .grid_wrp .grid .grid_wrp {
    margin-top: -3vw;
  }
  .grid_wrp .grid .grid {
    margin-top: 3vw;
  }
  .grid_wrp .grid_1_1 {
    width: 100%;
  }
  .grid_wrp .grid_2_1 {
    width: 100%;
  }
  .grid_wrp .grid_3_1 {
    width: calc((100% - 5vw) / 2);
  }
  .grid_wrp .grid_3_2 {
    width: 100%;
  }
  .grid_wrp .grid_4_1 {
    width: calc((100% - 5vw) / 2);
  }
  .grid_wrp .grid_5_1 {
    width: calc((100% - 5vw) / 2);
  }
  .grid_wrp .grid_6_1 {
    width: calc((100% - 10vw) / 3);
  }
  .grid_wrp.grid_wrp3:after {
    width: calc((100% - 80px) / 3);
  }
  .grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before {
    width: calc((100% - 120px) / 4);
  }
  .grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {
    width: calc((100% - 80px) / 5);
  }
  .grid_wrp .sp_grid_1 {
    width: 100% !important;
  }
}

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

	thiscontents_nav

===============================================================*/
.thiscontents_nav {
  position: relative;
  z-index: 10;
  width: 100%;
  /*-------------------------------------------------------------
  	navigation	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	// thiscontents_nav	ここまで
  -------------------------------------------------------------*/
}
.thiscontents_nav .navigation_wrp {
  width: 100%;
  text-align: left;
  top: 0;
  left: 0;
  height: 60px;
  background: #12142f;
  z-index: 999;
  padding: 0 10px;
}
@media screen and (max-width: 1030px) {
  .thiscontents_nav {
    display: none;
  }
}
.thiscontents_nav .navigation {
  max-width: 1400px;
  position: relative;
  margin: 0 auto;
}
.thiscontents_nav .navigation ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  height: 60px;
}
.thiscontents_nav .navigation li {
  line-height: 1;
  font-size: 16px;
  font-weight: 700;
}
.thiscontents_nav .navigation li a {
  color: #fff;
  text-decoration: none;
}
.thiscontents_nav .navigation li a:hover {
  text-shadow: 0 0 4px #E83416;
}
.thiscontents_nav .navigation .localnav li {
  margin-top: 0;
  padding-left: 25px;
  margin-right: 25px;
  border-left: solid 1px #fff;
}
.thiscontents_nav .navigation .localnav li:first-child {
  padding-left: 0;
  border-left: 0;
}
.thiscontents_nav .navigation .btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 280px;
}
.thiscontents_nav .navigation .btn a {
  overflow: hidden;
  position: relative;
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  padding: 15px 0;
  background: linear-gradient(to right, #F53A26, #0963F9);
  border-radius: 0 0 10px 10px;
}
.thiscontents_nav .navigation .btn a span {
  position: relative;
}
.thiscontents_nav .navigation .btn a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, #F53A26, #0963F9);
  opacity: 0;
  transition: 0.4s;
}
.thiscontents_nav .navigation .btn a:hover:before {
  opacity: 1;
}
.thiscontents_nav .navigation .btn br {
  display: none;
}
@media screen and (max-width: 1400px) {
  .thiscontents_nav .navigation li {
    font-size: 1.25vw;
  }
  .thiscontents_nav .navigation .nav li {
    padding-left: 1vw;
    margin-right: 1vw;
  }
  .thiscontents_nav .navigation .btn {
    right: -10px;
    width: 160px;
  }
  .thiscontents_nav .navigation .btn a {
    padding: 11px 0;
    border-radius: 0;
  }
  .thiscontents_nav .navigation .btn br {
    display: block;
  }
}
/*===============================================================

	sp_menu

===============================================================*/
.sp_menu {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  /*-------------------------------------------------------------
  	menubtn
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	menu
  -------------------------------------------------------------*/
}
@media screen and (max-width: 1030px) {
  .sp_menu .menubtn {
    position: absolute;
    top: 60px;
    right: 10px;
    z-index: 300;
    line-height: 0;
    width: 50px;
    height: 50px;
    /*transition: right 0.2s;*/
    transition: opacity 0.2s;
    pointer-events: none;
    opacity: 0;
  }
  .sp_menu .menubtn.show {
    right: 10px;
    pointer-events: auto;
    opacity: 1;
  }
  .sp_menu.fixed .menubtn {
    top: 10px;
  }
  .sp_menu .menubtn a {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    color: #fff;
    font-size: 14px;
    line-height: 50px;
    text-decoration: none;
    background: #E83416;
    border-radius: 50%;
  }
  .sp_menu .menubtn a.active {
    background: none;
  }
  .sp_menu .menubtn a.active:after {
    content: "CLOSE";
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    text-align: center;
  }
  .sp_menu .menu-trigger,
  .sp_menu .menu-trigger span {
    display: inline-block;
    transition: 0.2s;
    box-sizing: border-box;
  }
  .sp_menu .menu-trigger {
    position: relative;
    width: 30px;
    height: 20px;
  }
  .sp_menu .menu-trigger span {
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #fff;
  }
  .sp_menu .menu-trigger span:nth-of-type(1) {
    top: 20px;
  }
  .sp_menu .menu-trigger span:nth-of-type(2) {
    bottom: 20px;
  }
  .sp_menu .menu-trigger.active span {
    width: 32px;
  }
  .sp_menu .menu-trigger.active span:nth-of-type(1) {
    transform: translate(-3px, 4px) rotate(-45deg);
  }
  .sp_menu .menu-trigger.active span:nth-of-type(2) {
    transform: translate(-3px, -4px) rotate(45deg);
  }
}
@media screen and (max-width: 800px) {
  .sp_menu .menubtn {
    width: 12vw;
    height: 12vw;
    /*right: calc(-11vw - 10px);*/
    /* pointer-events: none;
    opacity: 0;
    &.show {
      right: 10px;
      pointer-events: auto;
      opacity: 1;
    } */
  }
  .sp_menu .menubtn a {
    width: 12vw;
    height: 12vw;
    line-height: 12vw;
  }
  .sp_menu .menubtn a.active:after {
    bottom: -2vw;
    font-size: 3vw;
  }
  .sp_menu.active .menubtn {
    right: 10px;
  }
  .sp_menu .menu-trigger span {
    left: 3vw;
    width: 6vw;
    height: 2px;
  }
  .sp_menu .menu-trigger span:nth-of-type(1) {
    top: 4.4vw;
  }
  .sp_menu .menu-trigger span:nth-of-type(2) {
    bottom: 4.4vw;
  }
  .sp_menu .menu-trigger.active span {
    width: 8vw;
  }
  .sp_menu .menu-trigger.active span:nth-of-type(1) {
    transform: translate(-1vw, 1.3vw) rotate(-45deg);
  }
  .sp_menu .menu-trigger.active span:nth-of-type(2) {
    transform: translate(-1vw, -1.3vw) rotate(45deg);
  }
}
@media screen and (max-width: 1030px) {
  .sp_menu .menu {
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .sp_menu .menu.active {
    pointer-events: auto;
    opacity: 1;
  }
  .sp_menu .menu .menu_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /*height: 100dvh;*/
    background: linear-gradient(to bottom, #1322B9, #3A1648);
  }
  .sp_menu .menu .menu_nav {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 50px);
    height: calc(100dvh - 50px);
    /*background: $c_main;*/
    overflow-y: scroll;
  }
  .sp_menu .menu .menu_nav .menu_other {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /*height: 100dvh;*/
  }
  .sp_menu .menu .menu_nav .inner {
    position: relative;
    z-index: 10;
    width: 80%;
    margin: 0 auto;
    margin-top: 60px;
    overflow: hidden;
  }
  .sp_menu .menu .logo {
    width: 200px;
    margin-left: -10px;
  }
  .sp_menu .menu .localnav {
    margin-top: 30px;
  }
  .sp_menu .menu .localnav li {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    border-top: 1px solid #B7B7B7;
  }
  .sp_menu .menu .localnav li a {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 25px 0;
    box-sizing: border-box;
  }
  .sp_menu .menu .localnav li a:hover {
    text-shadow: 0 0 4px #E83416;
  }
  .sp_menu .menu .localnav li a:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    left: auto;
    right: 20px;
    margin: auto;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
  }
  .sp_menu .menu .localnav li:last-child {
    border-bottom: 1px solid #B7B7B7;
  }
  .sp_menu .menu .localnav .btn {
    width: 400px;
    margin: 0 auto;
    margin-top: 60px;
  }
  .sp_menu .menu .localnav .btn a {
    position: relative;
    overflow: hidden;
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    padding: 20px 0;
    background: linear-gradient(to right, #F53A26, #0963F9);
    border-radius: 30px;
  }
  .sp_menu .menu .localnav .btn a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #D9D9D9;
    border-radius: 30px;
    mix-blend-mode: multiply;
    opacity: 0;
    transition: 0.2s;
  }
  .sp_menu .menu .localnav .btn a:hover:before {
    opacity: 1;
  }
  .sp_menu .menu .localnav .btn a:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    left: auto;
    right: 20px;
    margin: auto;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
  }
  .sp_menu .menu .localnav .btn br {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  .sp_menu .menu .menu_nav .inner {
    width: 100%;
    margin-top: 0;
    padding: 3vw 0 30vw;
  }
  .sp_menu .menu .logo {
    width: 45vw;
    padding-left: 3vw;
  }
  .sp_menu .menu .localnav {
    margin-top: 4vw;
  }
  .sp_menu .menu .localnav li {
    font-size: 4.5vw;
    text-align: left;
  }
  .sp_menu .menu .localnav li a {
    padding: 5vw;
  }
  .sp_menu .menu .localnav li a:hover {
    text-shadow: 0 0 1vw #E83416;
  }
  .sp_menu .menu .localnav li a:after {
    width: 2vw;
    height: 2vw;
    right: 5vw;
  }
  .sp_menu .menu .localnav .btn {
    width: 70%;
    margin-top: 6vw;
  }
  .sp_menu .menu .localnav .btn a {
    font-size: 4.5vw;
    padding: 5vw 0;
    border-radius: 7.25vw;
  }
  .sp_menu .menu .localnav .btn a:before {
    display: none;
  }
  .sp_menu .menu .localnav .btn a:after {
    content: "";
    position: absolute;
    width: 2vw;
    height: 2vw;
    right: 4vw;
  }
  .sp_menu .menu .localnav .btn br {
    display: none;
  }
}

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

	_headline.scss 2021/9/24

===============================================================*/
/*-------------------------------------------------------------
	block	
-------------------------------------------------------------*/
.block + .block_title {
  margin-top: 70px;
}
.block + .block {
  margin-top: 70px;
}
.block + .block_mt100 {
  margin-top: 100px;
}
.block p + p {
  margin-top: 1em;
}
@media screen and (max-width: 800px) {
  .block + .block_title {
    margin-top: 6vw;
  }
  .block + .block {
    margin-top: 9.96vw;
  }
  .block + .block_mt100 {
    margin-top: 12vw;
  }
}

/*-------------------------------------------------------------
	marker_anime	
-------------------------------------------------------------*/
@keyframes marker_anime {
  0% {
    background-size: 0% 100%;
  }
  100% {
    background-size: 100% 100%;
  }
}
/*-------------------------------------------------------------
	headline	
-------------------------------------------------------------*/
.headline {
  margin: 0 calc(50% - 50vw) 0;
}
.headline .title {
  font-size: 58px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  /* .marker {
    display: inline-block;
    line-height: 1;
    padding: 5px 10px;
    margin-inline: 10px;
    background: $c_main;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1s;
    //animation: marker_anime 1s ease 0s forwards;
  }
  .marker_telasa {
    background: $c_telasa;
  }
  .marker_paramount {
    background: $c_paramount;
  }
  .marker_gra1_tr {
    background: $c_gra1_tr;
  }
  .marker_gra2_tr {
    background: $c_gra2_tr;
  }
  .marker_show {
    background-size: 100% 100%;
  } */
}
.headline .title .l {
  font-size: 150%;
}
.headline .title .s {
  display: block;
  font-size: 45px;
}
.headline .title .ss {
  font-size: 34px;
}
.headline .title sup {
  font-size: 14px;
}
.content * + .headline {
  margin-top: 100px;
}
@media screen and (max-width: 800px) {
  .headline {
    margin: 0 calc(50% - 50vw) 0;
  }
  .headline .title {
    font-size: 7vw;
    /* .marker {
      padding: 1vw 2vw;
      margin-inline: 1vw;
    } */
  }
  .headline .title .s {
    font-size: 4vw;
  }
  .headline .title sup {
    font-size: 3vw;
  }
  .content * + .headline {
    margin-top: 12vw;
  }
}

/*-------------------------------------------------------------
  line_head	
-------------------------------------------------------------*/
.line_head {
  margin: 0 calc(50% - 50vw) 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: min(40px, 4vw);
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}
.line_head:before {
  content: "";
  width: 50px;
  height: 22px;
  background: url(../images/line_head_l.svg) no-repeat center/contain;
}
.line_head:after {
  content: "";
  width: 50px;
  height: 22px;
  background: url(../images/line_head_r.svg) no-repeat center/contain;
}
@media screen and (max-width: 800px) {
  .line_head {
    gap: 1vw;
    font-size: 6vw;
  }
  .line_head:before {
    width: 5vw;
    height: 2.2vw;
  }
  .line_head:after {
    width: 5vw;
    height: 2.2vw;
  }
}

/*-------------------------------------------------------------
  l_head	
-------------------------------------------------------------*/
.l_head {
  font-size: 58px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .l_head {
    font-size: 7vw;
  }
}

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

	btn_detail

===============================================================*/
.btn_detail {
  width: 430px;
  margin: 0 auto;
}
* + .btn_detail {
  margin-top: 40px;
}
.btn_detail a {
  overflow: hidden;
  position: relative;
  display: block;
  background: linear-gradient(to right, #F53A26, #0963F9);
  color: #fff;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  padding: 20px 0;
  border-radius: 35px;
}
.btn_detail a span {
  position: relative;
}
.btn_detail a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, #F53A26, #0963F9);
  opacity: 0;
  transition: 0.4s;
}
.btn_detail a:hover:before {
  opacity: 1;
}
.btn_detail a:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 30px;
  margin: auto;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
.btn_left {
  margin-left: 0;
}

@media screen and (max-width: 800px) {
  .btn_detail {
    width: 65vw;
    margin: 0 auto;
  }
  * + .btn_detail {
    margin-top: 4vw;
  }
  .btn_detail a {
    font-size: 4vw;
    padding: 4vw 0;
    border-radius: 7.5vw;
  }
  .btn_detail a:after {
    width: 1.5vw;
    height: 1.5vw;
    right: 5vw;
  }
  .btn_left {
    margin-left: 0;
  }
}
/*===============================================================

  btn_2lines

===============================================================*/
.btn_2lines {
  width: 410px;
  margin: 0 auto;
}
* + .btn_2lines {
  margin-top: 40px;
}
.btn_2lines a {
  position: relative;
  display: block;
  background: #1B1C26;
  color: #fff;
  text-decoration: none;
  padding: 20px 0;
  background: linear-gradient(to right, #E83416, #FFD5CE);
  border-radius: 50px;
}
.btn_2lines a .txt {
  position: relative;
  display: block;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}
.btn_2lines a .s {
  display: block;
  font-size: 21px;
  font-weight: 500;
  padding-bottom: 5px;
}
.btn_2lines a:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background: #1B1C26;
  border-radius: 48px;
}
.btn_2lines a:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 30px;
  margin: auto;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
.btn_2lines a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 800px) {
  .btn_2lines {
    width: 65vw;
    margin: 0 auto;
  }
  * + .btn_2lines {
    margin-top: 4vw;
  }
  .btn_2lines a {
    padding: 4vw 0;
    border-radius: calc(8.7vw + 2px);
  }
  .btn_2lines a .txt {
    font-size: 4vw;
  }
  .btn_2lines a .s {
    font-size: 3vw;
    padding-bottom: 1vw;
  }
  .btn_2lines a:before {
    border-radius: calc(8.7vw + 4px);
  }
  .btn_2lines a:after {
    width: 1.5vw;
    height: 1.5vw;
    right: 5vw;
  }
}
/*===============================================================

  btn_two

===============================================================*/
.btn_two {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.btn_two .btn_2lines {
  margin: 0;
}
.btn_two .btn_2lines + .btn_2lines {
  margin-top: 0;
}
@media screen and (max-width: 800px) {
  .btn_two {
    display: block;
    gap: 0;
  }
  .btn_two .btn_2lines {
    margin: 0 auto;
  }
  .btn_two .btn_2lines + .btn_2lines {
    margin-top: 4vw;
  }
}

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

	PAGETOP

===============================================================*/
#btn_pagetop {
  width: 100%;
  overflow: hidden;
}

#btn_pagetop a {
  display: block;
  position: fixed;
  right: -300px;
  top: initial !important;
  bottom: 100px;
  width: 50px;
  height: 50px;
  color: #fff;
  background-color: #d2191a;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  z-index: 10;
  border-radius: 30px;
}

#btn_pagetop a:hover {
  background-color: #c00;
}

#btn_pagetop a:after {
  position: absolute;
  content: " ";
  width: 14px;
  height: 14px;
  top: 20px;
  left: 0;
  right: 0;
  bottom: auto;
  margin: auto;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 800px) {
  #btn_pagetop a {
    bottom: calc(14vw + 10px);
    width: 40px;
    height: 40px;
  }
  #btn_pagetop a:after {
    width: 12px;
    height: 12px;
    top: 17px;
    left: 0;
    right: 0;
    bottom: auto;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
  }
}
/*===============================================================

   FUNJ ヘッダ、フッター　対応用

===============================================================*/
.spNavigation_menus {
  display: none;
}

.fixedHeader {
  display: none;
}

/*-------------------------------------------------------------
    リンク色
-------------------------------------------------------------*/
.l-header .p-gnav a:hover {
  color: #E93817;
}

.p-footer a:hover,
.gnavContent_body .channel a:hover,
.gnavContent_body .genre a:hover,
.l-header .popup a:hover,
.l-header .p-gnav .p-gnav_item-program a:hover {
  color: #333;
}

/*-------------------------------------------------------------
    ナビ追従時の位置調整
-------------------------------------------------------------*/
.navigation_wrp.fixed {
  top: 0;
  z-index: 99;
}

@media screen and (max-width: 1030px) {
  .sp_menu {
    top: 80px;
    z-index: 1000;
  }
  .sp_menu.fixed {
    top: 0;
  }
}
@media screen and (max-width: 800px) {
  .sp_menu {
    top: 24vw;
  }
  .sp_menu.fixed {
    top: 0;
  }
}
/*===============================================================

	_utils.scss 2021/9/24

===============================================================*/
.align_center {
  text-align: center;
}

.align_right {
  text-align: right;
}

.align_left {
  text-align: left;
}

@media screen and (max-width: 800px) {
  .sp_align_center {
    text-align: center !important;
  }
  .sp_align_right {
    text-align: right !important;
  }
  .sp_align_left {
    text-align: left !important;
  }
}
/* for SP  */
/*===============================================================

	フロート関係

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

.clearboth {
  clear: both;
}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

.flol {
  float: left;
}

.flor {
  float: right;
}

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

	fixed

===============================================================*/
.fixed {
  position: fixed;
  top: 0;
}
@media screen and (max-width: 1030px) {
  .fixed {
    position: fixed;
    top: 0;
  }
}

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

	PC/SP/TABLET

===============================================================*/
.sp {
  display: none;
}

.pc {
  display: block;
}

.tablet {
  display: none;
}

.sp {
  display: none;
}

.sp_tablet {
  display: none;
}

.none {
  display: none !important;
}

@media screen and (max-width: 1030px) {
  .pc {
    display: none;
  }
  .tablet,
  .pc_tablet,
  .sp_tablet {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .sp {
    display: block;
  }
  .pc_tablet,
  .tablet {
    display: none;
  }
}
/*===============================================================

	img fig

===============================================================*/
.fig img,
.fitimg img,
.photo img {
  width: 100%;
  height: auto;
}

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

.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

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

	マージン

===============================================================*/
.mt0 {
  margin-top: 0px !important;
}

.mt05 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb05 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

@media screen and (max-width: 1030px) {
  .mt0 {
    margin-top: 0px !important;
  }
  .mt05 {
    margin-top: 0.47vw;
  }
  .mt10 {
    margin-top: 0.93vw;
  }
  .mt15 {
    margin-top: 1.4vw;
  }
  .mt20 {
    margin-top: 1.87vw;
  }
  .mt25 {
    margin-top: 2.34vw;
  }
  .mt30 {
    margin-top: 2.8vw;
  }
  .mt40 {
    margin-top: 3.74vw;
  }
  .mt50 {
    margin-top: 4.67vw;
  }
  .mt60 {
    margin-top: 5.61vw;
  }
  .mt70 {
    margin-top: 6.54vw;
  }
  .mt80 {
    margin-top: 7.48vw;
  }
  .mt90 {
    margin-top: 8.41vw;
  }
  .mt100 {
    margin-top: 9.35vw;
  }
  .mb05 {
    margin-bottom: 0.47vw;
  }
  .mb10 {
    margin-bottom: 0.93vw;
  }
  .mb15 {
    margin-bottom: 1.4vw;
  }
  .mb20 {
    margin-bottom: 1.87vw;
  }
  .mb25 {
    margin-bottom: 2.34vw;
  }
  .mb30 {
    margin-bottom: 2.8vw;
  }
  .mb40 {
    margin-bottom: 3.74vw;
  }
  .mb50 {
    margin-bottom: 4.67vw;
  }
}
@media screen and (max-width: 800px) {
  .mt0 {
    margin-top: 0px !important;
  }
  .mt05 {
    margin-top: 0.63vw;
  }
  .mt10 {
    margin-top: 1.25vw;
  }
  .mt15 {
    margin-top: 1.88vw;
  }
  .mt20 {
    margin-top: 2.5vw;
  }
  .mt25 {
    margin-top: 3.13vw;
  }
  .mt30 {
    margin-top: 3.75vw;
  }
  .mt40 {
    margin-top: 5vw;
  }
  .mt50 {
    margin-top: 6.25vw;
  }
  .mt60 {
    margin-top: 7.5vw;
  }
  .mt70 {
    margin-top: 8.75vw;
  }
  .mt80 {
    margin-top: 10vw;
  }
  .mt90 {
    margin-top: 11.25vw;
  }
  .mt100 {
    margin-top: 12.5vw;
  }
  .mb05 {
    margin-bottom: 0.63vw;
  }
  .mb10 {
    margin-bottom: 1.25vw;
  }
  .mb15 {
    margin-bottom: 1.88vw;
  }
  .mb20 {
    margin-bottom: 2.5vw;
  }
  .mb25 {
    margin-bottom: 3.13vw;
  }
  .mb30 {
    margin-bottom: 3.75vw;
  }
  .mb40 {
    margin-bottom: 5vw;
  }
  .mb50 {
    margin-bottom: 6.25vw;
  }
}
/*===============================================================

	fixed

===============================================================*/
.fixed {
  position: fixed;
  top: 0;
}

.bg_fixed {
  background-attachment: fixed;
}

@media screen and (max-width: 1030px) {
  .fixed {
    position: fixed;
    top: 0;
  }
}
/*===============================================================

	フォーム

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

    txtlink

===============================================================*/
.txtlink {
  /*===============================================================
      //	txtlink
  ===============================================================*/
}
.txtlink a {
  padding-left: 15px;
  color: #333;
  text-decoration: none;
  position: relative;
  display: inline-block;
}
.txtlink a:hover {
  color: #c00;
}
.txtlink a:after {
  position: absolute;
  content: " ";
  width: 6px;
  height: 6px;
  top: 7px;
  bottom: auto;
  left: 0;
  right: auto;
  margin: auto;
  border-top: solid 2px #c00;
  border-left: solid 2px #c00;
  transform: rotate(135deg);
}
@media screen and (max-width: 800px) {
  .txtlink a {
    padding-left: 4vw;
  }
  .txtlink a:after {
    width: 1.5vw;
    height: 1.5vw;
    top: 1vw;
    bottom: auto;
    left: 0;
    right: auto;
  }
}

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

	thiscontents

===============================================================*/
.thiscontents {
  color: #fff;
  background: #12142f;
  width: 100%;
}
.thiscontents:has(.navigation_wrp.fixed) {
  padding-top: 60px;
}
.thiscontents * {
  box-sizing: border-box;
}
.thiscontents img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  padding: 0;
  margin: 0;
  pointer-events: none;
  -webkit-touch-callout: none;
}
.thiscontents .none {
  display: none;
}
.thiscontents h1, .thiscontents h2, .thiscontents h3, .thiscontents h4, .thiscontents h5, .thiscontents h6 {
  font-weight: 700;
  line-height: 1.6;
}
.thiscontents p {
  margin: 0;
  padding: 0;
  font-size: 22px;
  line-height: 1.8;
  font-weight: 500;
}
.thiscontents .caption {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  text-align: center;
}
.thiscontents sup {
  margin: 0;
  padding: 0;
  font-size: 11px;
  line-height: 15px;
}
.thiscontents a {
  transition: all 0.3s;
}
@media screen and (max-width: 800px) {
  .thiscontents p {
    font-size: 3.5vw;
    line-height: 1.8;
  }
  .thiscontents .caption {
    font-size: 3vw;
    line-height: 1.6;
  }
  .thiscontents sup {
    font-size: 3vw;
    line-height: 1.2;
  }
}

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

	scroll_in

===============================================================*/
.scroll_in {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.scroll_in.active {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 800px) {
  .scroll_in {
    transform: translateY(25px);
  }
}

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

  corner_line

===============================================================*/
.corner_line {
  position: relative;
}
.corner_line::before {
  content: "";
  position: absolute;
  margin: auto;
  width: 28px;
  height: 28px;
  top: -3px;
  left: -3px;
  border-top: solid 6px #0769d5;
  border-left: solid 6px #0769d5;
  border-image: linear-gradient(to bottom, #0963f9, #742ff6) 1;
}
.corner_line::after {
  content: "";
  position: absolute;
  margin: auto;
  width: 28px;
  height: 28px;
  top: -3px;
  right: -3px;
  border-top: solid 6px #0769d5;
  border-right: solid 6px #0769d5;
  border-image: linear-gradient(to bottom, #0963f9, #742ff6) 1;
}
.corner_line .inner::before {
  content: "";
  position: absolute;
  margin: auto;
  width: 28px;
  height: 28px;
  bottom: -3px;
  left: -3px;
  border-bottom: solid 6px #0769d5;
  border-left: solid 6px #0769d5;
  border-image: linear-gradient(to top, #0963f9, #742ff6) 1;
}
.corner_line .inner::after {
  content: "";
  position: absolute;
  margin: auto;
  width: 28px;
  height: 28px;
  bottom: -3px;
  right: -3px;
  border-bottom: solid 6px #0769d5;
  border-right: solid 6px #0769d5;
  border-image: linear-gradient(to top, #0963f9, #742ff6) 1;
}
@media screen and (max-width: 800px) {
  .corner_line::before {
    content: "";
    width: 3vw;
    height: 3vw;
    top: -2px;
    left: -2px;
    border-top-width: 4px;
    border-left-width: 4px;
  }
  .corner_line::after {
    width: 3vw;
    height: 3vw;
    top: -2px;
    right: -2px;
    border-top-width: 4px;
    border-right-width: 4px;
  }
  .corner_line .inner {
    padding: 6vw;
  }
  .corner_line .inner::before {
    width: 3vw;
    height: 3vw;
    bottom: -2px;
    left: -2px;
    border-bottom-width: 4px;
    border-left-width: 4px;
  }
  .corner_line .inner::after {
    width: 3vw;
    height: 3vw;
    bottom: -2px;
    right: -2px;
    border-bottom-width: 4px;
    border-right-width: 4px;
  }
}

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

	_marker.scss

===============================================================*/
/*-------------------------------------------------------------
	marker_anime	
-------------------------------------------------------------*/
@keyframes marker_anime {
  0% {
    background-size: 0% 100%;
  }
  100% {
    background-size: 100% 100%;
  }
}
/*-------------------------------------------------------------
	marker	
-------------------------------------------------------------*/
.marker {
  display: inline-block;
  line-height: 1;
  padding: 5px 10px;
  margin-inline: 10px;
  background: #12142f;
}
.marker.marker_telasa {
  background: #EB5505;
  background-repeat: no-repeat;
  background-size: 0% 100%;
}
.marker.marker_paramount {
  background: #0064FF;
  background-repeat: no-repeat;
  background-size: 0% 100%;
}
.marker.marker_gra1_tr {
  background: linear-gradient(to right, #F53A26, #0963F9);
  background-repeat: no-repeat;
  background-size: 0% 100%;
}
.marker.marker_gra2_tr {
  background: linear-gradient(to right, #ec298c, #0a62f8);
  background-repeat: no-repeat;
  background-size: 0% 100%;
}
.marker.marker_gra9_tr {
  background: linear-gradient(to right, #C61C9E, #0963F9);
  background-repeat: no-repeat;
  background-size: 0% 100%;
}
.marker.active {
  background-size: 100% 100%;
  transition: background-size 1s ease 0.2s;
}
@media screen and (max-width: 800px) {
  .marker {
    padding: 1vw 2vw;
    margin-inline: 1vw;
  }
}

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

  cta_wrp（トップのやつ）

===============================================================*/
.cta_wrp {
  width: auto;
  max-width: 850px;
  margin: 0 auto;
  color: #fff;
  background: linear-gradient(to right, rgba(101, 71, 161, 0.9), rgba(2, 10, 89, 0.9));
  border: 1px solid #fff;
}
.cta_wrp::before {
  border-image: linear-gradient(to top, #9D09F9, #F53A26) 1;
}
.cta_wrp::after {
  border-image: linear-gradient(to top, #9D09F9, #F53A26) 1;
}
.cta_wrp .inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 40px;
  padding: 40px 0;
}
.cta_wrp .inner::before {
  border-image: linear-gradient(to bottom, #9D09F9, #F53A26) 1;
}
.cta_wrp .inner::after {
  border-image: linear-gradient(to bottom, #9D09F9, #F53A26) 1;
}
.cta_wrp .inner .left {
  width: auto;
}
.cta_wrp .inner .left .head p {
  font-size: 16px;
}
.cta_wrp .inner .left .head .box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.cta_wrp .inner .left .head .list li {
  position: relative;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  padding-left: 20px;
}
.cta_wrp .inner .left .head .list li:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: auto;
  left: 0;
  margin: auto;
  border-top: solid 3px #E83416;
  border-right: solid 3px #E83416;
  transform: rotate(45deg);
}
.cta_wrp .inner .left .head .list li + li {
  margin-top: 20px;
}
.cta_wrp .inner .left .head .price {
  font-size: 38px;
  line-height: 1;
}
.cta_wrp .inner .left .head .price .num {
  display: inline-block;
  width: 60px;
  margin-right: 10px;
}
.cta_wrp .inner .right {
  width: auto;
}
.cta_wrp .inner .right .btn_detail {
  width: 370px;
  margin-top: 0;
}
.cta_wrp .inner .right .btn_detail a {
  font-size: 28px;
  border-radius: 41px;
}
.cta_wrp .inner .right .caption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 10px;
}
.cta_wrp .inner .right .caption a {
  text-decoration: underline;
}
.cta_wrp .inner .right .caption a:hover {
  text-decoration: none;
}
.cta_wrp .inner .bottom {
  margin-top: 30px;
}
.cta_wrp .inner .bottom .lead {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}
.cta_wrp .inner .bottom .lead:before {
  content: "";
  width: 110px;
  height: 1px;
  background: linear-gradient(to right, transparent, #fff);
  transform: translateY(-10px);
}
.cta_wrp .inner .bottom .lead:after {
  content: "";
  width: 110px;
  height: 1px;
  background: linear-gradient(to right, #fff, transparent);
  transform: translateY(-10px);
}
.cta_wrp .inner .bottom .price_box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.cta_wrp .inner .bottom .price_box .item {
  width: 250px;
  text-align: center;
}
.cta_wrp .inner .bottom .price_box .item .tag {
  width: 100%;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  background: #12142f;
  padding: 10px 0;
}
.cta_wrp .inner .bottom .price_box .item .price {
  font-size: 14px;
  line-height: 1;
  margin-top: 10px;
}
.cta_wrp .inner .bottom .price_box .item .price .l {
  font-size: 30px;
}
.cta_wrp .inner .bottom .price_box .item_s .tag {
  background: #1977ff;
}
.cta_wrp .inner .bottom .price_box .item_ss .tag {
  background: #E83416;
}
.cta_wrp .inner .bottom p {
  font-size: 15px;
  text-align: center;
  margin-top: 20px;
}
.cta_wrp .inner .bottom .caption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 0;
}
.cta_wrp .inner .bottom .caption a {
  text-decoration: underline;
}
.cta_wrp .inner .bottom .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1030px) {
  .cta_wrp .inner {
    gap: 0 20px;
  }
  .cta_wrp .inner .bottom .lead:before {
    width: 10vw;
  }
  .cta_wrp .inner .bottom .lead:after {
    width: 10vw;
  }
}
@media screen and (max-width: 800px) {
  .cta_wrp .inner {
    justify-content: center;
    padding: 5vw;
    gap: 0;
  }
  .cta_wrp .inner .left {
    width: auto;
  }
  .cta_wrp .inner .left .head p {
    font-size: 3.5vw;
  }
  .cta_wrp .inner .left .head .box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 2vw;
    margin-top: -6vw;
  }
  .cta_wrp .inner .left .head .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1vw;
    transform: translateY(-1vw);
  }
  .cta_wrp .inner .left .head .list li {
    font-size: 3.8vw;
    padding-left: 2.5vw;
  }
  .cta_wrp .inner .left .head .list li:after {
    width: 1vw;
    height: 1vw;
    border-top: solid 2px #E83416;
    border-right: solid 2px #E83416;
  }
  .cta_wrp .inner .left .head .list li + li {
    margin-top: 0;
  }
  .cta_wrp .inner .left .head .price {
    font-size: 6vw;
    line-height: 1;
  }
  .cta_wrp .inner .left .head .price .num {
    width: 9vw;
    margin-right: 1vw;
  }
  .cta_wrp .inner .right {
    width: 100%;
  }
  .cta_wrp .inner .right .btn_detail {
    width: 80%;
    margin-top: 4vw;
  }
  .cta_wrp .inner .right .btn_detail a {
    font-size: 4vw;
    border-radius: 7.5vw;
  }
  .cta_wrp .inner .right .caption {
    font-size: 2.5vw;
    margin-top: 2vw;
  }
  .cta_wrp .inner .bottom {
    width: 100%;
    margin-top: 4vw;
  }
  .cta_wrp .inner .bottom .lead {
    font-size: 2.5vw;
    gap: 1vw;
  }
  .cta_wrp .inner .bottom .lead:before {
    width: 10vw;
    transform: translateY(-2vw);
  }
  .cta_wrp .inner .bottom .lead:after {
    width: 10vw;
    transform: translateY(-2vw);
  }
  .cta_wrp .inner .bottom .price_box {
    gap: 2vw;
    margin-top: 2vw;
  }
  .cta_wrp .inner .bottom .price_box .item {
    width: calc((100% - 2vw) / 2);
    text-align: center;
  }
  .cta_wrp .inner .bottom .price_box .item .tag {
    width: 100%;
    font-size: 2.5vw;
    padding: 1vw 0;
  }
  .cta_wrp .inner .bottom .price_box .item .price {
    font-size: 2.5vw;
    text-align: center;
    margin-top: 1vw;
  }
  .cta_wrp .inner .bottom .price_box .item .price .l {
    font-size: 4.5vw;
  }
  .cta_wrp .inner .bottom p {
    font-size: 2.5vw;
  }
  .cta_wrp .inner .bottom .caption {
    font-size: 2.5vw;
    font-weight: 500;
  }
}

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

  cta_wrp2（アバウトのやつ）

===============================================================*/
.cta_wrp2 {
  width: auto;
  max-width: 850px;
  margin: 0 auto;
  color: #12142f;
  background: linear-gradient(to right, #ECEFFF, #E2D7FF);
}
.cta_wrp2::before {
  border-image: linear-gradient(to bottom, #0963F9, #F52687) 1;
}
.cta_wrp2::after {
  border-image: linear-gradient(to bottom, #0963F9, #F52687) 1;
}
.cta_wrp2 .inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 40px;
  padding: 40px 0;
}
.cta_wrp2 .inner::before {
  border-image: linear-gradient(to top, #0963F9, #F52687) 1;
}
.cta_wrp2 .inner::after {
  border-image: linear-gradient(to top, #0963F9, #F52687) 1;
}
.cta_wrp2 .inner .left {
  width: auto;
}
.cta_wrp2 .inner .left .head p {
  font-size: 16px;
}
.cta_wrp2 .inner .left .head .box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.cta_wrp2 .inner .left .head .list li {
  position: relative;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  padding-left: 20px;
}
.cta_wrp2 .inner .left .head .list li:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: auto;
  left: 0;
  margin: auto;
  border-top: solid 3px #E83416;
  border-right: solid 3px #E83416;
  transform: rotate(45deg);
}
.cta_wrp2 .inner .left .head .list li + li {
  margin-top: 20px;
}
.cta_wrp2 .inner .left .head .price {
  font-size: 38px;
  line-height: 1;
}
.cta_wrp2 .inner .left .head .price .num {
  display: inline-block;
  width: 60px;
  margin-right: 10px;
}
.cta_wrp2 .inner .right {
  width: auto;
}
.cta_wrp2 .inner .right .btn_detail {
  width: 370px;
  margin-top: 0;
}
.cta_wrp2 .inner .right .btn_detail a {
  font-size: 28px;
  border-radius: 41px;
}
.cta_wrp2 .inner .right .caption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 10px;
}
.cta_wrp2 .inner .right .caption a {
  text-decoration: underline;
}
.cta_wrp2 .inner .right .caption a:hover {
  text-decoration: none;
}
.cta_wrp2 .inner .bottom {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 30px;
  padding-top: 30px;
}
.cta_wrp2 .inner .bottom:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, #273EEF 50%, transparent);
}
.cta_wrp2 .inner .bottom p {
  font-size: 19px;
}
.cta_wrp2 .inner .bottom .caption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 0;
}
.cta_wrp2 .inner .bottom .caption a {
  text-decoration: underline;
}
.cta_wrp2 .inner .bottom .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1030px) {
  .cta_wrp2 .inner {
    gap: 0 20px;
  }
}
@media screen and (max-width: 800px) {
  .cta_wrp2 .inner {
    justify-content: center;
    padding: 5vw;
    gap: 0;
  }
  .cta_wrp2 .inner .left {
    width: auto;
  }
  .cta_wrp2 .inner .left .head p {
    font-size: 3.5vw;
  }
  .cta_wrp2 .inner .left .head .box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 2vw;
    margin-top: -6vw;
  }
  .cta_wrp2 .inner .left .head .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1vw;
    transform: translateY(-1vw);
  }
  .cta_wrp2 .inner .left .head .list li {
    font-size: 3.8vw;
    padding-left: 2.5vw;
  }
  .cta_wrp2 .inner .left .head .list li:after {
    width: 1vw;
    height: 1vw;
    border-top: solid 2px #E83416;
    border-right: solid 2px #E83416;
  }
  .cta_wrp2 .inner .left .head .list li + li {
    margin-top: 0;
  }
  .cta_wrp2 .inner .left .head .price {
    font-size: 6vw;
    line-height: 1;
  }
  .cta_wrp2 .inner .left .head .price .num {
    width: 9vw;
    margin-right: 1vw;
  }
  .cta_wrp2 .inner .right {
    width: 100%;
  }
  .cta_wrp2 .inner .right .btn_detail {
    width: 80%;
    margin-top: 4vw;
  }
  .cta_wrp2 .inner .right .btn_detail a {
    font-size: 4vw;
    border-radius: 7.5vw;
  }
  .cta_wrp2 .inner .right .caption {
    font-size: 2.5vw;
    margin-top: 2vw;
  }
  .cta_wrp2 .inner .bottom {
    margin-top: 4vw;
    padding-top: 0;
  }
  .cta_wrp2 .inner .bottom:before {
    display: none;
  }
  .cta_wrp2 .inner .bottom p {
    font-size: 2.5vw;
  }
  .cta_wrp2 .inner .bottom .caption {
    font-size: 2.5vw;
    font-weight: 500;
  }
}

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

  cta_wrp_s

===============================================================*/
.cta_wrp_s {
  color: #12142f;
  background: linear-gradient(to right, #ECEFFF, #E2D7FF);
}
.cta_wrp_s .inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5%;
  padding: 40px 0;
}
.cta_wrp_s .inner .left {
  width: auto;
}
.cta_wrp_s .inner .left .head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 10px;
}
.cta_wrp_s .inner .left .head p {
  font-size: 20px;
}
.cta_wrp_s .inner .left .head .emphasis {
  position: relative;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  padding-left: 20px;
}
.cta_wrp_s .inner .left .head .emphasis:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  left: auto;
  left: 0;
  margin: auto;
  border-top: solid 3px #E83416;
  border-right: solid 3px #E83416;
  transform: rotate(45deg);
}
.cta_wrp_s .inner .left .head .emphasis + .emphasis {
  margin-left: 10px;
}
.cta_wrp_s .inner .left .head .price {
  font-size: 38px;
  line-height: 1;
}
.cta_wrp_s .inner .left .head .price .num {
  display: inline-block;
  width: 60px;
  margin-right: 10px;
}
.cta_wrp_s .inner .left .caption {
  font-size: 14px;
  text-align: left;
}
.cta_wrp_s .inner .right {
  width: auto;
}
.cta_wrp_s .inner .right .btn_detail {
  margin-top: 0;
}
.cta_wrp_s .inner .right .btn_detail a {
  font-size: 28px;
  border-radius: 41px;
}
.cta_wrp_s .inner .caption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 10px;
}
.cta_wrp_s .inner .caption a {
  text-decoration: underline;
}
.cta_wrp_s .inner .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1030px) {
  .cta_wrp_s .inner {
    justify-content: space-between;
    gap: 0;
    padding: 40px 4vw;
  }
  .cta_wrp_s .inner .left {
    width: 54%;
  }
  .cta_wrp_s .inner .left .head {
    gap: 10px;
  }
  .cta_wrp_s .inner .left .head p {
    font-size: 2vw;
  }
  .cta_wrp_s .inner .left .head .emphasis {
    font-size: 2.2vw;
  }
  .cta_wrp_s .inner .left .head .emphasis + .emphasis {
    margin-left: 1vw;
  }
  .cta_wrp_s .inner .left .head .price {
    font-size: 3.8vw;
  }
  .cta_wrp_s .inner .left .head .price .num {
    width: 6vw;
  }
  .cta_wrp_s .inner .right {
    width: 44%;
  }
  .cta_wrp_s .inner .right .btn_detail {
    width: 100%;
  }
  .cta_wrp_s .inner .right .btn_detail a {
    font-size: 20px;
    border-radius: 4.1vw;
  }
}
@media screen and (max-width: 800px) {
  .cta_wrp_s .inner {
    justify-content: center;
    padding: 5vw;
  }
  .cta_wrp_s .inner .left {
    display: contents;
    width: 100%;
  }
  .cta_wrp_s .inner .left .head {
    justify-content: center;
    gap: 2vw;
  }
  .cta_wrp_s .inner .left .head p {
    font-size: 3.5vw;
  }
  .cta_wrp_s .inner .left .head .emphasis {
    font-size: 3.8vw;
    padding-left: 2.5vw;
  }
  .cta_wrp_s .inner .left .head .emphasis:after {
    width: 1vw;
    height: 1vw;
    border-top: solid 2px #E83416;
    border-right: solid 2px #E83416;
  }
  .cta_wrp_s .inner .left .head .emphasis + .emphasis {
    margin-left: 1vw;
  }
  .cta_wrp_s .inner .left .head .price {
    font-size: 6vw;
  }
  .cta_wrp_s .inner .left .head .price .num {
    width: 9vw;
    margin-right: 1vw;
  }
  .cta_wrp_s .inner .left .caption {
    order: 4;
    font-size: 2.5vw;
    text-align: center;
    margin-top: 4vw;
  }
  .cta_wrp_s .inner .right {
    display: contents;
    width: 100%;
  }
  .cta_wrp_s .inner .right .btn_detail {
    width: 80%;
    margin-top: 4vw;
  }
  .cta_wrp_s .inner .right .btn_detail a {
    font-size: 4vw;
    border-radius: 7.5vw;
  }
  .cta_wrp_s .inner .caption {
    font-size: 2.5vw;
    margin-top: 2vw;
  }
}

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

	slick_slider

===============================================================*/
.slick_slider {
  opacity: 0;
  height: 0;
  transition: 0.1s;
  /*-------------------------------------------------------------
  	arw
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	arw_blue
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	arw_blue_deep
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	arw_border_gra
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    dots_wrp	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    dots_wrp_blue	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    dots_wrp_white
  -------------------------------------------------------------*/
}
.slick_slider.slick-initialized {
  opacity: 1;
  height: auto;
}
.slick_slider .slick-track {
  display: flex;
}
.slick_slider .slick-slide {
  height: auto !important;
}
.slick_slider.slick-dotted {
  margin-bottom: 0;
}
.slick_slider .arw, .slick_slider .arw_border_gra, .slick_slider .arw_blue_deep, .slick_slider .arw_blue {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
  transition: 0.3s;
  cursor: pointer;
}
.slick_slider .arw:hover, .slick_slider .arw_border_gra:hover, .slick_slider .arw_blue_deep:hover, .slick_slider .arw_blue:hover {
  opacity: 0.7;
}
.slick_slider .arw:before, .slick_slider .arw_border_gra:before, .slick_slider .arw_blue_deep:before, .slick_slider .arw_blue:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-sizing: border-box;
  background: #E83416;
}
.slick_slider .arw:after, .slick_slider .arw_border_gra:after, .slick_slider .arw_blue_deep:after, .slick_slider .arw_blue:after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: solid 3px #fff;
  border-left: solid 3px #fff;
  transform: rotate(-45deg) translate(2px, 2px);
}
.slick_slider .arw.arw_prev, .slick_slider .arw_prev.arw_border_gra, .slick_slider .arw_prev.arw_blue_deep, .slick_slider .arw_prev.arw_blue {
  left: -25px;
}
.slick_slider .arw.arw_next, .slick_slider .arw_next.arw_border_gra, .slick_slider .arw_next.arw_blue_deep, .slick_slider .arw_next.arw_blue {
  right: -25px;
}
.slick_slider .arw.arw_next:after, .slick_slider .arw_next.arw_border_gra:after, .slick_slider .arw_next.arw_blue_deep:after, .slick_slider .arw_next.arw_blue:after {
  right: 0;
  transform: rotate(135deg) translate(2px, 2px);
}
@media screen and (max-width: 800px) {
  .slick_slider .arw, .slick_slider .arw_border_gra, .slick_slider .arw_blue_deep, .slick_slider .arw_blue {
    width: 10vw;
    height: 10vw;
  }
  .slick_slider .arw:after, .slick_slider .arw_border_gra:after, .slick_slider .arw_blue_deep:after, .slick_slider .arw_blue:after {
    width: 2vw;
    height: 2vw;
    border-top-width: 2px;
    border-left-width: 2px;
  }
  .slick_slider .arw.arw_prev, .slick_slider .arw_prev.arw_border_gra, .slick_slider .arw_prev.arw_blue_deep, .slick_slider .arw_prev.arw_blue {
    left: -3vw;
  }
  .slick_slider .arw.arw_next, .slick_slider .arw_next.arw_border_gra, .slick_slider .arw_next.arw_blue_deep, .slick_slider .arw_next.arw_blue {
    right: -3vw;
  }
}
.slick_slider .arw_blue:before {
  background: #1977ff;
}
.slick_slider .arw_blue_deep:before {
  background: #08137E;
  border: 2px solid #fff;
}
.slick_slider .arw_border_gra {
  background: linear-gradient(to right, #F53A26, #0963F9);
}
.slick_slider .arw_border_gra:before {
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: #221a3d;
}
.slick_slider .arw_border_gra.arw_prev {
  top: auto;
  bottom: -30px;
  left: 0;
  right: 0;
  transform: translateX(-200px);
}
.slick_slider .arw_border_gra.arw_next {
  top: auto;
  bottom: -30px;
  left: 0;
  right: 0;
  transform: translateX(200px);
}
@media screen and (max-width: 800px) {
  .slick_slider .arw_border_gra.arw_prev {
    top: auto;
    bottom: -4vw;
    transform: translateX(-30vw);
  }
  .slick_slider .arw_border_gra.arw_next {
    top: auto;
    bottom: -4vw;
    transform: translateX(30vw);
  }
}
.slick_slider .dots_wrp, .slick_slider .dots_wrp_white, .slick_slider .dots_wrp_blue {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
}
.slick_slider .dots_wrp li, .slick_slider .dots_wrp_white li, .slick_slider .dots_wrp_blue li {
  width: 12px;
  height: 12px;
  border: 1px solid #E83416;
  border-radius: 50%;
}
.slick_slider .dots_wrp li:hover, .slick_slider .dots_wrp_white li:hover, .slick_slider .dots_wrp_blue li:hover,
.slick_slider .dots_wrp li.slick-active,
.slick_slider .dots_wrp_white li.slick-active,
.slick_slider .dots_wrp_blue li.slick-active {
  background: #E83416;
}
.slick_slider .dots_wrp li button, .slick_slider .dots_wrp_white li button, .slick_slider .dots_wrp_blue li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
@media screen and (max-width: 800px) {
  .slick_slider .dots_wrp, .slick_slider .dots_wrp_white, .slick_slider .dots_wrp_blue {
    gap: 2vw;
    margin-top: 6vw;
  }
  .slick_slider .dots_wrp li, .slick_slider .dots_wrp_white li, .slick_slider .dots_wrp_blue li {
    width: 2vw;
    height: 2vw;
  }
}
.slick_slider .dots_wrp_blue li {
  border: 1px solid #1977ff;
}
.slick_slider .dots_wrp_blue li:hover,
.slick_slider .dots_wrp_blue li.slick-active {
  background: #1977ff;
}
.slick_slider .dots_wrp_white li {
  border: 1px solid #fff;
}
.slick_slider .dots_wrp_white li:hover,
.slick_slider .dots_wrp_white li.slick-active {
  background: #fff;
}
/*-------------------------------------------------------------
		一時停止　/　再生	
-------------------------------------------------------------*/
.btn_pause_and_play, .btn_pause_and_play_white, .btn_pause_and_play_blue {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-indent: -9999px;
  z-index: 5;
  transition: opacity 0.3s;
  height: 40px;
  width: 40px;
}
.btn_pause_and_play a, .btn_pause_and_play_white a, .btn_pause_and_play_blue a {
  transition: all 0.2s;
  appearance: none;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  overflow: hidden;
  height: 40px;
  width: 40px;
  position: absolute;
  inset: 0;
  margin: auto;
  background: #E83416;
}
.btn_pause_and_play a:hover, .btn_pause_and_play_white a:hover, .btn_pause_and_play_blue a:hover {
  opacity: 0.7;
}
.btn_pause_and_play a::after, .btn_pause_and_play_white a::after, .btn_pause_and_play_blue a::after, .btn_pause_and_play a::before, .btn_pause_and_play_white a::before, .btn_pause_and_play_blue a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 4px;
  height: 16px;
  background-color: #fff;
  transition: all 0s;
}
.btn_pause_and_play a::after, .btn_pause_and_play_white a::after, .btn_pause_and_play_blue a::after {
  transform: translateX(5px);
}
.btn_pause_and_play a::before, .btn_pause_and_play_white a::before, .btn_pause_and_play_blue a::before {
  transform: translateX(-5px);
}
.btn_pause_and_play.stop a::after, .stop.btn_pause_and_play_white a::after, .stop.btn_pause_and_play_blue a::after, .btn_pause_and_play.stop a::before, .stop.btn_pause_and_play_white a::before, .stop.btn_pause_and_play_blue a::before {
  background-color: transparent;
}
.btn_pause_and_play.stop a::after, .stop.btn_pause_and_play_white a::after, .stop.btn_pause_and_play_blue a::after {
  transition: all 0s;
  transform: rotate(45deg) translate(2px, 0px);
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid #fff;
  border-right: 10px solid transparent;
  transform: translate(6px, 0);
  box-sizing: border-box;
}
.btn_pause_and_play.stop a::before, .stop.btn_pause_and_play_white a::before, .stop.btn_pause_and_play_blue a::before {
  display: none;
}
@media screen and (max-width: 800px) {
  .btn_pause_and_play, .btn_pause_and_play_white, .btn_pause_and_play_blue {
    height: 8vw;
    width: 8vw;
  }
  .btn_pause_and_play a, .btn_pause_and_play_white a, .btn_pause_and_play_blue a {
    height: 8vw;
    width: 8vw;
  }
  .btn_pause_and_play a::after, .btn_pause_and_play_white a::after, .btn_pause_and_play_blue a::after, .btn_pause_and_play a::before, .btn_pause_and_play_white a::before, .btn_pause_and_play_blue a::before {
    width: 1vw;
    height: 3.2vw;
  }
  .btn_pause_and_play a::after, .btn_pause_and_play_white a::after, .btn_pause_and_play_blue a::after {
    transform: translateX(1vw);
  }
  .btn_pause_and_play a::before, .btn_pause_and_play_white a::before, .btn_pause_and_play_blue a::before {
    transform: translateX(-1vw);
  }
  .btn_pause_and_play.stop a::after, .stop.btn_pause_and_play_white a::after, .stop.btn_pause_and_play_blue a::after {
    transform: rotate(45deg) translate(0.5vw, 0px);
    width: 4vw;
    height: 4vw;
    border-top: 2vw solid transparent;
    border-bottom: 2vw solid transparent;
    border-left: 2.5vw solid #fff;
    border-right: 2.5vw solid transparent;
    transform: translate(1.5vw, 0);
  }
  .btn_pause_and_play.stop a::before, .stop.btn_pause_and_play_white a::before, .stop.btn_pause_and_play_blue a::before {
    display: none;
  }
}

/*-------------------------------------------------------------
		一時停止　/　再生（blue）
-------------------------------------------------------------*/
.btn_pause_and_play_blue a {
  background: #1977ff;
}
/*-------------------------------------------------------------
		一時停止　/　再生（white）
-------------------------------------------------------------*/
.btn_pause_and_play_white a {
  background: #fff;
}
.btn_pause_and_play_white a::after, .btn_pause_and_play_white a::before {
  background-color: #08137E;
}
.btn_pause_and_play_white.stop a::after {
  border-left: 10px solid #08137E;
}
/*===============================================================

  section_first

===============================================================*/
@keyframes show_anime1 {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@media screen and (max-width: 800px) {
  @keyframes show_anime1 {
    0% {
      opacity: 0;
      transform: translateY(25px);
    }
    100% {
      opacity: 1;
      transform: translateY(0px);
    }
  }
}
@keyframes show_anime2 {
  0% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.section_first {
  position: relative;
  background: url(../images/first/bg.jpg) no-repeat top center/cover;
  /*-------------------------------------------------------------
    kv	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    show kv
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    first	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    linkbtn	
  -------------------------------------------------------------*/
}
.section_first .bg_player {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  opacity: 0;
}
.section_first.show .bg_player {
  animation: show_anime2 1s ease 1s forwards;
}
.section_first .section_inner {
  padding-top: 50px;
  padding-bottom: 200px;
}
.section_first .content {
  position: relative;
  z-index: 2;
}
.section_first .content {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1600px) {
  .section_first .bg_player img {
    position: absolute;
    /*▼画像幅の半分、右に動かす*/
    left: 50%;
    /*▼画像の幅の半分だけ、ネガティブマージンを設定*/
    margin-left: -800px;
    width: 1600px;
  }
}
@media screen and (max-width: 800px) {
  .section_first {
    background: url(../images/first/bg_sp.jpg) no-repeat top center/cover;
  }
  .section_first .bg_player {
    width: 100%;
    top: 37vw;
  }
  .section_first .bg_player img {
    position: static;
    margin-left: 0;
    width: 100%;
  }
  .section_first .section_inner {
    padding-bottom: 20vw;
  }
}
.section_first .kv .maintag {
  width: 300px;
  margin: 0 auto;
  opacity: 0;
}
.section_first .kv .maintitle {
  width: auto;
  max-width: 800px;
  margin: 0 auto;
  margin-top: 30px;
  opacity: 0;
}
.section_first .kv .detail {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 60px;
  opacity: 0;
}
.section_first .kv .detail .img {
  width: 400px;
}
.section_first .kv .detail .txt {
  width: 400px;
}
.section_first .kv .detail .txt p {
  color: #0615AF;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  font-style: italic;
  padding-left: 1em;
}
.section_first .kv .detail .txt p span {
  display: inline-block;
  margin-left: 0.5em;
}
.section_first .kv .detail .txt .lead {
  width: 100%;
  margin-top: 5px;
}
.section_first .kv .cta_wrp {
  margin-top: -30px;
  opacity: 0;
}
@media screen and (max-width: 1030px) {
  .section_first .kv .detail .img {
    width: 40vw;
  }
  .section_first .kv .detail .txt {
    width: 40vw;
  }
  .section_first .kv .detail .txt p {
    font-size: 1.8vw;
  }
  .section_first .kv .detail .txt .lead {
    width: 95%;
  }
}
@media screen and (max-width: 800px) {
  .section_first .kv .maintag {
    width: 70%;
  }
  .section_first .kv .maintitle {
    margin-top: 4vw;
  }
  .section_first .kv .detail {
    flex-direction: column;
    margin-top: 12vw;
  }
  .section_first .kv .detail .img {
    width: 60%;
    margin: 0 auto;
  }
  .section_first .kv .detail .txt {
    width: 100%;
    margin-top: 4vw;
  }
  .section_first .kv .detail .txt p {
    font-size: 3vw;
    text-align: center;
  }
  .section_first .kv .detail .txt .lead {
    width: 80%;
    margin: 0 auto;
    margin-top: 2vw;
  }
  .section_first .kv .cta_wrp {
    margin-top: 8vw;
  }
}
.section_first.show .kv .maintag {
  animation: show_anime1 1s ease 0.5s forwards;
}
.section_first.show .kv .maintitle {
  animation: show_anime1 1s ease 0.6s forwards;
}
.section_first.show .kv .detail {
  animation: show_anime1 1s ease 0.7s forwards;
}
.section_first.show .kv .cta_wrp {
  animation: show_anime1 1s ease 0.8s forwards;
}
.section_first .first .head {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 32px;
  text-align: center;
  padding: 60px 0 40px;
  background: url(../images/first/bg_headline.png) no-repeat top center/contain;
}
.section_first .first p {
  font-size: 23px;
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 800px) {
  .section_first .first .head {
    width: 100%;
    font-size: 4.5vw;
    padding: 7vw 0 3vw;
  }
  .section_first .first p {
    font-size: 3.5vw;
    margin-top: 4vw;
  }
}
.section_first .linkbtn {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 25px;
}
.section_first .linkbtn .item {
  width: calc((100% - 75px) / 4);
}
.section_first .linkbtn .item a {
  display: block;
}
.section_first .linkbtn .item a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .section_first .linkbtn {
    gap: 6vw;
  }
  .section_first .linkbtn .item {
    width: calc((100% - 6vw) / 2);
  }
}

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

  section_about

===============================================================*/
.section_about {
  position: relative;
  background: url(../images/about/bg.png) no-repeat top center/cover;
  margin-top: -400px;
  /*-------------------------------------------------------------
    about	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    graph_wrp	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    graph_wrp	graph
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    info
  -------------------------------------------------------------*/
}
.section_about .section_inner {
  padding-top: 400px;
  padding-bottom: 250px;
}
.section_about .content {
  position: relative;
  z-index: 2;
}
.section_about .head_wrp .main {
  width: 635px;
}
.section_about .head_wrp .main img {
  filter: drop-shadow(0 0 8px rgb(245, 58, 38));
}
.section_about .head_wrp + p {
  font-size: 24px;
  margin-top: 50px;
}
@media screen and (max-width: 800px) {
  .section_about {
    background: url(../images/about/bg_sp.png) no-repeat top center/cover;
    margin-top: -30vw;
  }
  .section_about .section_inner {
    padding-top: 40vw;
    padding-bottom: 30vw;
  }
  .section_about .head_wrp .main {
    width: 70vw;
  }
  .section_about .head_wrp .main img {
    filter: drop-shadow(0 0 0.8vw rgb(245, 58, 38));
  }
  .section_about .head_wrp + p {
    font-size: 3.5vw;
    margin-top: 4vw;
  }
}
.section_about .about .items {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.section_about .about .items:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 70px;
  height: 1px;
  background: #fff;
  transform: rotate(45deg);
}
.section_about .about .items:after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 70px;
  height: 1px;
  background: #fff;
  transform: rotate(-45deg);
}
.section_about .about .items .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 45%;
  border: 2px solid #fff;
  border-image: linear-gradient(to right, #F53A26, #0963F9) 1;
  background: #12142f;
  padding: 20px 0;
  text-align: center;
}
.section_about .about .items .item .catch {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 700;
}
.section_about .about .items .item .catch .l {
  display: block;
  font-size: 34px;
}
.section_about .about .items .item p {
  font-size: 15px;
  margin-top: 10px;
}
.section_about .about .items .item p a {
  text-decoration: underline;
}
.section_about .about .items .item p a:hover {
  text-decoration: none;
}
.section_about .about .items .item .link {
  margin: 0 auto;
}
.section_about .about .items .item .link a {
  position: relative;
  display: block;
  padding-right: 36px;
}
.section_about .about .items .item .link a:before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  margin: auto;
  background: #1977ff;
  border-radius: 50%;
}
.section_about .about .items .item .link a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 0;
  bottom: 0;
  right: 8px;
  margin: auto;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
.section_about .about .items .item .link a:hover {
  opacity: 0.7;
}
.section_about .about .items .item .link_jcs {
  width: 300px;
  margin-top: 20px;
}
.section_about .about .items .item .link_jso {
  width: 180px;
  margin-top: 10px;
}
@media screen and (max-width: 1200px) {
  .section_about .about .items:before {
    width: 4vw;
  }
  .section_about .about .items:after {
    width: 4vw;
  }
  .section_about .about .items .item {
    width: 47%;
  }
  .section_about .about .items .item .link_jcs {
    width: 280px;
  }
  .section_about .about .items .item .link_jso {
    width: 160px;
  }
}
@media screen and (max-width: 800px) {
  .section_about .about .items {
    justify-content: center;
    gap: 16vw;
  }
  .section_about .about .items:before {
    width: 10vw;
  }
  .section_about .about .items:after {
    width: 10vw;
  }
  .section_about .about .items .item {
    width: 80%;
    height: 32vw;
    padding: 4vw;
  }
  .section_about .about .items .item .catch {
    font-size: 3.5vw;
  }
  .section_about .about .items .item .catch .num {
    width: 6vw;
    margin: 0 1vw;
    margin-top: -0.2em;
  }
  .section_about .about .items .item .catch .l {
    font-size: 4.5vw;
  }
  .section_about .about .items .item p {
    font-size: 3vw;
    margin-top: 1vw;
  }
  .section_about .about .items .item .link a {
    padding-right: 7vw;
  }
  .section_about .about .items .item .link a:before {
    width: 5vw;
    height: 5vw;
  }
  .section_about .about .items .item .link a:after {
    width: 1.4vw;
    height: 1.4vw;
    right: 1.6vw;
  }
  .section_about .about .items .item .link_jcs {
    width: 48vw;
    margin-top: 3vw;
  }
  .section_about .about .items .item .link_jso {
    width: 30vw;
    margin-top: 2vw;
  }
}
.section_about .graph_wrp .head {
  font-size: 30px;
  text-align: center;
}
.section_about .graph_wrp .box {
  margin-top: 50px;
}
.section_about .graph_wrp .box_caption_arw {
  width: 49px;
  height: 44px;
  background: url(../images/about/box_caption_arw.svg) no-repeat center/contain;
  margin-left: auto;
  margin-right: 60px;
  margin-top: 10px;
}
.section_about .graph_wrp .box_caption {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  border: 1px solid #fff;
  background: linear-gradient(90deg, #360CAF 0%, #220478 100%);
}
.section_about .graph_wrp .box_caption::before {
  border-image: linear-gradient(to top, #F526BE, #4D90FF) 1;
}
.section_about .graph_wrp .box_caption::after {
  border-image: linear-gradient(to top, #F526BE, #4D90FF) 1;
}
.section_about .graph_wrp .box_caption .inner {
  padding: 20px 40px;
}
.section_about .graph_wrp .box_caption .inner::before {
  border-image: linear-gradient(to bottom, #F526BE, #4D90FF) 1;
}
.section_about .graph_wrp .box_caption .inner::after {
  border-image: linear-gradient(to bottom, #F526BE, #4D90FF) 1;
}
.section_about .graph_wrp .box_caption .subhead {
  font-size: 22px;
  font-weight: 700;
}
.section_about .graph_wrp .box_caption p {
  font-size: 19px;
  margin-top: 10px;
}
.section_about .graph_wrp .box_caption .caption {
  font-size: 15px;
}
.section_about .graph_wrp .box_caption .caption a {
  text-decoration: underline;
  padding-right: 16px;
  background: url(../images/assets/icon_blank_txtlink.svg) no-repeat center right 2px/14px auto;
}
.section_about .graph_wrp .box_caption .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 800px) {
  .section_about .graph_wrp .head {
    font-size: 5vw;
  }
  .section_about .graph_wrp .wrp {
    overflow: scroll;
  }
  .section_about .graph_wrp .box {
    width: 190%;
    margin-top: 4vw;
    padding: 4vw 4vw 6vw;
    background: linear-gradient(to bottom, #1322B9, #3A1648);
  }
  .section_about .graph_wrp .box_caption_arw {
    width: 11.8vw;
    height: 8.8vw;
    background: url(../images/about/box_caption_arw.svg) no-repeat center/contain;
    margin-right: 6vw;
    margin-top: 1vw;
  }
  .section_about .graph_wrp .box_caption .inner {
    padding: 4vw;
  }
  .section_about .graph_wrp .box_caption .subhead {
    font-size: 3.5vw;
  }
  .section_about .graph_wrp .box_caption p {
    font-size: 3.5vw;
    margin-top: 1vw;
  }
  .section_about .graph_wrp .box_caption .caption {
    font-size: 2.5vw;
    text-align: left;
  }
  .section_about .graph_wrp .box_caption .caption a {
    padding-right: 1.6vw;
    background: url(../images/assets/icon_blank_txtlink.svg) no-repeat center right 0.2vw/1.4vw auto;
  }
}
@keyframes show_box_animation {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes show_txt_animation {
  0% {
    opacity: 0;
    transform: scale(0.6);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes show_arw_animation {
  0% {
    transform: translate(-100%, 100%);
  }
  100% {
    transform: translate(0, 0);
  }
}
.section_about .graph_wrp .graph {
  position: relative;
}
.section_about .graph_wrp .graph .txt {
  opacity: 0;
  position: absolute;
  top: 5.5%;
  left: 2%;
  width: 22.4%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .arw, .section_about .graph_wrp .graph .slick_slider .arw_blue, .slick_slider .section_about .graph_wrp .graph .arw_blue, .section_about .graph_wrp .graph .slick_slider .arw_blue_deep, .slick_slider .section_about .graph_wrp .graph .arw_blue_deep, .section_about .graph_wrp .graph .slick_slider .arw_border_gra, .slick_slider .section_about .graph_wrp .graph .arw_border_gra {
  position: absolute;
  top: 7.1%;
  left: 15.2%;
  width: 17.4%;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}
.section_about .graph_wrp .graph .arw img, .section_about .graph_wrp .graph .slick_slider .arw_blue img, .slick_slider .section_about .graph_wrp .graph .arw_blue img, .section_about .graph_wrp .graph .slick_slider .arw_blue_deep img, .slick_slider .section_about .graph_wrp .graph .arw_blue_deep img, .section_about .graph_wrp .graph .slick_slider .arw_border_gra img, .slick_slider .section_about .graph_wrp .graph .arw_border_gra img {
  transform: translate(100%, -100%);
}
.section_about .graph_wrp .graph .box_01 {
  opacity: 0;
  position: absolute;
  top: 6.9%;
  left: 34.3%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_02 {
  opacity: 0;
  position: absolute;
  top: 22.4%;
  left: 34.3%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_03 {
  opacity: 0;
  position: absolute;
  top: 52.8%;
  left: 34.3%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_04 {
  opacity: 0;
  position: absolute;
  top: 76.6%;
  left: 34.3%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_05 {
  opacity: 0;
  position: absolute;
  top: 0%;
  left: 69.5%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_06 {
  opacity: 0;
  position: absolute;
  top: 15.5%;
  left: 69.5%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_07 {
  opacity: 0;
  position: absolute;
  top: 45.9%;
  left: 69.5%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph .box_08 {
  opacity: 0;
  position: absolute;
  top: 76.6%;
  left: 69.5%;
  width: 30.5%;
  height: -moz-fit-content;
  height: fit-content;
}
.section_about .graph_wrp .graph.active .box_01 {
  animation: show_box_animation 1s ease 1.2s forwards;
}
.section_about .graph_wrp .graph.active .box_02 {
  animation: show_box_animation 1s ease 0.8s forwards;
}
.section_about .graph_wrp .graph.active .box_03 {
  animation: show_box_animation 1s ease 0.4s forwards;
}
.section_about .graph_wrp .graph.active .box_04 {
  animation: show_box_animation 1s ease 0s forwards;
}
.section_about .graph_wrp .graph.active .box_05 {
  animation: show_box_animation 1s ease 1.2s forwards;
}
.section_about .graph_wrp .graph.active .box_06 {
  animation: show_box_animation 1s ease 0.8s forwards;
}
.section_about .graph_wrp .graph.active .box_07 {
  animation: show_box_animation 1s ease 0.4s forwards;
}
.section_about .graph_wrp .graph.active .box_08 {
  animation: show_box_animation 1s ease 0s forwards;
}
.section_about .graph_wrp .graph.active .txt {
  animation: show_txt_animation 0.3s ease 0.5s forwards;
}
.section_about .graph_wrp .graph.active .arw img, .section_about .graph_wrp .graph.active .slick_slider .arw_blue img, .slick_slider .section_about .graph_wrp .graph.active .arw_blue img, .section_about .graph_wrp .graph.active .slick_slider .arw_blue_deep img, .slick_slider .section_about .graph_wrp .graph.active .arw_blue_deep img, .section_about .graph_wrp .graph.active .slick_slider .arw_border_gra img, .slick_slider .section_about .graph_wrp .graph.active .arw_border_gra img {
  animation: show_arw_animation 1.2s ease 1s forwards;
}
.section_about .info .head {
  font-size: 34px;
  line-height: 2;
  font-weight: 700;
  text-align: center;
}
.section_about .info .caption {
  margin-top: 30px;
}
.section_about .info .caption a {
  text-decoration: underline;
}
.section_about .info .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 800px) {
  .section_about .info .head {
    font-size: 4.5vw;
    line-height: 2;
    text-align: center;
  }
  .section_about .info .caption {
    font-size: 2.5vw;
    margin-top: 4vw;
  }
}

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

  section_sports

===============================================================*/
.section_sports {
  position: relative;
  background: url(../images/sports/bg.png) no-repeat top center/cover;
  margin-top: -400px;
  /*-------------------------------------------------------------
    sports_program_head	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    sports_program	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    sports_detail_shinsta	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    sports_detail_standard	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    sports_detail_shinsta（背景）
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    sports_detail_standard（背景）	
  -------------------------------------------------------------*/
}
.section_sports .section_inner {
  padding-top: 400px;
}
.section_sports .head_wrp .sub {
  width: 550px;
}
.section_sports .head_wrp .main {
  width: auto;
  max-width: 1120px;
  margin-top: 20px;
}
.section_sports .head_wrp .main img {
  filter: drop-shadow(0 0 8px rgb(245, 58, 38));
}
.section_sports .head_wrp + p {
  margin-top: 20px;
}
.section_sports .head_wrp + p a {
  text-decoration: underline;
}
.section_sports .head_wrp + p a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1030px) {
  .section_sports .head_wrp .main {
    width: 650px;
  }
}
@media screen and (max-width: 800px) {
  .section_sports {
    background: url(../images/sports/bg_sp.png) no-repeat top center/cover;
    margin-top: -25vw;
  }
  .section_sports .section_inner {
    padding-top: 35vw;
  }
  .section_sports .head_wrp .sub {
    width: 65vw;
  }
  .section_sports .head_wrp .main {
    width: 70vw;
    margin-top: 4vw;
  }
  .section_sports .head_wrp .main img {
    filter: drop-shadow(0 0 0.8vw rgb(245, 58, 38));
  }
  .section_sports .head_wrp + p {
    margin-top: 4vw;
  }
}
.section_sports .sports_program_head {
  font-size: 45px;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 8px rgb(245, 58, 38);
}
@media screen and (max-width: 800px) {
  .section_sports .sports_program_head {
    font-size: 5.5vw;
    text-shadow: 0 0 0.8vw rgb(245, 58, 38);
  }
}
.section_sports .sports_program {
  padding-bottom: 60px;
}
.section_sports .sports_program .slick_slider {
  opacity: 1;
  height: auto;
  min-height: 258px;
}
.section_sports .sports_program .slick-list {
  position: relative;
  margin: 0 calc(50% - 50vw) 0;
}
.section_sports .sports_program .slick-list:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to left, transparent, #111d44);
}
.section_sports .sports_program .slick-list:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to right, transparent, #111d44);
}
.section_sports .sports_program .item {
  width: 180px;
  margin: 0 10px;
}
.section_sports .sports_program .item a {
  display: block;
}
.section_sports .sports_program .item a:hover {
  opacity: 0.7;
}
.section_sports .sports_program .dots_wrp, .section_sports .sports_program .slick_slider .dots_wrp_blue, .slick_slider .section_sports .sports_program .dots_wrp_blue, .section_sports .sports_program .slick_slider .dots_wrp_white, .slick_slider .section_sports .sports_program .dots_wrp_white {
  margin-top: 70px;
}
@media screen and (max-width: 800px) {
  .section_sports .sports_program {
    padding-bottom: 12vw;
  }
  .section_sports .sports_program .slick_slider {
    min-height: 44vw;
  }
  .section_sports .sports_program .slick-list:before {
    width: 15%;
  }
  .section_sports .sports_program .slick-list:after {
    width: 15%;
  }
  .section_sports .sports_program .item {
    width: 30vw;
    margin: 0 1.5vw;
  }
  .section_sports .sports_program .dots_wrp, .section_sports .sports_program .slick_slider .dots_wrp_blue, .slick_slider .section_sports .sports_program .dots_wrp_blue, .section_sports .sports_program .slick_slider .dots_wrp_white, .slick_slider .section_sports .sports_program .dots_wrp_white {
    margin-top: 8vw;
  }
}
.section_sports .sports_detail_shinsta, .section_sports .sports_detail_standard {
  position: relative;
  padding: 210px 100px 100px;
}
.section_sports .sports_detail_shinsta .lead, .section_sports .sports_detail_standard .lead {
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 760px;
}
.section_sports .sports_detail_shinsta .box + .box, .section_sports .sports_detail_standard .box + .box {
  margin-top: 100px;
}
.section_sports .sports_detail_shinsta .subhead, .section_sports .sports_detail_standard .subhead {
  position: relative;
  width: 580px;
}
.section_sports .sports_detail_shinsta .subhead:before, .section_sports .sports_detail_standard .subhead:before {
  content: "";
  position: absolute;
  top: 20px;
  left: -62px;
  width: 52px;
  height: 33px;
  background: url(../images/sports/subhead_arw.svg) no-repeat center/contain;
}
.section_sports .sports_detail_shinsta .subhead_01, .section_sports .sports_detail_standard .subhead_01 {
  width: 580px;
}
.section_sports .sports_detail_shinsta .subhead_02, .section_sports .sports_detail_standard .subhead_02 {
  width: 710px;
}
.section_sports .sports_detail_shinsta p, .section_sports .sports_detail_standard p {
  position: relative;
  margin-top: 30px;
}
@media screen and (max-width: 1200px) {
  .section_sports .sports_detail_shinsta .lead, .section_sports .sports_detail_standard .lead {
    width: 59%;
  }
}
@media screen and (max-width: 1030px) {
  .section_sports .sports_detail_shinsta, .section_sports .sports_detail_standard {
    padding: 180px 70px 100px;
  }
  .section_sports .sports_detail_shinsta .lead, .section_sports .sports_detail_standard .lead {
    width: 70%;
  }
  .section_sports .sports_detail_shinsta .subhead, .section_sports .sports_detail_standard .subhead {
    width: 58vw;
  }
  .section_sports .sports_detail_shinsta .subhead:before, .section_sports .sports_detail_standard .subhead:before {
    top: 1.5vw;
  }
  .section_sports .sports_detail_shinsta .subhead_01, .section_sports .sports_detail_standard .subhead_01 {
    width: 58vw;
  }
  .section_sports .sports_detail_shinsta .subhead_02, .section_sports .sports_detail_standard .subhead_02 {
    width: 71vw;
  }
}
@media screen and (max-width: 800px) {
  .section_sports .sports_detail_shinsta, .section_sports .sports_detail_standard {
    padding: 22vw 8vw 10vw;
  }
  .section_sports .sports_detail_shinsta .lead, .section_sports .sports_detail_standard .lead {
    top: -1vw;
    width: 90%;
  }
  .section_sports .sports_detail_shinsta .box + .box, .section_sports .sports_detail_standard .box + .box {
    margin-top: 10vw;
  }
  .section_sports .sports_detail_shinsta .subhead, .section_sports .sports_detail_standard .subhead {
    width: 63.8vw;
  }
  .section_sports .sports_detail_shinsta .subhead:before, .section_sports .sports_detail_standard .subhead:before {
    top: 2vw;
    left: -4.24vw;
    width: 3.24vw;
    height: 3.36vw;
    background: url(../images/sports/subhead_arw_sp.svg) no-repeat center/contain;
  }
  .section_sports .sports_detail_shinsta .subhead_01, .section_sports .sports_detail_standard .subhead_01 {
    width: 63.8vw;
  }
  .section_sports .sports_detail_shinsta .subhead_02, .section_sports .sports_detail_standard .subhead_02 {
    width: 78.1vw;
  }
  .section_sports .sports_detail_shinsta p, .section_sports .sports_detail_standard p {
    margin-top: 4vw;
  }
}
.section_sports .sports_detail_standard {
  /* padding-top: 210px;
  .lead {
    top: -10px;
    width: 760px;
  } */
}
@media screen and (max-width: 1200px) {
  .section_sports .sports_detail_standard {
    /* .lead {
      width: 59%;
    } */
  }
}
@media screen and (max-width: 1030px) {
  .section_sports .sports_detail_standard {
    /* padding-top: 180px;
    .lead {
      width: 70%;
    } */
  }
}
@media screen and (max-width: 800px) {
  .section_sports .sports_detail_standard {
    /* padding-top: 22vw;
    .lead {
      top: -1vw;
      width: 90%;
    } */
  }
}
.section_sports .sports_detail_shinsta, .section_sports .sports_detail_standard {
  position: relative;
}
.section_sports .sports_detail_shinsta:before, .section_sports .sports_detail_standard:before {
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  width: 50px;
  height: 50px;
  border-top: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 50px solid #E83416;
  border-left: 50px solid transparent;
  box-sizing: border-box;
  transform: rotate(-45deg);
  opacity: 0.6;
}
.section_sports .sports_detail_shinsta:after, .section_sports .sports_detail_standard:after {
  content: "";
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 50px;
  height: 50px;
  border-top: 50px solid #E83416;
  border-right: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid transparent;
  box-sizing: border-box;
  transform: rotate(-45deg);
  opacity: 0.6;
}
.section_sports .sports_detail_shinsta .bg, .section_sports .sports_detail_standard .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/sports/shinsta_bg.png) no-repeat top center/cover;
  clip-path: polygon(90px 0, 120px 0, 140px 20px, calc(100% - 140px) 20px, calc(100% - 120px) 0, 100% 0, 100% calc(100% - 90px), calc(100% - 90px) 100%, 0 100%, 0 90px);
}
@media screen and (max-width: 800px) {
  .section_sports .sports_detail_shinsta:before, .section_sports .sports_detail_standard:before {
    top: -3vw;
    left: -3vw;
    width: 3vw;
    height: 3vw;
    border-top: 3vw solid transparent;
    border-right: 3vw solid transparent;
    border-bottom: 3vw solid #E83416;
    border-left: 3vw solid transparent;
  }
  .section_sports .sports_detail_shinsta:after, .section_sports .sports_detail_standard:after {
    bottom: -3vw;
    right: -3vw;
    width: 3vw;
    height: 3vw;
    border-top: 3vw solid #E83416;
    border-right: 3vw solid transparent;
    border-bottom: 3vw solid transparent;
    border-left: 3vw solid transparent;
  }
  .section_sports .sports_detail_shinsta .bg, .section_sports .sports_detail_standard .bg {
    clip-path: polygon(6vw 0, 12vw 0, 14vw 2vw, calc(100% - 14vw) 2vw, calc(100% - 12vw) 0, 100% 0, 100% calc(100% - 6vw), calc(100% - 6vw) 100%, 0 100%, 0 6vw);
  }
}
.section_sports .sports_detail_standard:before {
  border-bottom: 50px solid #0619CF;
}
.section_sports .sports_detail_standard:after {
  border-top: 50px solid #0619CF;
}
.section_sports .sports_detail_standard .bg {
  background: url(../images/sports/standard_bg.png) no-repeat top center/cover;
}
@media screen and (max-width: 800px) {
  .section_sports .sports_detail_standard:before {
    border-bottom: 3vw solid #0619CF;
  }
  .section_sports .sports_detail_standard:after {
    border-top: 3vw solid #0619CF;
  }
}

/*-------------------------------------------------------------
  sports_slider	
-------------------------------------------------------------*/
.sports_slider {
  position: relative;
  margin: 0 calc(50% - 50vw) 0;
  padding-bottom: 60px;
}
* + .sports_slider {
  margin-top: 50px;
}
.sports_slider .slick_slider {
  min-height: 269px;
}
.sports_slider .slick_slider .slick-list {
  position: relative;
}
.sports_slider .slick_slider .slick-list:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 15%;
  height: 100%;
  background: linear-gradient(to left, transparent, #0f083a);
}
.sports_slider .slick_slider .slick-list:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 15%;
  height: 100%;
  background: linear-gradient(to right, transparent, #0f083a);
}
.sports_slider .slick_slider .item {
  position: relative;
  z-index: 1;
  width: 384px;
  margin: 0 10px;
  border-radius: 10px;
  overflow: hidden;
  /* .thumb {
    height: 216px;
    background: $c_white;
    img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  } */
}
.sports_slider .slick_slider .item a {
  display: block;
}
.sports_slider .slick_slider .item a:hover {
  opacity: 0.7;
}
.sports_slider .slick_slider .item .head,
.sports_slider .slick_slider .item .box,
.sports_slider .slick_slider .item .copyright,
.sports_slider .slick_slider .item .btn {
  display: none;
}
.sports_slider .slick_slider .arw_prev {
  inset: 0;
  transform: translateX(-590px);
}
.sports_slider .slick_slider .arw_next {
  inset: 0;
  transform: translateX(590px);
}
.sports_slider .head {
  font-size: 38px;
  text-align: center;
  margin-top: 40px;
}
.sports_slider p {
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .sports_slider .slick_slider .arw_prev {
    left: 15px;
    right: auto;
    transform: none;
  }
  .sports_slider .slick_slider .arw_next {
    left: auto;
    right: 15px;
    transform: none;
  }
}
@media screen and (max-width: 800px) {
  .sports_slider {
    padding-bottom: 12vw;
  }
  * + .sports_slider {
    margin-top: 5vw;
  }
  .sports_slider .slick_slider {
    min-height: 30vw;
  }
  .sports_slider .slick_slider:before {
    width: 15%;
  }
  .sports_slider .slick_slider:after {
    width: 15%;
  }
  .sports_slider .slick_slider .item {
    width: 40vw;
    margin: 0 1.5vw;
    /* .thumb {
      height: 22.5vw;
    } */
  }
  .sports_slider .slick_slider .arw_prev {
    left: 2vw;
  }
  .sports_slider .slick_slider .arw_next {
    right: 2vw;
  }
  .sports_slider .head {
    font-size: 4vw;
    margin-top: 6vw;
  }
  .sports_slider p {
    text-align: center;
    margin-top: 2vw;
  }
}

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

  section_sports_deep

===============================================================*/
.section_sports_deep {
  background: #08137E url(../images/sports_deep/bg.png) no-repeat top center/100% auto;
  background-blend-mode: multiply;
  /*-------------------------------------------------------------
    sports_deep	
  -------------------------------------------------------------*/
}
.section_sports_deep .head_wrp .sub {
  width: 420px;
}
.section_sports_deep .head_wrp .main {
  width: 680px;
  margin-top: 20px;
}
.section_sports_deep .head_wrp .main img {
  filter: drop-shadow(0 0 8px rgb(17, 164, 255));
}
.section_sports_deep .head_wrp + p {
  margin-top: 30px;
}
@media screen and (max-width: 800px) {
  .section_sports_deep {
    background: #08137E url(../images/sports_deep/bg.png) no-repeat top center/150% auto;
  }
  .section_sports_deep .head_wrp .sub {
    width: 52vw;
  }
  .section_sports_deep .head_wrp .main {
    width: 78vw;
    margin-top: 4vw;
  }
  .section_sports_deep .head_wrp .main img {
    filter: drop-shadow(0 0 0.8vw rgb(17, 164, 255));
  }
  .section_sports_deep .head_wrp + p {
    margin-top: 4vw;
  }
}
.section_sports_deep .sports_deep {
  padding-bottom: 60px;
}
.section_sports_deep .sports_deep .slick_slider {
  opacity: 1;
  height: auto;
  min-height: 388px;
}
.section_sports_deep .sports_deep .slick-list {
  position: relative;
  margin: 0 calc(50% - 50vw) 0;
}
.section_sports_deep .sports_deep .slick-list:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to left, transparent, #08137E);
}
.section_sports_deep .sports_deep .slick-list:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to right, transparent, #08137E);
}
.section_sports_deep .sports_deep .item {
  width: 325px;
  margin: 0 10px;
  background: linear-gradient(to bottom, #040B4B 0%, #040B4B 40%, #2E026A 100%);
}
.section_sports_deep .sports_deep .item a {
  display: block;
  height: 100%;
  color: #fff;
  text-decoration: none;
}
.section_sports_deep .sports_deep .item a:hover {
  opacity: 0.7;
}
.section_sports_deep .sports_deep .item .thumb {
  height: 183px;
  background: #000;
}
.section_sports_deep .sports_deep .item .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.section_sports_deep .sports_deep .item .txt {
  padding: 20px;
}
.section_sports_deep .sports_deep .item .head {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 19px;
  line-height: 1.6;
  font-weight: 700;
}
.section_sports_deep .sports_deep .item .tag {
  width: -moz-fit-content;
  width: fit-content;
  color: #AC6CFF;
  font-size: 15px;
  line-height: 1;
  font-weight: 500;
  border: 1px solid #AC6CFF;
  padding: 5px;
  margin-top: 10px;
}
.section_sports_deep .sports_deep .item .date {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 10px;
}
.section_sports_deep .sports_deep .item .ch {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 10px;
}
@media screen and (max-width: 800px) {
  .section_sports_deep .sports_deep {
    padding-bottom: 12vw;
  }
  .section_sports_deep .sports_deep .slick_slider {
    min-height: 72vw;
  }
  .section_sports_deep .sports_deep .slick-list:before {
    width: 15%;
  }
  .section_sports_deep .sports_deep .slick-list:after {
    width: 15%;
  }
  .section_sports_deep .sports_deep .item {
    width: 50vw;
    margin: 0 1.5vw;
  }
  .section_sports_deep .sports_deep .item .thumb {
    height: 28vw;
  }
  .section_sports_deep .sports_deep .item .txt {
    padding: 3vw 4vw 4vw;
  }
  .section_sports_deep .sports_deep .item .head {
    font-size: 3.8vw;
  }
  .section_sports_deep .sports_deep .item .tag {
    font-size: 3vw;
    padding: 1vw;
    margin-top: 2vw;
  }
  .section_sports_deep .sports_deep .item .date {
    font-size: 3vw;
    margin-top: 2vw;
  }
  .section_sports_deep .sports_deep .item .ch {
    font-size: 3vw;
    margin-top: 2vw;
  }
}

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

  section_jcs

===============================================================*/
.section_jcs {
  background: #12142f url(../images/jcs/bg.png) no-repeat top 5% center/contain;
  /*-------------------------------------------------------------
    subarea_wrp	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    paramount	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    telasa	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    bnr_block	
  -------------------------------------------------------------*/
}
.section_jcs .headline .s {
  font-size: 33px;
  line-height: 2;
}
.section_jcs .subhead_jcs {
  padding-bottom: 30px;
}
.section_jcs .subhead_jcs .name {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.section_jcs .subhead_jcs .name img {
  width: 350px;
  transform: translateY(5px);
}
.section_jcs .subhead_jcs .name .link {
  width: 30px;
  height: 30px;
}
.section_jcs .subhead_jcs .name .link a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/jcs/icon_question.svg) no-repeat center/contain;
}
.section_jcs .subhead_jcs .name .link a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .section_jcs {
    background: #12142f url(../images/jcs/bg.png) no-repeat top 15% center/200% auto;
  }
  .section_jcs .headline .title .s {
    font-size: 4vw;
    padding-bottom: 1vw;
  }
  .section_jcs .subhead_jcs {
    padding-bottom: 2vw;
  }
  .section_jcs .subhead_jcs .name {
    gap: 2vw;
  }
  .section_jcs .subhead_jcs .name img {
    width: 50vw;
    transform: translateY(0.5vw);
  }
  .section_jcs .subhead_jcs .name .link {
    width: 5vw;
    height: 5vw;
  }
}
.section_jcs .subarea_wrp {
  color: #fff;
  padding: 50px 0 70px;
  background: linear-gradient(to bottom, #2F0374, #08137E 40%, #08137E);
}
.section_jcs .subarea_wrp .head {
  font-size: 44px;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}
.section_jcs .subarea_wrp .subhead {
  width: calc(100% - 100px);
  margin: 0 auto;
  margin-top: 50px;
  padding: 50px 0;
  background: #12142f;
}
.section_jcs .subarea_wrp .subhead.subhead_telasa {
  background: linear-gradient(to bottom, #1a1a1a, transparent);
}
.section_jcs .subarea_wrp .subhead.subhead_paramount {
  background: linear-gradient(to bottom, #0064FF, transparent);
}
.section_jcs .subarea_wrp .subhead .name {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /* font-size: 51px;
  line-height: 1;
  text-align: center; */
}
.section_jcs .subarea_wrp .subhead .name .logo {
  width: 200px;
}
.section_jcs .subarea_wrp .subhead .name .logo_paramount {
  width: 270px;
}
.section_jcs .subarea_wrp .subhead .name .link {
  width: 30px;
  height: 30px;
}
.section_jcs .subarea_wrp .subhead .name .link a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/jcs/icon_question.svg) no-repeat center/contain;
}
.section_jcs .subarea_wrp .subhead .name .link a:hover {
  opacity: 0.7;
}
.section_jcs .subarea_wrp .subhead p {
  font-size: 24px;
  text-align: center;
  margin-top: 30px;
}
.section_jcs .subarea_wrp .telasa + .subhead {
  margin-top: 100px;
}
@media screen and (max-width: 1030px) {
  .section_jcs .subarea_wrp .subhead {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 800px) {
  .section_jcs .subarea_wrp {
    padding: 4vw 0 6vw;
  }
  .section_jcs .subarea_wrp .head {
    font-size: 5.5vw;
  }
  .section_jcs .subarea_wrp .subhead {
    width: calc(100% - 10vw);
    margin-top: 10vw;
    padding: 5vw 0;
  }
  .section_jcs .subarea_wrp .subhead .name {
    gap: 2vw;
  }
  .section_jcs .subarea_wrp .subhead .name .logo {
    width: 20vw;
  }
  .section_jcs .subarea_wrp .subhead .name .logo_paramount {
    width: 32.4vw;
  }
  .section_jcs .subarea_wrp .subhead .name .link {
    width: 5vw;
    height: 5vw;
  }
  .section_jcs .subarea_wrp .subhead p {
    font-size: 3.5vw;
    margin-top: 2vw;
  }
  .section_jcs .subarea_wrp .telasa + .subhead {
    margin-top: 10vw;
  }
}
.section_jcs .paramount, .section_jcs .telasa {
  position: relative;
  padding-bottom: 60px;
}
.section_jcs .paramount .slick_slider, .section_jcs .telasa .slick_slider {
  min-height: 269px;
}
.section_jcs .paramount .slick_slider .slick-list, .section_jcs .telasa .slick_slider .slick-list {
  position: relative;
}
.section_jcs .paramount .slick_slider .slick-list:before, .section_jcs .telasa .slick_slider .slick-list:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(to left, transparent, #08137E);
}
.section_jcs .paramount .slick_slider .slick-list:after, .section_jcs .telasa .slick_slider .slick-list:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(to right, transparent, #08137E);
}
.section_jcs .paramount .slick_slider .item, .section_jcs .telasa .slick_slider .item {
  position: relative;
  z-index: 1;
  width: 384px;
  margin: 0 10px;
  border-radius: 10px;
  overflow: hidden;
}
.section_jcs .paramount .slick_slider .item a, .section_jcs .telasa .slick_slider .item a {
  display: block;
}
.section_jcs .paramount .slick_slider .item a:hover, .section_jcs .telasa .slick_slider .item a:hover {
  opacity: 0.7;
}
.section_jcs .paramount .slick_slider .item .head, .section_jcs .telasa .slick_slider .item .head,
.section_jcs .paramount .slick_slider .item .box,
.section_jcs .telasa .slick_slider .item .box,
.section_jcs .paramount .slick_slider .item .copyright,
.section_jcs .telasa .slick_slider .item .copyright,
.section_jcs .paramount .slick_slider .item .btn,
.section_jcs .telasa .slick_slider .item .btn {
  display: none;
}
.section_jcs .paramount .head, .section_jcs .telasa .head {
  font-size: 38px;
  text-align: center;
  margin-top: 40px;
}
.section_jcs .paramount p, .section_jcs .telasa p {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .section_jcs .paramount, .section_jcs .telasa {
    padding-bottom: 12vw;
  }
  .section_jcs .paramount .slick_slider, .section_jcs .telasa .slick_slider {
    min-height: 30vw;
  }
  .section_jcs .paramount .slick_slider .slick-list:before, .section_jcs .telasa .slick_slider .slick-list:before {
    width: 15%;
  }
  .section_jcs .paramount .slick_slider .slick-list:after, .section_jcs .telasa .slick_slider .slick-list:after {
    width: 15%;
  }
  .section_jcs .paramount .slick_slider .item, .section_jcs .telasa .slick_slider .item {
    width: 40vw;
    margin: 0 1.5vw;
  }
  .section_jcs .paramount .head, .section_jcs .telasa .head {
    font-size: 4vw;
    margin-top: 6vw;
  }
  .section_jcs .paramount p, .section_jcs .telasa p {
    text-align: center;
    margin-top: 2vw;
  }
}
.section_jcs .bnr_block {
  width: 64%;
  margin: auto;
}
.section_jcs .bnr_block .link {
  display: block;
}
.section_jcs .bnr_block .link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1030px) {
  .section_jcs .bnr_block {
    width: 80%;
  }
}
@media screen and (max-width: 800px) {
  .section_jcs .bnr_block {
    width: 90%;
  }
}

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

	division_01

===============================================================*/
.division_01 {
  height: 134px;
  background: url(../images/division/bg_01.jpg) repeat-x center/auto 100%;
}
@media screen and (max-width: 800px) {
  .division_01 {
    height: 15vw;
  }
}

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

	division_02

===============================================================*/
.division_02 {
  height: 95px;
  background: url(../images/division/bg_02.jpg) repeat-x center/auto 100%;
}
@media screen and (max-width: 800px) {
  .division_02 {
    height: 10vw;
  }
}

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

  section_detail

===============================================================*/
.section_detail {
  position: relative;
  background: #2B055D url(../images/detail/bg.png) no-repeat top center/contain;
  /*-------------------------------------------------------------
    desc	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    jcomlink	
  -------------------------------------------------------------*/
}
.section_detail .headline {
  position: relative;
  z-index: 2;
}
.section_detail .headline .title .s {
  padding-bottom: 10px;
}
@media screen and (max-width: 800px) {
  .section_detail {
    background: #2B055D url(../images/detail/bg.png) no-repeat top center/130% auto;
  }
  .section_detail .headline .title {
    font-size: 6vw;
  }
  .section_detail .headline .title .s {
    padding-bottom: 1vw;
  }
  .section_detail .headline + .content {
    margin-top: 18vw;
  }
  .section_detail .block + .block {
    margin-top: 15vw;
  }
}
.section_detail .desc .head {
  font-size: 33px;
  font-weight: 500;
  text-align: center;
}
.section_detail .desc .head .s {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 22px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 15px 30px;
  border: 1px solid #fff;
}
.section_detail .desc .caption {
  font-size: 14px;
  margin-top: 20px;
}
.section_detail .desc .caption a {
  text-decoration: underline;
}
.section_detail .desc .caption a:hover {
  text-decoration: none;
}
@media screen and (max-width: 800px) {
  .section_detail .desc .head {
    font-size: 4vw;
  }
  .section_detail .desc .head .s {
    font-size: 3.5vw;
    margin-top: 4vw;
    padding: 2vw 4vw;
  }
  .section_detail .desc .caption {
    font-size: 3vw;
    margin-top: 4vw;
  }
}
.section_detail .jcomlink {
  position: relative;
  background-image: linear-gradient(90deg, #1A28B4 1px, transparent 1px), linear-gradient(#1A28B4 1px, transparent 1px);
  background-position: -1px -1px;
  background-size: 51.5px 51.5px;
  border: 1px solid #1A28B4;
}
.section_detail .jcomlink .inner {
  padding: 100px 50px 50px;
}
.section_detail .jcomlink .head {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 44px;
  padding-bottom: 20px;
}
.section_detail .jcomlink .head .s {
  font-size: 22px;
  line-height: 1.2;
}
.section_detail .jcomlink .head:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 55px;
  height: 5px;
  background: linear-gradient(to right, #ec298c, #0a62f8);
}
.section_detail .jcomlink p {
  text-align: center;
  margin-top: 30px;
}
.section_detail .jcomlink .link_blank {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 30px;
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  padding-right: 20px;
  background: url(../images/assets/icon_blank_txtlink.svg) no-repeat right center/15px auto;
}
.section_detail .jcomlink .link_blank a {
  text-decoration: underline;
}
.section_detail .jcomlink .link_blank a:hover {
  text-decoration: none;
}
.section_detail .jcomlink .img {
  width: auto;
  max-width: 600px;
  margin: 0 auto;
  margin-top: 50px;
}
@media screen and (max-width: 800px) {
  .section_detail .jcomlink {
    background-size: 7vw 7vw;
  }
  .section_detail .jcomlink .inner {
    padding: 10vw 0 5vw;
  }
  .section_detail .jcomlink .head {
    gap: 1vw;
    font-size: 5vw;
    padding-bottom: 3vw;
  }
  .section_detail .jcomlink .head .s {
    font-size: 4vw;
  }
  .section_detail .jcomlink .head:after {
    width: 6vw;
    height: 4px;
  }
  .section_detail .jcomlink p {
    margin-top: 4vw;
  }
  .section_detail .jcomlink .link_blank {
    margin-top: 4vw;
    font-size: 3vw;
    padding-right: 3vw;
    background: url(../images/assets/icon_blank_txtlink.svg) no-repeat right center/2.5vw auto;
  }
  .section_detail .jcomlink .img {
    width: 100%;
    max-width: 85%;
    margin-top: 4vw;
  }
}

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

  section_feature

===============================================================*/
.section_feature {
  position: relative;
  background: #2B055D url(../images/feature/bg.png) no-repeat bottom center/contain;
  /*-------------------------------------------------------------
    feat	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    point	
  -------------------------------------------------------------*/
}
@media screen and (max-width: 800px) {
  .section_feature {
    background: #2B055D url(../images/feature/bg.png) no-repeat bottom center/120% auto;
  }
}
.section_feature .feat {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
}
.section_feature .feat .item {
  width: 25%;
}
.section_feature .feat .item a {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
}
.section_feature .feat .item a:hover {
  opacity: 0.7;
}
.section_feature .feat .item .img {
  width: 100%;
}
.section_feature .feat .item p {
  font-size: 32px;
  line-height: 1.4;
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 1030px) {
  .section_feature .feat .item p {
    font-size: 3.2vw;
    margin-top: 2vw;
  }
}
@media screen and (max-width: 800px) {
  .section_feature .feat {
    gap: 6vw 0;
  }
  .section_feature .feat .item {
    width: 50%;
  }
  .section_feature .feat .item .img {
    width: 90%;
    margin: 0 auto;
  }
  .section_feature .feat .item p {
    font-size: 3.5vw;
    margin-top: 2vw;
  }
}
.section_feature .point .item {
  color: #12142f;
  background: #f9ebff url(../images/feature/bg_point.jpg) no-repeat top center/100% auto;
}
.section_feature .point .item .box {
  position: relative;
  padding: 40px;
  padding-bottom: 0;
}
.section_feature .point .item .tag {
  position: absolute;
  top: -50px;
  left: -50px;
  width: min(160px, 14vw);
  height: min(160px, 14vw);
}
.section_feature .point .item .head {
  color: #fff;
  font-size: min(46px, 4.2vw);
  line-height: 1.5;
  text-align: center;
}
.section_feature .point .item .head .s {
  display: block;
  font-size: min(36px, 3.2vw);
}
.section_feature .point .item .img {
  margin-top: 30px;
}
.section_feature .point .item .box2 {
  padding: 40px;
  padding-bottom: 60px;
}
.section_feature .point .item .ch {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.section_feature .point .item .ch li {
  width: 110px;
  border: 1px solid #dadada;
}
.section_feature .point .item .txt {
  width: auto;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section_feature .point .item * + .txt {
  margin-top: 20px;
}
.section_feature .point .item .caption {
  font-size: 14px;
  text-align: left;
  margin-top: 20px;
}
.section_feature .point .item + .item {
  margin-top: 80px;
}
.section_feature .point .item:nth-child(even) .tag {
  left: auto;
  right: -50px;
}
.section_feature .point .item_04 .caption {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .section_feature .point .item .box {
    padding: 4vw;
    padding-bottom: 0;
  }
  .section_feature .point .item .tag {
    top: -4vw;
    left: -4vw;
    width: 14vw;
    height: 14vw;
  }
  .section_feature .point .item .head {
    font-size: 5vw;
  }
  .section_feature .point .item .head .s {
    font-size: 3.5vw;
  }
  .section_feature .point .item .img {
    margin-top: 4vw;
  }
  .section_feature .point .item .box2 {
    padding: 4vw;
    padding-bottom: 6vw;
  }
  .section_feature .point .item .ch {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2vw 2.5%;
  }
  .section_feature .point .item .ch li {
    width: 18%;
  }
  .section_feature .point .item .txt {
    text-align: left;
  }
  .section_feature .point .item * + .txt {
    margin-top: 4vw;
  }
  .section_feature .point .item .caption {
    font-size: 3vw;
    text-align: left;
    margin-top: 2vw;
  }
  .section_feature .point .item + .item {
    margin-top: 8vw;
  }
  .section_feature .point .item:nth-child(even) .tag {
    left: auto;
    right: -4vw;
  }
  .section_feature .point .item_03 .img {
    width: 150%;
    margin-left: -20%;
  }
  .section_feature .point .item_04 .caption {
    text-align: left;
  }
}

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

  section_flow

===============================================================*/
.section_flow {
  background: #12142f url(../images/flow/bg.png) no-repeat center bottom/cover;
  /*-------------------------------------------------------------
    flow	
  -------------------------------------------------------------*/
}
.section_flow .headline {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.section_flow .headline:before {
  content: "";
  width: 100px;
  height: 34px;
  background: url(../images/flow/headline_line.svg) no-repeat center/contain;
}
.section_flow .headline:after {
  content: "";
  width: 100px;
  height: 34px;
  background: url(../images/flow/headline_line.svg) no-repeat center/contain;
}
@media screen and (max-width: 800px) {
  .section_flow {
    background: #12142f url(../images/flow/bg.png) no-repeat center bottom/200% auto;
  }
  .section_flow .headline {
    gap: 2vw;
  }
  .section_flow .headline:before {
    width: 10vw;
    height: 3.4vw;
  }
  .section_flow .headline:after {
    width: 10vw;
    height: 3.4vw;
  }
}
.section_flow .flow {
  position: relative;
}
.section_flow .flow .item .head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 5px;
}
.section_flow .flow .item .head .num {
  width: 60px;
  height: 60px;
  font-size: 27px;
  line-height: 56px;
  font-weight: 500;
  text-align: center;
  border: 2px solid #E83416;
  border-radius: 50%;
}
.section_flow .flow .item .head .txt {
  flex: 1;
  position: relative;
  font-size: 33px;
  line-height: 1.8;
  font-weight: 700;
  padding-left: 25px;
}
.section_flow .flow .item .head .txt::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 22px;
  left: 0;
  border-top: solid 3px #E83416;
  border-right: solid 3px #E83416;
  transform: rotate(45deg);
}
.section_flow .flow .item .head .txt .s {
  font-size: 23px;
}
.section_flow .flow .item .list {
  margin-top: 10px;
}
.section_flow .flow .item .list li {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 36px;
  background: url(../images/flow/icon_check.svg) no-repeat center left/26px auto;
}
.section_flow .flow .item .list li + li {
  margin-top: 5px;
}
.section_flow .flow .item p {
  margin-top: 10px;
}
.section_flow .flow .item + .item {
  margin-top: 50px;
}
.section_flow .flow .item .btn_detail {
  margin-top: 20px;
}
@media screen and (max-width: 800px) {
  .section_flow .flow .item .head {
    gap: 1vw;
  }
  .section_flow .flow .item .head .num {
    width: 8vw;
    height: 8vw;
    font-size: 3.5vw;
    line-height: calc(8vw - 2px);
    border: 1px solid #E83416;
  }
  .section_flow .flow .item .head .txt {
    font-size: 5vw;
    padding-left: 5vw;
  }
  .section_flow .flow .item .head .txt::before {
    width: 2vw;
    height: 2vw;
    top: 3vw;
    left: 0;
    border-top: solid 2px #E83416;
    border-right: solid 2px #E83416;
  }
  .section_flow .flow .item .head .txt .s {
    display: block;
    font-size: 3.5vw;
  }
  .section_flow .flow .item .list {
    margin-top: 2vw;
  }
  .section_flow .flow .item .list li {
    font-size: 3.5vw;
    padding-left: 5.5vw;
    background: url(../images/flow/icon_check.svg) no-repeat center left/4vw auto;
  }
  .section_flow .flow .item .list li + li {
    margin-top: 1vw;
  }
  .section_flow .flow .item p {
    margin-top: 2vw;
  }
  .section_flow .flow .item + .item {
    margin-top: 8vw;
  }
  .section_flow .flow .item .btn_detail {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 4vw;
  }
  .section_flow .flow .item .btn_detail a {
    font-size: 3.5vw;
    padding-left: 5vw;
    padding-right: 10vw;
  }
}

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

  section_faq

===============================================================*/
.section_faq {
  background: #12142f url(../images/faq/bg.png) no-repeat center center/contain;
  /*-------------------------------------------------------------
    faq	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	sns_wrp	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    caution	
  -------------------------------------------------------------*/
}
@media screen and (max-width: 800px) {
  .section_faq {
    background: #12142f url(../images/faq/bg.png) no-repeat center center/300% auto;
  }
}
.section_faq .faq {
  color: #12142f;
}
.section_faq .faq .accordion {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.section_faq .faq .accordion .accordion_header {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  padding: 20px;
  padding-right: 40px;
  background: linear-gradient(to bottom, #1322ba, #4e47ec);
  min-height: 112px;
  transition: all 0.2s;
  cursor: pointer;
}
.section_faq .faq .accordion .accordion_header .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #D9D9D9;
  mix-blend-mode: multiply;
  opacity: 0;
  transition: 0.2s;
}
.section_faq .faq .accordion .accordion_header:hover .bg {
  opacity: 1;
}
.section_faq .faq .accordion .accordion_header::before,
.section_faq .faq .accordion .accordion_header::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 1px;
  background: #fff;
  transition: all 0.2s;
}
.section_faq .faq .accordion .accordion_header::before {
  right: 34px;
  transform: rotate(45deg);
}
.section_faq .faq .accordion .accordion_header::after {
  right: 20px;
  transform: rotate(-45deg);
}
.section_faq .faq .accordion .accordion_header.active::before,
.section_faq .faq .accordion .accordion_header.active::after {
  width: 30px;
}
.section_faq .faq .accordion .accordion_header.active::before {
  transform: translate(12px, 0) rotate(45deg);
}
.section_faq .faq .accordion .accordion_header.active::after {
  transform: translate(-2px, 0) rotate(-45deg);
}
.section_faq .faq .accordion .accordion_header .title {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding-right: 40px;
}
.section_faq .faq .accordion .accordion_header .title .tag {
  width: 50px;
  font-size: 35px;
  line-height: 1;
  margin-top: 2px;
}
.section_faq .faq .accordion .accordion_header .title .txt {
  flex: 1;
  font-size: 26px;
  line-height: 1.4;
  font-weight: 500;
}
.section_faq .faq .accordion .accordion_body {
  padding: 20px 70px;
}
.section_faq .faq .accordion .accordion_body p + p {
  margin-top: 30px;
}
.section_faq .faq .accordion .accordion_body a {
  color: #7AFFED;
  text-decoration: underline;
}
.section_faq .faq .accordion .accordion_body a:hover {
  text-decoration: none;
}
.section_faq .faq .accordion + .accordion {
  margin-top: 40px;
}
@media screen and (max-width: 800px) {
  .section_faq .faq .accordion {
    border-radius: 0;
  }
  .section_faq .faq .accordion .accordion_header {
    padding: 3vw 4vw;
    min-height: 23vw;
  }
  .section_faq .faq .accordion .accordion_header::before,
  .section_faq .faq .accordion .accordion_header::after {
    width: 2.5vw;
  }
  .section_faq .faq .accordion .accordion_header::before {
    right: 3.6vw;
  }
  .section_faq .faq .accordion .accordion_header::after {
    right: 2vw;
  }
  .section_faq .faq .accordion .accordion_header.active::before,
  .section_faq .faq .accordion .accordion_header.active::after {
    width: 4vw;
  }
  .section_faq .faq .accordion .accordion_header.active::before {
    transform: translate(1.4vw, 0) rotate(45deg);
  }
  .section_faq .faq .accordion .accordion_header.active::after {
    transform: translate(-0.2vw, 0) rotate(-45deg);
  }
  .section_faq .faq .accordion .accordion_header .title {
    padding-right: 4vw;
  }
  .section_faq .faq .accordion .accordion_header .title .tag {
    width: 7vw;
    font-size: 5vw;
    margin-top: 0.5vw;
  }
  .section_faq .faq .accordion .accordion_header .title .txt {
    font-size: 4vw;
  }
  .section_faq .faq .accordion .accordion_body {
    padding: 4vw;
  }
  .section_faq .faq .accordion .accordion_body p + p {
    margin-top: 3vw;
  }
  .section_faq .faq .accordion + .accordion {
    margin-top: 4vw;
  }
}
.section_faq .sns_wrp p {
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
  text-align: center;
}
.section_faq .sns_wrp ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-top: 15px;
}
.section_faq .sns_wrp ul li {
  width: 50px;
}
.section_faq .sns_wrp ul li a {
  background-image: url(../images/assets/icon_x.svg);
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
  padding: 0;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.section_faq .sns_wrp ul li a:hover {
  opacity: 0.7;
}
.section_faq .sns_wrp ul li.twitter a {
  background-image: url(../images/assets/icon_x.svg);
}
.section_faq .sns_wrp ul li.facebook a {
  background-image: url(../images/assets/icon_facebook.svg);
}
.section_faq .sns_wrp ul li.line a {
  background-image: url(../images/assets/icon_line.svg);
}
@media screen and (max-width: 800px) {
  .section_faq .sns_wrp p {
    font-size: 4vw;
  }
  .section_faq .sns_wrp ul {
    gap: 2vw;
    margin-top: 4vw;
  }
  .section_faq .sns_wrp ul li {
    width: 12vw;
  }
  .section_faq .sns_wrp ul li a {
    background-size: 8vw 8vw;
    width: 12vw;
    height: 12vw;
    border-radius: 50%;
  }
}
.section_faq .caution {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .section_faq .caution {
    font-size: 3vw;
  }
}

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

	fixed_link

===============================================================*/
.fixed_link {
  position: fixed;
  z-index: 10;
  bottom: 10px;
  right: 10px;
  padding: 10px;
  background: #fff;
  border: 1px solid #12142f;
  border-radius: 10px;
  box-sizing: border-box;
  transition: 0.3s;
  transform: translateX(26vw);
}
.fixed_link.show {
  transform: translateX(0);
}
.fixed_link .btn {
  width: 200px;
}
.fixed_link .btn a {
  overflow: hidden;
  position: relative;
  display: block;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  padding: 10px 0;
  background: linear-gradient(to right, #F53A26, #0963F9);
  border-radius: 30px;
}
.fixed_link .btn a span {
  position: relative;
}
.fixed_link .btn a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, #F53A26, #0963F9);
  border-radius: 30px;
  opacity: 0;
  transition: 0.4s;
}
.fixed_link .btn a:hover:before {
  opacity: 1;
}
.fixed_link .btn a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 15px;
  margin: auto;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
.fixed_link .btn + .btn {
  margin-top: 10px;
}
.fixed_link .link {
  font-size: 14px;
  text-align: center;
  font-weight: 700;
}
.fixed_link .link a {
  text-decoration: underline;
}
.fixed_link .link a:hover {
  text-decoration: none;
}
.fixed_link * + .link {
  margin-top: 10px;
}
@media screen and (max-width: 800px) {
  .fixed_link {
    padding: 2vw;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    bottom: 0;
    right: 0;
    width: 100%;
    border: none;
    border-radius: 0;
    transform: translateY(26vw);
  }
  .fixed_link.show {
    transform: translateY(0);
  }
  .fixed_link .btn {
    width: 44%;
    width: 80%;
    margin: 0 auto;
  }
  .fixed_link .btn a {
    font-size: 4vw;
    line-height: 4vw;
    padding: 3vw 0;
    border-radius: 7vw;
  }
  .fixed_link .btn a:before {
    border-radius: 7vw;
  }
  .fixed_link .btn a:after {
    width: 1.2vw;
    height: 1.2vw;
    right: 3vw;
  }
  .fixed_link .btn + .btn {
    width: 54%;
    margin-top: 0;
  }
  .fixed_link .link {
    width: 100%;
    font-size: 3.5vw;
  }
  .fixed_link * + .link {
    margin-top: 2vw;
  }
}

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

    js_multi_lane_modal_slider

===============================================================*/
.js_multi_lane_modal_slider, .js_multi_lane_modal_slider2 {
  margin: 0 calc(50% - 50vw) 0;
  min-height: 558px;
}
@media screen and (max-width: 800px) {
  .js_multi_lane_modal_slider, .js_multi_lane_modal_slider2 {
    min-height: 85vw;
  }
}

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

    js_jcomstream_recommend_slider

===============================================================*/
.js_jcomstream_recommend_slider {
  margin: 0 calc(50% - 50vw) 0;
  min-height: 454px;
}
.js_jcomstream_recommend_slider .slick_slider .slide .box {
  display: none;
}
@media screen and (max-width: 800px) {
  .js_jcomstream_recommend_slider {
    min-height: 47vw;
  }
}

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

	smooth_slider

===============================================================*/
.smooth_slider {
  overflow: hidden;
  height: fit-content;
  padding: 0;
  /* ガター */
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  smooth_slider ここまで
     -------------------------------------------------------------*/
}
.smooth_slider .slider {
  position: relative;
  height: auto !important;
  opacity: 0;
}
.smooth_slider .slide {
  overflow: hidden;
  width: 386px;
  position: relative;
  margin: 0 10px;
}
.smooth_slider .slide a {
  display: block;
  position: relative;
  z-index: 1;
  color: #12142f;
  text-decoration: none;
  border-radius: 10px;
  overflow: hidden;
  background: #D4E0FF;
}
.smooth_slider .slide a:hover {
  opacity: 0.7;
}
.smooth_slider .slide .head {
  display: none;
}
.smooth_slider .slide .box {
  padding: 15px;
}
.smooth_slider .slide .box .ch_genre {
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  direction: ltr;
}
.smooth_slider .slide .box .date {
  display: none;
}
.smooth_slider .slide .info,
.smooth_slider .slide .copyright,
.smooth_slider .slide .btn {
  display: none;
}
.smooth_slider .slide.item_gra a {
  color: #fff;
  background: linear-gradient(to right, #F53A26, #0963F9);
}
@media screen and (max-width: 800px) {
  .smooth_slider .slide {
    width: 40vw;
    margin: 0 1.5vw;
  }
  .smooth_slider .slide .box {
    padding: 2vw;
  }
  .smooth_slider .slide .box .ch_genre {
    font-size: 3.5vw;
  }
}

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

	front_slider

===============================================================*/
.front_slider {
  position: relative;
  transition: all 0.5s;
  margin-top: 20px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.front_slider:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(to left, transparent, #12142f);
}
.front_slider:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(to right, transparent, #12142f);
}
.front_slider .sub_slider + .sub_slider {
  margin-top: 20px;
}
@media screen and (max-width: 800px) {
  .front_slider {
    margin-top: 3vw;
  }
  .front_slider:before {
    width: 15%;
  }
  .front_slider:after {
    width: 15%;
  }
  .front_slider .sub_slider + .sub_slider {
    margin-top: 3vw;
  }
}

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

    modal

===============================================================*/
.this_modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  width: 100%;
  height: 100vh;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: all 0.3s;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
      modal_bg	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_container	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_width	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_width_narrow	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_content	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_body	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
      modal_close	
  -------------------------------------------------------------*/
  /*===============================================================
      //	modal
  ===============================================================*/
}
.modal_active .this_modal {
  z-index: 99999;
  pointer-events: inherit;
  opacity: 1;
}
.this_modal .modal_bg {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 99999;
  width: 30px;
  height: 30px;
  width: 100%;
  height: 100vh;
  width: 100%;
  height: 100vh;
  border-radius: 0%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.3s;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.modal_active .this_modal .modal_bg {
  width: 100%;
  height: 100vh;
  border-radius: 0;
  background-color: black;
}
.this_modal .modal_container {
  position: relative;
  z-index: 100000;
  opacity: 0;
  transform: scale(0.9);
  transition: all 0.3s;
  transition-delay: 0s;
  width: -moz-fit-content;
  width: fit-content;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.modal_active .this_modal .modal_container {
  opacity: 1;
  transform: scale(1);
  transition: all 0.3s;
  transition-delay: 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 1030px) {
  .this_modal .modal_container {
    width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 800px) {
  .this_modal .modal_container {
    width: 100%;
    height: auto;
    padding: 0;
  }
}
.this_modal .modal_width {
  max-width: 900px;
  min-width: 900px;
  height: fit-content;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 1000px) {
  .this_modal .modal_width {
    max-width: inherit;
    min-width: inherit;
    width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .this_modal .modal_width {
    max-width: inherit;
    min-width: inherit;
  }
}
.this_modal .modal_width_narrow {
  max-width: 660px;
  min-width: 660px;
  height: fit-content;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 1000px) {
  .this_modal .modal_width_narrow {
    max-width: inherit;
    min-width: inherit;
    width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .this_modal .modal_width_narrow {
    max-width: inherit;
    min-width: inherit;
  }
}
.this_modal .modal_content {
  position: relative;
  z-index: -1;
  background: #12142f;
  opacity: 0;
  position: absolute;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.this_modal .modal_content.current {
  z-index: 1;
  opacity: 1;
  position: relative;
}
.this_modal .modal_body {
  padding: 50px;
  height: auto;
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 800px) {
  .this_modal .modal_body {
    padding: 5vw;
    max-height: calc(100vh - 20vw);
  }
}
.this_modal .modal_close {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  width: 45px;
  height: 45px;
  border-radius: 45px;
  overflow: hidden;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.this_modal .modal_close a {
  display: block;
  width: 45px;
  height: 45px;
  position: relative;
}
.this_modal .modal_close a:hover {
  opacity: 0.7;
}
.this_modal .modal_close a::after,
.this_modal .modal_close a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 36px;
  height: 1px;
  background-color: #fff;
}
.this_modal .modal_close a::after {
  transform: rotate(45deg);
}
.this_modal .modal_close a::before {
  transform: rotate(-45deg);
}
@media screen and (max-width: 800px) {
  .this_modal .modal_close {
    width: 10vw;
    height: 10vw;
    top: 0;
    right: 0;
    border-radius: 10vw;
  }
  .this_modal .modal_close a {
    width: 10vw;
    height: 10vw;
  }
  .this_modal .modal_close a::after,
  .this_modal .modal_close a::before {
    width: 8vw;
  }
}

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

	modal_programdetail

===============================================================*/
.modal_programdetail {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #08137E !important;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	title_block	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	modal_content	
  -------------------------------------------------------------*/
  /*===============================================================
  	//	modal_programdetail
  ===============================================================*/
}
.modal_programdetail .slide a.deactive {
  pointer-events: none;
  cursor: default;
}
.modal_programdetail .slide a:hover {
  opacity: 1;
}
.modal_programdetail .slide_haslink a {
  pointer-events: visible;
  cursor: pointer;
  transition: all 0.3s;
  display: block;
}
.modal_programdetail .slide_haslink a .thumb {
  transition: all 0.3s;
}
.modal_programdetail .slide_haslink a:hover {
  opacity: 1;
  transform: translateY(-20px);
}
.modal_programdetail .slide_haslink a:hover .thumb {
  box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 800px) {
  .modal_programdetail {
    width: 100vw !important;
  }
  .modal_programdetail .modal_close {
    right: 0vw;
  }
  .modal_programdetail .slide_haslink a:hover {
    transform: translateY(-2vw);
  }
}
.modal_programdetail .title_block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  background: url(../images/modal/txtimg_pickup.svg) no-repeat top center/450px auto;
  height: 100px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.modal_programdetail .title_block .title {
  width: 200px;
  color: #1977ff;
  font-size: 26px;
  line-height: 30px;
  font-weight: 500;
  text-align: center;
  padding: 5px 0;
  background: #fff;
  border-radius: 20px;
}
@media screen and (max-width: 800px) {
  .modal_programdetail .title_block {
    background: url(../images/modal/txtimg_pickup.svg) no-repeat top center/67.5vw auto;
    height: 15vw;
  }
  .modal_programdetail .title_block .title {
    width: 30vw;
    font-size: 4vw;
    line-height: 1;
    padding: 1.5vw 0;
    border-radius: 3.5vw;
  }
}
.modal_programdetail .modal_body {
  padding: 50px 0 !important;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
@media screen and (max-width: 800px) {
  .modal_programdetail .modal_body {
    padding: 5vw 0 !important;
  }
}

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

	program_detail_modal_slider

===============================================================*/
.program_detail_modal_slider {
  display: block;
  margin-top: 30px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	.slider .pager
  -------------------------------------------------------------*/
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
  	.slider .pager a
  -------------------------------------------------------------*/
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
  /*-------------------------------------------------------------
    slide	中身
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	pager_ui	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	.slick-dotted.slick-slider	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	slick-dots	
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
  	program_detail_modal_slider ここまで
  -------------------------------------------------------------*/
}
.program_detail_modal_slider.slider_active .slider {
  opacity: 1;
}
.program_detail_modal_slider .slider {
  opacity: 0;
  transition: all 0.3s;
  position: relative;
}
.program_detail_modal_slider .slider .slide {
  width: 600px;
  margin: 0 20px;
  position: relative;
  border-radius: 0;
  pointer-events: visible;
  transition: all 0.3s;
}
.program_detail_modal_slider .slider .slide a {
  text-decoration: none;
}
.program_detail_modal_slider .slider .slide img {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .program_detail_modal_slider {
    margin-top: 4vw;
  }
  .program_detail_modal_slider .slider {
    height: auto !important;
  }
  .program_detail_modal_slider .slider .slide {
    width: 80vw;
    margin: 0 2vw;
    height: auto;
  }
}
.program_detail_modal_slider .slider .pager {
  position: absolute;
  top: 138.5px;
  left: 0;
  right: 0;
  margin: auto;
  width: 60px;
  height: 60px;
  z-index: 5;
}
.program_detail_modal_slider .slider .prev {
  transform: translateX(-320px);
}
.program_detail_modal_slider .slider .next {
  transform: translateX(320px);
}
@media screen and (max-width: 800px) {
  .program_detail_modal_slider .slider .pager {
    top: 17.5vw;
    width: 10vw;
    height: 10vw;
  }
  .program_detail_modal_slider .slider .prev {
    transform: translateX(-42vw);
  }
  .program_detail_modal_slider .slider .next {
    transform: translateX(42vw);
  }
}
.program_detail_modal_slider .slider .pager a {
  display: block;
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 50% 50%;
  overflow: hidden;
  text-indent: -200%;
  position: relative;
  transition: all 0.3s;
}
.program_detail_modal_slider .slider .pager a:hover {
  opacity: 0.7;
}
.program_detail_modal_slider .slider .pager a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-right: solid 2px #1977ff;
  border-bottom: solid 2px #1977ff;
  width: 14px;
  height: 14px;
  transform: rotate(-45deg) translate(-2px, -2px);
  transition: all 0.3s;
}
.program_detail_modal_slider .slider .prev a:after {
  transform: rotate(135deg) translate(-2px, -2px);
}
@media screen and (max-width: 800px) {
  .program_detail_modal_slider .slider .pager a {
    width: 10vw;
    height: 10vw;
  }
  .program_detail_modal_slider .slider .pager a:after {
    border-right: solid 2px #1977ff;
    border-bottom: solid 2px #1977ff;
    width: 2vw;
    height: 2vw;
  }
}
.program_detail_modal_slider .slide {
  margin-top: 20px;
}
.program_detail_modal_slider .slide a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.program_detail_modal_slider .slide .thumb {
  overflow: hidden;
  border-radius: 20px;
  /* img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  } */
}
.program_detail_modal_slider .slide .head {
  font-size: 26px;
  line-height: 1.4;
  font-weight: 500;
  margin-top: 20px;
  /* display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 72.8px; */
}
.program_detail_modal_slider .slide .box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-top: 20px;
  gap: 20px;
}
.program_detail_modal_slider .slide .box .ch_genre {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  padding: 10px;
  border-radius: 10px;
  background: linear-gradient(to right, #317EFF, #8236FF);
}
.program_detail_modal_slider .slide .box .tag {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 9.5px 10px;
  border-radius: 10px;
  background: linear-gradient(to right, #317EFF, #8236FF);
}
.program_detail_modal_slider .slide .box .tag span {
  position: relative;
  z-index: 2;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
}
.program_detail_modal_slider .slide .box .tag:after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 10px;
  background: #08137E;
}
.program_detail_modal_slider .slide .box .date {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
}
.program_detail_modal_slider .slide .info {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 10px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 51.2px;
}
.program_detail_modal_slider .slide .copyright {
  color: #BEBEBE;
  font-size: 12px;
  line-height: 1.2;
  margin-top: 10px;
}
.program_detail_modal_slider .slide .btn {
  position: relative;
  display: block;
  text-align: center;
  padding: 10px 0;
  background: #fff;
  border-radius: 20px;
  width: 160px;
  margin-top: 40px;
  transition: 0.3s;
}
.program_detail_modal_slider .slide .btn:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 10px;
  background: #08137E;
  border-radius: 20px;
}
.program_detail_modal_slider .slide .btn:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 6px;
  height: 6px;
  top: 0;
  bottom: 0;
  left: auto;
  right: 10px;
  margin: auto;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
}
.program_detail_modal_slider .slide .btn span {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 15px;
  line-height: 20px;
  font-weight: 700;
}
.program_detail_modal_slider .slide a:hover .btn {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .program_detail_modal_slider .slide {
    margin-top: 4vw;
  }
  .program_detail_modal_slider .slide .thumb {
    border-radius: 2vw;
  }
  .program_detail_modal_slider .slide .head {
    font-size: 4.5vw;
  }
  .program_detail_modal_slider .slide .box {
    gap: 2vw;
    margin-top: 2vw;
  }
  .program_detail_modal_slider .slide .box .ch_genre {
    font-size: 3vw;
    line-height: 1;
    padding: 1vw 2vw;
    border-radius: 5px;
  }
  .program_detail_modal_slider .slide .box .tag {
    padding: calc(1vw - 1px) 2vw;
    border-radius: 5px;
  }
  .program_detail_modal_slider .slide .box .tag span {
    font-size: 3vw;
    line-height: 1;
  }
  .program_detail_modal_slider .slide .box .tag:after {
    border-radius: 5px;
  }
  .program_detail_modal_slider .slide .box .date {
    font-size: 3vw;
    line-height: 1;
  }
  .program_detail_modal_slider .slide .info {
    font-size: 3vw;
    margin-top: 2vw;
    height: 9.6vw;
  }
  .program_detail_modal_slider .slide .copyright {
    font-size: 2.5vw;
    margin-top: 2vw;
  }
  .program_detail_modal_slider .slide .btn {
    width: 40%;
    margin-top: 4vw;
    padding: 2vw 0;
    border-radius: 10vw;
  }
  .program_detail_modal_slider .slide .btn span {
    font-size: 3vw;
    line-height: 1;
  }
  .program_detail_modal_slider .slide .btn:before {
    border-radius: 4vw;
  }
  .program_detail_modal_slider .slide .btn:after {
    width: 1vw;
    height: 1vw;
    right: 2vw;
  }
}
.program_detail_modal_slider .pager_ui {
  opacity: 0;
  transition: all 0.3s;
  position: absolute;
  bottom: -30px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  height: 30px;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.program_detail_modal_slider .pager_ui .progress {
  height: 30px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-right: 20px;
}
.program_detail_modal_slider .pager_ui .progress .bars {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.program_detail_modal_slider .pager_ui .progress .bar {
  height: 30px;
  width: 30px;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s;
  cursor: pointer;
}
.program_detail_modal_slider .pager_ui .progress .bar:hover {
  opacity: 0.5;
}
.program_detail_modal_slider .pager_ui .progress .bar .bar_bg {
  width: 100%;
  background: #333;
  height: 1px;
  position: relative;
  overflow: hidden;
}
.program_detail_modal_slider .pager_ui .progress .bar + .bar {
  margin-left: 10px;
}
.program_detail_modal_slider .pager_ui .progress .bar .progress_bar {
  width: 0%;
  background: #999;
  height: 1px;
  position: absolute;
  left: 0;
}
.program_detail_modal_slider .pager_ui .progress .nums {
  margin-right: 20px;
  font-size: 12px;
}
.program_detail_modal_slider .pager_ui .progress .nums .slash {
  padding: 0 3px;
}
@media screen and (max-width: 800px) {
  .program_detail_modal_slider .pager_ui .progress {
    height: 40px;
    margin-right: 10px;
  }
  .program_detail_modal_slider .pager_ui .progress .bar {
    width: 25px;
    height: 40px;
  }
  .program_detail_modal_slider .pager_ui .progress .bar + .bar {
    margin-left: 5px;
  }
  .program_detail_modal_slider .pager_ui .progress .nums {
    margin-right: 10px;
    font-size: 12px;
  }
  .program_detail_modal_slider .pager_ui .progress .nums .slash {
    padding: 0 3px;
  }
}
.program_detail_modal_slider .slick-dotted.slick-slider {
  margin-bottom: 0;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.program_detail_modal_slider .slick-dots {
  position: relative;
  bottom: 0;
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  /* タブレット */
  /* for TABLET */
  /* SP */
  /* for SP */
}
.program_detail_modal_slider .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  margin-top: 10px;
}
.program_detail_modal_slider .slick-dots li button {
  width: 10px;
  height: 10px;
}
.program_detail_modal_slider .slick-dots li button::before {
  font-size: 14px;
  line-height: 10px;
  width: 10px;
  height: 10px;
  color: #fff;
  opacity: 1;
  transition: all 0.3s;
}
.program_detail_modal_slider .slick-dots li button:hover::before {
  opacity: 0.5;
}
.program_detail_modal_slider .slick-dots li.slick-active button::before {
  color: #E83416;
  opacity: 1;
  transform: scale(1.3);
}
/*-------------------------------------------------------------
  modal_programdetail_telasa	
-------------------------------------------------------------*/
.modal_programdetail_telasa {
  background: #101331 !important;
}
.modal_programdetail_telasa .slider .pager a {
  background-color: #E83416;
}
.modal_programdetail_telasa .slider .pager a:after {
  border-color: #fff;
}
.modal_programdetail_telasa .title_block .title {
  color: #fff;
  background: linear-gradient(to right, #E83416, #B10404);
}
.modal_programdetail_telasa .slide .box .ch_genre {
  background: linear-gradient(to right, #CF31FF, #C6006D);
}
.modal_programdetail_telasa .slide .box .tag {
  background: linear-gradient(to right, #CF31FF, #C6006D);
}
.modal_programdetail_telasa .slide .box .tag:after {
  background: #101331;
}
.modal_programdetail_telasa .slide .btn {
  background: linear-gradient(to right, #F53A26, #0963F9);
}
.modal_programdetail_telasa .slide .btn:before {
  background: #101331;
}
/*-------------------------------------------------------------
  modal_programdetail_paramount	
-------------------------------------------------------------*/
.modal_programdetail_paramount {
  background: #101331 !important;
}
.modal_programdetail_paramount .slider .pager a {
  background-color: #1977ff;
}
.modal_programdetail_paramount .slider .pager a:after {
  border-color: #fff;
}
.modal_programdetail_paramount .title_block .title {
  color: #fff;
  background: linear-gradient(to right, #1322B9, #524AF0);
}
.modal_programdetail_paramount .slide .box .tag:after {
  background: #101331;
}
.modal_programdetail_paramount .slide .btn {
  background: linear-gradient(to right, #F53A26, #0963F9);
}
.modal_programdetail_paramount .slide .btn:before {
  background: #101331;
}
/*===============================================================

    js_inline_scroll_container

===============================================================*/
.js_inline_scroll_container {
  position: relative;
  padding-top: 0 !important;
}
/*-------------------------------------------------------------
    btn_scroll_next	
-------------------------------------------------------------*/
.btn_scroll_next {
  position: absolute;
  z-index: 10;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
}
.btn_scroll_next a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/comparison/btn_scroll_next.svg) no-repeat center/contain;
}
.btn_scroll_next a:hover {
  opacity: 0.7;
}
.btn_scroll_next.btn_scroll_top a {
  background: url(../images/comparison/btn_scroll_top.svg) no-repeat center/contain;
}
@media screen and (max-width: 800px) {
  .btn_scroll_next {
    position: absolute;
    bottom: 2vw;
    right: 2vw;
    width: 10vw;
    height: 10vw;
  }
}

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

  comparison

===============================================================*/
.comparison {
  /*-------------------------------------------------------------
    item
  -------------------------------------------------------------*/
  /*-------------------------------------------------------------
    caption_wrp	
  -------------------------------------------------------------*/
}
.comparison .head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 38px;
  line-height: 45px;
  margin-bottom: 20px;
}
.comparison .head .icon {
  width: 45px;
  height: 45px;
}
@media screen and (max-width: 800px) {
  .comparison .head {
    gap: 2vw;
    font-size: 6vw;
    line-height: 7vw;
    margin-bottom: 3vw;
  }
  .comparison .head .icon {
    width: 7vw;
    height: 7vw;
  }
}
.comparison .item {
  padding-top: 50px;
}
.comparison .item + .item {
  padding-top: 0;
  margin-top: 50px;
}
.comparison .item .table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  /* .k4 {
    padding-right: 80px;
    background: url(../images/comparison/tag_4k.svg) no-repeat center right 20px / 50px auto;
  }
  .hd {
    padding-right: 80px;
    background: url(../images/comparison/tag_hd.svg) no-repeat center right 20px / 50px auto;
  }
  .sd {
    padding-right: 80px;
    background: url(../images/comparison/tag_sd.svg) no-repeat center right 20px / 50px auto;
  } */
}
.comparison .item .table table th,
.comparison .item .table table td {
  padding: 10px;
  border: solid 1px #dadada;
  color: #12142f;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 700;
}
.comparison .item .table table th {
  vertical-align: middle;
  text-align: center;
  background: #EDEDED;
  padding: 10px;
}
.comparison .item .table table td {
  position: relative;
  padding: 20px;
}
.comparison .item .table table td a {
  color: #12142f;
  text-decoration: underline;
}
.comparison .item .table table td a:hover {
  text-decoration: none;
}
.comparison .item .table table td .dot {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: #12142f;
  border-radius: 50%;
}
.comparison .item .table table td .dot_gra {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  width: 20px;
  height: 20px;
  background: linear-gradient(to right, #F53A26, #0963F9);
  border-radius: 50%;
}
.comparison .item .table table td .paid {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 65%;
  margin: auto;
  display: block;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.comparison .item .table table td sup {
  font-size: 12px;
  margin-left: 5px;
}
.comparison .item .table table td .s {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-top: 0.2em;
}
.comparison .item .table table td:nth-child(1) {
  width: 40%;
}
@media screen and (max-width: 800px) {
  .comparison .item {
    padding-top: 5vw;
  }
  .comparison .item + .item {
    padding-top: 0;
    margin-top: 6vw;
  }
  .comparison .item .table {
    overflow: scroll;
  }
  .comparison .item .table table {
    min-width: 120vw;
    /* .k4 {
      padding-right: 8vw;
      background: url(../images/comparison/tag_4k.svg) no-repeat center right 2vw / 6vw auto;
    }
    .hd {
      padding-right: 8vw;
      background: url(../images/comparison/tag_hd.svg) no-repeat center right 2vw / 6vw auto;
    }
    .sd {
      padding-right: 8vw;
      background: url(../images/comparison/tag_sd.svg) no-repeat center right 2vw / 6vw auto;
    } */
  }
  .comparison .item .table table th,
  .comparison .item .table table td {
    font-size: 3.5vw;
  }
  .comparison .item .table table th {
    padding: 1vw 2vw;
  }
  .comparison .item .table table td {
    padding: 3vw;
  }
  .comparison .item .table table td .dot {
    width: 3vw;
    height: 3vw;
  }
  .comparison .item .table table td .dot_gra {
    width: 3vw;
    height: 3vw;
  }
  .comparison .item .table table td .paid {
    left: 15vw;
    font-size: 2.5vw;
  }
  .comparison .item .table table td sup {
    font-size: 2vw;
    margin-left: 1vw;
  }
  .comparison .item .table table td .s {
    font-size: 2.5vw;
  }
  .comparison .item .table table td:nth-child(1) {
    width: 40%;
  }
}
.comparison .caption_wrp {
  margin-top: 100px;
}
.comparison .caption_wrp .box {
  margin-top: 40px;
}
.comparison .caption_wrp p {
  font-size: 14px;
  line-height: 1.6;
}
.comparison .caption_wrp p + p {
  margin-top: 10px;
}
.comparison .caption_wrp .k4 {
  padding-left: 40px;
  background: url(../images/comparison/tag_4k.svg) no-repeat left center/30px auto;
}
.comparison .caption_wrp .hd {
  padding-left: 40px;
  background: url(../images/comparison/tag_hd.svg) no-repeat left center/30px auto;
}
.comparison .caption_wrp .sd {
  padding-left: 40px;
  background: url(../images/comparison/tag_sd.svg) no-repeat left center/30px auto;
}
@media screen and (max-width: 800px) {
  .comparison .caption_wrp {
    margin-top: 6vw;
  }
  .comparison .caption_wrp .box {
    margin-top: 4vw;
  }
  .comparison .caption_wrp p {
    font-size: 2.5vw;
  }
  .comparison .caption_wrp p + p {
    margin-top: 2vw;
  }
  .comparison .caption_wrp .k4 {
    padding-left: 6vw;
    background: url(../images/comparison/tag_4k.svg) no-repeat left center/4vw auto;
  }
  .comparison .caption_wrp .hd {
    padding-left: 6vw;
    background: url(../images/comparison/tag_hd.svg) no-repeat left center/4vw auto;
  }
  .comparison .caption_wrp .sd {
    padding-left: 6vw;
    background: url(../images/comparison/tag_sd.svg) no-repeat left center/4vw auto;
  }
}

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

    js_popup_tips

===============================================================*/
.js_popup_tips {
  /* display: inline-block;
  width: 1em;
  height: 1em;
  border: solid 1px $c_white;
  border-radius: 1em;
  margin: 0;
  vertical-align: middle;
  position: relative;
  text-align: center;
  transform: translate(0px, -0.15em);
  margin-left: 0.2em;
  cursor: pointer;
  transition: all 0.3s;

  &:hover {
    opacity: 0.7;
  }

  &::after {
    content: "?";
    color: $c_white;
    font-size: 70%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-weight: bold;
    transform: translateY(-0.2em);
  } */
}
/*===============================================================

    js_popup_tips_dialogs

===============================================================*/
.js_popup_tips_dialogs dialog {
  border: none;
  border-radius: 8px;
  padding: 50px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  width: auto;
  max-width: 800px;
  text-align: center;
  background-color: #000;
  border: solid 1px #FFCE00;
  box-sizing: border-box;
  color: #fff;
}
.js_popup_tips_dialogs .txt {
  text-align: left;
}
.js_popup_tips_dialogs .txt .title {
  font-size: 30px;
  font-weight: 700;
  color: #FFCE00;
}
.js_popup_tips_dialogs .txt * + .title {
  margin-top: 1em;
}
.js_popup_tips_dialogs .txt .subtitle {
  font-size: 18px;
}
.js_popup_tips_dialogs .txt p {
  font-size: 16px;
  margin-top: 0.5em;
  opacity: 0.8;
}
.js_popup_tips_dialogs .txt .caption {
  font-size: 12px;
  text-align: left;
  margin-top: 1em;
}
.js_popup_tips_dialogs .js_close_modal {
  display: inline-block;
  min-width: 180px;
  text-align: center;
  margin: 0 auto;
  margin-top: 50px;
  background-color: #252525;
  color: #fff;
  font-size: 16px;
  padding: 10px 20px;
  border: solid 1px #333;
  border-radius: 5px;
  outline: none;
  transition: all 0.3s;
  cursor: pointer;
}
.js_popup_tips_dialogs .js_close_modal:hover {
  border: solid 1px #444;
}
.js_popup_tips_dialogs .modal-dialog {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
.js_popup_tips_dialogs .modal-dialog.is-visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.js_popup_tips_dialogs .modal-dialog::backdrop {
  background: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 800px) {
  .js_popup_tips_dialogs dialog {
    padding: 5vw;
    margin: auto 3vw;
  }
  .js_popup_tips_dialogs .txt .title {
    font-size: 4.5vw;
  }
  .js_popup_tips_dialogs .txt * + .title {
    margin-top: 1em;
  }
  .js_popup_tips_dialogs .txt .subtitle {
    font-size: 3.5vw;
  }
  .js_popup_tips_dialogs .txt p {
    font-size: 3vw;
  }
  .js_popup_tips_dialogs .txt .caption {
    font-size: 2.5vw;
    margin-top: 1em;
  }
  .js_popup_tips_dialogs .js_close_modal {
    min-width: 50%;
    margin-top: 5vw;
    font-size: 3vw;
    padding: 2vw 0;
    border-radius: 5px;
  }
}/*# sourceMappingURL=style.css.map */