/* CSS Document */
h2 {
    position: relative;
    font-weight: 900;
    -webkit-transform: skewX(-10deg);
    -moz-transform: skewX(-10deg);
    -o-transform: skewX(-10deg);
    transform: skewX(-10deg);
    font-size: 64px;
    text-align: center;
    margin-bottom: 40px;
}
@media screen and (max-width: 639px) {
h2 {
    font-size: 58px;
}
}
h2::after {
    content: "";
    border-bottom: 2px solid #333;
    width: 80px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 40px);
}
.disabled {
    pointer-events: none;
}
.wrap {
    font-family: 'Open Sans', sans-serif;
    text-align: initial !important;
    border-top: 1px solid #ccc;
    background-image: url(../images/bg_main.png), url(../images/bg.gif);
    background-repeat: no-repeat, repeat-y;
    background-attachment: fixed, fixed;
    background-position: center, center;
    font-size: 18px;
    min-width: 1200px;
    overflow: hidden;
}
@media screen and (max-width: 639px) {
    .wrap {
        min-width: 100%;
    font-size: 14px;
    }
}

.wrap a {
    transition: all 0.5s;
}
.wrap a:hover {
    transition: all 0.2s;
}

/** 汎用 **/
.contents_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;    
}

/** //汎用 **/

/** 各ページのヘッダタイトル **/
.contents_header {
    padding: 3rem 0;
    overflow: hidden;
/*    background-color: rgba(255,255,255,0.5);
    border-bottom: 1px solid #ccc;*/
}
.contents_header h2 {
    font-weight: 800;
    font-size: 58px;
    margin: 0;
}
.contents_header p {
	font-size: 1.8rem;
	text-align: left;
	padding: 1rem 0 0;
	font-weight: bold;
}
@media screen and (max-width: 639px) {
.contents_header {
    padding: 1rem 0;
}
.contents_header h2 {
    font-size: 42px;
	padding: 0 1rem 0.5rem;
}
.contents_header p {
	font-size: 1.2rem;
	padding: 1rem 1rem 0;
}

}


/** //各ページのヘッダタイトル **/

/** パン屑 **/
.pankuzu {
    background-color: #f0f0f0;
}
@media screen and (max-width: 639px) {
.pankuzu {
    overflow: scroll;
}
    
}

.pankuzu .contents_inner{
}
.pankuzu ul {
    margin: 0;
    padding: 0;
    display: flex;
}
.pankuzu ul li {
    padding: 0;
    margin: 0 14px 0 0;
    font-size: 16px;
}
@media screen and (max-width: 639px) {
.pankuzu ul li {
    white-space: nowrap;
}
}
.pankuzu ul li a,
.pankuzu ul li span {
    padding: 5px 14px;
    background-color: #888;
    color: #fff;
    position: relative;
    line-height: 1;
    font-style: italic;
    display: block;
}
.pankuzu ul li a:hover {
    opacity: 0.7;
}
.pankuzu ul li a::after,
.pankuzu ul li span::after {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 26px 10px 0 0;
    border-color: #888 transparent transparent transparent;
    right: -10px;
    top: 0;
}
.pankuzu ul li a::before,
.pankuzu ul li span::before {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 0 0 26px 10px;
    border-color: transparent transparent #888 transparent;
    left: -10px;
    top: 0;
}
.pankuzu ul li a {
    color: #fff;
    text-decoration: none;
}

/** //パン屑 **/

/** メインビジュアル部 **/
.contents_mainvisual {
    width: 100%;
    margin-bottom: 6rem;
}
@media screen and (max-width: 639px) {
.contents_mainvisual {
    margin-bottom: 4rem;
}
}
.contents_mainvisual img {
    max-width: 100%;
    height: auto;
}
.contents_mainvisual li {
}
/** //メインビジュアル部 **/

/** メニュー部 **/
.contents_menu {
    position: relative;
    background-color: rgba(255,255,255,0.5);
    border-bottom: 1px solid #ccc;
}

.contents_menu::after {
    position: absolute;
    content: '';
    display: block;
    background-color: #111;
    height: 55px;
    width: 100%;
    top: 50%;
    left: calc(50% - 285px);
   -webkit-transform: skewX(-45deg) translate(0, -50%);
   transform: skewX(-45deg) translate(0, -50%);    
    z-index: 10;
    background-image: url('../images/menu_bg.png');
 } 
