@charset "utf-8";

/**************************************
    共通
***************************************/

body {
    -webkit-text-size-adjust: 100%; /* 文字サイズ自動調整の制御 */
}

/* PC版表示コンテンツ */
.pc {
    display: none;
}
table.pc {
    display: none;
}
/* SP版表示コンテンツ */
.sp {
    display: block;
}
table.sp {
    display: table;
}

/* 枠線ボタン */
.border-btn a > span {
    font-size: 14px;
}

/* 四角ボタン（上矢印） */
.square-box {
    height: 40px;
    width: 40px;
}

/* ボタン矢印 - 右 */
.border-btn.arrow-right::after {
    right: 15px;
}

/* inputタグ テキストボックス */
input[type=text] {
    height: 40px;
    font-size: 22px;
}
/* inputタグ　セレクトボックス */
select {
    font-size: 22px;
}
label.select-label {
    height: 40px;
}

/* タイプ選択 */
.type-list {
    padding: 20px 20px;
    width: 100%;
}
.type-list li {
    margin: 0 0;
    margin-bottom: 20px;
    width: 100%;
    min-width: 280px;
}
.type-list li:last-child {
    margin-bottom: 0;
}
/* 矢印アイコン */
.type-list label.arrow-right:before {
    right: 10px;
}
.type-list label.arrow-right:after {
    right: 26px;
}

/* タブバー */
.tabbar {
    padding: 0 15px;
}

/* タブのスタイル */
.tab-item {
    width: calc(50% - 5px);
    height: 40px;;
    line-height: 40px;
    font-size: 14px;
}

/* タブ切り替えの中身のスタイル */
.tab-content {
    padding: 15px 0px 0;
}

/* アンカーボタン */
p.anchor-btn {
    height: 40px;
    line-height: 40px;
}
p.anchor-btn:last-child {
    margin-right: 0;
}
p.anchor-btn a > span {
    font-size: 14px;
}
/* セクションヘッダー */
.table-sheet-header {
    height: 40px;
    border: 1px solid #aaa;
    border-radius: 10px;
    text-align: center;
    padding: 0;
    margin-bottom: 15px;
}

/* メッセージ枠 */
.msg-frame {
    margin: 0 15px 10px;
    padding: 5px 10px;
}
/* メッセージヘッダー */
.msg-frame.msg-header {
}
/* メッセージフッター */
.msg-frame.msg-footer {
}

/* コンテンツ内メッセージ枠 */
.inner-msg-frame {
}
/* コンテンツ内メッセージ */
.inner-msg {
}

/* 見出し - h1 */
h1 {
    background: #f9f9f9;
    border: none;
    font-size: 13px;
    padding: 10px 15px;
}
h1::before {
    content: "";
    border-left: 7px solid #777777;
    margin-right: 10px;
}
.diagnosis h1.future-sim::before {
    border-left: 0px;
    margin-right: 0px;
}
/**************************************
    コンテンツ BOX枠
***************************************/

/* コンテンツ BOX枠 */
.contents .box {
}
/* ヘッダー */
.contents .box .box-header {
    text-align: left;
    padding: 20px 0;
    border-radius: 0;
}
/* ヘッダー文字列 */
.contents .box .box-header > span {
    margin-left: 20px;
    font-size: 15px;
}
/* コンテンツ */
.contents .box .box-content {
    border-radius: 0;
}
.contents .box .box-content.border {
    border: none;
}

/* ヘッダー */
.contents .box.column2-box .box-header
,.contents .box.column2-box .box-content {
    border-radius: 0;
}
/**************************************
    リスト
***************************************/

/* リストアイテム */
ul.list > li:last-child {
    border-bottom: 2px solid #eee;
}
ul.list.sp-column2-list{
    border-bottom: 2px solid #eee;
}
ul.list.sp-column2-list > li{
    display: flex;
    width: 50%;
    align-items: center;
}

/**************************************
    モーダル
***************************************/

.remodal-wrapper {
    padding: 0;
    overflow: hidden;
}
.remodal {
    width: 100%;
    height: 100%;
}
.remodal .modal-header {
    border-radius: 0;
}
.remodal .modal-content {
    border: none;
    padding: 10px;
}
.remodal .modal-footer {
    border-radius: 0;
}

