@charset "utf-8";

/* ======================================================
 * walleca.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Page Component
 * - Clearfix
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Page Component
 * - Clearfix
 * SP Media Queries
 * Print
====================================================== */

/* ======================================================
 * Font
====================================================== */
.bac_main_body .bac_main_lead,
.bac_main_body .bac_main_sub,
.bac_lead,
.bac_box .bac_box_title,
.bac_card .bac_card_title,
.bac_card_type .bac_card_type_name,
.bac_card_type .bac_card_type_title,
.bac_product .bac_product_heading_title,
.bac_product .bac_product_price,
.bac_product .bac_unorder-list li,
.bac_product_feature .bac_product_feature_text,
.bac_heading4 .bac_heading4_title,
.bac_product_use .bac_product_use_text,
.bac_heading2_v2 .bac_heading2_v2-title {
  font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .list-note .tx_red {
    color: #e40000!important;
  }
  
  .column_image .image-set.mt-0 {
    margin-top: 0;
  }
  
  /* ------------------------------------------------------
   * Page Component
  ------------------------------------------------------ */
  /* ----- bac_main-layout ----- */
  .bac_main-layout {
    background-color: #a8c7db;
  }
  .bac_main-layout .bac_main-layout_inner {
  }
  .bac_main-layout .bac_main_head {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
  }
  .bac_main-layout .bac_main_head .bac_main_head_image {
    margin-left: 60px;
  }
  .bac_main_body {
    position: relative;
  }
  .bac_main_body .bac_main_body-wrap {
    position: absolute;
    bottom: 3.3em;
    left: 0;
    display: flex;
    align-items: flex-start;
    width: 100%;
  }
  .bac_main_body .bac_main_title-area01 {
    width: 330px;
    padding-left: 2em;
  }
  .bac_main_body .bac_main_title-area02 {
    width: 330px;
    padding-left: 1.3em;
    position: absolute;
    left: 50%;
    top: 0;
  }
  .bac_main_body .bac_main_lead {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.4;
  }
  .bac_main_body .bac_main_lead .bac_main_lead-accent {
    color: #579cc2;
  }
  .bac_main_body .bac_main_sub {
    display: inline-block;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    background-color: #333;
    border-radius: 16px;
    margin-top: .4em;
    padding: 4px 12px;
  }

  /* ----- date-text ----- */
  .bac_date_text {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: right;
    margin-top: .6em;
  }
  
  /* ----- bac_lead ----- */
  .bac_lead {
    color: #579cc2;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    margin-top: 1.5em;
  }
  
  /* ----- bac_box ----- */
  .bac_box {
    text-align: center;
    background-color: #fff4f4;
    margin-top: 1.5em;
  }
  .bac_box .bac_box_inner {
    padding: 26px 20px 20px;
  }
  .bac_box .bac_box_title {
    font-size: 2.0rem;
    font-weight: bold;
  }
  .bac_box .bac_box_title .bac_box_title-accent {
    background:linear-gradient(transparent 60%, #edc454 60%);
  }
  
  /* ----- bac_note_list ----- */
  .bac_note_list {
    font-size: 1.4rem;
    margin-top: .8em;
  }
  
  /* ----- bac_card ----- */
  .bac_card-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: row wrap;
    width: 100%;
    margin-top: 2.2em;
  }
  .bac_card {
    width: calc(((100% - (72px)) / 3) - 0.1px);
    margin-left: 36px;
  }
  .bac_card:nth-child(3n+1) {
    margin-left: 0!important;
  }
  .bac_card .bac_card_body {
    padding: 12px 10px 10px;
  }
  .bac_card .bac_card_title {
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
  }
  
  /* ----- bac_heading2 ----- */
  .bac_heading2 {
    margin-top: 3em;
  }
  .bac_heading2 .bac_heading2_title {
    color: #375d8c;
    font-size: 3.4rem;
    font-weight: bold;
    text-align: center;
  }
  /* ----- bac_card_type ----- */
  .bac_card_type-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-flow: row wrap;
    margin-top: 1.5em;
  }
  .bac_card_type {
    border: 1px solid #666;
    width: calc(((100% - (36px)) / 2) - 0.1px);
    margin-left: 36px;
  }
  .bac_card_type:nth-child(2n+1) {
    margin-left: 0!important;
  }
  .bac_card_type .bac_card_type-link {
    color: #333;
    display: flex;
    padding: 36px 36px 30px 50px;
  }
  .bac_card_type .bac_card_type_head {
    width: 30%;
    min-width: 80px;
    flex-grow: 0;
    flex-shrink: 0;
    padding-right: 36px;
  }
  .bac_card_type .bac_card_type_head .bac_card_type_image {
    max-width: 114px;
    margin-left: auto;
  }
  .bac_card_type .bac_card_type_body {
    width: calc((100% - 30%) - .1px);
  }
  .bac_card_type .bac_card_type_name {
    font-size: 2.6rem;
    font-weight: bold;
    background-color: #c2d8e6;
    border-radius: 25px;
    padding: 4px 10px;
    text-align: center;
  }
  .bac_card_type .bac_card_type_title {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 0.7em;
    position: relative;
  }
  .bac_card_type .bac_card_type_title::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    top: 0;
    right: 0;
    border-top: 3px solid #579cc2;
    border-right: 3px solid #579cc2;
    transform: rotate(45deg);
    margin-left: 4px;
  }
  .bac_card_type .bac_card_type_lead {
    color: #579cc2;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 0.5em;
  }
  .bac_card_type .bac_card_type_description {
    display: flex;
    font-size: 1.6rem;
    margin-top: 1em;
  }
  .bac_card_type .bac_card_type_lead + .bac_card_type_description {
    margin-top: 0.6em;
  }
  .bac_card_type .bac_card_type_description + .bac_card_type_description {
    margin-top: 0.3em;
  }
  .bac_card_type .bac_card_type_description dt {
    min-width: 52px;
  }
  .bac_card_type .bac_card_type_description dd {
    margin-left: 15px;
    padding-left: 1em;
    text-indent: -1em;
  }
  .bac_card_type .bac_card_type-link:hover .bac_card_type_image {
    opacity: .7;
  }
  
  /* ----- bac_product ----- */
  .bac_product {
    margin-top: 5em;
  }
  .bac_product .bac_product_inner {
  }
  .bac_product .bac_product_heading {
    background-color: #c2d8e6;
    border-radius: 34px;
    padding: 8px 15px;
  }
  .bac_product .bac_product_heading_title {
    font-size: 3.0rem;
    font-weight: bold;
    text-align: center;
    
  }
  .bac_product .bac_product_column {
    display: flex;
    justify-content: flex-end;
    margin-top: 1em;
    padding: 15px 40px;
  }
  .bac_product .bac_product_column_head {
    margin-right: 36px;
    width: calc(((100% - 36px) - .1px)/2);
  }
  .bac_product .bac_product_column_image {
    width: 330px;
    margin: 0 100px 0 auto;
  }
  .bac_product .bac_product_column_body {
    width: calc(((100% - 36px) - .1px)/2);
  }
  .bac_product .bac_product_price {
    font-size: 2.0rem;
    font-weight: bold;
  }
  .bac_product .bac_product-ec-button {
    display: inline-block;
    margin: 0 0 0 16px;
  }
  
  .bac_product .bac_unorder-list {
    padding: 24px 0 0 45px;
    border-top: 1px solid #c2d8e6;
    margin-top: 1.4em;
  }
  .bac_product .bac_unorder-list li {
    font-size: 1.8rem;
    position: relative;
    margin-top: 1em;
  }
  .bac_product .bac_unorder-list li:nth-of-type(1) {
    margin-top: 0!important;
  }
  .bac_product .bac_unorder-list li::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 24px;
    margin: 3px 0 0 -45px;
    background: url("/sp/bac/img/index_ic01.png") 100%/100% no-repeat;
  }
  /* ----- bac_product_feature ----- */
  .bac_product_feature {
    background-color: #ebf2f7;
    margin-top: 2em;
  }
  .bac_product_feature .bac_product_feature_inner {
    padding: 40px 40px 20px;
  }
  .bac_product_feature .bac_product_feature_column {
    display: flex;
  }
  
  .bac_product_feature .bac_product_feature_box {
    width: calc(((100% - (72px)) / 3) - 0.1px);
    margin-left: 36px;
  }
  .bac_product_feature .bac_product_feature_box:nth-child(3n+1) {
    margin-left: 0!important;
  }
  .bac_product_feature .bac_product_feature_body {
    padding: 10px 5px;
  }
  .bac_product_feature .bac_product_feature_text{
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  
  /* ----- bac_heading4 ----- */
  .bac_heading4 {
    margin-top: 3em;
    border-bottom: 2px solid #ddd;
    padding: 8px 0;
  }
  .bac_heading4 .bac_heading4_title {
    font-size: 2.8rem;
    font-weight: bold;
  }
  
  /* ----- bac_product_use ----- */
  .bac_product_use {
  }
  .bac_product_use .bac_product_use_inner {
    padding: 25px 0 0;
  }
  .bac_product_use .bac_product_use_column {
    display: flex;
  }
  
  .bac_product_use .bac_product_use_box {
    width: calc(((100% - (72px)) / 3) - 0.1px);
    margin-left: 36px;
  }
  .bac_product_use .bac_product_use_box:nth-child(3n+1) {
    margin-left: 0!important;
  }
  .bac_product_use .bac_product_use_body {
    padding: 12px 15px 5px;
  }
  .bac_product_use .bac_product_use_text{
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
  }
  

  /* ----- bac_heading2_v2 ----- */
  .bac_heading2_v2 {
    margin-top: 3em;
  }
  .bac_heading2_v2 .bac_heading2_v2-title {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
  }

  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after{
    display: block;
    clear: both;
    content: "";
  }
}