.contents_menu::before {
    position: absolute;
    content: '';
    display: block;
    background-color: #111;
    height: 55px;
    width: 100%;
    top: 50%;
    right: calc(50% + 580px);
   -webkit-transform: skewX(45deg) translate(0, -50%);
   transform: skewX(45deg) translate(0, -50%);    
    z-index: 10;
    background-image: url('../images/menu_bg.png');
 } 
@media screen and (max-width: 639px) {
.contents_menu::before {
    content: none;
}
.contents_menu::after {
    left: 195px;
} 
}
.contents_menu .contents_inner {
    display: flex;
    justify-content: space-between;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    position: relative;
    z-index: 11;
}

.contents_menu .logo {
    width: 320px;
}
@media screen and (max-width: 639px) {
.contents_menu .logo {
    width: 190px;
}
    
}



.contents_menu .logo img {
    max-width: 100%;
    height: auto;
}
.contents_menu ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.contents_menu ul > li {
    color: #f0f0f0;
    font-weight: 600;
    margin-left: 0.8rem;
    font-size: 16px;
    transform: rotate(.03deg);
    position: relative;
}
.contents_menu ul > li.sub {
    cursor: pointer;
}
.contents_menu ul.menu-list > li > ul.menu-list-sub {
	position: absolute;
	margin: 0.5em 0 0;
	padding: 0;
	border: 1px solid #666;
	-webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
	box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    display: none;
}
@media screen and (max-width: 639px) {
.contents_menu ul.menu-list > li > ul.menu-list-sub {
	position: relative;
    display: block;
}
}

.contents_menu ul.menu-list > li > ul.menu-list-sub > li {
    margin: 0;
    background-color: #000;
    white-space: nowrap;
    border-bottom: 1px solid #666;
}
.contents_menu ul.menu-list > li > ul.menu-list-sub > li:last-child {
    border-bottom: none;
}

.contents_menu ul.menu-list > li > ul.menu-list-sub > li > a {
    display: block;
    padding: 0.5em 0.8em;
}


@media screen and (max-width: 639px) {
.contents_menu ul li {
    margin-left: 10px;
}
    .contents_menu ul.menu-list {
    padding: 0;
    display: block;
    background-color: rgba(17,17,17,0.95);
    position: absolute;
    top: 70px;
    right: -100%;
    z-index: 100;
    width: 100%;
    height: 100vh;
    transition: all 0.3s;
}
.contents_menu ul.menu-list.is-open {
    right: 0px;
    transition: all 0.15s;
    }
    
    .contents_menu ul.menu-list li {
    margin-left: 0px;
    padding: 10px;
    text-align: center;
    border-bottom: 1px dotted rgba(240,240,240,0.80);
}
.contents_menu ul.menu-list > li > ul.menu-list-sub > li {
    padding: 0px;
}

}



.contents_menu ul li.sp {
    display: none;
}
@media screen and (max-width: 639px) {
.contents_menu ul li.sp {
    display: block;
}
}
.contents_menu ul li .icon_fb {
    width: 30px;
    height:auto;
}
.contents_menu ul li .icon_bar {
    background-image: url('../images/icon_bars.svg');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
}
.contents_menu ul li .icon_bar.is-open {
    background-image: url('../images/icon_batsu.svg');
}

.contents_menu a {
    color: #fff;
    text-decoration: none;
    transition: all 0.5s;
}
.contents_menu a:hover {
    color: #999;
    transition: all 0.2s;
}
.contents_menu span.current,
.contents_menu a.current {
    color: #ffff00;
}

.contents_menu ul li.invalid a {
    color: #505050;
    pointer-events: none;

}



/** //メニュー部 **/

/** 汎用パーツ **/
.wrap .btn {
    background-color: #fd3776;
    padding: 0.5em 1.2em;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: 20px;
    display: inline-block;
   -webkit-transform: skewX(-45deg);
   transform: skewX(-45deg);    
}
.wrap .btn:hover {
    opacity: 0.7;
}
.wrap .btn span {
    display: inline-block;
   -webkit-transform: skewX(45deg);
   transform: skewX(45deg);    
}

.wrap .whiteBtn {
    background-color: #fff;
    border: 1px solid #111;
    color: #111;
    padding: 0.5em 3em;
    display: inline-block;
}
.wrap .whiteBtn img {
    max-height: 70px;
    width: auto;
}
.wrap .whiteBtn:hover {
    opacity: 0.7;
}