/* プレーン */
.remodal.plane-modal {
    border-radius: 0;
}
/* モーダルコンテンツ（プレーン版） */
.remodal.plane-modal .modal-content {
    padding: 0;
    height: calc(100% - 50px);
    overflow-y: hidden;
}
.remodal.plane-modal .modal-content .chart-campus {
    height: 100%;
}
/* エラーメッセージ表示用 */
.remodal.plane-modal.error {
    height: 100%;
}

/**************************************
    ナビゲーション
***************************************/

main nav.step-bar {
    padding: 0;
}
main nav.step-bar ol {
    text-align: left;
}
main nav.step-bar li {
    text-align: center;
    width: auto;
    border-top: none;
    padding-left: 20px;
}
/* 数字アイコン */
main nav.step-bar li span:first-child {
    display: inline-block;
    height: 20px;
    width: 20px;
    font-size: 0.8em;
}
main nav.step-bar li.current span:first-child {
    margin-right: 5px;
    margin-left: 15px;
}
main nav.step-bar li:first-child span:first-child {
    margin-left: 0;
}
/* ステップ名 */
main nav.step-bar li span:last-child {
    display: none;
    padding: 0;
}
main nav.step-bar li.current span:last-child {
    display: inline-block;
    font-size: 0.8em;
}

main nav.step-bar li:first-child {
    border-left: none;
}
main nav.step-bar li:last-child {
    border-right: none;
}
/* 現在のステップ */
main nav.step-bar li.current {
    width: 50%;
    padding: 0 5px;
}

/**************************************
    共通ヘッダー
***************************************/

header .bank-bar > img {
    margin-left: 15px;
}

/* ページヘッダー */
header .page-header {
    /* ヘッダー用にパディングを設ける */
    padding: 0 15px;
}
/* プラン名 */
header .page-header .plan-name {
    height: 20px;
    padding: 0 15px;
    margin-right: 10px;
}
header .page-header .plan-name span {
    font-size: 10px;
    line-height: 20px;
}
/* 画面名 */
header .page-header .page-title {
    height: 20px;
}
header .page-header .page-title span {
    font-size: 16px;
    line-height: 18px;
}
/* 戻るボタン */
header .page-header .back-btn {
    width: 120px;
    height: 40px;
}
header .page-header .back-btn span {
    font-size: 14px;
}
header .page-header .back-btn a > span {
    width: auto;
}
header .page-header .back-btn a > span > span {
    display: none;
}
/* 戻るボタン */
header .page-header .back-btn i::before {
    width: 25px;
    height: 25px;
    top: calc(50% - 12px);
    left: -8px;
}
header .page-header .back-btn svg {
    position: relative;
    left: 1px;
}
/* safariのみ */
_::-webkit-full-page-media, _:future, :root header .page-header .back-btn svg {
    left: -9px;
    top: 10px;
}

/* アンカーバー */
header .anchor-bar {
    padding: 10px 15px;
}

/**************************************
    共通フッター
***************************************/

/* 制御バー */
footer .control-bar {
    padding: 15px 15px;
    height: 70px;
}
footer .border-btn {
    height: 40px;
    width: 180px;
}

/* copyright */
footer .acknowledgments {
    position: absolute;
    top: 70px;
    height: 120px;
    padding: 0px 15px;
    text-align: center;
}
footer .acknowledgments div {
    float: none;
    display: inline-block;
}
footer .foreword {
    width: 100%;
}
footer .acknowledgments .right-contents {
    text-align: center;
    width: 100%;
}
footer .acknowledgments .right-contents > div {
    float: none;
    display: inline-block;
    width: 100%;
}
footer .copyright {
    margin: 0;
}
/* 戻るボタン */
footer .border-btn.back-btn {
    position: fixed;
    left: 0;
    bottom: 20px;
    width: 120px;
    height: 60px;
    border-left: none;
    /* 右側のみ角丸 */
    -webkit-border-radius: 0 10px 10px 0 / 0 10px 10px 0;
    -moz-border-radius: 0 10px 10px 0 / 0 10px 10px 0;
    border-radius: 0 10px 10px 0 / 0 10px 10px 0;
    z-index: 100;
}
footer .border-btn.back-btn span {
    position: relative;
    display: inline-block;
    top: 10px;
    left: 15px;
    width: 80px;
    text-align: left;
    font-size: 0.9em;
    line-height: 18px;
}

/**************************************
    コンテンツ
***************************************/

