@charset "shift_jis";

/*==============================================
 common
============================================= */
.menu {
	display:none;
}
img {
	display: block;
	width: 100%;
	height: 100%;
}

#header {
	border-bottom: #ededed solid 1px;
}
#footer {
	margin-top: 1rem;
}
.copyRight {
	border-top: 1px solid #ededed;
}
.pageTop {
	width: 40px;
	height: 40px;
	right: 10px;
	background-size: 40px;
	border-radius: 50%;
}

em {
	font-style: normal;
}

/*==============================================
 .noto
============================================= */
/* light */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Light.woff);
    font-weight: 300;
}
/* regular */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Regular.woff);
    font-weight: 400;
}
/* medium */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Medium.woff);
    font-weight: 500;
}
/* bold */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Bold.woff);
    font-weight: 700;
}

#mainContents {
	font-family: "noto", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Arial", sans-serif;
	letter-spacing: 0.06em;
	font-feature-settings: "palt"1;
	color: #333;
}

.releasedate {
	font-size: 0.85rem; 
	color: #333;
	padding: 2rem 1.5em;
}


/*==============================================
 看板
============================================= */
h1 {
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_mainimg.webp) no-repeat center top;
	background-size: 100%;
	font-size: 0;
	text-indent: -999em;
	margin: 0 auto;
	padding-top: 70%;
}

.lead p {
	font-size: 1.2rem;
	line-height: 1.8;
	margin-top: 1.5rem;
	padding: 0 2rem 1.8rem;
}
.lead p a {
	color: #2314b7;
	text-decoration: underline;
}


/*==============================================
 バナー
============================================= */
a.topbnr {
	display: block;
	width: 80%;
	height: 3.2rem;
	border-radius: calc(1px/0);
	background: linear-gradient(90deg, #2312b7 0%, #3387b6 30%, #4ae3ab 55%);
	background-size: 200% 100%;
	font-size: 1.1rem;
	font-weight: 500;
	color: #fff;
	line-height: 3.2rem;
	text-align: center;
	margin:  1.8rem auto 0;
	position: relative;
	transition: all ease .3s;
}
a.topbnr:hover {
	background-position: 15% 0;
	color: #fff;
}
a.topbnr:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.2em;
	margin: auto 0;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(-45deg);
}

.innerbnr {
	margin: 3rem auto 0;
	padding: 0 2rem 2rem;
}
.innerbnr a {
	display: block;
	width: 100%;
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_innerbnr.png) no-repeat center top;
	background-size: 100%;
	font-size: 0;
	text-indent: -999em;
	padding-top: 29.85%;
}


/*==============================================
 コンテンツ
============================================= */
.paragraph p {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 3rem;
}
.paragraphIn > p:first-child {
	margin-top: 2rem;
}
.paragraph .cap {
	font-size: 1.1rem;
	line-height: 1.6;
	margin-top: 1rem !important;
}
.paragraph p em {
	font-weight: bold;
}

.paragraph {
	border-top: 1px solid #ddd;
	transition: background-color .2s, border-top-color .2s;
}
.paragraphIn {
	padding: 0 2rem;
}
#article04 {
	border-bottom: 1px solid #ddd;
}

.spAccordion {
	display: none;
}
.paragraph h2 {
	font-size: 1.7rem;
	line-height: 1.4;
	font-weight: bold;
	position: relative;
}
.paragraph h2 span:first-child {
	display: block;
	padding: 1.8rem 3rem 1.6rem 25%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.paragraph h2:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1px;
	bottom: 0;
	right: 1.5rem;
	width: 8px;
	height: 8px;
	margin: auto;
	transition: transform .2s ease, opacity .2s ease;
	transform: rotate(45deg);
	vertical-align: middle;
	border-bottom: 4px solid #d6d6d6;
	border-right: 4px solid #d6d6d6;
}
.paragraph.active h2:after {
	top: 3px;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.paragraph h2 em {
	display: block;
	font-size: 1.1rem;
	color: #2731b7;
	margin-bottom: .5rem;
}

.paragraph h2:before {
	display: block;
	width: 25%;
	height: 100%;
	border: 1rem solid #fff;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
}
#article01 h2:before {
	content: "";
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_p1_img.jpg) no-repeat center center;
	background-size: cover;
}
#article02 h2:before {
	content: "";
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_p2_img.jpg) no-repeat center center;
	background-size: cover;
}
#article03 h2:before {
	content: "";
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_p3_img.jpg) no-repeat center center;
	background-size: cover;
}
#article04 h2:before {
	content: "";
	background: url(https://img1.kakaku.k-img.com/images/article/tieup/25/09_fmv/sp_p4_img.jpg) no-repeat center center;
	background-size: cover;
}