.wrap .btn img {
    max-height: 80px;
    width: auto;
    padding: 0 1em;
}
.wrap .linkBtn {
	color: #3acbfd;
	text-decoration: none;
	font-weight: 600;
	border-top: 2px solid #3acbfd;
	border-bottom: 2px solid #3acbfd;
	line-height: 1;
	padding: 0.6em 0;
	font-size: 1.3rem;
	display: block;
	transition: .3s;
	background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(233,249,255,1.00) 50%,rgba(233,249,255,1.00) 100%);
	background-image: -moz-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(233,249,255,1.00) 50%,rgba(233,249,255,1.00) 100%);
	background-image: -o-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(233,249,255,1.00) 50%,rgba(233,249,255,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(233,249,255,1.00) 50%,rgba(233,249,255,1.00) 100%);
    cursor: pointer;
}
.wrap .linkBtn:hover {
    color: #fff;
    background: #3acbfd;
}
.wrap span.linkBtn {
	color: #ccc;
	border-top: 2px solid #ccc;
	border-bottom: 2px solid #ccc;
background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(235,235,235,1.00) 50%,rgba(235,235,235,1.00) 100%);
background-image: -moz-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(235,235,235,1.00) 50%,rgba(235,235,235,1.00) 100%);
background-image: -o-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(235,235,235,1.00) 50%,rgba(235,235,235,1.00) 100%);
background-image: linear-gradient(180deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 50%,rgba(235,235,235,1.00) 50%,rgba(235,235,235,1.00) 100%);  
    pointer-events: none;
}
.wrap .red {
    color: #FC3856;
}
.wrap .pink {
    color: #FC5DA6;
}
.wrap .green {
    color: #1d842a;
}
.wrap .blue {
    color: #7059ff;
}
.wrap .yellow {
    color: #ae6210;
}
.wrap .purple {
    color: #9e4cea;
}


/** //汎用パーツ **/

/** メイン部 **/
.contents_main {
}
.contents_main *{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;    
}

.sec_wrap {
    padding: 0px 0px 3rem;
}
.sec_wrap.topPadding {
    padding-top: 3rem;
}
.sec_wrap .headImage {
    margin-bottom: 1rem;
    position: relative;
}
.sec_wrap .headImage .copyright{
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0.8rem;
	color: #fff;
	text-shadow: 0px 0px 2px rgba(0,0,0,0.40);
}

.sec_wrap p {
    margin-bottom: 0.8em;
    font-variant-ligatures: none;
    word-break: normal;
}
.sec_wrap .imgBox {
    margin: 1.5rem 0;
    text-align: center!important;
}

.sec_wrap .imgBox_2column {
    margin: 1.5rem 0;
    text-align: center!important;
    display: flex;
    justify-content: space-around;
}
.sec_wrap .imgBox_2column.center {
	justify-content: center;
}
.sec_wrap .imgBox_2column div,
.sec_wrap .imgBox_2column a {
    display: block;
    width: 30%;
}
.sec_wrap .imgBox_2column.center div,
.sec_wrap .imgBox_2column.center a {
	padding: 0 10px;
}
@media screen and (max-width: 639px) {
.sec_wrap .imgBox_2column div,
.sec_wrap .imgBox_2column a {
    width: 50%;
	padding: 0 5px;
}
}
.sec_wrap .imgBox_3column,
.sec_wrap .imgBox_4column {
    margin: 1.5rem 0;
    text-align: center!important;
    display: flex;
    justify-content: space-around;
}
.sec_wrap .imgBox_3column div,
.sec_wrap .imgBox_3column a {
    display: block;
    width: 31%;
    -webkit-box-shadow: 0px 3px 3px rgb(0 0 0 / 50%);
    box-shadow: 0px 3px 3px rgb(0 0 0 / 50%);
}
.sec_wrap .imgBox_4column div,
.sec_wrap .imgBox_4column a {
    display: block;
    width: 23%;
    -webkit-box-shadow: 0px 3px 5px rgb(0 0 0 / 50%);
    box-shadow: 0px 3px 5px rgb(0 0 0 / 50%);
}