main {
    margin-top: 90px; /* 初回位置 */
}

main > * {
    padding-left: 15px;
    padding-right: 15px;
}

/* 画面説明 */
main .description {
    padding: 15px 0;
    margin: 0 15px;
}
main .description > span {
    font-size: 13px;
}

/* 免責事項 */
main .disclaimer > span {
    font-size: 14px;
}

/**************************************
    プラン入力
***************************************/

.plan-entry .contents {
    padding: 0;
}

/* メッセージ枠 */
.plan-entry .msg-frame {
    margin: 0 15px 20px;
}

.plan-entry .contents .box {
    width: 100%;
}
.plan-entry .contents .box .box-content {
    padding: 20px 10px;
}
.plan-entry .contents .box .box-content .box-plancode {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}
.plan-entry .contents .box .box-content .box-plancode > * {
    display: block;
    vertical-align: baseline;
}
.plan-entry .contents .box .box-content .box-plancode > label {
    display: block;
    margin-right: 0;
    text-align: left;
    margin-bottom: 15px;
}
.plan-entry .contents .box .box-content .box-plancode > input {
    width: 100%;
    text-align: center;
}

/**************************************
    プラン選択
***************************************/

/* コンテンツ */
.plan-selection .contents {
    padding: 0;
}

/* メッセージ枠 */
.plan-selection .msg-frame {
    margin: 0 15px 20px;
}

.plan-selection .contents ul.list > li > a > span {
    font-size: 15px;
    line-height: 20px;
}
.plan-selection .contents ul.list > li > a > small {
    font-size: 13px;
    line-height: 20px;
}

/**************************************
    商品一覧
***************************************/

/* テーブル関連 */
.item-selection .fixed-table table{
    table-layout: fixed;

}

.item-selection th,
.item-selection td {
        width: 100%;
}

.item-selection th{
      white-space: nowrap;
        padding: 0 10px 0 5px;
}

.item-selection .fixed-table th{
        white-space: pre-wrap;
}

.item-selection .fixed-table .toggle-header{
    text-align: center;
}

.item-selection td{
        word-wrap: break-word;
        padding: 13px 5px;
}

/* メッセージ枠 */
.item-selection .msg-frame {
    margin-left: 15px;
    margin-right: 15px;
}

/* プランパネル */
.item-selection .plan-panel {
    background: #f7f3e8;
    padding: 0;
    min-height: 120px;
    display: inline-block;
}
.item-selection .plan-panel > * {
    vertical-align: middle;
}

