@charset "utf-8";

/* ======================================================
 * hacobuchi.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Layout
 * - Page Components
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Layout
 * - Page Components
 * SP Media Queries
 * Print
====================================================== */

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */
  .hitotoki-contents.type-hacobuchi * {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }
  .hacobuchi-heading-lv2 .heading_title,
  .hacobuchi-heading-column .column_heading .column_heading_title,
  .hacobuchi-info-layout > .info_block_1 > .info_price .info_price_value {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }
  /* ----- opacity ----- */
  .hacobuchi-link-button a:hover {
    opacity: 0.8;
  }
  
  /* ------------------------------------------------------
   * Layout
  ------------------------------------------------------ */
  /* ----- hitotoki-contents ----- */
  .hitotoki-contents.type-hacobuchi {
    font-size: 1.4rem;
    line-height: 2.25;
    letter-spacing: .2em;
  }
  .hitotoki-contents.type-hacobuchi .hacobuchi-f-ls-normal {
    line-height: 1.75;
    letter-spacing: normal;
  }
  
  /* ------------------------------------------------------
   * Page Components
  ------------------------------------------------------ */
  /* ----- override ----- */
  .link-text.type-hacobuchi {
    margin-top: 2.5em;
  }
  .hitotoki-contents.type-hacobuchi .link-text:not(.hacobuchi-f-ls-normal) > li > a::before {
    top: .75em;
  }
  .column-layout.type-hacobuchi {
    margin-top: 5em;
  }
  .column-layout.type-hacobuchi > .column_item {
    margin-top: 2.75em;
  }
  .column-layout.type-hacobuchi-v2 {
    margin-top: 5em;
    padding: 0 70px;
  }
  
  /* ----- hacobuchi-heading ----- */
  [class*="hacobuchi-heading-lv"] + section,
  [class*="hacobuchi-heading-lv"] + section > [class*="hacobuchi-heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-heading-lv1 ----- */
  .hacobuchi-heading-lv1 {
    margin: 5em 0 4.5em;
  }
  #main .hacobuchi-heading-lv1 + * {
    margin-top: 4.5em;
  }
  .hacobuchi-heading-lv1 .heading_title {
    text-align: center;
    line-height: 1;
  }
  /* ----- hacobuchi-heading-lv2 ----- */
  .hacobuchi-heading-lv2 {
    margin: 7.75em 0 2.5em;
  }
  #main .hacobuchi-heading-lv2 + * {
    margin-top: 2.5em;
  }
  #main .hacobuchi-heading-lv2 + .hacobuchi-contents-layout {
    margin-top: 3.5em;
  }
  .hacobuchi-heading-lv2 .heading_title {
    font-size: 3.2rem;
    text-align: center;
    line-height: 1.25;
    letter-spacing: .3em;
  }
  .hacobuchi-heading-lv2 .heading_subtitle {
    margin-top: 1em;
    text-align: center;
    line-height: 1.25;
  }
  /* ----- hacobuchi-heading-column ----- */
  .hacobuchi-heading-column {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: center;
    align-items: center;
    margin: 7.75em 0 2.5em;
  }
  #main .hacobuchi-heading-column + * {
    margin-top: 2.5em;
  }
  #main .hacobuchi-heading-column + .column-layout {
    margin-top: 5em;
  }
  .hacobuchi-heading-column .column_heading {
    width: 36%;
  }
  .hacobuchi-heading-column .column_heading .column_heading_title {
    font-size: 3.2rem;
    text-align: center;
    line-height: 1.25;
    letter-spacing: .3em;
  }
  .hacobuchi-heading-column .column_detail {
    width: 64%;
    padding-left: 40px;
  }
  .hacobuchi-heading-column .column_detail > *:first-child,
  .hacobuchi-heading-column .column_detail > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-section ----- */
  [class*="hacobuchi-section"] {
    width: 100vw;
    margin: 5.75em 0 0 calc(50% - 50vw);
    padding: 110px 40px 90px;
  }
  [class*="hacobuchi-section"] > * {
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  [class*="hacobuchi-section"] > *:first-child,
  [class*="hacobuchi-section"] > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-section {
    background-color: #ededed;
  }
  /* ----- hacobuchi-f-underline ----- */
  .hacobuchi-f-underline {
    padding-bottom: 5px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(92%,transparent), color-stop(92%,#000));
    background: -webkit-linear-gradient(top, transparent 92%, #000 92%);
    background: linear-gradient(to bottom, transparent 92%, #000 92%);
    line-height: 2.5;
  }
  /* ----- hacobuchi-text-title ----- */
  .hacobuchi-text-title {
    margin-top: 3.5em;
    font-size: 2rem;
  }
  .hacobuchi-text-title + * {
    margin-top: 2.5em !important;
  }
  .hacobuchi-text-title .title_label {
    padding-bottom: 10px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(96%,transparent), color-stop(96%,#000));
    background: -webkit-linear-gradient(top, transparent 96%, #000 96%);
    background: linear-gradient(to bottom, transparent 96%, #000 96%);
  }
  /* ----- hacobuchi-link-button ----- */
  #main .hacobuchi-link-button {
    margin-top: 3.75em;
    text-align: center;
  }
  .hacobuchi-link-button a,
  .hacobuchi-link-button .is-nolink > span {
    display: inline-block;
    position: relative;
    min-width: 465px;
    max-width: 100%;
    padding: 30px 85px;
    background-color: #525252;
    color: #fff;
    text-align: center;
    line-height: 1.5;
  }
  .hacobuchi-link-button a::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 38px;
    height: 38px;
    margin-top: -19px;
    border: solid 1px #fff;
    border-radius: 50%;
    content: "";
  }
  .hacobuchi-link-button a::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 47px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
  }
  /* ----- hacobuchi-intro-heading ----- */
  .hacobuchi-intro-heading {
    margin-top: 3.5em;
  }
  .hacobuchi-intro-heading .intro_title {
    font-size: 2rem;
  }
  .hacobuchi-intro-heading .intro_subtitle_1 {
    font-size: 1.2rem;
  }
  .hacobuchi-intro-heading .intro_subtitle_2 {
    font-size: 1.4rem;
  }
  /* ----- hacobuchi-hero-layout ----- */
  .hacobuchi-hero-layout {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .hacobuchi-hero-layout .hero_visual {
    text-align: center;
  }
  /* ----- hacobuchi-contents-layout ----- */
  .hacobuchi-contents-layout {
    width: 650px !important;
    margin: 3.5em auto 0;
  }
  .hacobuchi-contents-layout > *:first-child,
  .hacobuchi-contents-layout > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-box-layout ----- */
  .hacobuchi-box-layout {
    margin-top: 5em;
    background-color: #fff;
  }
  .hacobuchi-box-layout > .box_detail {
    padding: 25px 30px;
    font-size: 1.2rem;
  }
  /* v2 */
  .hacobuchi-box-layout-v2 {
    margin-top: 5em;
  }
  .hacobuchi-box-layout-v2 > .box_detail {
    margin-top: 2em;
    font-size: 1.2rem;
  }
  /* ----- hacobuchi-column-media ----- */
  [class*="hacobuchi-column-media"] {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 6.5em;
  }
  [class*="hacobuchi-column-media"][data-image="left"] {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  [class*="hacobuchi-column-media"][data-image="right"] {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .hacobuchi-column-media {
    background-color: #fff;
  }
  .hacobuchi-column-media > .column_image,
  .hacobuchi-column-media > .column_detail {
    width: 50%;
  }
  .hacobuchi-column-media > .column_detail {
    padding: 30px 85px;
  }
  /* v2 */
  .hacobuchi-column-media-v2 > .column_image,
  .hacobuchi-column-media-v2 > .column_detail {
    width: 50%;
  }
  .hacobuchi-column-media-v2[data-image="right"] > .column_detail {
    padding-right: 40px;
  }
  .hacobuchi-column-media-v2[data-image="left"] > .column_detail {
    padding-left: 40px;
  }
  /* ----- hacobuchi-size-layout ----- */
  [class*="hacobuchi-size-layout"] [class*="size_detail"] > *:first-child,
  [class*="hacobuchi-size-layout"] [class*="size_detail"] > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-size-layout {
    margin-top: 3em;
  }
  .hacobuchi-size-layout .size_title {
    text-align: center;
  }
  .hacobuchi-size-layout .size_title img {
    width: 85px;
  }
  .hacobuchi-size-layout .size_image {
    display: table;
    width: 100%;
    margin-top: 2em;
    table-layout: fixed;
  }
  .hacobuchi-size-layout .size_image .size_image_inner {
    display: table-cell;
    text-align: center;
    vertical-align: bottom;
  }
  .hacobuchi-size-layout .size_detail {
    margin-top: 2em;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.75;
  }
  /* v2 */
  .hacobuchi-size-layout-v2 {
    margin-top: 3em;
    background-color: #fff;
  }
  .hacobuchi-size-layout-v2 .size_title {
    padding: 40px 40px 0;
    text-align: center;
  }
  .hacobuchi-size-layout-v2 .size_title img {
    width: 85px;
  }
  .hacobuchi-size-layout-v2 .size_detail_1 {
    padding: 40px 40px 35px;
  }
  .hacobuchi-size-layout-v2 .size_detail_2 {
    padding: 20px;
    border-top: solid 1px #ededed;
  }
  /* ----- hacobuchi-size-column ----- */
  [class*="hacobuchi-size-column"] {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 3em auto 0;
  }
  [class*="hacobuchi-size-column"] > .column_item:nth-child(3n+1) {
    margin-left: 0 !important;
  }
  [class*="hacobuchi-size-column"] > .column_item:nth-child(-n+4) {
    margin-top: 0 !important;
  }
  [class*="hacobuchi-size-column"] .culumn_image {
    text-align: center;
  }
  [class*="hacobuchi-size-column"] .culumn_caption {
    margin-top: 2em;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.75;
  }
  .hacobuchi-size-column {
    max-width: 560px;
  }
  .hacobuchi-size-column > .column_item {
    width: calc((100% - 220px) / 3);
    margin: 2.5em 0 0 110px;
  }
  [data-browser="ie11"] .hacobuchi-size-column > .column_item { width: calc(((100% - 220px) / 3) - 0.1px); }
  [data-browser="edge"] .hacobuchi-size-column > .column_item { width: calc(((100% - 220px) / 3) - 0.1px); }
  /* v2 */
  .hacobuchi-size-column-v2 {
    max-width: 720px;
  }
  .hacobuchi-size-column-v2 > .column_item {
    width: calc((100% - 136px) / 3);
    margin: 2.5em 0 0 68px;
  }
  [data-browser="ie11"] .hacobuchi-size-column-v2 > .column_item { width: calc(((100% - 136px) / 3) - 0.1px); }
  [data-browser="edge"] .hacobuchi-size-column-v2 > .column_item { width: calc(((100% - 136px) / 3) - 0.1px); }
  /* v3 */
  .hacobuchi-size-column-v3 {
    max-width: 695px;
  }
  .hacobuchi-size-column-v3 > .column_item {
    width: calc((100% - 110px) / 3);
    margin: 2.5em 0 0 55px;
  }
  [data-browser="ie11"] .hacobuchi-size-column-v3 > .column_item { width: calc(((100% - 110px) / 3) - 0.1px); }
  [data-browser="edge"] .hacobuchi-size-column-v3 > .column_item { width: calc(((100% - 110px) / 3) - 0.1px); }
  /* ----- hacobuchi-info-layout ----- */
  .hacobuchi-info-layout {
    display: table;
    width: 100%;
    line-height: 1.75;
  }
  .hacobuchi-info-layout > .info_block_1,
  .hacobuchi-info-layout > .info_block_2 {
    display: table-cell;
  }
  .hacobuchi-info-layout > .info_block_1 {
    width: 27%;
    padding: 10px 15px;
    border-right: 1px solid #ededed;
    text-align: center;
    vertical-align: middle;
    letter-spacing: -.4em;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name,
  .hacobuchi-info-layout > .info_block_1 > .info_price {
    display: inline-block;
    letter-spacing: .2em;
    vertical-align: middle;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name {
    margin-right: 30px;
    font-size: 1.2rem;
    text-align: left;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_price {
    font-size: 1.2rem;
    text-align: left;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_price .info_price_value {
    display: inline-block;
    margin-right: 10px;
    font-size: 2.1rem;
    vertical-align: middle;
  }
  .hacobuchi-info-layout > .info_block_2 {
    width: 73%;
    padding: 10px 15px 10px 30px;
    vertical-align: middle;
  }
  .hacobuchi-info-layout > .info_block_2 .info_spec {
    display: table;
    width: 100%;
    margin-top: 1em;
    font-size: 1.2rem;
    table-layout: fixed;
  }
  .hacobuchi-info-layout > .info_block_2 .info_spec > .info_spec_item {
    display: table-cell;
    padding: 0 7px;
    text-align: left;
    vertical-align: middle;
  }
  .hacobuchi-info-layout > .info_block_2 .info_spec > .info_spec_item.type-large {
    width: 40%;
  }
  .hacobuchi-info-layout > .info_block_1 > *:first-child,
  .hacobuchi-info-layout > .info_block_2 > *:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-info-layout-v2 {
    display: flex;
    line-height: 1.75;
  }
  .hacobuchi-info-layout-v2 > .info_block_1,
  .hacobuchi-info-layout-v2 > .info_block_2 {
  }
  .hacobuchi-info-layout-v2 > .info_block_1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27%;
    padding: 10px 15px;
    border-right: 1px solid #ededed;
    letter-spacing: -.4em;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec {
    display: flex;
    align-items: center;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_body {
    margin-left: 30px;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_head > *:first-child,
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_body > *:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_name,
  .hacobuchi-info-layout-v2 > .info_block_1 .info_price {
    display: inline-block;
    letter-spacing: .2em;
    vertical-align: middle;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_name {
    font-size: 1.2rem;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_price {
    font-size: 1.2rem;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_price .info_price_value {
    display: inline-block;
    margin-right: 10px;
    font-size: 2.1rem;
    vertical-align: middle;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_button {
    margin-top: 10px;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_button > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 38px;
    background-color: #f1f1f1;
    border: 1px solid #f1f1f1;
    border-radius: 9999px;
    color: #333 !important;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    text-decoration: none !important;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_button > a:hover {
    background-color: #fff;
    border-color: #333;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 {
    width: 73%;
    padding: 10px 15px 10px 30px;
    vertical-align: middle;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 .info_spec {
    display: table;
    width: 100%;
    margin-top: 1em;
    font-size: 1.2rem;
    table-layout: fixed;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 .info_spec > .info_spec_item {
    display: table-cell;
    padding: 0 7px;
    text-align: left;
    vertical-align: middle;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 .info_spec > .info_spec_item.type-large {
    width: 40%;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 > *:first-child,
  .hacobuchi-info-layout-v2 > .info_block_2 > *:first-child {
    margin-top: 0 !important;
  }
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}

/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 1921px) {
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hacobuchi-info-layout > .info_block_1 > .info_name,
  .hacobuchi-info-layout > .info_block_1 > .info_price {
    display: block;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name {
    margin: 0 0 .5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 960px) {
}


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */
  .hitotoki-contents.type-hacobuchi * {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }
  .hacobuchi-heading-lv2 .heading_title,
  .hacobuchi-heading-column .column_heading .column_heading_title,
  .hacobuchi-info-layout > .info_block_1 > .info_price .info_price_value {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }
  .hitotoki-contents.type-hacobuchi .hacobuchi-f-ls-normal,
  .hitotoki-contents.type-hacobuchi .hacobuchi-f-ls-normal * {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  
  /* ------------------------------------------------------
   * Layout
  ------------------------------------------------------ */
  /* ----- hitotoki-contents ----- */
  .hitotoki-contents.type-hacobuchi {
    padding: 0 15px;
    font-size: 1.2rem;
    line-height: 2.25;
    letter-spacing: .2em;
  }
  .hitotoki-contents.type-hacobuchi .hacobuchi-f-ls-normal {
    line-height: 1.5;
    letter-spacing: normal;
  }
  
  /* ------------------------------------------------------
   * Page Components
  ------------------------------------------------------ */
  /* ----- override ----- */
  .link-text.type-hacobuchi {
    margin-top: 2em;
  }
  .hitotoki-contents.type-hacobuchi .link-text:not(.hacobuchi-f-ls-normal) > li > a::before {
    top: .75em;
  }
  .column-layout.type-hacobuchi {
    margin-top: 2.5em;
  }
  .column-layout.type-hacobuchi > .column_item {
    margin-top: 1.25em;
  }
  .column-layout.type-hacobuchi-v2 {
    margin-top: 2.5em;
  }
  .column-layout.type-hacobuchi-v2 > .column_item {
    margin-top: 2.5em;
  }
  
  /* ----- hacobuchi-heading ----- */
  [class*="hacobuchi-heading-lv"] + section,
  [class*="hacobuchi-heading-lv"] + section > [class*="hacobuchi-heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-heading-lv1 ----- */
  .hacobuchi-heading-lv1 {
    margin: 3.75em 0 3.25em;
  }
  #main .hacobuchi-heading-lv1 + * {
    margin-top: 3.25em;
  }
  .hacobuchi-heading-lv1 .heading_title {
    text-align: center;
    line-height: 1;
  }
  .hacobuchi-heading-lv1 .heading_title img {
    width: 199px;
  }
  /* ----- hacobuchi-heading-lv2 ----- */
  .hacobuchi-heading-lv2 {
    margin: 4.25em -15px 3em;
  }
  #main .hacobuchi-heading-lv2 + * {
    margin-top: 3em;
  }
  .hacobuchi-heading-lv2 .heading_title {
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.75;
    letter-spacing: .3em;
  }
  .hacobuchi-heading-lv2 .heading_title img {
    width: auto;
    height: 15px;
  }
  .hacobuchi-heading-lv2 .heading_title.is-line2 img {
    height: 45px;
  }
  .hacobuchi-heading-lv2 .heading_subtitle {
    margin-top: .5em;
    text-align: center;
  }
  /* ----- hacobuchi-heading-column ----- */
  .hacobuchi-heading-column {
    margin: 4.25em -15px 2.5em;
  }
  #main .hacobuchi-heading-column + * {
    margin-top: 2.5em;
  }
  .hacobuchi-heading-column .column_heading .column_heading_title {
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.75;
    letter-spacing: .3em;
  }
  .hacobuchi-heading-column .column_detail {
    margin-top: 2.5em;
    text-align: center;
  }
  .hacobuchi-heading-column .column_detail > *:first-child,
  .hacobuchi-heading-column .column_detail > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-section ----- */
  [class*="hacobuchi-section"] {
    margin: 3.75em -30px 0;
    padding: 50px 30px 35px;
  }
  [class*="hacobuchi-section"] > *:first-child,
  [class*="hacobuchi-section"] > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-section {
    background-color: #ededed;
  }
  /* ----- hacobuchi-f-underline ----- */
  .hacobuchi-f-underline {
    padding-bottom: 5px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(92%,transparent), color-stop(92%,#000));
    background: -webkit-linear-gradient(top, transparent 92%, #000 92%);
    background: linear-gradient(to bottom, transparent 92%, #000 92%);
    line-height: 2.5;
  }
  /* ----- hacobuchi-text-title ----- */
  .hacobuchi-text-title {
    margin-top: 3em;
    font-size: 1.4rem;
  }
  .hacobuchi-text-title + * {
    margin-top: 1.5em !important;
  }
  .hacobuchi-text-title .title_label {
    padding-bottom: 10px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(96%,transparent), color-stop(96%,#000));
    background: -webkit-linear-gradient(top, transparent 96%, #000 96%);
    background: linear-gradient(to bottom, transparent 96%, #000 96%);
  }
  /* ----- hacobuchi-link-button ----- */
  #main .hacobuchi-link-button {
    margin-top: 3em;
    text-align: center;
  }
  .hacobuchi-link-button a,
  .hacobuchi-link-button .is-nolink > span {
    display: inline-block;
    width: auto !important;
    min-width: 260px;
    position: relative;
    padding: 15px 40px;
    background-color: #525252;
    color: #fff;
    text-align: center;
  }
  .hacobuchi-link-button a::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: solid 1px #fff;
    border-radius: 50%;
    content: "";
  }
  .hacobuchi-link-button a::after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 23px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
  }
  /* ----- hacobuchi-intro-heading ----- */
  .hacobuchi-intro-heading {
    margin-top: 2.5em;
  }
  .hacobuchi-intro-heading .intro_title {
    font-size: 1.5rem;
  }
  .hacobuchi-intro-heading .intro_subtitle_1 {
    font-size: 1rem;
  }
  .hacobuchi-intro-heading .intro_subtitle_2 {
    font-size: 1rem;
  }
  /* ----- hacobuchi-hero-layout ----- */
  .hacobuchi-hero-layout {
    margin: 0 -30px;
  }
  .hacobuchi-hero-layout .hero_visual img {
    width: 100%;
  }
  /* ----- hacobuchi-contents-layout ----- */
  .hacobuchi-contents-layout {
    margin-top: 3em;
    padding: 0 15px;
  }
  .hacobuchi-contents-layout > *:first-child,
  .hacobuchi-contents-layout > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  /* ----- hacobuchi-box-layout ----- */
  .hacobuchi-box-layout {
    margin-top: 3em;
    background-color: #fff;
  }
  .hacobuchi-box-layout > .box_detail {
    padding: 15px 20px;
    font-size: 1rem;
  }
  /* v2 */
  .hacobuchi-box-layout-v2 {
    margin-top: 3em;
  }
  .hacobuchi-box-layout-v2 > .box_detail {
    margin-top: 1.5em;
    font-size: 1rem;
  }
  /* ----- hacobuchi-column-media ----- */
  [class*="hacobuchi-column-media"] {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column wrap;
    flex-flow: column wrap;
    margin-top: 2.5em;
  }
  .hacobuchi-column-media {
    background-color: #fff;
  }
  .hacobuchi-column-media > .column_detail {
    padding: 30px 20px;
  }
  /* v2 */
  .hacobuchi-column-media-v2 > .column_detail {
    margin-top: 2.5em;
    padding: 0 10px;
  }
  /* ----- hacobuchi-size-layout ----- */
  [class*="hacobuchi-size-layout"] [class*="size_detail"] > *:first-child,
  [class*="hacobuchi-size-layout"] [class*="size_detail"] > section:first-child > [class*="heading-lv"]:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-size-layout {
    margin-top: 3em;
  }
  .hacobuchi-size-layout .size_title {
    text-align: center;
  }
  .hacobuchi-size-layout .size_title img {
    width: 65px;
  }
  .hacobuchi-size-layout .size_image {
    margin-top: 1.75em;
    text-align: center;
  }
  .hacobuchi-size-layout .size_detail {
    margin-top: 1.5em;
    font-size: 1rem;
    text-align: center;
    line-height: 1.75;
  }
  /* v2 */
  .hacobuchi-size-layout-v2 {
    margin-top: 3em;
    background-color: #fff;
  }
  .hacobuchi-size-layout-v2 .size_title {
    padding: 35px 20px 0;
    text-align: center;
  }
  .hacobuchi-size-layout-v2 .size_title img {
    width: 65px;
  }
  .hacobuchi-size-layout-v2 .size_detail_1 {
    padding: 20px 20px 15px;
  }
  .hacobuchi-size-layout-v2 .size_detail_2 {
    padding: 20px 25px 25px;
    border-top: solid 1px #ededed;
  }
  /* ----- hacobuchi-size-column ----- */
  [class*="hacobuchi-size-column"] {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 2.5em auto 0;
  }
  [class*="hacobuchi-size-column"] > .column_item:nth-child(3n+1) {
    margin-left: 0 !important;
  }
  [class*="hacobuchi-size-column"] > .column_item:nth-child(-n+4) {
    margin-top: 0 !important;
  }
  [class*="hacobuchi-size-column"] .culumn_image {
    text-align: center;
  }
  [class*="hacobuchi-size-column"] .culumn_caption {
    margin-top: 1em;
    font-size: 1rem;
    text-align: center;
    line-height: 1.75;
  }
  .hacobuchi-size-column {
    max-width: 240px;
  }
  .hacobuchi-size-column > .column_item {
    width: calc((100% - 70px) / 3);
    margin: 1.5em 0 0 35px;
  }
  /* v2 */
  .hacobuchi-size-column-v2 {
    max-width: 250px;
  }
  .hacobuchi-size-column-v2 > .column_item {
    width: calc((100% - 20px) / 3);
    margin: 1.5em 0 0 10px;
  }
  /* v3 */
  .hacobuchi-size-column-v3 {
    max-width: 260px;
  }
  .hacobuchi-size-column-v3 > .column_item {
    width: calc((100% - 24px) / 3);
    margin: 1.5em 0 0 12px;
  }
  /* ----- hacobuchi-info-layout ----- */
  .hacobuchi-info-layout {
    line-height: 1.75;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name {
    margin-bottom: .5em;
    font-size: 1rem;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name br {
    display: none;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_name .info_name_sub {
    display: inline-block;
    margin-left: 20px;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_price {
    font-size: 1rem;
  }
  .hacobuchi-info-layout > .info_block_1 > .info_price .info_price_value {
    display: inline-block;
    margin-right: 10px;
    font-size: 1.5rem;
    vertical-align: middle;
  }
  .hacobuchi-info-layout > .info_block_2 {
    margin-top: 1.5em;
    padding-top: 20px;
    border-top: 1px solid #ededed;
  }
  .hacobuchi-info-layout > .info_block_2 .info_spec {
    margin-top: 2em;
    font-size: 1rem;
  }
  .hacobuchi-info-layout > .info_block_2 .info_spec > .info_spec_item + .info_spec_item {
    margin-top: 2em;
  }
  .hacobuchi-info-layout > .info_block_1 > *:first-child,
  .hacobuchi-info-layout > .info_block_2 > *:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-info-layout-v2 {
    line-height: 1.75;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec {
    margin-bottom: -0.6666em;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_body {
    display: flex;
    align-items: center;
    margin-top: 0.8333em;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_head > *:first-child,
  .hacobuchi-info-layout-v2 > .info_block_1 .info_ec > .info_ec_body > *:first-child {
    margin-top: 0 !important;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_name {
    font-size: 1rem;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_name br {
    display: none;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_name .info_name_sub {
    display: inline-block;
    margin-left: 20px;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_price {
    font-size: 1rem;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_price .info_price_value {
    display: inline-block;
    margin-right: 10px;
    font-size: 1.5rem;
    vertical-align: middle;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_button {
    margin-left: 10px;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 .info_button > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 69px;
    height: 28px;
    background-color: #f1f1f1;
    border: 1px solid #f1f1f1;
    border-radius: 9999px;
    color: #333 !important;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    text-decoration: none !important;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 {
    margin-top: 1.5em;
    padding-top: 20px;
    border-top: 1px solid #ededed;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 .info_spec {
    margin-top: 2em;
    font-size: 1rem;
  }
  .hacobuchi-info-layout-v2 > .info_block_2 .info_spec > .info_spec_item + .info_spec_item {
    margin-top: 2em;
  }
  .hacobuchi-info-layout-v2 > .info_block_1 > *:first-child,
  .hacobuchi-info-layout-v2 > .info_block_2 > *:first-child {
    margin-top: 0 !important;
  }
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * SP Media Queries
====================================================== */
@media only screen and (max-width: 340px) {
  .hacobuchi-heading-lv2 .heading_title br {
    display: none;
  }
}
/***
@media only screen and (min-width: 320px) and (max-width: 767px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
}
@media only screen and (max-width: 320px) {
}
***/


/* ======================================================
 * Print
====================================================== */
@media print {
  [class*="hacobuchi-section"],
  .hacobuchi-hero-layout {
    width: auto !important;
    margin-left: -9999px !important;
    margin-right: -9999px !important;
  }
}