/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 768px) and (max-width: 1280px) {
  /* ----- bac_main ----- */
  .bac_main_body .bac_main_body-wrap {
    bottom: 3.2em;
  }
  .bac_main_body .bac_main_lead {
    font-size: 1.52vw;
  }
  .bac_main_body .bac_main_sub {
    font-size: 1.06vw;
  }
}
/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .list-note .tx_red {
    color: #e40000!important;
  }
  
  /* ------------------------------------------------------
   * Page Component
  ------------------------------------------------------ */
  /* ----- bac_main-layout ----- */
  .bac_main-layout {
    background-color: #a8c7db;
    margin: 0 -15px;
  }
  .bac_main-layout .bac_main-layout_inner {
    display: flex;
    flex-direction: column-reverse;
  }
  .bac_main-layout .bac_main_head {
    padding: 30px 15px;
  }
  .bac_main-layout .bac_main_head .bac_main_head_title {
    text-align: center;
  }
  .bac_main-layout .bac_main_head .bac_main_head_image {
    margin-top: 15px;
    text-align: center;
  }
  .bac_main_body {
    position: relative;
  }
  .bac_main_body .bac_main_body_image img {
    width: 100%;
  }
  .bac_main_body .bac_main_title-area01 {
    width: 60%;
    position: absolute;
    top: 0;
    left: 5%;
    margin-top: 25%;
  }
  .bac_main_body .bac_main_title-area02 {
    text-align: right;
    width: 60%;
    position: absolute;
    top: 0;
    right: 5%;
    margin-top: 57%;
  }
  .bac_main_body .bac_main_lead {
    font-size: 1.1rem;
    font-weight: bold;
  }
  .bac_main_body .bac_main_lead .bac_main_lead-accent {
    color: #579cc2;
  }
  .bac_main_body .bac_main_sub {
    display: inline-block;
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    background-color: #333;
    border-radius: 16px;
    padding: 0.2em 0.5em;
    margin-top: .2em;
  }
  
  /* ----- date-text ----- */
  .bac_date_text {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: right;
    margin-top: .7em;
  }
  
  /* ----- bac_lead ----- */
  .bac_lead {
    color: #579cc2;
    font-size: 1.9rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1.5em;
  }
  
  /* ----- bac_box ----- */
  .bac_box {
    text-align: center;
    background-color: #fff4f4;
    margin-top: 1em;
  }
  .bac_box .bac_box_inner {
    padding: 20px;
  }
  .bac_box .bac_box_title {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .bac_box .bac_box_title .bac_box_title-accent {
    background:linear-gradient(transparent 60%, #edc454 60%);
  }
  
  /* ----- bac_note_list ----- */
  .bac_note_list {
    font-size: 1.2rem;
    margin-top: 1em;
  }
  
  /* ----- bac_card ----- */
  .bac_card-wrap {
    margin-top: 1.5em;
  }
  .bac_card {
    margin-top: 8px;
  }
  .bac_card:nth-child(1) {
    margin-top: 0!important;
  }
  .bac_card .bac_card_body {
    padding: 10px 10px;
  }
  .bac_card .bac_card_title {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  
  /* ----- bac_heading2 ----- */
  .bac_heading2 {
    margin-top: 2.6em;
  }
  .bac_heading2 .bac_heading2_title {
    color: #375d8c;
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
  }
  /* ----- bac_card_type ----- */
  .bac_card_type-wrap {
    margin-top: 1.2em;
  }
  .bac_card_type {
    border: 1px solid #666;
    margin-top: 20px;
  }
  .bac_card_type:nth-child(1) {
    margin-top: 0!important;
  }
  .bac_card_type .bac_card_type-link {
    color: #333;
    display: flex;
    padding: 18px 18px;
  }
  .bac_card_type .bac_card_type_head {
    margin-right: 16px;
    width: 22%;
  }
  .bac_card_type .bac_card_type_body {
    width: 78%;
  }
  .bac_card_type .bac_card_type_name {
    font-size: 2.2rem;
    font-weight: bold;
    background-color: #c2d8e6;
    border-radius: 25px;
    padding: 4px 10px;
    text-align: center;
  }
  .bac_card_type .bac_card_type_title {
    font-size: 1.7rem;
    font-weight: bold;
    margin-top: 0.5em;
  }
  .bac_card_type .bac_card_type_title::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    top: 0;
    right: 0;
    border-top: 3px solid #579cc2;
    border-right: 3px solid #579cc2;
    transform: rotate(45deg);
    margin-left: 2px;
  }
  .bac_card_type .bac_card_type_lead {
    color: #579cc2;
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 0.5em;
  }
  .bac_card_type .bac_card_type_description {
    display: flex;
    font-size: 1.4rem;
    margin-top: 0.5em;
  }
  .bac_card_type .bac_card_type_description dt {
    min-width: 56px;
  }
  .bac_card_type .bac_card_type_description dd {
    padding-left:1em;
    text-indent:-1em;
  }
  
  /* ----- bac_product ----- */
  .bac_product {
    margin-top: 2em;
  }
  .bac_product .bac_product_inner {
  }
  .bac_product .bac_product_heading {
    background-color: #c2d8e6;
    padding: 10px 10px;
    border-radius: 30px;
  }
  .bac_product .bac_product_heading_title {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    
  }
  .bac_product .bac_product_column {
    padding: 15px 0;
  }
  .bac_product .bac_product_column_head {
  }
  .bac_product .bac_product_column_image {
    margin: 0 auto;
    width: 330px;
  }
  .bac_product .bac_product_column_body {
    padding: 20px 0;
  }
  .bac_product .bac_product_price {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .bac_product .bac_product-ec-button {
    display: inline-block;
    margin: 0 0 0 10px;
  }
  .bac_product .bac_unorder-list {
    padding: 24px 0 0 40px;
    border-top: 1px solid #c2d8e6;
    margin-top: 1.4em;
  }
  .bac_product .bac_unorder-list li {
    font-size: 1.5rem;
    position: relative;
    margin-top: 1em;
  }
  .bac_product .bac_unorder-list li:nth-of-type(1) {
    margin-top: 0!important;
  }
  .bac_product .bac_unorder-list li::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 29px;
    height: 24px;
    margin: 0 0 0 -40px;
    background: url("/sp/bac/img/index_ic01.png") 100%/100% no-repeat;
  }
  
  
  /* ----- bac_product_feature ----- */
  .bac_product_feature {
    background-color: #ebf2f7;
  }
  .bac_product_feature .bac_product_feature_inner {
    padding: 15px 15px;
  }
  .bac_product_feature .bac_product_feature_column {
  }
  
  .bac_product_feature .bac_product_feature_box {
    margin-top: 0.5em
  }
  .bac_product_feature .bac_product_feature_box .bac_product_feature_image {
    max-width: 375px;
    margin: 0 auto;
  }
  .bac_product_feature .bac_product_feature_box:nth-child(1) {
    margin-top: 0!important;
  }
  .bac_product_feature .bac_product_feature_body {
    padding: 10px 15px;
  }
  .bac_product_feature .bac_product_feature_text{
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  /* ----- bac_heading4 ----- */
  .bac_heading4 {
    margin-top: 2.5em;
    border-bottom: 2px solid #ddd;
    padding: 10px 0;
  }
  .bac_heading4 .bac_heading4_title {
    font-size: 2.0rem;
    font-weight: bold;
  }
  /* ----- bac_product_use ----- */
  .bac_product_use {
    margin: 0 -15px;
  }
  .bac_product_use .bac_product_use_inner {
    padding: 20px 0 10px 0;
    margin: 0 0 0 15px;
  }
  .bac_product_use .bac_product_use_column {
    display: flex;
    padding-right: 15px;
    overflow-x: auto;
    white-space: nowrap;
  }
  .bac_product_use .bac_product_use_box {
    width: 240px;
    min-width: 240px;
    margin-left: 15px;
    white-space: normal;
  }
  .bac_product_use .bac_product_use_box:nth-child(3n+1) {
    margin-left: 0!important;
  }
  .bac_product_use .bac_product_use_body {
    padding: 10px 15px;
  }
  .bac_product_use .bac_product_use_text{
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .bac_product_use .bac_product_use_column::-webkit-scrollbar {
    height: 8px;
  }
  .bac_product_use .bac_product_use_column::-webkit-scrollbar-track {
    border-radius: 8px;
    background: #f1f1f1;
    margin: 0 15px 0 0;
  }
  .bac_product_use .bac_product_use_column::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: #418fde;
  }
  
  /* ----- bac_heading2_v2 ----- */
  .bac_heading2_v2 {
    margin-top: 2em;
  }
  .bac_heading2_v2 .bac_heading2_v2-title {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * SP Media Queries
====================================================== */
@media screen and (min-width: 400px) and (max-width: 767.9px) {
  .bac_main_body .bac_main_lead {
    font-size: 2vw;
  }
}

@media only screen and (max-width: 330px) {
  .bac_main_body .bac_main_lead,
  .bac_main_body .bac_main_sub {
    font-size: 1rem;
  }
}


/* ======================================================
 * Print
====================================================== */
@media print {
}