/* 選択プラン */
.item-selection .plan-panel .selected-plan {
    display: block;
    width: 100%;
}
.item-selection .plan-panel .round-box {
    display: block;
    height: 30px;
    width: 100%;
    float: none;
    border-radius: 0;
    text-align: left;
    padding: 0 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.item-selection .plan-panel .round-box > span {
    font-size: 14px;
    line-height: 30px;
}

/* プラン */
.item-selection .plan-panel .plan {
    width: calc(100% - 35px - 140px); /* 全体からマージン分とボタン横幅の差を求める。 */
    display: inline-block;
    padding-left: 15px;
    min-height: 90px;
}
/* ボタンがない場合の横幅サイズ */
.item-selection .plan-panel .plan.maximize {
    width: calc(100% - 30px);
}
.item-selection .plan-panel .plan > p {
    font-size: 16px;
    word-wrap: break-word; /* 折り返し */
}
.item-selection .plan-panel .plan > p.plan-logo {
    margin-top: 20px;
}
.item-selection .plan-panel .plan > p.plan-name {
    margin-bottom: 10px;
    margin-top: 10px;
}

/* 選定理由/商品ガイドボタン */
.item-selection .plan-panel .link-wrapper{
    display: inline-block;
    min-width: 0;
    width: 140px;
    padding: 10px 15px 10px 0;
}
.item-selection .plan-panel .links {
    width: 140px;
}
/* 片方のボタン用 */
.item-selection .plan-panel .links.one {
    width: 140px;
}
.item-selection .plan-panel .links .border-btn {
    float: none;
    width: 140px;
    margin: 0;
    display: inline-block;
}
.item-selection .plan-panel .links.one .border-btn {
    margin-top: calc(50% - 50px - 10px); /* コンテンツの中央値 - ボタン縦幅 - マージン */
}

/* DCシミュレーションコンテンツ */
.item-selection .dc-simulation {
    padding: 0 15px;
}
/* 説明 */
.item-selection .dc-simulation .description {
    text-align: left;
    padding: 0;
    margin: 0 0 10px 0;
}
/* ボタン */
.item-selection .dc-simulation .border-btn {
    width: 250px;
    margin: 0 auto 5px;
}
.item-selection .dc-simulation p:last-child {
    display: block;
}
.item-selection .plan-panel .links-inner{
  width: 140px;
    padding-top: 5px;
}
.item-selection .plan-panel .links-inner .update-label{
  font-size: 0.65em;
}

/**************************************
    商品詳細
***************************************/

/* コンテンツ */
.item-detail .contents {
    padding: 10px 0;
}

.item-detail .contents > section {
    margin: 0 0 30px;
}

/* 戻るボタン */
header .page-header .back-btn a::after {
    right: 5px;
}
header .page-header .back-btn svg {
    top: 12px;
}

/* テーブル */
.item-detail table th {
    min-width: none;
    padding: 0 5px;
}
.item-detail table td {
    min-width: none;
    padding: 10px 5px;
}
/* テーブル */
.item-detail .chart-campus table th {
    padding: 0;
}
.item-detail .chart-campus table td {
    padding: 0;
}

/* チャート */
.item-detail .chart-area {
}
.item-detail .chart-area .chart-group {
    width: 100%;
}
.item-detail .chart-area > div {
    float: none;
}
.item-detail .chart-area .chart-setting {
    width: 100%;
    margin: 10px 0 0;
}
.item-detail .chart-area .chart-setting .event {
    display: none;
}
.simulation-term-setting a.fund-button,
.item-detail .chart-area .chart-setting a.fund-button {
    min-width: calc(100% / 4 - 12px)!important;
}

/* グラフ（モーダル表示） */
.plane-modal .modal-content .chart-area > div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
}

/* コンテンツフッター */
.item-detail .contents-footer {
    padding: 0 15px;
}
/* ボタン */
.item-detail .contents-footer .border-btn {
    display: block;
    width: 250px;
    margin: 0 auto 5px;
}

/* 商品選択 */
.item-detail .selection-bar {
    padding: 0 0 10px 0;
}
/* プラン選択 */
.item-detail .selection-bar .round-box {
    display: block;
    text-align: left;
    width: 100%;
    border-radius: 0;
    padding-left: 15px;
    margin-bottom: 10px;
}
.item-detail .selection-bar .info {
    padding: 0 15px;
}

/* 商品情報 */
.item-detail .item-info {
    padding: 20px 15px;
}
.item-detail .item-info .item-name {
    font-size: 1.2em;
}
.item-detail .item-info > * {
    line-height: 1.5em;
}
.item-detail .item-info > p:last-child {
    margin-top: 15px;
}
.item-detail .item-info > p > span {
    margin-right: 10px;
}

/* プランメッセージ */
.item-detail section.plan-msg-section {
    margin: 0 15px 30px;
}

/* PDFコンテンツ */
.item-detail .pdf-contents .sp > ul {
    min-width: 150px;
}
.item-detail .pdf-contents .sp {
    font-size: 0;
}
.item-detail .pdf-contents .sp > ul {
    vertical-align: top;
    display: inline-block;
    width: 100%;
    min-width: 180px;
}

.item-detail .pdf-contents .sp ul > li::before {
    content: url(../images/icon-pdf.svg);
    display: inline-block;
    width: 20px;
    height: 20px; /* IE対応 */
    position: absolute;
    top: calc(50% - 8px);
    left: 8px;

}
/* 月次レポートの場合 */
.item-detail .pdf-contents .sp ul > li[data-source=pdf-link-003-sp] {
    padding: 10px 8px;
}
.item-detail .pdf-contents .sp ul > li[data-source=pdf-link-003-sp]::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0; /* IE対応 */
    position: relative;
    top: 0;
    left: 0;
}
.item-detail .pdf-contents .sp ul > li {
    position: relative;
    border: 1px solid #ddd;
    border-bottom: none;
    padding: 10px 32px;
    font-size: 13px;
}
.item-detail .pdf-contents .sp ul > li:last-child {
    margin-bottom: 0;
}
.item-detail .pdf-contents .sp ul:last-child > li:last-child {
    border-bottom: 1px solid #ddd;
}
.item-detail .pdf-contents .sp ul > li.header {
    text-align: center;
    background: #eee;
}
.item-detail .pdf-contents .sp ul > li.header::before {
    content: "";
}
.item-detail .pdf-contents .sp ul > li > p {
    display: inline-block;
}
/* リンク */
.item-detail .pdf-contents .sp ul > li a {
    text-align: left;
    /* ステータスアイコンを回り込ませるため */
    display: inline-block;
    width: auto;
}
/* 汎用アイコン */
.item-detail .pdf-contents .sp ul > li .new,
.item-detail .pdf-contents .sp ul > li .update {
    margin-left: 5px;
}
/* 月次レポートのPDFアイコン */
.item-detail .pdf-contents .sp ul > li[data-source=pdf-link-003-sp] > p > a > img {
    position: relative;
    top: auto;
    left: 0;
    display: inline-block;
}