.sec_wrap .imgBox_5column,
.sec_wrap .imgBox_7column {
    margin: 1.5rem 0;
    text-align: center!important;
    display: flex;
    justify-content: space-around;
}
.sec_wrap .imgBox_5column div,
.sec_wrap .imgBox_5column a {
    display: block;
    width: 20%;
}
.sec_wrap .imgBox_7column div,
.sec_wrap .imgBox_7column a {
    display: block;
    width: 14%;
}

.sec_wrap .imgBox.para {
	position: relative;
}

.sec_wrap .zoom {
    display: inline-block;
    border: 2px solid #222;
    text-decoration: none;
    color: #fff;
}
.sec_wrap .zoom .cap{
    line-height: 1;
    font-size: 1rem!important;
    margin: 0!important;
    height: 35px;
    line-height: 35px;
    background-color: #222;
    text-align: center!important;
}
.sec_wrap .zoom .cap::before{
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/search-plus-solid.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin-right: 0.5em;
    vertical-align: middle;
}
.sec_wrap .zoom .cap span{
    vertical-align: middle;
}

.sec_wrap .h4wrapper1 {
  background: rgb(252,56,120);
  background: -moz-linear-gradient(left,  rgba(252,56,120,1) 0%, rgba(58,203,253,1) 100%);
  background: -webkit-linear-gradient(left,  rgba(252,56,120,1) 0%,rgba(58,203,253,1) 100%);
  background: linear-gradient(to right,  rgba(252,56,120,1) 0%,rgba(58,203,253,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fc3878', endColorstr='#3acbfd',GradientType=1 );
  padding: 4px 0;
  margin-bottom: 0px;
    text-align: left;
}
.sec_wrap .h4wrapper1 h4 {
  background: url("../images/product_detail_bg_h4.png") no-repeat -20px center;
  background-color: rgba(255,255,255,.75);
  padding: 10px 0 10px 40px;
  background-size: 120px;
    margin: 0;
    border: none;
}
.sec_wrap .h4wrapper1 h4 span {
  color: #fff;
  display: inline-block;
  font-size: 36px;
	font-weight: 700;
	-webkit-transform: skewX(-10deg);
	-moz-transform: skewX(-10deg);
	-o-transform: skewX(-10deg);
  transform: skewX(-10deg);
  text-shadow: 
    #3dcbfd 2px 0px,  #3dcbfd -2px 0px,
    #3dcbfd 0px -2px, #3dcbfd 0px 2px,
    #3dcbfd 2px 2px , #3dcbfd -2px 2px,
    #3dcbfd 2px -2px, #3dcbfd -2px -2px,
    #3dcbfd 1px 2px,  #3dcbfd -1px 2px,
    #3dcbfd 1px -2px, #3dcbfd -1px -2px,
    #3dcbfd 2px 1px,  #3dcbfd -2px 1px,
    #3dcbfd 2px -1px, #3dcbfd -2px -1px;
}
.sec_wrap .h4wrapper1 h4 span > .noskewX {
    display: inline-block;
	-webkit-transform: skewX(20deg);
	-moz-transform: skewX(20deg);
	-o-transform: skewX(20deg);
  transform: skewX(20deg);
}
.sec_wrap .h4wrapper1 h4 > img.rogo {
    height: 75px;
    width: auto;
    vertical-align: bottom;
    margin-right: 15px;
}

@media screen and (max-width: 639px) {
.sec_wrap {
    padding: 1rem 0px;
}
.sec_wrap .h4wrapper1 h4 {
    padding: 2px 0 5px 10px;
  }
.sec_wrap .h4wrapper1 h4 span {
    font-size: 20px;
  }    
    
    
}

.sec_wrap .box {
    padding: 1rem;
    border: 2px solid #ccc;
}

.sec_inner {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}
.sec_inner .headImage {
    margin-bottom: 2rem;
}

.sec_inner .columns {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.75rem;
    margin-right: -.75rem;
    margin-top: -.75rem;
}
.sec_inner .columns:not(:last-child) {
    margin-bottom: calc(1.5rem - .75rem);
}
.sec_inner .column {
   display: block;
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
    padding: .75rem;
}
.sec_inner img {
    max-width: 100%;
    height: auto;
}

/** //メイン部 **/

/** フレーム付き **/
.frame {
    position: relative;
    padding: 20px 0;
    border-left: 1px solid #fc3878;
    border-right: 1px solid #3acbfd;
    background-color: rgba(255,255,255,0.6);
    background-image: url('../images/product_detail_cont_bg1.png') , url('../images/product_detail_cont_bg2.png');
    background-position: top right,bottom left;
    background-repeat: no-repeat ,no-repeat;
}
.frame.v2 {
    border-left: none;
    border-right: none;
    background-color: rgba(255,255,255,1.0);
    background-image: none;
    margin-bottom: 2rem;
}
.frame.v2:last-child {
    margin-bottom: 0;
}
.frame.noHead {
    padding-top: 0;
    
}
@media screen and (max-width: 639px) {
.frame {
    margin: 0 4vw;
    }
}
.frame::before {
    content: '';
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    height: 20px;
    background-image: url('../images/product_detail_item_frame_pc1.svg');
    background-repeat: no-repeat;
    background-size: contain;
}
.frame.noHead::before {
    content: none;
}


.frame.v2::before {
    background-image: url('../images/product_list_item_frame_pc1.svg');
}

.frame::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 20px;
    background-image: url('../images/product_detail_item_frame_pc2.svg');
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 639px) {
}

.frame.v2::after {
    background-image: url('../images/product_list_item_frame_pc2.svg');
}

@media screen and (max-width: 639px) {
.frame::before {
    top: -0.6vw;
    height: 4vw;    
    background-image: url('../images/product_detail_item_frame_sp1.svg');
}
.frame::after {
    bottom: -0.7vw;
    height: 4vw;    
    background-image: url('../images/product_detail_item_frame_sp2.svg');
}
.frame.v2::before {
    background-image: url('../images/product_list_item_frame_sp1.svg');
}
.frame.v2::after {
    background-image: url('../images/product_list_item_frame_sp2.svg');
}
}


.frame .inner {
    padding: calc(2.5rem - 20px) 2.5rem;
}
@media screen and (max-width: 639px) {
.frame .inner {
    padding: calc(1.5rem - 3vw) 1.2rem;
}
}
.frame h3 {
  position: relative;
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 4px double #fc3878;
}
.frame h3 span {
  display: block;
  font-size: 48px;
	font-weight: 700;
	-webkit-transform: skewX(-10deg);
	-moz-transform: skewX(-10deg);
	-o-transform: skewX(-10deg);
	transform: skewX(-10deg);
}

.frame h3.headInfo {
text-align: left;    
    line-height:1;
}
.frame h3.headInfo .head {
    font-size: 1.4em;
    display: block;
    margin-bottom: 0.2em;
}


@media screen and (max-width: 639px) {
.frame h3 span {
  font-size: 30px;
}
}
.frame p.centerTxt {
    text-align: center;
}
/* 先頭1文字だけ色変える */
.frame h3 span::first-letter {
  color: #fc3878;
}
/* 先頭1文字だけ色変えるキャンセル */
.frame h3 span.noheadcolor::first-letter,
.frame h3.noheadcolor span::first-letter {
  color: inherit!important;
}


.frame h4 {
    font-style: italic;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px #111 solid;
    font-size: 20px;
}
.frame h4.leftText {
text-align: left;
font-size: 1.3rem;
}
/** //フレーム付き **/

/** トップニュース **/
#TopNews{
    background-image: url('../images/bg_top_news.png');
    background-size: cover;
    padding: 3rem 0;
}
@media screen and (max-width: 639px) {
#TopNews{
    background-size: contain;
}
}
#TopNews h2 {
    color: #fff;
}
#TopNews h2::after {
    border-bottom-color: #fff;
}

