@charset "utf-8";
/* α 使いかた動画 */


#contents article {
	margin-bottom: 80px;
}

#contents .h1ttl {
	margin: 40px auto 20px;
	text-align: center;
}
#contents .h1ttl img {
	width: 100%;
	max-width: 385px;
}

#contents .h2ttl {
	font-size: 1.5rem;
	margin: 80px 0 15px 0;
	position: relative;
	display: inline-block;
	outline: none;
}
#contents .h2ttl::after {
	content: "";
	background: url("../images/h2bg.png") no-repeat;
    width: 125px;
    height: 52px;
    position: absolute;
    top: -0.5rem;
    right: -95px;
}

#contents .mainlead {
	font-size: 1.1rem;
    margin: 20px auto;
    text-align: center;
	line-height: 1.4em;
}
#contents .mainlead span {
	display: inline-block;
}

@media screen and (max-width: 640px) {
	#contents .h2ttl {
		font-size: 1.3rem;
	}
	#contents .h2ttl::after {
		top: -0.7rem;
	}
}

/******************
	アンカーナビ
*******************/
/* 背景ブラウザ幅マックス */
#contents .bgmaxwid {
    margin: 0 calc(50% - 50vw);
    width: 99vw;
	background-image: radial-gradient(circle, #675F5F, #161010 99%);
}

#contents .sectAnq {
	margin: 0;
}
#contents .sectAnq ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0;
}

#contents .sectAnq ul li {
	font-size: 1.2rem;
    margin: 0.5em;
	min-width: 270px;
	color: #fff;
}
#contents .sectAnq ul li a {
	border-bottom: 2px solid #fff0;
}
#contents .sectAnq ul li span {
	content: "";
	background: url("../images/icon_movie.png") no-repeat;
	background-size: contain;
	background-position: -5px 0;	
    vertical-align: top;
	display: inline-block;
    width: 24px;
    height: 24px;
}
#contents .sectAnq ul li a:hover,
#contents .sectAnq ul li a:active {
    color: #76E5FE;
	text-decoration: none;
	border-bottom:2px solid #76E5FE;
}

#contents .sectAnq ul li.hiddenclass {
	height: 0;
	margin: 0 10px;
}
#contents .sectAnq ul li.hiddenclass::before {
	background: none;
}

@media screen and (max-width: 650px) {
	#contents .sectAnq ul li {
		font-size: 1rem;
	}
}

/******************
	サムネイル
*******************/
#contents .videoThumb {
	position: relative;
	cursor: pointer;
	padding: 0 1px 8px;
	scroll-snap-align: start;
	margin: 10px;
	min-width: 250px;
	max-width: calc((100% / 5) - 20px);
	white-space: normal;
	background-color: #f8f8fb99;;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-bottom: 3px solid #f8f8fb00;
}
#contents .videoThumb img {
	overflow: hidden;
	width: 100%;	
}
#contents .videoThumb.__short img {

}

#contents .videoThumb .h3ttl {
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.4em;
	margin: 0 auto;
	text-align: center;
	padding: 0.5em;
}

#contents .videoThumb .iconP {
	display: none;
	content: url("../images/icon_play.png");
	width: 55px;
	height: 40px;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}

#contents .videoThumb .apname {
	font-size: 1rem;
	font-weight: bold;
	color: #FFF;
	margin: 0 auto;
	text-align: center;
	background-color: #874b35;
}

/* hover時 */
#contents .videoThumb a:hover {
	text-decoration: none !important;
}
#contents .videoThumb.__hover {
	border-bottom: 3px solid #003AAD;
	opacity: 0.8;
}
#contents .videoThumb.__hover .h3ttl {
	color: #003AAD;
}


/* カード型横スクロール */
#contents .card-wrap {
	overflow-x: auto;
	margin: 0 auto;
	padding: 20px 0;
	width: 100%;
	position: relative;
	-webkit-overflow-scrolling: touch;
	/*scrollbar-color: #3F51B5 #ccc;
	scrollbar-width: thin;*/
	background-image: linear-gradient(90deg, rgb(211 242 247), rgb(177 187 227));
}
#contents .card-wrap-in {
	scroll-snap-type: x mandatory;
	max-width: 1090px;
	min-width: 700px;
	padding: 10px;
	margin: 0 auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap; /* ★add */
	justify-content: flex-start; /* ★add */
}

#contents .card-wrap-in.__scrollOff {
	min-width: unset;
}
/*
@media screen and (min-width: 2000px) {
	#contents .card-wrap-in {
		flex-wrap: wrap;
	}
}*/
@media screen and (max-width: 1185px) {
	#contents .card-wrap-in {
		flex-wrap: nowrap;
	}
}