/* 更新日時 */
.item-detail .pdf-contents .sp ul > li small {
    font-size: 0.5em;
    line-height: 1em;
    display: block;
}

.item-detail .contents section > ol {
    padding: 0 30px;
}

/* 運用履歴 */
.item-detail .section8 table tr > th:first-child {
  /*  width: 30%;*/
}

/* 適用利率の推移 */
.item-detail .section12 p.inner-msg {
    margin: 0 15px 20px;
}
.item-detail .section12 table {
    margin-bottom: 10px;
    width: 100%;
}
.item-detail .section12 table th,
.item-detail .section12 table td {
    width: auto;
}

/**************************************
    DC Plan シミュレーション
***************************************/

/* シミュレーションのご注意事項 */
body .notes .border-btn {
    width: 100%;
}

/**************************************
    DC Plan シミュレーション
***************************************/

/* シミュレーションのご注意事項 */
.simulation-header {
    padding: 15px;
}
.simulation-header .description {
    display: block;
    float: left;
    width: 100%;
}
.simulation-header .link.arrow-right {
    display: block;
    float: right;
    width: 250px;
    margin-bottom: 10px;
}
.simulation-header .link.arrow-right span {
    font-size: 13px;
}

/**************************************
    利用規約
***************************************/

/* ページタイトル （ページ名が長いため、フォントサイズを調整）*/
.user-policy .page-header .page-title span {
    font-size: 11px;
}

/* 利用規約文言 */
.user-policy .contents .scroll-box {
    width: calc(100% - 30px);
    height: 200px;
    padding: 10px;
}
/* ボタン */
.user-policy .contents-footer .border-btn {
    width: 200px;
    margin: 0 auto 10px;
}

/* ステップバータイトル （ページ名が長いため、フォントサイズを調整）*/
.user-policy main nav.step-bar li.current span:last-child {
    font-size: 10px;
}

/**************************************
    リスク許容度診断
***************************************/

/* コンテンツ */
.risk-torelance .contents {
    padding: 0;
}

/* メッセージ枠 */
.risk-torelance .msg-frame {
    margin: 0 15px 20px;
}

/* ボックスコンテンツ */
.risk-torelance .contents .box .box-header > span {
    margin: 0;
    display: block;
}
.risk-torelance .contents .box .box-header .box-header-title {
    margin-right: 0;
    margin-bottom: 10px;
    display: inline-block;
}
.risk-torelance .contents .box .box-content {
    margin: 0;
    padding: 0;
}
/* ボックスコンテンツ */
.risk-torelance .contents .box {
    margin-bottom: 0;
}
/* 投資スタイル診断コンテンツ */
.risk-torelance .contents > .box.style-box {
    margin-bottom: 0;
}

/* 次の画面に進む */
.risk-torelance .contents .box .box-footer .border-btn {
    width: 200px;
    height: 40px;
    margin: 0 auto;
}
.risk-torelance .precondition-wrap {
    margin: 0;
}
.risk-torelance .precondition-wrap .item {
    padding: 20px 0;
    margin-bottom: 0;
    border-bottom: 1px solid #eee;
    text-align: center;
}
/* テキスト */
.risk-torelance .precondition-wrap .item .text {
    margin-bottom: 5px;
}