#article04 .paragraphIn {
	padding-bottom: 2.5rem;
}

.paragraph h3 {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 3rem auto 0;
}
.paragraph h2 br,
.paragraph h3 br {
	display: none;
}

.marker {
	background: linear-gradient(transparent 60%, #eee726 40%);
	background-repeat: no-repeat;
	background-size: 0% 100%;
	transition:background-size 1s;
	font-weight: bold;
	font-weight: 700;
}
.marker.on {
	background-size: 100% 100%;
}


/*==============================================
 囲み
============================================= */
.column {
	border: 6px solid #2c58b7;
	margin: 3rem auto;
	padding: 0 1.8rem 2rem;
}
.column h3 {
	font-size: 1.6rem;
	font-weight: 700;
	color: #2c58b7;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 1.5rem;
}
.column p {
	font-size: 1.3rem;
	margin-top: 2rem;
}
.column p a {
	font-weight: 700;
	color: #2c58b7;
	text-decoration: underline;
}
.column p a:hover {
	text-decoration: none;
}


/*==============================================
 画像
============================================= */
.imgBox,
.imgBoxL {
	margin: 3.5rem auto 3rem;
	padding: 0 1.5rem;
}
.imgBox a,
.imgBoxL a {
	display: block;
}
.imgBox a + a {
	margin-top: 1rem;
}
.imgBox.half img {
	width: 60%;
	margin: auto;
}
.imgBox strong {
	display: block;
	border-left: .6rem solid #1881fe;
	font-size: 1.6rem;
	margin-bottom: .8rem;
	padding: .2rem 0 0 .5rem;
}


/*==============================================
 製品紹介
============================================= */
.productBox {
	background: #f3f3f3;
	padding: 3rem 2rem 1rem;
}
.productBox .lineup h2 {
	border-left: 5px solid #2731b7;
	font-size: 1.2rem;
	font-weight: 700;
	padding: .5em 0 .4em .4em;
	margin-bottom: 1.2rem;
}
.productBox table {
	width: 600px;
	table-layout: fixed;
	background: #fff;
}
.productBox .lineup th,
.productBox .lineup td {
	border: 1px solid #333;
	font-size: .9rem;
	letter-spacing: 0;
	vertical-align: middle;
	padding: .6em .5em;
	box-sizing: border-box;
}
.productBox .lineup thead th:first-child,
.productBox .lineup tbody th {
	width: 13%;
	background: #e5e7e9;
	border: 1px solid #333;
	font-weight: 700;
}
.productBox .lineup thead th {
	text-align: center;
	position: relative;
	padding: 3.5em 1em 1.2em;
}
.productBox .lineup thead th a span {
	display: block;
	width: 90px;
	height: 18px;
	background: #eee;
	border-radius: calc(1px/0);
	font-size: 10px;
	line-height: 17px;
	margin: auto;
	position: absolute;
	top: 1.2em;
	left: 0;
	right: 0;
}
.productBox .lineup thead th a dt {
	font-size: 1.5rem;
	font-weight: 700;
}
.productBox .lineup thead th a dd:last-child {
	height: 2.4rem;
	border-radius: calc(1px/0);
	background: linear-gradient(90deg, #2312b7 0%, #3387b6 30%, #4ae3ab 55%);
	background-size: 200% 100%;
	font-size: .9rem;
	font-weight: 500;
	color: #fff;
	line-height: 2.4rem;
	margin: .3em auto 0;
	position: relative;
	transition: all ease .3s;
}
.productBox .lineup tbody td {
	width: 29%;
}

/*----- .scroll -----*/
.scroll {
	overflow-x: scroll;
	padding-bottom: 10px;
}
.scroll::-webkit-scrollbar{
	height: 5px;
}
.scroll::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

/*----- .read-more -----*/
.read-more {
    position: relative;
}
.read-more .wrap {
    position: relative;
    max-height: 450px;
    margin-bottom: 0;
    overflow: hidden;
    transition: max-height 1s;
}
.read-more:has(:checked) .wrap {
    max-height: 150vh;
}
.read-more .wrap::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}
.read-more:has(:checked) .wrap::after {
    content: none;
}
.read-more label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 1.2rem;
    left: 50%;
    transform: translateX(-50%);
    color: #2f6ab6;
    font-size: .9em;
}
.read-more label:hover {
    cursor: pointer;
}
.read-more:has(:checked) label {
    display: none;
}
.read-more label::after {
    display: inline-block;
    content: '▼';
    font-size: .8rem;
    margin-top: 2px;
}
.read-more input {
    display: none;
}
