.product-faq-title {position: relative; margin-top: 7rem; margin-bottom: 4.5rem; text-align: center; font-size: 30px;}
.product-faq-title::after {content: ""; position: absolute; bottom: -15px; left: calc(50% - 25px); width: 50px; height: 5px; background: #000;}
.product-faq-question {position: relative; margin-top: 2px; padding: 10px 45px; background: #EEE; cursor: pointer;}
.product-faq-question i {position: absolute; left: 10px; top: 1px; font-size: 2em; color: #224;}
.product-faq-question::after {content: "▼"; position: absolute; right: 15px; top: calc(50% - 12px); font-size: 1.3em; transition: transform 0.5s;}
.product-faq-question-open::after {transform: rotate(180deg);}
.product-faq-answer {display: none; position: relative; background: #FAFAFA; padding: 20px 50px;}
.product-faq-question-open + .product-faq-answer {display: block;}
.product-faq-answer i {position: absolute; left: 12px; top: 12px; font-size: 2em; color: #D29F13;}

/**
* フレキシブルコンテンツ
*/
.flexible-product-content {font-size: 16px;}
.flexible-product-content img {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0;
    transition: .3s;
}

.flexible-product-layout { margin: 0 2.5% 2rem; }
/*.flexible-product-layout a:hover img, .flexible-product-layout a:hover .flexible-product-link-banner-item-title, .flexible-product-layout a:hover .flexible-product-text-image-text { opacity: .6; }*/

.flexible-product-common-movie { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.flexible-product-common-movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.flexible-product-bg-black { background: #00254E; /* #29415A */ color: #fff;}
.flexible-product-color-caption { color: #555; }

/* text-image-h */
 .flexible-product-text-image-h {display: flex; justify-content: space-between; align-items: flex-start; }
 .flexible-product-text-image-h-text {margin-bottom: 1rem;}
 .flexible-product-text-image-h-images a,
 .flexible-product-text-image-h-images span {display: block;}
 .flexible-product-text-image-h-item { margin-top: 2rem; text-align: center; }
 .flexible-product-text-image-h-item:first-child { margin-top: 0; }
 .flexible-product-text-image-h-item-caption { font-size: .9rem; text-align: center; line-height: 1rem; padding: 1rem 0; }
 .flexible-product-text-image-h-item a {text-decoration: none; color: inherit;}
@media (min-width: 801px) {
    .flexible-product-text-image-h {}
    .flexible-product-text-image-h.x-image-flip-left {flex-direction: row-reverse;}
    .flexible-product-text-image-h-text {width: 48%;}
    .flexible-product-text-image-h-images {width: 48%;}
    .x-image-width-30 .flexible-product-text-image-h-text {width: 68%;}
    .x-image-width-30 .flexible-product-text-image-h-images {width: 28%;}
    .x-image-width-40 .flexible-product-text-image-h-text {width: 58%;}
    .x-image-width-40 .flexible-product-text-image-h-images {width: 38%;}
    .x-image-width-50 .flexible-product-text-image-h-text {width: 48%;}
    .x-image-width-50 .flexible-product-text-image-h-images {width: 48%;}
    .x-image-width-60 .flexible-product-text-image-h-text {width: 38%;}
    .x-image-width-60 .flexible-product-text-image-h-images {width: 58%;}
    .x-image-width-70 .flexible-product-text-image-h-text {width: 28%;}
    .x-image-width-70 .flexible-product-text-image-h-images {width: 68%;}
}
@media (max-width: 800px) {
    .flexible-product-text-image-h-item-caption { font-size: .8rem; }
    .flexible-product-text-image-h {flex-direction: column;}
    .flexible-product-text-image-h.x-image-flip-left {flex-direction: column-reverse;}
    .flexible-product-text-image-h.x-image-flip-left .flexible-product-text-image-h-images { margin-bottom: 1.5rem; }
    .flexible-product-text-image-h.x-image-flip-right .flexible-product-text-image-h-text { margin-bottom: 1.5rem; }
    .flexible-product-text-image-h-text {width: 100%;}
    .flexible-product-text-image-h-images {width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;}
    .flexible-product-text-image-h-item { width: 48%; }
    .flexible-product-text-image-h-one-image .flexible-product-text-image-h-item { width: 80%; margin: 0 auto !important; }
}

/* image */
.flexible-product-image {}
.flexible-product-image-align-left { text-align: left; }
.flexible-product-image-align-center { text-align: center; }
.flexible-product-image-align-right { text-align: right; }
.flexible-product-image-width-100 { max-width: 100% !important;}
.flexible-product-image-width-80 { width: 80% !important; }
.flexible-product-image-width-65 { width: 65% !important; }
.flexible-product-image-width-50 { width: 50% !important; }
.flexible-product-image-width-35 { width: 35% !important; }
.flexible-product-image-width-20 { width: 20% !important; }
/*.flexible-product-image-caption { font-size: .9rem; line-height: 1rem; padding: 1rem 0; display: flex; text-align: center; }*/
.flexible-product-image-caption {
    font-size: 14px;
    line-height: 1.3em;
    margin-top: 5px;
}
.flexible-product-image-align-left .flexible-product-image-caption { justify-content: flex-start; }
.flexible-product-image-align-right .flexible-product-image-caption { justify-content: flex-end; text-align: right; }
.flexible-product-image-align-center .flexible-product-image-caption { justify-content: center; text-align: center; }
.flexible-product-image a { text-decoration: none;}
@media (max-width: 800px) {
    .flexible-product-image-align-center, .flexible-product-image-align-right, .flexible-product-image-align-around { text-align: center; }
    .flexible-product-image-caption { font-size: .8rem; text-align: center !important; }
}
@media (max-width: 640px) {
    .flexible-product-image-width-80 { width: 100% !important; }
    .flexible-product-image-width-65 { width: 85% !important; }
    .flexible-product-image-width-50 { width: 70% !important; }
    .flexible-product-image-width-35 { width: 60% !important; }
    .flexible-product-image-width-20 { width: 50% !important; }
}

/* text-image-v */
.flexible-product-text-image-v { display: flex; }
.x-image-flip-top { flex-direction: column-reverse; }
.x-image-flip-top .flexible-product-text-image-v-images { margin-bottom: 1rem; align-items: center;}
.x-image-flip-bottom { flex-direction: column; }
.x-image-flip-bottom .flexible-product-text-image-v-text { margin-bottom: 1rem; }
.flexible-product-text-image-v-images { display: flex; flex-wrap: nowrap; align-items: stretch; }
.flexible-product-text-image-v-align-left { justify-content: flex-start; }
.flexible-product-text-image-v-align-center { justify-content: center; }
.flexible-product-text-image-v-align-right { justify-content: flex-end; }
.flexible-product-text-image-v-align-around { justify-content: space-around; }
.flexible-product-text-image-v-item { margin-right: 1%; display: flex; }
.flexible-product-text-image-v-item:last-child { margin-right: 0; }
.flexible-product-text-image-v-item-image { display: flex; flex-direction: column; }
.flexible-product-text-image-caption { font-size: .8rem; line-height: 1rem; padding: 1rem 0; text-align: center; }
@media (max-width: 480px) {
    .flexible-product-text-image-v-images { flex-wrap: wrap; justify-content: space-between !important; }
    .flexible-product-text-image-v-item { width: 48%; margin-bottom: 1rem; }
    .flexible-product-text-image-v-one-image .flexible-product-text-image-v-item { width: 80%; margin: 0 auto !important; }
}

/*
 * list ※固定pageと同じHTML・CSS構造
 */
 .flexible-product-list { counter-reset: list; }
/*.flexible-product-list ul, .flexible-product-list ol { margin: 0 0 0 1.5rem; }*/
.flexible-product-list-title { font-size: 17px; font-weight: 800; display: inline-block; line-height: 1.2rem; margin: 0 0 .5rem; padding: 10px 20px; background: #eee; }
.flexible-product-list-item-content { display: flex; justify-content: space-between; align-items: flex-start; padding: 0; }
.flexible-product-list-item-text { margin-right: .5rem; }
.flexible-product-list-item-button { min-width: 140px; max-width: 250px; margin: 0 0 0 1rem; text-align: right; }
.flexible-product-list-item-button a { display: inline-block; color: #fff; font-size: .9rem; text-align: center; text-decoration: none; padding: .3rem .5rem; transition: 0.3s;}
.flexible-product-list-item-button a:hover {background-color: #d70;}
.flexible-product-list-item { position: relative; display: flex; flex-direction: column; }
.flexible-product-list-item-title { font-weight: 800; margin-right: 1rem; display: flex; flex: 1; align-items: center; }
/* list 番号なしul */
    /* 1 */
    .flexible-product-list.x-pattern-1 ul .flexible-product-list-item { padding: .5rem 0 .5rem 2rem; border-bottom: dashed 1px #333; }
    .flexible-product-list.x-pattern-1 ul .flexible-product-list-item:before { content: ""; display: block; position: absolute; display: inline-block; background: #333; border-radius: 50%; left: .5rem; width: .5rem; height: .5rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    /* 2 */
    .flexible-product-list.x-pattern-2 ul .flexible-product-list-item { border-left: 6px solid #000; background: #eee; padding: 15px 15px 20px; margin: 0 0 .5rem; min-height: 3rem; display: flex; flex-direction: column; }
    .flexible-product-list.x-pattern-2 .flexible-product-list-item-title {margin: 0 0 .5rem; font-weight: 800; font-size: 110%; letter-spacing: .1rem;}
    /* 3 */
    .flexible-product-list.x-pattern-3 ul .flexible-product-list-item { padding-left: 1.8rem; margin-bottom: 1rem; }
    .flexible-product-list.x-pattern-3 ul .flexible-product-list-item:before { content: ""; display: block; position: absolute; left: 0; height: 1.3rem; width: 1.3rem; background: #66ABC1; top: 50%; -moz-transform: translateY(-50%); -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

/* list 番号付きol */
.flexible-product-list ol .flexible-product-list-item:before { counter-increment: list; content: counter(list); }
    /* 1 */
    .flexible-product-list.x-pattern-1 ol .flexible-product-list-item { padding: .5rem 0 .5rem 2.5rem; border-bottom: dashed 1px #333;}
    .flexible-product-list.x-pattern-1 ol .flexible-product-list-item:before { position: absolute; font-size: 1.1rem; font-weight: bold; margin: 0 auto 0; left: .5rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    /* 2 */
    .flexible-product-list.x-pattern-2 ol .flexible-product-list-item { background: #eee; margin: 0 0 .5rem; min-height: 3rem; display: flex; justify-content: center; border: none; padding: 1rem 1rem 1rem 3rem;}
    .flexible-product-list.x-pattern-2 ol .flexible-product-list-item:before { position: absolute; color: #fff; top: 0; bottom: 0; left: 0; width: 2.5rem; margin: 0 auto 0; font-weight: bold; background: #00254E; /* #29415A */ display: flex; align-items: center; justify-content: center; }
    .flexible-product-list.x-pattern-2 ol .flexible-product-list-item-content {align-items: center;}
    .flexible-product-list-item-title + .flexible-product-list-item-content {margin: 0.5rem 0 0.5rem 1rem; display: flex; align-items: center;}
    /* 3 */
    .flexible-product-list.x-pattern-3 ol .flexible-product-list-item { padding-left: 2.5rem; margin-bottom: 1rem; }
    .flexible-product-list.x-pattern-3 ol .flexible-product-list-item:before { position: absolute; display: inline-block; background: #66ABC1; color: #fff; font-weight: bold; font-size: 1rem; border-radius: 50%; left: 0; width: 1.8rem; height: 1.8rem; line-height: 1.8rem; text-align: center; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
/* リスト行に一つでもタイトルがあれば */
.flexible-product-list-has-titles{padding-left: 25px;}
.flexible-product-list-has-titles .flexible-product-list-item { flex-direction: row; }
/* .flexible-product-list-has-titles.flexible-product-list.x-pattern-2 .flexible-product-list-item { justify-content: center; } */
.flexible-product-list-has-titles .flexible-product-list-item-content { flex: 3; }

@media (max-width: 800px) {
    .flexible-product-list-item-content { flex-direction: column; }
    .flexible-product-list .flexible-product-list-item-button { max-width: 100%; width: 100%; margin: .2rem 0 0; }
    .flexible-product-list-title { margin: 0 0 1rem; }
    .flexible-product-list ul, .flexible-product-list ol { margin: 0 1rem; }
    /* 2 */
    .flexible-product-list.x-pattern-2 .flexible-product-list-item-button a { margin-right: .2rem; }
}
@media (max-width: 480px) {
    .flexible-product-list ul, .flexible-product-list ol { margin: 0; padding: 0; }
    .flexible-product-list-item-title { flex: 2; }
    /* 1 */
    .flexible-product-list.x-pattern-1 ul .flexible-product-list-item,
    .flexible-product-list.x-pattern-1 ol .flexible-product-list-item { padding-left: 1rem; }
    .flexible-product-list.x-pattern-1 ul .flexible-product-list-item:before,
    .flexible-product-list.x-pattern-1 ol .flexible-product-list-item:before { left: 0; }
    /* 2 */
    .flexible-product-list.x-pattern-2 .flexible-product-list-item { padding-left: .5rem; }
    .flexible-product-list.x-pattern-2 ol .flexible-product-list-item { padding-left: 2.5rem; }
    .flexible-product-list.x-pattern-2 ol .flexible-product-list-item:before { width: 2rem; }
    /* 3 */
    .flexible-product-list.x-pattern-3 ul .flexible-product-list-item { padding-left: 1.5rem; }
    .flexible-product-list.x-pattern-3 ul .flexible-product-list-item:before { height: 1rem; width: 1rem; }
    .flexible-product-list.x-pattern-3 ol .flexible-product-list-item { padding-left: 2rem; }
    .flexible-product-list.x-pattern-3 ol .flexible-product-list-item:before { font-size: .95rem; width: 1.4rem; height: 1.4rem; line-height: 1.4rem; }
}

/* table */
.flexible-product-table-table { width: 100%; border-collapse: collapse; font-size: .85rem; line-height: 1rem; border: 1px solid #999; }
.flexible-product-table-table th,
.flexible-product-table-table td{ border-right: 1px solid #dadada; border-bottom: 1px solid #999; padding: .5rem; text-align: center; vertical-align: middle;}
.flexible-product-table-table th{ border-top: 1px solid #999; }
.flexible-product-table-table th,
.flexible-product-table-is-title { text-align: center; vertical-align: middle; font-weight: bold; background: #eee; }
.flexible-product-table-table td.text-left { text-align: left; }
.flexible-product-table-table td.text-center { text-align: center; }
.flexible-product-table-table td.text-right { text-align: right; }
.flexible-product-table-table tr th:last-child, .flexible-product-table-table tr td:last-child { border-right: none; }
.flexible-product-table-table tr:first-child td {border-top: 1px solid #999;}
.flexible-product-table-title-width-15p {width: 15%;}
.flexible-product-table-title-width-20p {width: 20%;}
.flexible-product-table-title-width-30p {width: 30%;}
.flexible-product-table-title-width-40p {width: 40%;}
.flexible-product-table-title-width-50p {width: 50%;}
.flexible-product-table-table-note { font-size: .85em; margin: 1rem .5rem; }
.flexible-product-table-wrap { overflow-x: auto; }
.flexible-product-table-wrap::-webkit-scrollbar { height: 10px; }
.flexible-product-table-wrap::-webkit-scrollbar-track { margin: 0 2px; background: #ccc; border-radius: 5px; }
.flexible-product-table-wrap::-webkit-scrollbar-thumb { border-radius: 5px; background: #666; }
@media (max-width: 800px) {
    .flexible-product-table-table { white-space: nowrap; -webkit-overflow-scrolling: touch; }
}

/* table-image */
.flexible-product-block-table-image {display: flex; justify-content: space-between; align-items: flex-start; }
.flexible-product-block-table-image-images a,
.flexible-product-block-table-image-images span {display: block; margin-bottom: 1rem;}
.flexible-product-block-table-image-item { text-align: center; }
/*.flexible-product-block-table-image-item:first-child { margin-top: 0; }*/
.flexible-product-block-table-image-item img{display: inline-block; margin-bottom: 5px;}
.flexible-product-block-table-image-item-caption { font-size: 12px; text-align: center; line-height: 1.3em; padding: 0; }

.flexible-product-block-table-image-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.flexible-product-block-table-image-table th,
.flexible-product-block-table-image-table td{ border-right: 1px solid #dadada; border-bottom: 1px solid #999; padding: .5rem;}
.flexible-product-block-table-image-table th{ border-top: 1px solid #999; }
.flexible-product-block-table-image-table th,
.flexible-product-block-table-image-is-title { text-align: center; vertical-align: middle; font-weight: bold; background: #eee; }

.flexible-product-block-table-image-table tr th:last-child, .flexible-product-block-table-image-table tr td:last-child { border-right: none; }
.flexible-product-block-table-image-text { margin-top: 1.5rem; }
.flexible-product-block-table-image-table-wrap { overflow-x: auto; }
.flexible-product-block-table-image-table-wrap::-webkit-scrollbar { height: 10px; }
.flexible-product-block-table-image-table-wrap::-webkit-scrollbar-track { margin: 0 2px; background: #ccc; border-radius: 5px; }
.flexible-product-block-table-image-table-wrap::-webkit-scrollbar-thumb { border-radius: 5px; background: #666; }
.flexible-product-block-table-image-table { width: 100%; white-space: nowrap; -webkit-overflow-scrolling: touch; }
@media (min-width: 801px) {
   .flexible-product-block-table-image.x-image-flip-right {flex-direction: row-reverse;}
   .flexible-product-block-table-image-tables {width: 48%;}
   .flexible-product-block-table-image-images {width: 48%;}
   .x-image-width-30 .flexible-product-block-table-image-tables {width: 68%;}
   .x-image-width-30 .flexible-product-block-table-image-images {width: 28%;}
   .x-image-width-40 .flexible-product-block-table-image-tables {width: 58%;}
   .x-image-width-40 .flexible-product-block-table-image-images {width: 38%;}
   .x-image-width-50 .flexible-product-block-table-image-tables {width: 48%;}
   .x-image-width-50 .flexible-product-block-table-image-images {width: 48%;}
   .x-image-width-60 .flexible-product-block-table-image-tables {width: 38%;}
   .x-image-width-60 .flexible-product-block-table-image-images {width: 58%;}
   .x-image-width-70 .flexible-product-block-table-image-tables {width: 28%;}
   .x-image-width-70 .flexible-product-block-table-image-images {width: 68%;}
}
@media (max-width: 800px) {
   .flexible-product-block-table-image-item-caption { font-size: .8rem; }
   .flexible-product-block-table-image {flex-direction: column;}
   .flexible-product-block-table-image.x-image-flip-left {flex-direction: column-reverse;}
   .flexible-product-block-table-image.x-image-flip-left .flexible-product-block-table-image-tables { margin-bottom: 1.5rem; }
   .flexible-product-block-table-image.x-image-flip-right .flexible-product-block-table-image-images { margin-bottom: 1.5rem; }
   .flexible-product-block-table-image-tables {width: 100%;}
   .flexible-product-block-table-image-images {width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;}
   .flexible-product-block-table-image-item { width: 48%; }
   .flexible-product-block-table-image-one-image .flexible-product-block-table-image-item { width: 80%; margin: 0 auto !important; }
}
@media (max-width: 480px) {

}

/* tablepress */
.flexible-product-content .tablepress { width: 100%; border-collapse: collapse;; font-size: .85rem; line-height: 1rem; /*border-top: 1px solid #ddd !important; border-bottom: 1px solid #ddd !important;*/ border: 1px solid #999; }
.flexible-product-content .tablepress tbody td, .tablepress tfoot th {border-top: 1px solid #ddd; border-left: 1px solid #ddd; vertical-align: middle;}
.flexible-product-content .tablepress th,
.flexible-product-content .tablepress thead th,
.flexible-product-content .tablepress td{ border-bottom: 1px solid #999; padding: .5rem; text-align: left; vertical-align: middle;}
.flexible-product-content .tablepress th,
.flexible-product-content .tablepress thead th {text-align: center;}
.flexible-product-content .tablepress .column-1, .tablepress .column-1 { border-left: none; }
.flexible-product-content .tablepress th,
.flexible-product-content .tablepress thead th,
.tablepress.row_1_title tr:first-child th,
.tablepress.row_1_title tr:first-child td,
.tablepress.row_2_title tr:nth-child(2) td,
.tablepress.row_2_title tr:first-child th,
.tablepress.row_2_title tr:first-child td,
.tablepress.row_3_title tr:first-child th,
.tablepress.row_3_title tr:first-child td,
.tablepress.row_3_title tr:nth-child(2) td,
.tablepress.row_3_title tr:nth-child(3) td,
.tablepress.row_4_title tr:first-child th,
.tablepress.row_4_title tr:first-child td,
.tablepress.row_4_title tr:nth-child(2) td,
.tablepress.row_4_title tr:nth-child(3) td,
.tablepress.row_4_title tr:nth-child(4) td,
.tablepress.row_5_title tr:first-child th,
.tablepress.row_5_title tr:first-child td,
.tablepress.row_5_title tr:nth-child(2) td,
.tablepress.row_5_title tr:nth-child(3) td,
.tablepress.row_5_title tr:nth-child(4) td,
.tablepress.row_5_title tr:nth-child(5) td,
.tablepress.col_1_title .column-1,
.tablepress.col_2_title .column-1,
.tablepress.col_2_title .column-2,
.tablepress.col_3_title .column-1,
.tablepress.col_3_title .column-2,
.tablepress.col_3_title .column-3,
.tablepress.col_4_title .column-1,
.tablepress.col_4_title .column-2,
.tablepress.col_4_title .column-3,
.tablepress.col_4_title .column-4,
.tablepress.col_5_title .column-1,
.tablepress.col_5_title .column-2,
.tablepress.col_5_title .column-3,
.tablepress.col_5_title .column-4,
.tablepress.col_5_title .column-5 { text-align: center; vertical-align: middle; font-weight: 600; background: #eee; }
.tablepress.col_1_center .column-1,
.tablepress.col_2_center .column-2,
.tablepress.col_3_center .column-3,
.tablepress.col_4_center .column-4,
.tablepress.col_5_center .column-5,
.tablepress.col_6_center .column-6,
.tablepress.col_7_center .column-7,
.tablepress.col_8_center .column-8,
.tablepress.col_9_center .column-9,
.tablepress.col_10_center .column-10,
.tablepress.col_11_center .column-11,
.tablepress.col_12_center .column-12,
.tablepress.col_13_center .column-13,
.tablepress.col_14_center .column-14,
.tablepress.col_15_center .column-15,
.tablepress.col_16_center .column-16,
.tablepress.col_17_center .column-17,
.tablepress.col_18_center .column-18,
.tablepress.col_19_center .column-19,
.tablepress.col_20_center .column-20 {text-align: center;}
.tablepress.col_1_right .column-1,
.tablepress.col_2_right .column-2,
.tablepress.col_3_right .column-3,
.tablepress.col_4_right .column-4,
.tablepress.col_5_right .column-5,
.tablepress.col_6_right .column-6,
.tablepress.col_7_right .column-7,
.tablepress.col_8_right .column-8,
.tablepress.col_9_right .column-9,
.tablepress.col_10_right .column-10,
.tablepress.col_11_right .column-11,
.tablepress.col_12_right .column-12,
.tablepress.col_13_right .column-13,
.tablepress.col_14_right .column-14,
.tablepress.col_15_right .column-15,
.tablepress.col_16_right .column-16,
.tablepress.col_17_right .column-17,
.tablepress.col_18_right .column-18,
.tablepress.col_19_right .column-19,
.tablepress.col_20_right .column-20 {text-align: right;}
.tablepress img {max-height: 150px;}

/*
 * link button ※固定pageと同じHTML・CSS構造
 */
.flexible-product-link-button {}
.flexible-product-link-button-buttons { display: flex; flex-wrap: nowrap; margin-right: -1rem; }
.flexible-product-link-button-align-left { justify-content: flex-start; }
.flexible-product-link-button-align-right { justify-content: flex-end; }
.flexible-product-link-button-align-center { justify-content: center; }
.flexible-product-link-button-align-space-between { justify-content: space-between; }
.flexible-product-link-button-align-space-around { justify-content: space-around; }
.flexible-product-link-button-item { margin-right: 1rem; }
/*.flexible-product-link-button-item a { display: inline-block; color: #fff; font-size: .9rem; text-decoration: none; text-align: center; padding: .7rem 1.2rem; }*/
/*.flexible-product-link-button-item a:hover {opacity: .6;}*/
.flexible-product-link-button-item a {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
    /* box-shadow: 5px 8px 0 rgb(0,0,0,0.2); */
    font-weight: 700;
    padding: 15px 30px;
    transition: 0.3s;
}
.flexible-product-link-button-item a:hover{
    background: #D70;
}
@media (max-width: 600px) {
    .flexible-product-link-button-buttons { flex-wrap: wrap; }
    .flexible-product-link-button-item { margin: 0 1rem 1rem 0; }
}


/* movie */
.flexible-product-movie { margin-left: auto; margin-right: auto; }
.flexible-product-movie.flexible-product-movie-width-100 { width: 100%; }
.flexible-product-movie.flexible-product-movie-width-90 { width: 90%; }
.flexible-product-movie.flexible-product-movie-width-80 { width: 80%; }
.flexible-product-movie.flexible-product-movie-width-65 { width: 65%; }
.flexible-product-movie.flexible-product-movie-width-50 { width: 50%; }
.flexible-product-movie-wrap { width: 100%; margin: 0 auto; }
.flexible-product-movie-movie { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.flexible-product-movie-movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.flexible-product-movie-item-title { text-align: center; font-size: 1rem; font-weight: bold; margin-bottom: 0.5 rem ; /* flex: 1; */ line-height: 3rem; background: #eee; display: flex; align-items: center; justify-content: center; width: 100%; padding: 5px; }
.flexible-product-movie-item-caption { font-size: .9rem; text-align: center; line-height: 1rem; padding: 1rem 0; }
.flexible-product-movie-item-button { text-align: center; margin-top: .2rem; }
.flexible-product-movie-item-button a { display: inline-block; color: #fff; font-size: .9rem; text-decoration: none; padding: .3rem .5rem; }
.flexible-product-movie-item-button a:hover {opacity: .6;}
@media (max-width: 640px) {
    .flexible-product-movie-width-90 { width: 100% !important; }
    .flexible-product-movie-width-80 { width: 100% !important; }
    .flexible-product-movie-width-65 { width: 90% !important; }
    .flexible-product-movie-width-50 { width: 80% !important; }
}

/*GARELLY*/
.flexible-product-gallery {}
.flexible-product-gallery-ul { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .5rem 1%; margin-bottom: -2rem;/* .flexible-product-gallery-itemのmargin_bottom分マイナス */ }
.flexible-product-gallery-align-left { justify-content: flex-start; }
.flexible-product-gallery-align-center { justify-content: center; }
.flexible-product-gallery-align-right { justify-content: flex-end; }
.flexible-product-gallery-item { display: flex; flex-direction: column; margin-bottom: 2.3rem; /* gallery リストが折り返した際の行間 */ }
.flexible-product-gallery-item > a,
.flexible-product-gallery-item > div{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.flexible-product-gallery-item > a {width: 100%; height: 100%; text-decoration: none !important; color: inherit;}
.flexible-product-gallery-item > a:hover .flexible-product-gallery-item-title, .flexible-product-gallery-item > a:hover p {opacity: .6;}
.flexible-product-gallery-item a:hover img {opacity: .75;}

    /* １行に並ぶitem数 */
    .flexible-product-gallery-cols-1 .flexible-product-gallery-item { flex-basis: 100%; }
    .flexible-product-gallery-cols-2 .flexible-product-gallery-item { flex-basis: 47%; }
    .flexible-product-gallery-cols-3 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-4 .flexible-product-gallery-item { flex-basis: 22.6%; }
    .flexible-product-gallery-cols-5 .flexible-product-gallery-item { flex-basis: 19%; }
    .flexible-product-gallery-cols-6 .flexible-product-gallery-item { flex-basis: 15.6%; }
    .flexible-product-gallery-cols-7 .flexible-product-gallery-item { flex-basis: 13.2% }
    .flexible-product-gallery-cols-8 .flexible-product-gallery-item { flex-basis: 11.4%; }
    .flexible-product-gallery-cols-9 .flexible-product-gallery-item { flex-basis: 10%; }
    .flexible-product-gallery-cols-10 .flexible-product-gallery-item { flex-basis: 9%; }

.flexible-product-gallery-cols-1 .flexible-product-gallery-movie-wrap { width: 90%; margin: 0 auto; }
.flexible-product-gallery-movie { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.flexible-product-gallery-movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.flexible-product-gallery-ul image { max-width: 100%;}
/* flexible-product-gallery-item-titleは、single-product.phpのscriptでstyle高さ揃え */
/* ↓ order: 1; 画像・動画の下に持ってくる場合 */
.flexible-product-gallery-item-title { text-align: center; font-size: 13px; font-weight: bold; line-height: 1rem; display: flex; align-items: center; justify-content: center; width: 100%; padding: 5px; margin-bottom: .5rem; order: 1; /*flex: 1;*/ }
.flexible-product-gallery-cols-1 .flexible-product-gallery-item-title,
.flexible-product-gallery-cols-2 .flexible-product-gallery-item-title,
.flexible-product-gallery-cols-3 .flexible-product-gallery-item-title,
.flexible-product-gallery-cols-4 .flexible-product-gallery-item-title { font-weight: bold; order: unset; }
.flexible-product-gallery-item-caption { font-size: .7rem !important; text-align: right; line-height: 1rem; padding: .3rem !important; /*flex: 1;*/ }
/* .flexible-product-gallery-cols-1 .flexible-product-gallery-item-caption,
.flexible-product-gallery-cols-2 .flexible-product-gallery-item-caption,
.flexible-product-gallery-cols-3 .flexible-product-gallery-item-caption,
.flexible-product-gallery-cols-4 .flexible-product-gallery-item-caption { font-size: .9rem; } */
.flexible-product-gallery-item-figure { order: 0; width: 100%; margin-bottom: 10px; text-align: center; /*flex: 1;*/ }
.flexible-product-gallery-item-figure--figure-border {border: 1px solid #ccc;}
/* 画像自体についたボーダーを消したいがためのCSS （例）https://www.theglassplant.com/product/reaction-unit/ */
.flexible-product-gallery-item-figure--figure-border img {outline: 3px solid #fff; outline-offset: -3px;}
.flexible-product-gallery-item a {position: relative;}
.flexible-product-gallery-item a > i {
    position: absolute;
    top: .5rem;
    right: .5rem;
    color: #9d9d9d;
    background: rgb(255 255 255 / 60%);
    padding: .3rem;
    /* border: 1px solid #b1b1b1; */
    border-radius: 5px;
}

/* ↓ 黒ボタン */
/*.flexible-product-gallery-item-button { text-align: center; display: flex; justify-content: center; margin-top: .2rem; } *//* flex: 1; */
/* .flexible-product-gallery-item-button a { display: inline-block; color: #fff; font-size: .9rem; text-decoration: none; padding: .3rem .5rem; } */
/* ↓ テキストボタン */
.flexible-product-gallery-item-button {
    order: 3;
    width: 100%;
    font-size: 12px;
    text-align: left;
}
.flexible-product-gallery-item-button a {
    display: inline-block;
    width: auto;
    text-align: right;
    color: #fff;
    background-color: #d70;
    text-decoration: none;
    font-size: .85rem;
    padding: .5rem 1rem;
    margin-top: .5rem;
}
.flexible-product-gallery-item-button a:hover {opacity: .6;}

.flexible-product-gallery-item p{
    order: 2;
    width: 100%;
    font-size: 12px;
    line-height: 1.3em;
    padding: 0 .35rem 0 .1rem;
}

@media (max-width: 1050px) {
    /* １行に並ぶitem数 */
    .flexible-product-gallery-cols-4 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-5 .flexible-product-gallery-item { flex-basis: 22.6%; }
    .flexible-product-gallery-cols-6 .flexible-product-gallery-item { flex-basis: 22.6%; }
    .flexible-product-gallery-cols-7 .flexible-product-gallery-item { flex-basis: 19% }
    .flexible-product-gallery-cols-8 .flexible-product-gallery-item { flex-basis: 19%; }
    .flexible-product-gallery-cols-9 .flexible-product-gallery-item { flex-basis: 15.6%; }
    .flexible-product-gallery-cols-10 .flexible-product-gallery-item { flex-basis: 15.6%; }
}
@media (max-width: 800px) {
    .flexible-product-gallery-item-title { font-size: 1rem !important; }
    .flexible-product-gallery-item-caption { font-size: .8rem !important; }
    /* １行に並ぶitem数 */
    .flexible-product-gallery-cols-3 .flexible-product-gallery-item { flex-basis: 47%; }
    .flexible-product-gallery-cols-4 .flexible-product-gallery-item { flex-basis: 47%; }
    .flexible-product-gallery-cols-5 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-6 .flexible-product-gallery-item { flex-basis: 22.6%; }
    .flexible-product-gallery-cols-7 .flexible-product-gallery-item { flex-basis: 22.6% }
    .flexible-product-gallery-cols-8 .flexible-product-gallery-item { flex-basis: 19%; }
    .flexible-product-gallery-cols-9 .flexible-product-gallery-item { flex-basis: 19%; }
    .flexible-product-gallery-cols-10 .flexible-product-gallery-item { flex-basis: 19%; }
}
@media (max-width: 640px) {
    /* １行に並ぶitem数 */
    .flexible-product-gallery-cols-2 .flexible-product-gallery-item { flex-basis: 100%; }
    .flexible-product-gallery-cols-3 .flexible-product-gallery-item { flex-basis: 100%; }
    .flexible-product-gallery-cols-4 .flexible-product-gallery-item { flex-basis: 100%; }
    .flexible-product-gallery-cols-5 .flexible-product-gallery-item { flex-basis: 47%; }
    .flexible-product-gallery-cols-6 .flexible-product-gallery-item { flex-basis: 47%; }
    .flexible-product-gallery-cols-7 .flexible-product-gallery-item { flex-basis: 31% }
    .flexible-product-gallery-cols-8 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-9 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-10 .flexible-product-gallery-item { flex-basis: 31%; }
    .flexible-product-gallery-cols-1 .flexible-product-gallery-movie-wrap { width: 100%; }
}
/*
.flexible-product-gallery-item-figure {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.flexible-product-gallery-item-figure:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.flexible-product-gallery-item-figure img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    object-fit: contain;
}
*/

/* wysywyg */
img.aligncenter { display: block; margin: 0 auto !important;}
img.alignright { display: block; margin: 0 0 0 auto !important;}
/*.flexible-product-wysiwyg ul, .flexible-product-wysiwyg ol { padding-left: 30px; }*/
/*.flexible-product-wysiwyg ul li { list-style: disc; }/*
/*.flexible-product-wysiwyg ol li { list-style: decimal; }/*

/* テスト用 後で全て削除*/
/* .flexible-product-layout { border: 1px dashed #ffcccc; position: relative; }
.flexible-product-title-2:before { content: '大見出し title-2'; color: red; font-size: .8rem; font-weight: normal; position: absolute; top: -1rem; left: 0; }
.flexible-product-title-3:before { content: '中見出し title-3'; color: red; font-size: .8rem; font-weight: normal; position: absolute; top: -1rem; left: 0; }
.flexible-product-title-4:before { content: '小見出し title-4'; color: red; font-size: .8rem; font-weight: normal; position: absolute; top: -1rem; left: 0; }
.flexible-product-text:before { content: 'テキスト文 flexible-product-text'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-text-image-h:before { content: 'テキスト文＋画像（横組み） flexible-product-text-image-h'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-image:before { content: '画像 flexible-product-image'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-text-image-v:before { content: 'テキスト文＋画像（縦組み） flexible-product-text-image-v'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-list:before { content: 'リスト flexible-product-list'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-table:before { content: '表 flexible-product-table'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-table-image:before { content: '表＋画像（横組み） flexible-product-table-image'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-link-button:before { content: 'リンクボタン（横並び） flexible-product-link-button'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-link-banner:before { content: 'リンクバナー（横並び） flexible-product-link-banner'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-movie:before { content: '動画 flexible-product-movie'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; }
.flexible-product-gallery:before { content: '画像/動画リスト（横並び） flexible-product-gallery'; color: red; font-size: .8rem; position: absolute; top: -1rem; left: 0; } */


/*FLEX*/
.flex_content {
    display: flex;
    display: -webkit-flex;
}
.flex_wrap {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.flex_justify {
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
.flex_start {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
}
.flex_end {
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}
.flex_center {
    justify-content: center;
    -webkit-justify-content: center;
}
.flex_top {
    align-items: flex-start;
    -webkit-align-items: flex-start;
}
.flex_align {
    align-content: space-between;
    -webkit-align-content: space-between;
}
.flex_middle {
    align-items: center;
    -webkit-align-items: center;
}
.flex_bottom {
    align-items: flex-end;
    -webkit-align-items: flex-end;
}
.flex_all {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    height: 100%;
}
/*POSITION*/
.prelative{
    position: relative !important;
}
.pabsolute{
    position: absolute !important;
}
/*BLOCK*/
.block{
    display: block;
}
.iblock{
    display: inline-block;
}
.center{
    text-align: center;
}
.right{
    text-align: right;
}
*{
    box-sizing: border-box;
}
/*MARGIN*/
.mb200 {
    margin-bottom: 200px !important;
}
.mb150 {
    margin-bottom: 150px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb0{
    margin-bottom: 0 !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt0{
    margin-top: 0 !important;
}
.pd100 {
    padding: 100px 0 !important;
}
.pd80 {
    padding: 80px 0 !important;
}
.pd60 {
    padding: 60px 0 !important;
}
.pd40 {
    padding: 40px 0 !important;
}
.pd30 {
    padding: 30px 0 !important;
}
.pd20 {
    padding: 20px 0 !important;
}
.pd10 {
    padding: 10px 0 !important;
}
.pa100 {
    padding: 100px !important;
}
.pa80 {
    padding: 80px !important;
}
.pa60 {
    padding: 60px !important;
}
.pa50 {
    padding: 50px !important;
}
.pa40 {
    padding: 40px !important;
}
.pa30 {
    padding: 30px !important;
}
.pa20 {
    padding: 20px !important;
}
.pa10 {
    padding: 10px !important;
}
.pl20{
    padding-left: 20px !important;
}
.mauto{
    margin-left: auto !important;
    margin-right: auto !important;
}
@media screen and (max-width: 1380px) {
    .mb200 {
        margin-bottom: 150px !important;
    }
    .mb150 {
        margin-bottom: 100px !important;
    }
    .mb100 {
        margin-bottom: 80px !important;
    }
    .mb80 {
        margin-bottom: 70px !important;
    }
    .mb60 {
        margin-bottom: 50px !important;
    }
    .mb50 {
        margin-bottom: 40px !important;
    }
    .mb40 {
        margin-bottom: 30px !important;
    }
    .mb30 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 80px 0 !important;
    }
    .pd80 {
        padding: 70px 0 !important;
    }
    .pd60 {
        padding: 50px 0 !important;
    }
    .pd40 {
        padding: 30px 0 !important;
    }
    .pd30 {
        padding: 20px 0 !important;
    }
    .pa100 {
        padding: 80px !important;
    }
    .pa80 {
        padding: 70px !important;
    }
    .pa60 {
        padding: 50px !important;
    }
    .pa50 {
        padding: 40px !important;
    }
    .pa40 {
        padding: 30px !important;
    }
    .pa30 {
        padding: 20px !important;
    }
}
@media screen and (max-width: 1280px) {
    .mb200 {
        margin-bottom: 100px !important;
    }
    .mb150 {
        margin-bottom: 80px !important;
    }
    .mb100 {
        margin-bottom: 70px !important;
    }
    .mb80 {
        margin-bottom: 60px !important;
    }
    .mb60 {
        margin-bottom: 40px !important;
    }
    .mb50 {
        margin-bottom: 30px !important;
    }
    .pd100 {
        padding: 70px 0 !important;
    }
    .pd80 {
        padding: 60px 0 !important;
    }
    .pd60 {
        padding: 40px 0 !important;
    }
    .pa100 {
        padding: 70px !important;
    }
    .pa80 {
        padding: 60px !important;
    }
    .pa60 {
        padding: 40px !important;
    }
    .pa50 {
        padding: 30px !important;
    }
}
@media screen and (max-width: 980px) {
    .mb200 {
        margin-bottom: 80px !important;
    }
    .mb150 {
        margin-bottom: 75px !important;
    }
    .mb100 {
        margin-bottom: 60px !important;
    }
    .mb80 {
        margin-bottom: 50px !important;
    }
    .mb60 {
        margin-bottom: 30px !important;
    }
    .mb50 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 60px 0 !important;
    }
    .pd80 {
        padding: 50px 0 !important;
    }
    .pd60 {
        padding: 30px 0 !important;
    }
    .pa100 {
        padding: 60px !important;
    }
    .pa80 {
        padding: 50px !important;
    }
    .pa60 {
        padding: 30px !important;
    }
    .pa50 {
        padding: 25px !important;
    }
}
@media screen and (max-width: 680px) {
    .mb200 {
        margin-bottom: 70px !important;
    }
    .mb150 {
        margin-bottom: 60px !important;
    }
    .mb100 {
        margin-bottom: 50px !important;
    }
    .mb80 {
        margin-bottom: 40px !important;
    }
    .mb40 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 50px 0 !important;
    }
    .pd80 {
        padding: 40px 0 !important;
    }
    .pd40 {
        padding: 20px 0 !important;
    }
    .pa100 {
        padding: 50px !important;
    }
    .pa80 {
        padding: 40px !important;
    }
    .pa60 {
        padding: 20px !important;
    }
    .pa50 {
        padding: 20px !important;
    }
    .pa40 {
        padding: 20px !important;
    }
    .pa30 {
        padding: 10px !important;
    }
}
.full{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 0;
}


/*HEADER*/
.product-header {padding: 50px 20px; text-align: center; background: #00254E; /* #29415A */ color: #FFF;}

.product-page-header-subtitle {font-size: 20px; display: block;}
.product-page-header-title {line-height: 1.5rem; font-size: 32px;}
.product-page-header-title-box {flex: 1; border-bottom: 1px solid #001; padding: 7px 0 7px 15px; font-size: inherit;}

.product-header-movie-inner {position: relative; height: 0; padding-bottom: 56.25%; overflow: hidden;}
.product-header-movie-inner iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.product-header {
    background: url(../img/reason/main.jpg) center center;
    background-size: cover;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    padding: 80px 0;
    position: relative;
    color: #fff;
}
.product-header:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0,27,58,0.7); */
    background: rgb(0 3 6 / 40%);
}
.product-header_h2{
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    z-index: 9;
    color: #fff;
    letter-spacing: 5px;
    font-size: 38px;
    text-shadow: 2px 2px 0 rgb(0 0 0 / 90%);
    white-space: nowrap;
}
.product-header_h2 span{
	display: block;
}
.product-header_h2 small{
	display: block;
	font-size: 21px;
}
.breadcrumb{
	background: #00254E; /* #29415A */
	padding: 3px 20px 7px;
}
.breadcrumb a,
.breadcrumb span{
	font-size: 14px;
	color: #fff;
}
.breadcrumb li:before{
	color: #fff;
}








.product-page-header--block {
    border-left: 15px solid #001;
}
.product-page-header-title--logo{
    flex-basis: 100px;
    margin-right: 10px;
}
.product-page-header-title--logo img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 0;
}
.product-page-header-title--text{
    line-height: 1.4em;
    font-weight: 700;
}
.product-page-header-title-wrap {
    font-size: 1.05rem;
    line-height: 1.6;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    flex: 1;
    padding-left: 20px;
    order: 1;
}
.product-page-header-catchcopy {
    font-size: 1.6em;
    line-height: 1.35em;
    color: #2b3f78;
    font-weight: 700;
    margin-bottom: 1.5rem !important;
}
.product-page-header-title-wrap p{
    margin-bottom: 10px;
}
.product-page-header-title-wrap p:last-child{
    margin-bottom: 0 !important;
}
.product-page-header-title-wrap ul { font-size: 1.1rem; padding: 0; margin: 0 0 20px ; list-style: none; }
.product-page-header-title-wrap ul li { padding: .5rem 0 .5rem 1.3rem; position: relative; text-align: left; line-height: 1.5rem;}
.product-page-header-title-wrap ul li::before {font-family: 'FontAwesome'; content: "\f111"; font-size: 19px; line-height: 1.55rem; color: #00254E; /* #29415A */ position: absolute; top: .55rem; left: 0;}
.product-page-header-title-wrap ol { font-size: 1rem; padding: 0; margin: 0 0 20px ; list-style: none;}
.product-page-header-title-wrap ol li {padding-left: 1rem; counter-increment: li; text-indent: -.6rem; }
.product-page-header-title-wrap ol li::before {content: ""; position: relative; top: -.2rem; width: 6px; height: 6px; display: inline-block; background: #00254E; /* #29415A */ border-radius: 50%; margin-right: .3rem;}
.product-page-header-image{
    max-width: 50%;
    min-width: 40%;
    text-align: center;
    /*flex: 1;*/
    /*display: flex; */
    flex-wrap: wrap;
    /*align-items: center;
    justify-content: center;*/
	border: 1px solid #aaa;
	padding: 10px;
}
.product-page-header-wrap .product-page-header-image:first-child{
    margin-top: 20px;
}
.product-page-header-image img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 0;
}
.product-page-header-image-catchcopy{
    font-size: 12px;
}
.product-header-movie-wrap_bk{
    background: #ebebeb;
}
.product-header-movie-wrap {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
}
.product-page-header-movie-catchcopy{
    font-size: 12px;
}
.product-page-header-title-inquiry {
    display: block;
    position: relative;
    padding: 10px 30px;
    text-align: center;
    background: #00254E;
    color: #FFF;
    text-decoration: none;
}
.product-page-header-title-inquiry i {
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    line-height: 20px;
    font-size: 20px;
}
.product-budget-catalog {
    position: relative;
    height: 340px;
    margin-top: 30px;
    padding-top: 80px;
}
.product-budget-catalog-image {
    position: absolute;
    width: 240px;
    top: 0;
    left: 20px;
    box-shadow: 0 0 1px #888;
}
.product-budget-catalog-description {
    padding: 20px 20px 20px 280px;
    background: #00254E;
    color: #FFF;
    font-size: 20px;
}
.product-budget-catalog-link {
    display: block;
    width: 240px;
    margin: 20px 0 0 auto;
    padding: 15px;
    border: 1px solid #00254E;
    text-align: center;
    color: #00254E;
    text-decoration: none;
}
.product-budget-catalog-link i {
    margin-left: 10px;
}
.product-budget-catalog-link:hover {
    background: #00254E;
    color: #FFF;
}
@media (max-width: 600px){
    .product-budget-catalog {
        position: relative;
        height: auto;
        margin-top: 30px;
        padding-top: 300px;
    }
    .product-budget-catalog-image {
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
    }
    .product-budget-catalog-description {
        padding: 60px 20px 20px;
        font-size: 18px;
    }
    .product-budget-catalog-link {
        margin-right: auto;
    }
}

@media (max-width: 950px){

}
@media (max-width: 630px){
    .product-page-header-title--text {
        font-size: 24px;
    }
    .product-page-header-title--logo {
        flex-basis: 80px;
    }
    .product-page-header-catchcopy {
        font-size: 16px !important;
    }
    .product-page-header-title-wrap p,
    .product-page-header-title-wrap li{
        font-size: 14px;
    }
    .product-page-header-title-wrap,
    .product-page-header-image{
        flex-basis: 100%;
        padding-left: 0;
        max-width: 100%;
        min-width: initial;
        text-align: center;
    }
}
@media (max-width: 480px){
    .product-page-header--block {
        border-left: 10px solid #001;
    }
    .product-page-header-title--text {
        font-size: 21px;
        flex-basis: 100%;
        padding: 7px 0 7px 0;
    }
    .product-page-header-catchcopy{
        margin-left: 10px;
    }
    .product-page-header-title--logo {
        flex-basis: 60px;
    }
    .product-page-header-movie-catchcopy{
        text-align: left !important;
    }
}

/*BANNER*/
.product-header-inquiry{
    position: relative;
    text-align: center;
    color: #fff;
    background: #00254E; /* #29415A */
}

.product-header-inquiry:before {
    font-size: 18px;
    position: absolute;
    top: -18px;
    left: 0;
    padding: 5px 20px;
    content: 'ご相談はこちら';
    color: #fff;
    background: #dd7700;
}
.product-header-inquiry-tel{
    margin-right: 10px;
    font-size: 38px;
}
.product-header-inquiry-tel i{
    padding-right: 8px;
    transform: rotate(20deg);
    transform-origin: bottom center;
    font-size: 34px;
}
.product-header-inquiry-form{
    margin-left: 10px;
}
.product-header-inquiry-form a{
    width: 100%;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 5px 5px rgba(0,0,0,0.3);
    padding: 5px 20px;
    color: #00254E; /* #29415A */
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    transition: 0.3s;
}
.product-header-inquiry-form i{
    vertical-align: 2px;
}
.product-header-inquiry-form a:hover{
    background: #dd7700;
    color: #fff;
}
.product-header-inquiry-time{
    letter-spacing: 1px;
}
.product-header-inquiry-time span {font-size: .8rem;}
.product-header-inquiry-sheet a,
.product-header-inquiry-sheet i{
    color: #ffef00;
    padding-right: 2px;
    transition: 0.3s;
}
.product-header-inquiry-sheet i{
    color: #FF0000;
}
.product-header-inquiry-sheet a:hover{
    color: #fff;
}
.product-header-review {
    text-align: center;
    background: #ddd;
}
.reviewform-title span{
    font-size: 21px;
    background: linear-gradient(transparent 75%, #F9F288 60%);
}
.reviewform-body-img{
    flex-basis: 100px;
}
.reviewform-text{
    flex: 1;
    padding: 0 20px;
    text-align: left;
}
.reviewform-button {
    flex-basis: 15em;
}
.reviewform-button a{
    width: 100%;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 5px 5px rgba(0,0,0,0.3);
    padding: 7px 0;
    color: #00254E; /* #29415A */
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    transition: 0.3s;
}
.reviewform-button i{
    padding-left: 2px;
    font-size: 21px;
    transform: scaleX(-1);
}
.reviewform-button a:hover{
    background: #dd7700;
    color: #fff;
}
@media (max-width: 1280px){
    .reviewform-text br{
        display: none;
    }
}
@media (max-width: 780px){
    .product-header-inquiry-form,
    .reviewform-button {
        flex-basis: 100%;
        text-align: center;
    }
    .product-header-inquiry-form a,
    .reviewform-button a{
        display: inline-block;
        width: 15em;
        margin: 10px auto;
    }
    .reviewform-button a {
        font-size: 18px;
    }
}
@media (max-width: 780px){
    .product-header-inquiry{
        margin-top: 40px !important;
    }
    .product-header-inquiry:before {
        top: -24px;
    }
}
@media (max-width: 480px){
    .product-header-inquiry-tel {
        font-size: 31px;
    }
    .product-header-inquiry-tel i{
        font-size: 28px;
    }
    .product-header-inquiry-sheet{
        font-size: 14px;
        text-align: left;
    }
    .product-header-inquiry-sheet br{
        display: none;
    }
    .reviewform-title span{
        font-size: 17px;
    }
    .reviewform-body-img{
        flex-basis: 60px;
    }
    .reviewform-text{
        font-size: 14px;
    }
}

/*TITLE*/
/* title-2 */
.flexible-product-title-2 {position: relative; margin-top: 7rem; margin-bottom: 4.5rem; text-align: center; font-size: 30px;}
.flexible-product-title-2::after {content: ""; position: absolute; bottom: -15px; left: calc(50% - 25px); width: 50px; height: 5px; background: #000;}
/* .flexible-product-title-2:first-child {margin-top: 0;} */

.flexible-product-title-3{
    font-size: 21px;
    background: #eee;
    padding: .8rem .8rem .8rem 1rem; /* 本文の頭とラインが揃うよう */
    border-left: 10px solid #00254E; /* #29415A */
    margin-top: 60px;
    margin-bottom: 30px;
}
.flexible-product-title-4,
.flexible-product-text h4{
    font-size: 19px;
    border-left: 10px solid #00254E; /* #29415A */
    border-bottom: 1px solid #00254E; /* #29415A */
    margin-bottom: 20px;
    padding-left: .8rem;
    margin-top: 40px;
    padding-bottom: 5px;
    color: #00254E; /* #29415A */
}

@media (max-width: 680px){
    .flexible-product-title-2{
        font-size: 28px;
    }
    .flexible-product-title-3{
        font-size: 21px;
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .flexible-product-title-4,
    .flexible-product-text h4{
        font-size: 18px;
        margin-top: 30px;
    }
}

@media (max-width: 480px){
    .flexible-product-title-2{
        font-size: 24px;
    }
    .flexible-product-title-3{
        font-size: 18px;
        margin-bottom: 20px;
    }
    .flexible-product-title-4,
    .flexible-product-text h4{
        font-size: 16px;
    }
}

/*
 * フロー図 ※固定pageと同じHTML・CSS構造
 */
 .flexible-product-flow-lead { max-width: 900px ; margin-bottom: 1rem ; margin-left: auto; margin-right: auto; }
 .flexible-product-flow-items, .flexible-product-flow-note { max-width: 900px ; margin-left: auto; margin-right: auto; }
 .flexible-product-flow-item { display: flex; align-items: stretch; margin-bottom: 3rem ; position: relative; }
 .flexible-product-flow-item::after { position: absolute; bottom: -6rem ; left: 0; right: 0; margin: auto; content: ""; vertical-align: middle; box-sizing: border-box; width: 60px ; border: 60px solid transparent; border-top: 25px solid #0082a9; }
 .flexible-product-flow-item:last-child {margin-bottom: 0;}
 .flexible-product-flow-item:last-child::after {content: none;}
 .flexible-product-flow-item-title { flex-basis: 25%; color: #fff; background: #0082a9; padding: 1rem; display: flex; align-items: center; justify-content: center; }
 .flexible-product-flow-item-title.has_badge { padding-top: 2rem ; }
 .flexible-product-flow-item-title-badge { position: absolute; top: .5rem ; left: .5rem ; border: 1px solid #fff; font-size: .8rem; font-weight: normal; line-height: 1.4rem; padding: 0 .3rem ; }
 .flexible-product-flow-item-text-wrap { font-size: 1rem; line-height: 1.5rem; flex-basis: 75%; position: relative; padding: 1rem 1rem 1rem 5%; display: flex; flex-wrap: wrap; align-items: center; background-color: #f2f6f7; }
 .flexible-product-flow-item-text-wrap::before {content: ''; display: block; position: absolute; left: 0; bottom: 0; width: 5%; height: 100%; background-image: linear-gradient(to top left, transparent, transparent 50%, #0082a9 50%, #0082a9); }
 .flexible-product-flow-item-text, .flexible-product-flow-item-link {flex-basis: 100%;}
 .flexible-product-flow-item-link {text-align: right; margin-top: .5rem;}
 .flexible-product-flow-note {font-size: .95rem; margin-top: 1rem;}

/* LINK BANNER */
.flexible-product-link-banner-banners{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
    margin-bottom: 80px;
}
.flexible-product-link-banner-item{
    background: #eee;
    border: 3px solid #00254E; /* #29415A */
    margin-bottom: 1rem;
}
.flexible-product-link-banner-item a{
    text-align: center;
    text-decoration: none;
    height: 100%;
    display: block;
}
.flexible-product-link-banner-item a:hover img{
    /* opacity: .7; */
}
.flexible-product-link-banner-item-title {
    flex-basis: 100%;
    font-size: 16px;
    text-align: center;
    margin: 0 auto;
    background: #00254E; /* #29415A */
    font-weight: 400;
    padding: 5px 1rem 10px;
    color: #fff;
    line-height: 1.3em;
    transition: .3s;
}
.flexible-product-link-banner-item a:hover .flexible-product-link-banner-item-title {
    background-color: #d70;
}
.flexible-product-link-banner-item a:hover .flexible-product-text-image-link-arrow {
    color: #d70;
}
.flexible-product-link-banner-item-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flexible-product-link-banner-item-textblock{
    flex:1;
    flex-basis: 52%;
    margin-bottom: .8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: .8rem;
    box-sizing: border-box;
}
.flexible-product-text-image-text{
    flex:1;
    font-size: 15px;
    text-align: left;
    font-weight: 400;
    color: #00254E; /* #29415A */
}
/* .flexible-product-text-image-text br{
    display: none;
} */
.flexible-product-link-banner-item-image{
    flex-basis: 45%;
    padding: 10px 0 10px 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}
.flexible-product-link-banner-item a:hover{
    opacity: 1 !important;
}
.flexible-product-text-image-link-button{
    flex-basis:40%;
    background: #00254E; /* #29415A */
    padding: 10px 26px 10px 10px;
    color: #fff;
    font-weight: 700;
    border-radius: 5px;
    /* box-shadow: 0 5px 5px rgb(0 0 0 / 30%); */
    transition: 0.3s;
    position: relative;
}
.flexible-product-text-image-link-button:hover{
    background: #d70;
}
.flexible-product-text-image-link-text:after {
    font-family: 'FontAwesome';
    content: "\f054";
    position: absolute;
    right: 10px;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.flexible-product-link-banner-cols-1 {
    justify-content: center;
}
.flexible-product-link-banner-cols-1 li{
    flex-basis: 65%;
}
.flexible-product-link-banner-cols-2{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flexible-product-link-banner-cols-2 li{
    flex-basis: 49%;
}
.flexible-product-link-banner-cols-2 .flexible-product-text-image-link-button{
    flex-basis: 100%;
    margin-top: 10px;
}
.flexible-product-link-banner-cols-2 .flexible-product-link-banner-item-image{
    flex-basis: 45%;
}
.flexible-product-link-banner-item .fa-bookmark{
    position: absolute;
    top: -10px;
    left: 5px;
    font-size: 38px;
    color: #d70;
    text-shadow: 0 5px 3px rgba(0,0,0,0.5);
}
.flexible-product-text-image-link-arrow{
    position: absolute;
    bottom: 0;
    right: 5px;
    margin-top: 10px;
    color: #00254E; /* #29415A */
    padding: 10px 10px 10px 13px;
    font-weight: 700;
    /* box-shadow: 1px 3px 5px rgb(0 0 0 / 30%); */
    transition: 0.3s;
}
@media (max-width: 980px) {
    .flexible-product-link-banner-cols-2 .flexible-product-link-banner-item-image{
        flex-basis: 100%;
        padding: 20px 10px 0;
    }
    .flexible-product-text-image-text{
        font-size: 14px;
    }
    .flexible-product-link-banner-item-title {
        font-size: 16px;
    }
    .flexible-product-link-banner-banners{
        margin-top: 50px;
        margin-bottom: 50px;
    }
}
@media (max-width: 680px) {
    .flexible-product-text-image-text,
    .flexible-product-link-banner-item-image,
    .flexible-product-text-image-link-button,
    .flexible-product-link-banner-cols-2 li{
        flex-basis: 100%;
    }
    .flexible-product-link-banner-item-image{
        text-align: center;
        padding: 10px;
        display: block;
        width: 100%;
    }
    .flexible-product-text-image-text{
        padding-right: 0;
    }
    .flexible-product-link-banner-item-textblock{
        padding: 10px 10px 3rem;
    }
    .flexible-product-text-image-link-button{
        margin-top: 10px;
    }
    .flexible-product-link-banner-cols-1 li {
        flex-basis: 100%;
    }
    .flexible-product-link-banner-cols-2 li:first-child{
        margin-bottom: 20px;
    }
    .flexible-product-link-banner-item-title {
        padding-left: 1rem;
    }
    .flexible-product-content img {
        margin: 0;
    }
    .flexible-product-link-banner-item-textblock{
        flex-wrap: wrap;
    }
    .flexible-product-link-banner-banners{
        margin: 0;
    }
}

/* WYSIWYG */
.flexible-product-wysiwyg p {margin-bottom: 1rem;}
.flexible-product-wysiwyg p:last-child {margin-bottom: 0;}
.flexible-product-wysiwyg a {color: #000; transition: 0.3s;}
.flexible-product-wysiwyg a:visited {color: #005c99;}
.flexible-product-wysiwyg a:hover {color: #D70;}

.flexible-product-wysiwyg strong{
    display: inline;
    position: relative;
    font-weight: bold;
    font-size: 120%;
    z-index: 1;
    /* background: linear-gradient(transparent 50%, #d4d4e3 0%); */
}
.flexible-product-wysiwyg ul,
.flexible-product-wysiwyg ol{
    padding: 0;
    margin: 0 0 20px;
    list-style: none;
}
.flexible-product-wysiwyg ul li, .flexible-product-wysiwyg ol li { padding: .3rem 0; position: relative; }
.flexible-product-wysiwyg ul li { padding-left: 1rem; line-height: 1.5rem; }
.flexible-product-wysiwyg ul li:before { font-family: 'FontAwesome'; content: "\f111"; font-size: 10px; color: #444; line-height: 1.5rem; position: absolute; top: .3rem; left: 0; }
.flexible-product-wysiwyg ol li { padding-left: 1.7rem; counter-increment: li; }
.flexible-product-wysiwyg ol li:before { content: counter(li); position: absolute; top: .5rem; left: 0; width: 18px; height: 18px; display: inline-block; background: #444; border-radius: 3px; color: #fff; line-height: 1.5; text-align: center; font-size: 12px; }
.flexible-product-wysiwyg ol li ol li:before, .flexible-product-wysiwyg ol li ul li:before { content: "◎"; background: transparent; color: #444; font-weight: 900; }


.flexible-product-layout,
.flexible-product-table,
.flexible-product-block-table-image,
.flexible-product-image,
.flexible-product-gallery,
.flexible-product-text-image-v{
    margin-bottom: 30px !important;
}

@media (max-width: 680px){
    .flexible-product-layout,
    .flexible-product-table,
    .flexible-product-block-table-image,
    .flexible-product-image,
    .flexible-product-gallery,
    .flexible-product-text-image-v{
        margin-bottom: 40px !important;
    }
    .flexible-product-block-table-image.x-image-flip-right .flexible-product-block-table-image-images{
        margin-bottom: 10px;
    }
}

/* アーカイブ・カテゴリページ */
/* title */
.archive-product-title {position: relative; margin-top: 9rem; margin-bottom: 4.5rem; text-align: center; font-size: 30px;}
.archive-product-title::after {content: ""; position: absolute; bottom: -15px; left: calc(50% - 25px); width: 50px; height: 5px; background: #000;}
.archive-product-title:first-child {margin-top: 0;}
/* リード文 */
.archive-product-lead {
    display: flex;
    justify-content: center;
    width: 100%;
}
.archive-product-lead-sentence {
    margin-bottom: 2.8em;
    text-align: left;
    max-width: 90%;
}
/* リスト */
.archive-product-list {display: flex; justify-content: flex-start; gap: 2.5rem 6%; flex-wrap: wrap; margin: 0 3%;}
.archive-product-list li {flex-basis: 29.3%; display: flex; flex-direction: column;}
.archive-product-list li:last-child {border-bottom: none;}
.archive-product-list li a {width: 100%; display: flex; flex-direction: column; justify-content: flex-start; text-decoration: none; flex-grow: 1; transition: .3s;}
.archive-product-list li a:hover {opacity: .75;}
.archive-product-list-img {max-width: 100%; flex-grow: 1; display: flex; align-items: center; justify-content: center; border: 1px solid #ddd; padding: .5rem;}
.archive-product-list-img img {max-width: 100%; max-height: 100%; }
.archive-product-list-img-logo {padding: 3rem; width: 100%;}
.archive-product-list-img-logo img {max-width: 80%;}
.archive-product-list-title {color: #000; font-weight: 400; font-size: 14px; line-height: 1.2rem; min-height: 2.5rem;}
.archive-product-list-categories {display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .3rem .3rem; width: 100%; margin: .3rem 0;}
.archive-product-list-categories li {background-color: #2c2c2c; color: #fff; text-decoration: none; padding: 0.1rem 0.3rem; font-size: 11px; display: block; flex-basis: unset;}


@media (max-width: 680px){
    .archive-product-title{
        font-size: 28px;
    }
    .archive-product-list li {flex-basis: 47%;}
    .archive-product-list-img img {height: auto; }
}

@media (max-width: 480px){
    .archive-product-title{
        font-size: 24px;
    }
}

/* 下記はeditor-style.css, page-flexible.css, style.cssも変更要 */
.wysiwyg-h4 {color: #2b3f78; font-size: 1.2rem; font-weight: 600; margin-top: 1.5em; margin-bottom: 0.5em;}
.wysiwyg-uppercase {font-size: 1.4rem;}
.wysiwyg-primary {color: #df3400; font-weight: 500; }
.wysiwyg-small {font-size: .9rem; }


/* MONITORING */
.flexible-product-monitoring-target { display: flex; align-items: flex-start; margin-bottom: 3rem ; }
.flexible-product-monitoring-target-image {margin-right: 1.5rem; padding: 0;}
.flexible-product-monitoring-target-image img { width: auto; height: auto; max-height: 400px; max-width: 100%; }
.flexible-product-monitoring-target-title { font-size: 1.1rem; }
.flexible-product-monitoring-monitoring {margin: 0 1rem 2rem;}
.flexible-product-monitoring-monitoring-results { display: flex; flex-wrap: wrap; align-items: center; border: 1px solid #999;}
.flexible-product-monitoring-monitoring-results li { flex-basis: 100%; border-bottom: 1px dashed #999; display: flex; }
.flexible-product-monitoring-monitoring-results li:last-child {border-bottom: none;}
.flexible-product-monitoring-monitoring .title, .flexible-product-monitoring-monitoring .content { padding: 0.5rem ; line-height: 1.5rem; display: flex; align-items: center;}
.flexible-product-monitoring-monitoring .title { width: 30%; background: #f5f5f5; justify-content: center; text-align: center;}
.flexible-product-monitoring-monitoring .content { width: 70%;}
.flexible-product-monitoring-monitoring .content .score { display: block; width: 25%; }
.flexible-product-monitoring-monitoring .free-score {margin-right: 2rem; white-space: nowrap; width: 25%;}
.flexible-product-monitoring-monitoring .flexible-product-title-4, .flexible-product-text h4 {margin-top: 0;}
.monitoring-gray {color: gray;}

@media (max-width: 800px) {
    .flexible-product-monitoring-monitoring {margin: 0 0 2rem;}
    .flexible-product-monitoring-target {flex-wrap: wrap;}
    .flexible-product-monitoring-target-image.flexible-product-link-banner-item-image {flex-basis: 60%; margin: 0 auto !important;}
}

@media screen and (max-width: 680px){
  .wysiwyg-uppercase {
    font-size: 1rem !important;
    line-height: 1.5rem;
    }
}