/* 項目名 */
.risk-torelance .precondition-wrap .item .input-box {
    width: 280px;
    font-size: 13px;
    text-align: right;
}
.risk-torelance .precondition-wrap .item .input-box .label {
    text-align: right;
    width: auto;
    margin-right: 0;
}
.risk-torelance .precondition-wrap .item .input-box .label small,
.risk-torelance .precondition-wrap .item .input-box .unit {
    font-size: 12px;
    width: 4em;
    text-align: left;
}
.risk-torelance .precondition-wrap .item .input-box input {
    margin: 0 10px;
    font-size: 22px;
}
.risk-torelance .precondition-wrap .item .input-box .unit br {
    display: none;
}

/* スライダー */
.risk-torelance .precondition-wrap .item .slider-box {
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
}
/* 最小値・最大値 */
.risk-torelance .precondition-wrap .item .slider-box .min,
.risk-torelance .precondition-wrap .item .slider-box .max {
    font-size: 8px;
    font-size: 0.8rem;
    width: 5.5em;
}
.risk-torelance .precondition-wrap .item .slider-box .min {
    text-align: right;
}
.risk-torelance .precondition-wrap .item .slider-box .max {
    text-align: left;
}
/* バー */
.risk-torelance .precondition-wrap .item .slider-box .slider {
    width: calc(100% - 11rem);
    margin: 15px 15px;
}
/* つまみ部分 */
.risk-torelance .precondition-wrap .item .slider-box .slider .ui-slider-handle {
    width: 2.3em;
    height: 2.3em;
    top: -1.0em;
    margin-left: -1.0em;
}
/* 吹き出し */
.risk-torelance .precondition-wrap .item .slider-box .slider .ui-slider-handle .handle-balloon {
    top: -1.0em;
    font-size: 13px;
}

/* チェックボックス 枠 */
/* ラジオボタン 枠 */
.risk-torelance .precondition-wrap .item fieldset {
    margin: 0 15px 0;
}
/* チェックボックス */
/* ラジオボタン */
.risk-torelance .precondition-wrap .item fieldset > label {
    margin: 3px 0 0 15px;
}
/* ラジオボタンのみ */
.risk-torelance .precondition-wrap .item fieldset.radio-box > label {
    margin: 3px 15px 0;
}

/**************************************
    診断結果
***************************************/

.diagnosis .contents {
    padding: 0;
}

/* メッセージ枠 */
.diagnosis .msg-frame {
    margin: 0 15px 20px;
}

.diagnosis .section-box {
    width: 100%;
    border: none;
    margin-bottom: 10px;
}
/* セクションボックス TOP */
.diagnosis .section-box .section-top {
    padding: 0 15px 15px;
}
/* あなたの投資スタイル */
.diagnosis .section-box .section-top .your-investment-style {
    width: 100%;
    padding: 10px 0;
    margin-bottom: 10px;
}
.diagnosis .section-box .section-top .your-investment-style > span:first-child {
    display: inline;
}
/* タイプ */
.diagnosis .section-box .section-top .your-type {
    height: 100%;
    width: 100%;
    margin-left: 0;
}
.diagnosis .section-box .section-top .your-type > p:first-child > small {
    display: block;
    line-height: 2em;
}
/* セクション */
.diagnosis .section-box section > h1 {
    text-align: left;
    padding: 15px;
}
/* セクションコンテンツ */
.diagnosis .section-box section > .section-contents {
    padding: 15px;
}
.diagnosis .section-box section > .section-contents > .section-description {
    font-weight: 400;
}

/* リスク許容度 */
/* レベルボーダー */
.diagnosis .section-box section.section1 > .section-contents .risk .level > .level-border {
    width: 58%;
}

/* 資産配分 */
.diagnosis .section-box section.section2 > .section-contents .asset-allocation {
    height: 200px;
}

/* 将来の予測 */
.diagnosis .section-box section.section4 > .section-contents > .table-contents {
    height: auto;
}
.diagnosis .section-box section.section4 > .section-contents > .table-contents > table {
    width: 100%;
    float: none;
    height: auto;
}
/*
.diagnosis .section-box section.section4 > .section-contents > .table-contents > table td {
    width: 50%;
}*/
/* パターンテーブル */
.diagnosis .section-box section.section4 > .section-contents > .table-contents > table.pattern-table {
    width: 100%;
    margin: 0 0 20px;
}
/* 結果テーブル */
.diagnosis .section-box section.section4 > .section-contents > .table-contents > table.result-table {
    height: 150px;
}
.diagnosis .section-box section.section4 > .section-contents > .table-contents > table.result-table .cell {
    font-size: 1.2em;
}