.storyList,
.epsodeList,
.newslist {
    display: flex;
    margin: 0 -10px calc(2em - 20px) ;
    flex-wrap: wrap;
}
.storyList .item,
.epsodeList .item,
.newslist .item {
    display: flex;
    flex-direction: column;
    text-align: left;
    margin: 0 10px 45px;
    width: calc(33.3% - 20px);
    background-color: #fff;
    text-decoration: none;
    border-top: 5px solid #fd3776;
    position: relative;
}
.storyList .item {
    width: calc(50% - 20px);
    border-top: 5px solid #818181;
}
.epsodeList .item {
    border-top: 5px solid #818181;
}


@media screen and (max-width: 639px) {
.storyList,
.epsodeList,
.newslist {
    margin-left: 0px;
    margin-right: 0px;
    padding: 0 10px;
}
.storyList .item,
.epsodeList .item,
.newslist .item {
    width: 100%;
}
}


.storyList .item::after,
.epsodeList .item::after,
.newslist .item::after {
    content: '';
    display: block;
    position: absolute;
    width: calc(100% - 20px);
    bottom: -20px;
    left: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: #fff transparent transparent transparent;
}
.storyList .item::before,
.epsodeList .item::before,
.newslist .item::before {
    content: '';
    display: block;
    position: absolute;
    top: -2px;
    right: 0px;
    width: 70px;
    height: 40px;
    background-image: url('../images/item-edge.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right top;
}
.epsodeList .item::before,
.storyList .item::before {
    background-image: url('../images/story-edge.svg');
}



.storyList .item .ttl,
.epsodeList .item .ttl,
.newslist .item .ttl {
    padding: 1.2rem 0.7rem;
    min-height: 8em;
    font-weight: 800;
    color: #111;
    font-size: 18px;
}
.epsodeList .item .ttl,
.storyList .item .ttl {
    min-height: auto;
    padding: 1.2rem 0.7rem;
	margin: 0;
}
.epsodeList .item .summary,
.storyList .item .summary {
    padding: 0rem 0.7rem 1.2rem;
	margin: 0;
	color: #222;
}

.storyList .item .date,
.epsodeList .item .date,
.newslist .item .date {
    margin-top: auto;
    background-color: #fd3776;
    color: #777;
    text-align: right;
    line-height: 1;
    font-size: 18px;
    margin-bottom: 0;
}
.epsodeList .item .date,
.storyList .item .date {
    background-color: #818181;
}



.epsodeList .item .date span,
.storyList .item .date span,
.newslist .item .date span {
    background-color: #fff;
    display: inline-block;
    padding: 2px 0.3em;
    position: relative;
    margin-right: 2em;
}

.epsodeList .item .date span::before,
.storyList .item .date span::before,
.newslist .item .date span::before {
    content: '';
    display: block;
    position: absolute;
    top: 0px;
    left: calc(-1em - 4px);
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 calc(1em + 4px) calc(1em + 4px);
border-color: transparent transparent #fff transparent;
}
.epsodeList .item .date span::after,
.storyList .item .date span::after,
.newslist .item .date span::after {
    content: '';
    display: block;
    position: absolute;
    top: 0px;
    right: calc(-1em - 4px);
width: 0;
height: 0;
border-style: solid;
border-width: calc(1em + 4px) calc(1em + 4px) 0 0;
border-color: #fff transparent transparent transparent;
}

.epsodeList .item img,
.storyList .item img,
.newslist .item img {
    max-width: 100%;
    height: auto;
    flex-shrink: 0;
}
/** //トップニュース **/

/** faceboox/movie **/
#Media {
    padding: 3rem 0;
}
.medialist {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /*
    display: block;*/
}
.medialist.columns_1 {
    display: block;
}
.medialist.columns_1 > div {
    margin: 0 auto;
}
@media screen and (max-width: 639px) {
.medialist {
    display: block;
    padding: 0 10px;
    /*
    display: block;*/
}
}