/*スクロールバースタイル */
#contents .card-wrap::-webkit-scrollbar {
	width: 5px;
	height: 9px;
}
#contents .card-wrap::-webkit-scrollbar-track {
	border-radius: 9px;
	background-color: #E5E4E4;
}
#contents .card-wrap::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background-image: linear-gradient(90deg, #c9c4c4 0%, #3d2c2c 60%);
    box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
}


/******************
	その他リンク
*******************/
#contents .linkMovies {
	margin: 20px 0 0 0;
    text-align: right;
}
#contents .linkMovies a {
	font-size: 1.2rem;
	font-weight: normal;
	color: #fff;
	line-height: 2em;
    border-radius: 5px;
    background-color: #3d2c2c;
    display: inline;
	padding: 7px 3px 7px 0;
	box-shadow: 2px 0px 3px 0px #94a3b1;
}
#contents .linkMovies a::before {
	content: "";
	background: url("../images/icon_movie.png") no-repeat;
	background-size: contain;
	background-position: -2px -2px;	
    vertical-align: top;
	display: inline-block;
    width: 36px;
    height: 36px;
    padding-right: 5px;	
}

#contents .linkMovies a::after {
	display: inline-block;
    content: '';
    background-image:url("../images/chevron-right-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    height: 0.6em;
    width: 0.6em;
    margin: -0.15em 0.4em 0;
}
#contents .linkMovies a:hover {
	/*text-decoration: none;*/
	background-color:#003AAD;
	color: #FFF;
	transition: .1s;
}

@media screen and (max-width: 800px) {
	#contents .linkMovies {
		margin: 20px auto;
		text-align: center;
	}
}
@media screen and (max-width: 425px) {
	#contents .linkMovies a {
		font-size: 0.9375rem;
	}
}


@media screen and (max-width: 344px) {
    #contents .linkMovies a {
        font-size: 0.875rem;
    }
}


/************************************
	アンカーリンクSP用　オリジナルjsVer
*************************************/
#contents .js-sectAnqWrap {
	display: none; /* デフォルト */
}
#contents .btn-anqsp {
	display: none; /* デフォルト */
	margin: 0 auto;
    text-align: center;
	width: 235px;
    padding: 5px;
    background-color: #d7d1d1;
    border-radius: 8px;
}
#contents .btn-anqsp button {
	background-color: #d7d1d1;
	color: #262020;
	font-size: 1.2rem;
	padding: 10px 20px;
	text-align: center;
	border-radius: 8px;
}

#contents .btn-anqsp button::before {
	content: "";
	background: url("../images/icon_movie.png") no-repeat;
	background-size: contain;
	background-position: -2px -2px;	
    vertical-align: middle;
	display: inline-block;
    width: 30px;
    height: 30px;
    padding-right: 5px;	
}

#contents .box-anqsp.hide {
	display: none;
	/*visibility: hidden;*/
}
#contents .box-anqsp {
	background-color: #352e2e;
	width: 100%;
	padding: 15px;
	color: #FFF;
	border: 1px solid #fff;
	position: fixed;
	top:0;
	right: 0;
	z-index: 999;
	opacity: 0.95;
}
#contents .box-anqsp ul {
	margin: 0;
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
#contents .box-anqsp ul li {
	height: 28px;
	width: 40%;
	padding-right: 20px;
}
#contents .box-anqsp ul li span {
	background: url("../images/icon-maruyasita.png") no-repeat;
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
	padding-left: 28px;
	height: 22px;
}

#contents .box-anqsp ul li a:hover,
#contents .box-anqsp ul li a:active {
    color: #76E5FE;
}
#contents .box-anqsp ul li.hiddenclass {
	height: 0;
	margin: 0;
}


#contents #closebtn {
    position: absolute;
    bottom: 2px;
    right: 2px;
    padding: 3px 0;
    transition: .3s;
    border: none;
    font-size: 1em;
	color: #000;
}

@media screen and (max-width: 580px) {
	#contents .box-anqsp ul {
		align-items: center;
	}
	#contents .box-anqsp ul li {
		width: 15em;
	}
	
}

/* 20250319 */
#contents .sectAnq ul li.w-index {
    min-width: 560px;
}

#contents .btn-anqsp ul li.w-index {
	font-size: 90%;
	width: 84%;
}

#contents .box-anqsp ul li.w-index {
    width: 84%;
}

#contents .mqonly {
	display: none;
}

@media screen and (max-width: 640px) {
	#contents .h2ttl.longt {
		line-height: 1.1em;
		font-size: 1.3rem;
	}
	
	#contents .mqonly {
		display: block;
	}
}

@media screen and (max-width: 580px) {
    #contents .box-anqsp ul li {
        width: 100vw;
    }
	
	#contents .box-anqsp ul li.w-index {
		width: 100vw;
		font-size: 90%;
	}
}