/* フッター */
.diagnosis .footer {
    text-align: center;
}
.diagnosis .footer .border-btn {
    display: inline-block;
    width: 300px;
}

/**************************************
    商品シミュレーション
***************************************/

/* コンテンツ */
.simulation .contents {
    padding: 0;
}

/* メッセージ枠 */
.simulation .msg-frame {
    margin: 0 15px 20px;
}

/* テーブル */
.simulation table,
.simulation tr,
.simulation td {
    border: none;
}
/* 奇数行に下辺パディングを0に設定 */
.simulation tr:nth-child(odd) > td {
    padding-bottom: 0;
}
/* 偶数行に下辺ボーダーを設定 */
.simulation tr:nth-child(even) {
    border-bottom: 1px solid #aaa;
}
.simulation table th {
    min-width: none;
    padding: 0 5px;
}
.simulation table td {
    min-width: none;
    padding: 10px 10px;
}

/* ソート設定 */
.simulation .simulation-setting.sp {
    padding: 0 5px 15px;
    text-align: left;
    display: table;
}
/* 並び順 */
.simulation .simulation-setting > * {
    display: table-cell;
    vertical-align: middle;
}
.simulation .simulation-setting > span {
    font-size: 12px;
    text-align: center;
    padding: 10px;
}
/* 選択 */
.simulation .simulation-setting label.select-label {
    height: 50px;
}

/**************************************
    公的年金受給額シミュレーション
***************************************/

/* 選択した職業 */
.selected-occupation {
    margin: 0 15px;
}
.selected-occupation > img {
    margin-right: 20px;
}
.selected-occupation > p {
    font-size: 12px;
}
.selected-occupation p > span {
    display: block;
}

/**************************************
    職業選択
***************************************/

/* 職業選択リスト */
.occupation-selection .type-list li {
    width: 100%;
    min-width: 0;
}

/**************************************
    年金計算条件入力
***************************************/

/* ページタイトル （ページ名が長いため、フォントサイズを調整）*/
.enter-calc-conditions .page-header .page-title span {
    font-size: 12px;
}

/* コンテンツ */
.enter-calc-conditions .contents {
    padding: 0;
}

.enter-calc-conditions .input-wrap .box {
    width: 100%;
    float: none;
    margin-bottom: 0;
}
.enter-calc-conditions .input-wrap .box:first-child {
    margin-right: 0;
}
.enter-calc-conditions .input-wrap .box-content {
    margin: 0 15px;
    padding: 0;
}

/* 入力項目 */
.enter-calc-conditions .input-wrap .box-content p {
    display: block;
}
.enter-calc-conditions .input-wrap .box-content p > * {
    display: inline-block;
}
/* 項目 */
.enter-calc-conditions .input-wrap .box-content p > span:first-child {
    display: block;
    width: 100%;
    margin-bottom: 5px;
    margin-right: 0;
}
/* 生年月日 */
.enter-calc-conditions .input-wrap .box-content p.birthday label[for=birth-y] {
    width: 30%;
}
.enter-calc-conditions .input-wrap .box-content p.birthday label[for=birth-m],
.enter-calc-conditions .input-wrap .box-content p.birthday label[for=birth-d] {
    width: 20%;
}
/* プルダウン要素 */
.enter-calc-conditions .input-wrap .box-content label.select-label {
    width: 100%;
}
/* 年齢関連 */
.enter-calc-conditions .input-wrap .box-content label.select-label.age {
    width: 90%;
}
/* 配偶者の有無 */
.enter-calc-conditions .input-wrap .box-content p.radio-spouse > label {
    width: 40%;
}

/**************************************
    シミュレーション結果
***************************************/

/* ページタイトル （ページ名が長いため、フォントサイズを調整）*/
.pension-simulation .page-header .page-title span {
    font-size: 10px;
}

/* コンテンツ */
.pension-simulation .contents {
    padding: 0 0px;
}

/* メッセージ枠 */
.pension-simulation .msg-frame {
    margin: 0 15px 20px;
}