#Media h2 {
    font-size: 28px;
    color: #fff;
    margin: 0 0 20px;
    padding: 0 0 0 45px;
    position: relative;
    display: inline-block;
}
#Media h2::after {
    content: none;
}

#Media .medialist .movie h2::before {
    position: absolute;
    content: "";
    width: 40px;
    height: 35px;
    background-image: url('../images/youtube-brands.svg');
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    
    top: 50%;
    left: 0px;
   -webkit-transform: skewX(10deg) translate(0, -50%);
   transform: skewX(10deg) translate(0, -50%);    
    
}
#Media .medialist .facebook h2::before {
    position: absolute;
    content: "";
    width: 40px;
    height: 35px;
    background-image: url('../images/icon_facebook.svg');
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    
    top: 50%;
    left: 0px;
   -webkit-transform: skewX(10deg) translate(0, -50%);
   transform: skewX(10deg) translate(0, -50%);    
    
}

.medialist .movie {
    width: 540px;
    position: relative;
    padding: 20px 0;
}
@media screen and (max-width: 639px) {
.medialist .movie {
    width: 100%;
    margin-bottom: 2em;
}
}


.medialist .movie .hd {
    content: '';
    display: block;
    position: absolute;
    width: calc(100% - 25px);
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent rgba(253,55,118,0.60) transparent;
}
.medialist .movie .hd::before {
    content: '';
    display: block;
    position: absolute;
    width: 40%;
    height: 20px;
    top: 0;
    right: -12px;
   -webkit-transform: skewX(45deg);
   transform: skewX(45deg);    
    background-color: #FD3776;
}
.medialist .movie .hd::after {
    content: '';
    display: block;
    position: absolute;
    width: 101px;
    height: 101px;
    top: 0;
    left: -20px;
    background-image: url("../images/bg_sns_movie1.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}
.medialist .movie .ft {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: rgba(253,55,118,0.60) transparent transparent transparent;
}
.medialist .movie .ft::after {
    content: '';
    display: block;
    position: absolute;
    width: 101px;
    height: 101px;
    bottom: 0;
    right: -20px;
    background-image: url("../images/bg_sns_movie2.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}


.medialist .movie .contents {
    padding: 20px 20px 0px;
    width: 100%;
     min-height: 100%;
    background-color: rgba(253,55,118,0.60);
}

.medialist .movie .inner {
width: 100%;
}

.medialist .facebook {
    width: 440px;
    position: relative;
    padding: 20px 0;
}
@media screen and (max-width: 639px) {
.medialist .facebook {
    width: 100%;
}
}


.medialist .facebook .hd {
    content: '';
    display: block;
    position: absolute;
    width: calc(100% - 25px);
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent rgba(0,143,255,0.50) transparent;
}
.medialist .facebook .hd::before {
    content: '';
    display: block;
    position: absolute;
    width: 40%;
    height: 20px;
    top: 0;
    right: -12px;
   -webkit-transform: skewX(45deg);
   transform: skewX(45deg);    
    background-color: #3B5998;
}
.medialist .facebook .hd::after {
    content: '';
    display: block;
    position: absolute;
    width: 101px;
    height: 101px;
    top: 0;
    left: -20px;
    background-image: url("../images/bg_sns_facebook1.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    /*
    border-style: solid;
    border-width: 14px 14px 0 0;
    border-color: #3B5998 transparent transparent transparent;
    */
}
.medialist .facebook .ft {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: rgba(0,143,255,0.50) transparent transparent transparent;
}
.medialist .facebook .ft::after {
    content: '';
    display: block;
    position: absolute;
    width: 101px;
    height: 101px;
    bottom: 0;
    right: -20px;
    background-image: url("../images/bg_sns_facebook2.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}


.medialist .facebook .contents {
    padding: 20px 20px 0px;
    width: 100%;
    min-height: 100%;
    background-color: rgba(0,143,255,0.50);
}
.medialist .facebook .contents div {
    width: 100%;
    max-width: 500px;
}



/** //faceboox/movie **/

.sns_banner {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	color: #fff;
	padding: 1.2rem 1.5rem;
	border: 1px solid #ccc;
	background-color: #1877f2;
	border-radius: 18px;
	filter: brightness(0.9);
	background-image: -webkit-linear-gradient(270deg,rgba(24,119,242,1.00) 0%,rgba(10,94,203,1.00) 100%);
	background-image: -moz-linear-gradient(270deg,rgba(24,119,242,1.00) 0%,rgba(10,94,203,1.00) 100%);
	background-image: -o-linear-gradient(270deg,rgba(24,119,242,1.00) 0%,rgba(10,94,203,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(24,119,242,1.00) 0%,rgba(10,94,203,1.00) 100%);
}
.sns_banner:hover {
    filter: brightness(1.1);
}
.sns_banner img,
.sns_banner span {
    vertical-align: middle;
}
.sns_banner img {
    margin-right: 1.2rem;
    width: 80px;
    height: 80px;
}
.sns_banner span {
    font-family: 'Noto Sans', sans-serif !important;
    font-size: 240%;
    font-weight: bold;
    display: inline-block;
    width: auto;
    text-align: left;
}
.company_banner {
    font-family: 'Noto Sans', sans-serif !important;
    font-size: 190%;
    font-weight: bold;
    color: #4f4f4f;
}
.company_banner img,
.company_banner span {
    vertical-align: middle;
}
.company_banner img {
    width: auto;
    height: 45px;
    margin: 0 1rem;
}


.dummy {
    text-align: center;
    height: 300px;
    padding: 1rem 0;
}
.dummy h1 {
    font-size: 150%;
    font-weight: bold;
}
.youtube-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.youtube-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
