@charset "shift_jis";
/*==============================================
 base color
============================================= */
:root {
    --text-color: #333;
    --color-primary: #48bfd3;
    --color-secondary: #f2e861;
    --color-border: #ddd;
    --color-bg: #f7f7f5;
}
/*==============================================
 common
 デザインカンプ index_sp.jpg = 750px幅（2倍）
 1rem = 100vw / 32 = 23.4375（カンプ上のpx）
============================================= */
html {
    font-size: calc(100vw / 32);
    -webkit-text-size-adjust: 100%;
}
#header {
    border-bottom: #ededed solid 1px;
}
#footer {
    padding-top: .85rem;
    background-color: #fff;
    font-size: 0;
}
.breadCrumb {
    margin: 0 2rem;
}
.copyRight {
    border-top: 1px solid #ededed;
}
.pageTop {
    width: 3rem;
    height: 3rem;
    right: 1rem;
    bottom: 2rem;
    background-size: 3rem;
    border-radius: 50%;
}
#mainContents {
    background-color: var(--color-bg);
    font-family: "noto", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Arial", sans-serif;
    color: var(--text-color);
	letter-spacing: 0.08em;
    font-feature-settings: "palt" 1;
}
sup {
    font-size: 50%;
    vertical-align: top;
    position: relative;
    top: 0.4em;
}
.pc {
    display: none;
}
em {
    font-weight: 700;
    font-style: normal;
}
a, a:visited, a:hover {
    color: inherit;
}
#mainContents a {
    transition: .2s;
}
#mainContents p a,
#mainContents .note li a {
    text-decoration: underline;
    color: var(--color-primary);
}
.note {
    margin-top: .5rem;
}
.note li {
    display: block;
    line-height: 1.6;
    color: #888;
    font-size: .9rem;
}
.note li span {
    margin-right: 1em;
}
/*==============================================
 .noto
============================================= */
/* regular */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Regular.woff);
    font-weight: 400;
}
/* bold */
@font-face {
    font-family: 'noto';
    src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Bold.woff);
    font-weight: 700;
}
/*==============================================
 看板
============================================= */
.mainTitle {
    background: url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/h1_bg.svg) no-repeat left top;
    background-size: 100% 48rem;
}
.mainTitleIn {
    position: relative;
    width: 100%;
    padding-top: 1.75rem;
}
.mainTitle h1 {
    width: 21.76rem;
    margin: 0 auto;
    font-size: 0;
}
.mainTitle h1 img {
    width: 100%;
    height: auto;
}
.mainTitle .img {
    width: 28.85rem;
    margin: 0 0 0 2rem;
    font-size: 0;
}
.mainTitle .img img {
    width: 100%;
    height: auto;
}
.mainTitle .note {
    margin: 1em 2rem;
}
.mainTitle .note li {
    color: #fff;
}
/* .lead */
.lead {
    line-height: 1.8;
    margin: 2rem 2rem 0;
    font-size: 1.2rem;
}
/*==============================================
 .btn
============================================= */
.btn {
    width: 16.17rem;
    margin: 0 auto;
}
.btn a, .btn span {
    display: block;
    position: relative;
    line-height: 1.4;
    padding: .5rem .5rem;
    border-radius: 1.3rem;
    background: var(--color-secondary);
    transition: .2s;
    text-align: center;
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 700;
}
.btn a::after, .btn span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1.19rem;
    width: .47rem;
    height: .77rem;
    margin-top: -.385rem;
    background: url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/arrow_b.svg) no-repeat center center;
    background-size: contain;
}
/*==============================================
 .bnr
============================================= */
.bnr {
    display: flex;
    align-items: center;
    position: relative;
    width: auto;
    height: 10.45rem;
    margin: 2rem 2rem 0;
    text-decoration: none;
    /* ▼SP用バナー背景（写真＋ティール）*/
    background: var(--color-primary) url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/bnr_bg_sp.webp) no-repeat left top;
    background-size: 100% 100%; 
    border-radius: 1.5rem;
    box-sizing: border-box;
}
.bnr + .bnr {
    margin-top: 1rem;
}
.paragraph .bnr {
    margin-left: 0;
    margin-right: 0;
}
/* 左側の製品写真は背景画像に含まれるため非表示 */
.bnr .img {
    display: none;
}
.bnr .info {
    width: 100%;
    padding: 0 1rem 0 8.11rem;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
}
.bnr .info .catch {
    margin: 0;
    line-height: 1.4;
    font-size: .9rem;
    font-weight: 700;
}
.bnr .info .name {
    margin-top: 0;
    line-height: 1.4;
    font-size: 1.2rem;
    font-weight: 700;
}
.bnr .info .btnBox {
    display: flex;
    justify-content: center;
    margin-top: .5rem;
}
/*==============================================
 .point
============================================= */
.point {
    display: flex;
    position: relative;
    flex-direction: column;
    margin: 1.65rem 2rem 0;
    padding: 1.56rem 1.79rem;
    background-color: #fff; 
    border-radius: 1.5rem;
    box-sizing: border-box;
    color: var(--text-color);
}
.point .title {
    display: none;
}
.point ul {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.point ul li {
    position: relative;
    line-height: 1.4;
    padding-left: 1.9rem;
    font-size: 1.2rem;
    font-weight: 700;
}
.point ul li::before {
    content: "";
    display: block;
    position: absolute;
    top: .45em;
    left: 0;
    width: 1.11rem;
    height: .77rem;
    background: url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/i_check.svg) no-repeat center center;
    background-size: contain;
}
/*==============================================
 #index
============================================= */
#index {
    display: none;
}
/*==============================================
 .paragraph
============================================= */
.paragraph {
    background-color: #fff;
    border-bottom: 1px solid var(--color-border);
    transition: .2s;
}
.paragraph#article01 {
    margin-top: 2.5rem;
    border-top: 1px solid var(--color-border);
}
.spAccordion {
    display: none;
    padding: 0 2rem 2.13rem;
}
/*--------------------------------------------*/
/* h2（アコーディオンの見出し）
----------------------------------------------*/
.paragraph h2 {
    position: relative;
    padding: 2.25rem 2rem 2.25rem 4.61rem;
    line-height: 1.5;
    letter-spacing: 0.07em;
    font-feature-settings: "palt"1;
}
/* トグルアイコン（開くと180度回転） */
.paragraph h2::after {
    content: "";
    display: block;
    position: absolute;
    top: 4.31rem;
    left: 2rem;
    width: 1.54rem;
    height: 1.54rem;
    background: url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/arrow_index.svg) no-repeat center center;
    background-size: contain;
    transition: transform .2s;
}
.paragraph.active h2::after {
    transform: rotate(180deg);
}
.paragraph h2 > span {
    display: block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.paragraph h2 .sub {
    display: block;
    line-height: 1.4;
    color: var(--color-primary);
    font-size: 1.05rem;
    font-weight: 700;
}
.paragraph h2 .title {
    display: block;
    line-height: 1.28;
    margin-top: .4rem;
    letter-spacing: 0.02em;
    font-size: 1.5rem;
    font-weight: 700;
}
/* カンプでは自然改行（PC用の改行は無効化） */
.paragraph h2 .title br {
    display: none;
}
/*--------------------------------------------*/
/* h3 / p
----------------------------------------------*/
.paragraph h3 {
    position: relative;
    line-height: 1.4;
    margin: 2rem auto 0;
    padding-left: 2rem;
    font-size: 1.4rem;
    font-weight: 700;
}
.paragraph h3::before {
    content: "";
    display: block;
    position: absolute;
    top: 5%;
    left: 0;
    width: 1.19rem;
    height: 1.62rem;
    background: url(https://img1.kakaku.k-img.com/images/article/tieup/26/09_panasonic_server/i_drop.svg) no-repeat center center;
    background-size: contain;
}
.paragraphIn > h3:first-child {
    margin-top: .4rem;
}
.paragraph h4 {
    position: relative;
    line-height: 1.4;
    margin-top: 2rem;
    font-size: 1.15rem;
    font-weight: 700;
}
.paragraph p {
    line-height: 1.8;
    margin-top: 2rem;
    font-size: 1.2rem;
}
.paragraphIn > p:first-child {
    margin-top: 0;
}
.paragraph h3 + p,
.paragraph h4 + p {
    margin-top: .8rem;
}
.paragraph p:not(.note) + p {
    margin-top: 1.28rem;
}
.paragraph .note + p {
    margin-top: 1.28rem;
}
/*--------------------------------------------*/
/* .checkList （まとめの納得ポイント）
----------------------------------------------*/
.checkList {
    margin-top: 1.28rem;
}
.checkList li {
    position: relative;
    line-height: 1.8;
    padding-left: .85rem;
    font-size: 1.2rem;
    font-weight: 700;
}
.checkList li::before {
    content: "";
    display: block;
    position: absolute;
    top: .68em;
    left: 0;
    width: .26rem;
    height: .26rem;
    border-radius: 50%;
    background-color: var(--text-color);
}
.checkList + p {
    margin-top: 1.28rem;
}
/*==============================================
 .imgBox
============================================= */
.imgBox {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    width: 100%;
    margin: 2.13rem auto 0;
}
.imgBox:first-child {
    margin-top: 0;
}
h4 + .imgBox {
    margin-top: 2rem;
}
.imgBox h4 {
    margin-top: 0;
}
.imgBox .column a {
    display: block;
    width: 100%;
}
.imgBox .column a + a,
.imgBox .column div + div {
    margin-top: 1.28rem;
}
.imgBox .column div {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.imgBox img,
.imgBox video {
    width: 100%;
    height: auto;
}
.imgBox .cap {
    margin-top: 0;
    line-height: 1.9;
    font-size: .8rem;
}
.imgBox .cap a {
    display: inline;
}
/*---- .one ----*/
.imgBox .one.w440 {
    width: 66%;
    height: auto;
    margin: 0 auto;
}
/*--------------------------------------------*/
/* .scroll
----------------------------------------------*/
.scroll {
    margin-top: 1rem;
    overflow: auto;
    border: 1px solid var(--color-border);
    border-top: none;
    border-right: none;
}
.scroll::-webkit-scrollbar{
    height: 1rem;
}
.scroll::-webkit-scrollbar-track{
    background: #ddd;
}
.scroll::-webkit-scrollbar-thumb {
    border-radius: .5rem;
    background: #bbb;
}
h4 + .scroll {
    margin-top: 1rem;
}
/*--------------------------------------------*/
/* table
----------------------------------------------*/
table {
    position: relative;
    width: 100%;
    border-collapse: separate;
    border-spacing:0;
}
table th,
table td {
    min-width: 9em;
    padding: 1em;
    border-right: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    background-color: #fff;
    box-sizing: border-box;
    font-size: 1.1rem;
    word-break: break-all;
}
table th {
    border-left: none;
    background-color: var(--color-bg);
    font-weight: 400;
}
table th.fix {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 6em;
}
table th.fix::after {
    content: "";
    display: block;
    min-width: 6em;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: 3px 3px 5px rgba(59,58,61,.1);
    box-sizing: border-box;
    z-index: -1;
}
.paragraph table th.fix::after {
    display: none;
}
/* thead */
table thead th,
table thead td {
    font-weight: 700;
}
/* tbody */
table tbody th {
    font-weight: 700;
}
table tbody td img {
    height: 10rem;
    margin: 1em 0;
}
/* ul */
table ul li {
    position: relative;
    line-height: 1.4;
    padding-left: 1em;
}
table ul li::before {
    content: "\30FB";
    position: absolute;
    top: 0;
    left: 0;
}
/* type */
table .type {
    text-align: center;
}
table .type .img {
    width: 10rem;
    margin: 1em auto 0;
}
table .type .img img {
    width: 100%;
    height: auto;
}
table .type .name {
    line-height: 1.4;
    margin-top: .5rem;
    font-size: 1.4rem;
    font-weight: 700;
}
/*==============================================
 .bnrCampaign
============================================= */
.bnrCampaign {
    margin: 2.6rem 2rem 0;
}
.bnrCampaignIn {
    display: block;
    margin: 0 auto;
   border-radius: 1.5rem;
    overflow: hidden;
    border: 1px solid var(--color-border);
    box-sizing: border-box;
}
.bnrCampaignIn img {
    width: 100%;
}
/*==============================================
 .productBox
============================================= */
.productBox {
    margin: 2.6rem 2rem 0;
}
.productBoxIn {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.25rem 1.28rem 2.09rem;
    background-color: #fff;
    border-radius: 1.5rem;
    box-sizing: border-box;
    text-decoration: none;
}
.productBoxIn .img {
    width: 7.45rem;
    font-size: 0;
}
.productBoxIn .img img {
    width: 100%;
    height: auto;
}
.productBoxIn .info {
    width: 100%;
    text-align: center;
}
.productBoxIn .info .catch {
    line-height: 1.6;
    margin-top: 1.5rem;
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 700;
}
.productBoxIn .info .name {
    line-height: 1.4;
    margin-top: .5rem;
    font-size: 1.4rem;
    font-weight: 700;
}
/* カンプでは製品名は1行組み */
.productBoxIn .info .name br {
    display: none;
}
.productBoxIn .info .btn {
    margin-top: .8rem;
}
.productBoxIn h4 {
    line-height: 1.2;
    font-size: 1.15rem;
    font-weight: 700;
}
/*==============================================
.releasedate
============================================= */
.releasedate {
    margin: 1rem 2rem 0;
    padding: 0 0 3rem;
    text-align: left;
    color: #6d6a70;
    font-size: .85rem;
}
.questionnaire {
    padding-bottom: 0;
    border-top: 1px solid #ddd;
}
