@charset "UTF-8";

body {
    font-family: "メイリオ",Meiryo,sans-serif;
}

/* ニュースの一行 */
.scroll .scroll_item {
    display: flex;
    flex-wrap: wrap;
    font-size: 85.7%;
    background: url(/common/img/share/line.gif) repeat-x left bottom;
    padding: 7px 0 17px;
}

/* ニュースの日付欄 */
.scroll .scroll_item div:first-child {
    width: 6em;
    margin-right: 16px;
}

/* ニュースのカテゴリ欄 */
.scroll .scroll_item div:nth-child(2) {
    width: 72px;
    font-size: 83.3%;
    line-height: 1.1;
    text-align: center;
    margin: 2px 25px 0 0;
    padding-top: 1px;
}
.scroll .scroll_item div:nth-child(2) a {
    color: #FFFFFF;
    padding-bottom: 2px;
    display: block;
}
.scroll .scroll_item div:nth-child(2).cat01   { background: url(/common/img/home/category01_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat01 a { background: url(/common/img/home/category01_bg_bot.gif) no-repeat left bottom; }
.scroll .scroll_item div:nth-child(2).cat02   { background: url(/common/img/home/category02_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat02 a { background: url(/common/img/home/category02_bg_bot.gif) no-repeat left bottom; }
.scroll .scroll_item div:nth-child(2).cat03   { background: url(/common/img/home/category03_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat03 a { background: url(/common/img/home/category03_bg_bot.gif) no-repeat left bottom; }
.scroll .scroll_item div:nth-child(2).cat04   { background: url(/common/img/home/category04_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat04 a { background: url(/common/img/home/category04_bg_bot.gif) no-repeat left bottom; }
.scroll .scroll_item div:nth-child(2).cat05   { background: url(/common/img/home/category05_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat05 a { background: url(/common/img/home/category05_bg_bot.gif) no-repeat left bottom; }
.scroll .scroll_item div:nth-child(2).cat06   { background: url(/common/img/home/category06_bg.gif) no-repeat left top; }
.scroll .scroll_item div:nth-child(2).cat06 a { background: url(/common/img/home/category06_bg_bot.gif) no-repeat left bottom; }

/* ニュースのタイトル欄 */
.scroll .scroll_item div:last-child {
    text-align: left;
}
.scroll .scroll_item div:last-child a {
    color: #1b5f96;
    padding: 1px 0 0 19px;
    line-height: 1.4;
    background: url(/common/img/share/arrow_r.gif) no-repeat left 0.5em;
}

/* 下部分の背景 */
.color_box {
    padding: 24px 0;
    background: url(../img/color_box.png) no-repeat 0 0 / cover;
    text-align: center;
    color: white;
}

.color_box a {
    color: white;
}

.search_box input[type="search"] {
    padding: 6px;
    font-size: 1.2rem;
}

.search_box button {
    background: #868686;
    color: white;
    padding: 4px 12px;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
}

.search_link {
    text-align: right;
    margin: 6px 6px 12px;
}

.search_link div {
    display: inline-block;
    background: #868686;
    color: white;
    padding: 6px 0;
}

.search_link div a {
    color: white;
    padding: 6px 12px;
}

ul.faq_box_categories {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

ul.faq_box_categories > li {
    background: #bcd3e5;
    border: none;
    height: 48px;
}

ul.faq_box_categories > li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1b5f96;
    font-size: 1rem;
    text-align: center;
}

.faq_box_category {
    background: #1264ae;
    padding: 24px 0;
    font-size: 1.4em;
    padding: 8px;
    text-align: center;
    color: white;
}

.faq_list {
    position: relative;
    border: 1px solid #cfcfcf;
    margin: 12px 0px;
    text-align: left;
}

.faq_list .question {
    display: block;
    list-style: none;
    cursor: pointer;
    padding: 8px 44px;
    pointer-events: auto;
}

.faq_list .question::before {
    content: url(../img/question.png);
    position: absolute;
    top: 8px;
    left: 8px;
}

.faq_list .question::after {
    content: url(../img/details_off.png);
    position: absolute;
    top: 8px;
    right: 8px;
}

.faq_list .question:hover {
    background: #dfdfdf;
}

.faq_list.detail_open .question::after {
    content: url(../img/details_on.png);
    position: absolute;
    top: 8px;
    right: 8px;
}

.faq_list .answer {
    line-height: 0;
    padding: 0 48px;
    background: #dfdfdf;
    opacity: 0;
    visibility: hidden;
    transition: line-height .2s ease-out, padding-top .2s ease-out, padding-bottom .2s ease-out, opacity .2s linear, visibility .2s linear;
}

.faq_list.detail_open .answer {
    padding: 16px 48px 12px;
    line-height: 1.5;
    opacity: 1;
    visibility: visible;
}

.faq_list .answer::before {
    display: block;
    content: url(../img/answer.png);
    position: absolute;
    left: 8px;
    line-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: line-height .2s ease-out, opacity .2s linear, visibility .2s linear;
}

.faq_list.detail_open .answer::before {
    line-height: 1.5;
    opacity: 1;
    visibility: visible;
}

.faq_list .answer img {
    height: 0px;
}

.faq_list.detail_open .answer img {
    height: auto;
}

.faq_list.detail_open .answer img[alt="Google play"],
.faq_list.detail_open .answer img[alt="App store"] {
    margin-top: 7px;
}

div.popup_content {
    position: fixed;
    overflow: auto;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    box-sizing: border-box;
    visibility: hidden;
    transition: .2s;
}

div.popup_content.popup_show {
    opacity: 1;
    visibility: visible;
}

div.popup_content .popup_close,
div.popup_content .popup_back {
    cursor: pointer;
    position: absolute;
}

div.popup_content .popup_back {
    z-index: 1;
    inset: 0;
    pointer-events: none;
    transition: background-color .2s;
}

div.popup_content.popup_show .popup_back {
    pointer-events: auto;
    background: rgba(0,0,0,.3);
}

div.popup_content .popup_close {
    z-index: 3;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
}

div.popup_content .popup_close span,
div.popup_content .popup_close::before,
div.popup_content .popup_close::after {
    content: "";
    position: absolute;
    top: 40%;
    left: 40%;
    width: 40%;
    border-bottom: 2px solid black;
}
div.popup_content .popup_close span {
    transform: scaleX(0);
}
div.popup_content .popup_close::before {
    transform: rotate(135deg) scaleX(1.2);
}
div.popup_content .popup_close::after {
    transform: rotate(-135deg) scaleX(1.2);
}

div.popup_content .popup_inner {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    max-height: 90vh;
    overflow: auto;
}