/* 年金受給額詳細コンテンツ */
.pension-simulation .detail-contents .box {
    float: none;
    width: 100%;
    margin-left: 0;
}
/**************************************
    取扱い商品一覧
***************************************/
th {
    padding: 0 5px;
    font-size: 10px;
}
td {
    padding: 10px 5px;
}
/* テーブルスクロール */
.table-scroll {
    overflow: hidden; 
    white-space: normal; 
}
#section8 > table.sp,
#section12 > table{
    table-layout: fixed;
}
#section12 > table td {
    text-align: center;
}
.item-detail .section8 td {
    text-align: center;
    font-size: 0.8em;
}
.item-detail .section8 th {
    font-size: 0.8em;
}
#section1 > table th,
#section1 > table td,
#section2 > table th,
#section2 > table td,
#section3 > table th,
#section3 > table td,
#section4 > table th,
#section4 > table td,
#section6 > table th,
#section6 > table td,
#section10 > table th,
#section10 > table td,
#section11 > table th,
#section11 > table td,
#section13 > table th,
#section13 > table td{
    height:auto;
    padding: 10px 10px;
    width: 100%;
    display: block;
    text-align: left;
    font-size: 0.8em;
    border: 0px;
    box-sizing: border-box;
}
#section1 > table tr,
#section2 > table tr,
#section3 > table tr,
#section4 > table tr,
#section6 > table tr,
#section10 > table tr,
#section11 > table tr,
#section13 > table tr {
    border-bottom: 0px;
}
th {
    font-size: 12px;
}
.item-detail #section1 > table {
    margin-top: 10px;
}

/**************************************
    ご利用ガイド
***************************************/

.useguide .contents .box
,.item-selection .contents .box {
    display: block;
    width: 100%;
    margin-bottom: 0;
    border-bottom: 2px solid #ddd;
}
.useguide .contents .box:first-of-type
,.item-selection .contents .box:first-of-type {
    border-top: 2px solid #ddd;
}
.useguide .contents .box .box-header > span
,.item-selection .contents .box .box-header > span{
    display: inline-block;
    margin-right: 40px;
}

.useguide .box-header + .box-content
,.item-selection .fixed-table .box-content{
    display: none;
    opacity: 0;
}

.useguide .box-header + .box-content.is-active{
    display: block;
    opacity: 1;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
}

.item-selection .fixed-table .box-content.is-active{
    display: table-row;
    opacity: 1;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
}

/**************************************
    商品案内
***************************************/

.itemguide section
,.myplan section{
    padding: 0;
}
.itemguide section h1
,.myplan section h1{
  line-height: 1.5;
}
.itemguide .contents
,.myplan .contents{
    padding: 0;
}

.itemguide .box-header
,.myplan .box-header{
    border-top: 2px solid #ddd;
}

.itemguide .box-header::after
,.myplan .box-header::after{
    margin: auto;
    left: auto;
    transition: 0.3s;
}
.itemguide .box-header + .box-content
,.myplan .box-header + .box-content{
    display: none;
    opacity: 0;
}
.item-selection .toggle-header.sp-arrow-down
,.item-selection .box-content{
    border-bottom: 2px solid #aaa;
    width:100%;
}
.itemguide .box-header + .box-content.is-active
,.myplan .box-header + .box-content.is-active{
    display: block;
    opacity: 1;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
}
tr.box-content.is-active{
    display: table-row;
}
@keyframes fade-in {
    0% {
        display: none;
        opacity: 0;
    }

    10% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}
@-webkit-keyframes fade-in {
    0% {
        display: none;
        opacity: 0;
    }

0% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}


.itemguide .contents .box
,.myplan .contents .box{
    width: 100%;
}
.itemguide .contents .box.column2-box
,.myplan .contents .box.column2-box {
    display: block;
    margin: 0 auto;
    width: 100%;
}
.itemguide .contents .box.column2-box .list
,.myplan .contents .box.column2-box .list{
    border-bottom: none;
}


/* 矢印 - 上 */
.sp-arrow-down
,.sp-arrow-up {
    position: relative;
}
.sp-arrow-down::before
,.sp-arrow-down::after
,.sp-arrow-up::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 15px;
    height: 2px;
    background-color: #777777;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -ms-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
}
.sp-arrow-down::before {
  content: '';
    transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
}
.sp-arrow-down::after {
  content: '';
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
}

.sp-arrow-up::after {
  content: '';
    transform: rotate(180deg);
     -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
}

span.eventname {
    display: none;
}
