@charset "UTF-8";
/*
*
* Copyright (c) 2016, AD Line Inc. All rights reserved.
* Data : 2016.04.20
*
*/
/* Googleフォント　Noto Sans,Robot,Open Sans */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800);
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
/* アイコンフォント　Google Material,Font Awesome */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/7.1.0/css/font-awesome.min.css);
/*****************************************************

 SCSS用
 
*****************************************************/
/*****************************************************

 Telリンク制御　※レスポンシブ
 
*****************************************************/
@media (min-width: 668px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
/*****************************************************

 404
 
*****************************************************/
.not_found_container {
  width: 100%;
  padding: 80px 0; }
  .not_found_container > p {
    padding: 30px 0;
    font-size: 16px;
    color: #333; }
    .not_found_container > p span {
      color: #de0515;
      display: block; }

/*****************************************************

 Common - Layout
 
*****************************************************/
html {
  font-size: 10px; }

body {
  position: relative;
  width: auto;
  height: auto;
  background: #FFF;
  z-index: 0;
  color: #333333;
  font-size: 1.4rem;
  font-family: 'Zen Old Mincho','Noto Sans Japanese','Noto Sans', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif , serif;
  font-weight: normal;
  line-height: 1.65;
  letter-spacing: 0.5px; }

.main_content {
  width: calc(100% - 350px);
  position: relative;
  margin-left: auto;
  display: block;
  background: url("../images/common/bk_img.jpg") center/cover repeat;
  z-index: -1; }

.inner {
  max-width: 1160px;
  padding: 0 1%;
  margin: 0 auto;
  position: relative; }

.section {
  padding: 120px 0; }

@media screen and (max-width: 896px) {
  .main_content {
    width: 100%; }

  .inner {
    width: 90%;
    min-width: 90%;
    padding: 0; }

  .section {
    padding: 60px 0; }

  .sp_none {
    display: none !important; } }
@media print {
  .pc_none {
    display: none !important; }

  .sp_none {
    display: none !important; } }
@media screen and (min-width: 896px) {
  .pc_none {
    display: none !important; }

  #menu {
    visibility: hidden; } }
/*　mmenu
----------------------------------------------------*/
@media screen and (max-width: 896px) {
  .sp_menu {
    position: absolute;
    top: 0;
    right: 0;
    background: #231815; }
    .sp_menu a {
      width: 62px;
      height: 62px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-decoration: none;
      transition: .3s; }
      .sp_menu a i {
        font-size: 32px;
        color: #fff; }

  .sp_nav {
    visibility: visible; }

  .mm-listitem > a i {
    margin-right: 8px; }

  .mm-listitem > a, .mm-listitem > span {
    font-size: 14px;
    font-weight: bold;
    padding: 20px 10px 20px 20px !important;
    color: #666 !important; }

  #mm-1 > ul > li:nth-child(7) > a {
    width: 80%;
    margin: 0 auto;
    color: #111 !important;
    border: 1px solid #111;
    background: #fff; }

  #mm-1 > ul > li:nth-child(7) {
    margin-top: 20px; }

  #mm-1 > ul > li:nth-child(7)::after {
    border: none; }

  #mm-1 > ul > li:nth-child(8) > a {
    width: 80%;
    margin: 10px auto 0;
    color: #FFF !important;
    background: #111; }

  #mm-1 > ul > li:nth-child(8)::after {
    border: none; }

  #mm-1 > ul > li:nth-child(9) > a {
    width: 80%;
    margin: 10px auto 0;
    color: #FFF !important;
    background: #cc006b; }

  #mm-1 > ul > li:nth-child(9)::after {
    border: none; }

  #mm-1 > ul > li:nth-child(10) > a {
    width: 80%;
    margin: 10px auto 0;
    color: #FFF !important;
    background: #007ecc; }

  #mm-1 > ul > li:nth-child(10)::after {
    border: none; }

  #mm-1 > ul > li:nth-child(11) > a {
    width: 80%;
    margin: 10px auto 0;
    color: #FFF !important;
    background: #009fcc; }

  #mm-1 > ul > li:nth-child(11)::after {
    border: none; } }
/*****************************************************

 Common - Parts
 
*****************************************************/
/*　見出し1
----------------------------------------------------*/
.main_ttl {
  font-size: 48px;
  font-weight: bold;
  color: #001e2d;
  writing-mode: vertical-rl; }

@media screen and (max-width: 896px) {
  .main_ttl {
    font-size: 25px; } }
/*　見出し2
----------------------------------------------------*/
.sub_ttl {
  margin-bottom: 48px;
  font-size: 40px;
  color: #231815;
  font-weight: bold;
  text-align: center;
  font-family: "Zen Old Mincho", serif; }
  .sub_ttl span {
    position: relative;
    display: flex;
    justify-content: center;
    font-size: 20px;
    color: #005088;
    font-weight: bold; }

.sub_ttl + p {
  font-size: 16px;
  line-height: 40px;
  margin-bottom: 64px;
  text-align: center; }

@media screen and (max-width: 896px) {
  .sub_ttl {
    margin-bottom: 32px;
    font-size: 24px; }

  .sub_ttl span {
    font-size: 14px; }

  .sub_ttl + p {
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 28px;
    text-align: left; } }
/*　見出し3
----------------------------------------------------*/
h3 {
  position: relative;
  font-size: 28px;
  font-weight: bold;
  color: #005088;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 24px; }

h3 + p {
  font-size: 16px;
  line-height: 32px; }

@media screen and (max-width: 896px) {
  h3 {
    margin-bottom: 16px;
    font-size: 20px; }

  h3 + p {
    font-size: 14px; } }
/*　見出し4
----------------------------------------------------*/
h4 {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  color: #df5b32;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 20px; }

h4 + p {
  font-size: 16px;
  line-height: 28px; }

@media screen and (max-width: 896px) {
  h4 {
    margin-bottom: 16px;
    font-size: 18px; }

  h4 + p {
    font-size: 14px;
    line-height: 24px; } }
/*　テーブル
----------------------------------------------------*/
.tbl_type_01 {
  width: 100%;
  border-collapse: collapse; }
  .tbl_type_01 tr {
    border-bottom: 1px dashed #bea990; }
    .tbl_type_01 tr th {
      width: 30%;
      padding: 20px 1%;
      box-sizing: border-box;
      font-size: 16px;
      font-weight: bold;
      color: #111;
      vertical-align: center; }
    .tbl_type_01 tr td {
      width: 70%;
      padding: 20px 1%;
      box-sizing: border-box;
      font-size: 16px;
      font-weight: 500;
      color: #333;
      vertical-align: center; }
      .tbl_type_01 tr td .txt_link {
        text-decoration: none;
        color: #333; }
        .tbl_type_01 tr td .txt_link i {
          margin-right: 5px; }
        .tbl_type_01 tr td .txt_link:hover {
          text-decoration: underline;
          transition: .3s; }
      .tbl_type_01 tr td .tel_link {
        text-decoration: none;
        color: #333; }
        .tbl_type_01 tr td .tel_link:hover {
          opacity: 0.7;
          transition: .3s; }

@media screen and (max-width: 896px) {
  .tbl_type_01 tr th {
    width: 100%;
    display: block;
    padding: 12px 0 0;
    font-size: 14px; }

  .tbl_type_01 tr td {
    width: 100%;
    display: block;
    padding: 12px 0;
    font-size: 14px; }

  .tbl_type_01 tr:first-of-type th {
    padding: 0; }

  .tbl_type_01 tr:first-of-type td {
    padding: 12px 0 12px; } }
/*　ボタンリンク
----------------------------------------------------*/
.bace_btn_link {
  position: relative;
  display: block;
  width: 400px;
  padding: 16px 40px;
  box-sizing: border-box;
  text-align: center;
  font-size: 20px;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  text-decoration: none;
  background: #111;
  transition: .3s; }
  .bace_btn_link::after {
    position: absolute;
    top: 23px;
    right: 20px;
    content: '\f0da';
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    line-height: 20px;
    font-family: 'Font Awesome 5 free';
    font-style: normal;
    transition: .3s; }
  .bace_btn_link:hover {
    transition: .3s;
    opacity: 0.7; }
    .bace_btn_link:hover::after {
      transition: .3s;
      opacity: 0.7; }

@media screen and (max-width: 896px) {
  .bace_btn_link {
    width: 100%;
    padding: 16px 40px;
    font-size: 16px; }

  .bace_btn_link::after {
    top: 20px;
    font-size: 14px; } }
/* 背景
----------------------------------------------------*/
.bk_gray {
  background: rgba(211, 218, 224, 0.4); }

.box1 {
  position: relative;
  padding: 120px 0 260px !important; }
  .box1::before {
    position: absolute;
    width: 100%;
    height: 166px;
    bottom: 0;
    left: 0;
    content: '';
    background: url("../images/common/gray_bk_before.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .box1 {
    padding: 60px 0 100px !important; }

  .box1::before {
    height: 55px; } }
.box2 {
  position: relative;
  padding: 200px 0 120px !important; }
  .box2::after {
    position: absolute;
    width: 100%;
    height: 145px;
    top: 0;
    left: 0;
    content: '';
    background: url("../images/common/gray_bk_after.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .box2 {
    padding: 100px 0 60px !important; }

  .box2::after {
    height: 40px; } }
.box3 {
  position: relative;
  padding: 200px 0 240px !important; }
  .box3::before {
    position: absolute;
    width: 100%;
    height: 166px;
    bottom: 0;
    left: 0;
    content: '';
    background: url("../images/common/gray_bk_before.png") center/cover no-repeat;
    z-index: -1; }
  .box3::after {
    position: absolute;
    width: 100%;
    height: 145px;
    top: 0;
    left: 0;
    content: '';
    background: url("../images/common/gray_bk_after.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .box3 {
    padding: 100px 0 120px !important; }

  .box3::before {
    height: 55px; }

  .box3::after {
    height: 40px; } }
/*****************************************************

 メールフォーム装飾
 
*****************************************************/
.contactform_container {
  width: 100%; }
  .contactform_container p {
    font-size: 14px; }
  .contactform_container table th span {
    font-size: 14px;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    padding: 2px 12px;
    border-radius: 6px;
    background: #df5b32;
    float: right; }

.agreementicon {
  padding: 2px 14px;
  font-size: 14px;
  color: #FFF;
  text-align: center;
  background: #c30d23; }

.confirm_box {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
  color: #FFF;
  border: 1px solid #ffFF00;
  background: #F9A638; }

.policy_title {
  padding: 10px 0 0;
  font-size: 18px;
  text-align: center; }

.privacypolicy {
  width: 100%;
  height: 200px;
  position: relative;
  padding: 24px;
  box-sizing: border-box;
  margin-bottom: 40px;
  color: #666666;
  text-align: left !important;
  border: 1px solid #ccc;
  background: #fff;
  overflow-y: scroll; }
  .privacypolicy p {
    text-align: left !important; }
  .privacypolicy h3 {
    font-size: 18px; }
  .privacypolicy h4 {
    margin: 24px 0 8px;
    font-size: 16px;
    font-weight: bold;
    color: #666666; }
    .privacypolicy h4:first-child {
      margin-top: 0; }

.privacypolicy::-webkit-scrollbar {
  width: 8px; }

.privacypolicy::-webkit-scrollbar-track {
  background: #ccc; }

.privacypolicy::-webkit-scrollbar-thumb {
  background: #999; }

.thanks_container {
  text-align: center; }

#formWrap {
  padding: 80px 0; }
  #formWrap h3 {
    margin-bottom: 40px; }

.form_section {
  padding: 120px 0 80px; }

.form_to_top {
  width: 30%;
  height: auto;
  display: block;
  padding: 10px 0;
  margin: 50px auto;
  font-size: 16px;
  font-weight: 300;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  background: #DB621D; }

.wpcf7 form.sent .wpcf7-response-output {
  background: #46b450;
  color: #fff;
  text-align: center; }

@media screen and (max-width: 896px) {
  .contactform_container p {
    font-size: 14px; }

  .contact_phone_container span {
    font-size: 24px; }

  .contactform_container table th {
    width: 100%;
    display: block;
    padding: 20px 0 0; }

  .contactform_container table td {
    width: 100%;
    display: block;
    padding: 10px 0 20px;
    border-bottom: none; }

  .privacypolicy {
    width: 100%;
    margin-bottom: 24px; }

  .privacypolicy h4 {
    font-size: 15px; }

  .thanks_container .link_btn {
    width: 100%; }

  .form_table th {
    width: 100%;
    display: block;
    text-align: left;
    border-bottom: none;
    padding: 20px 20px 0; }

  .form_table td {
    width: 100%;
    display: block;
    padding: 20px; }

  .form_to_top {
    margin: 20px auto;
    width: 80%; } }
/* フォーム装飾
----------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="number"], input[type="email"], input[type="date"], textarea, select {
  -webkit-appearance: none;
  width: 100%;
  height: auto;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  background: #FFF;
  transition: all .3s; }
  input[type="text"].w100, input[type="tel"].w100, input[type="number"].w100, input[type="email"].w100, input[type="date"].w100, textarea.w100, select.w100 {
    width: 98%; }
  input[type="text"].w80, input[type="tel"].w80, input[type="number"].w80, input[type="email"].w80, input[type="date"].w80, textarea.w80, select.w80 {
    width: 80%; }
  input[type="text"].w60, input[type="tel"].w60, input[type="number"].w60, input[type="email"].w60, input[type="date"].w60, textarea.w60, select.w60 {
    width: 60%; }
  input[type="text"].w40, input[type="tel"].w40, input[type="number"].w40, input[type="email"].w40, input[type="date"].w40, textarea.w40, select.w40 {
    width: 40%;
    margin-right: 20px; }
  input[type="text"].w30, input[type="tel"].w30, input[type="number"].w30, input[type="email"].w30, input[type="date"].w30, textarea.w30, select.w30 {
    width: 30%; }
  input[type="text"].w20, input[type="tel"].w20, input[type="number"].w20, input[type="email"].w20, input[type="date"].w20, textarea.w20, select.w20 {
    width: 20%; }

input[type='checkbox'] {
  width: 20px;
  height: 24px;
  position: relative;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  text-align: center;
  appearance: none;
  outline: none;
  cursor: pointer; }
  input[type='checkbox']::before {
    width: 20px;
    height: 20px;
    position: absolute;
    content: '';
    display: block;
    border: solid 1px #ccc;
    border-radius: 4px;
    background: #fff; }
  input[type='checkbox']:checked::before {
    background-color: #B3B3B3; }
  input[type='checkbox']::after {
    width: 4px;
    height: 12px;
    position: absolute;
    content: '';
    left: 8px;
    top: 2px;
    display: block;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(45deg);
    opacity: 0; }
  input[type='checkbox']:checked::after {
    opacity: 1; }

input[type="number"] {
  margin-right: 10px; }

input[type="file"] {
  padding: 10px 0;
  transition: all .3s; }

/*input[type="text"]:focus , input[type="tel"]:focus , input[type="email"]:focus , textarea:focus {
  box-shadow: 0 0 4px #86BBCD;
  border: 1px solid #86BBCD;
}*/
input[type="radio"] {
  width: 18px;
  height: 18px;
  vertical-align: middle; }

textarea {
  height: 160px;
  margin-bottom: 20px; }

::-webkit-input-placeholder {
  color: #cccccc; }

::-moz-placeholder {
  color: #cccccc; }

:-ms-input-placeholder {
  color: #cccccc; }

input[type="radio"] {
  display: none; }
  input[type="radio"] + span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 24px;
    cursor: pointer;
    font-size: 14px;
    color: #333; }
    input[type="radio"] + span::before {
      width: 14px;
      height: 14px;
      position: absolute;
      top: 50%;
      left: 0;
      content: "";
      display: block;
      border: 1px solid #B3B3B3;
      border-radius: 50%;
      transform: translateY(-50%);
      background: #fff; }
  input[type="radio"]:checked + span::after {
    width: 8px;
    height: 8px;
    position: absolute;
    top: 50%;
    left: 4px;
    content: "";
    display: block;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #666666; }
  input[type="radio"]:checked + span::before {
    border: 1px solid #B3B3B3; }

input[type="submit"] {
  width: 35%;
  height: auto;
  position: relative;
  display: block;
  padding: 16px 0;
  margin: 32px auto 0;
  font-size: 16px;
  font-weight: bold;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  background: #111;
  transition: .3s;
  cursor: pointer; }
  input[type="submit"]:hover {
    opacity: 0.7;
    transition: .3s; }

input[type="button"] {
  width: 35%;
  height: auto;
  position: relative;
  display: block;
  padding: 16px 0;
  margin: 56px auto 0;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  text-align: center;
  border: 1px solid #111;
  border-radius: 8px;
  background: #FFF;
  transition: .3s;
  cursor: pointer; }
  input[type="button"]:hover {
    opacity: 0.7;
    transition: .3s; }

@media screen and (max-width: 896px) {
  input[type="button"] {
    width: 80%; }

  input[type="submit"] {
    width: 100%;
    margin: 24px auto 0;
    padding: 12px 0; }

  input[type="text"], input[type="tel"], input[type="number"], input[type="email"], textarea, select {
    background: #fff; }

  input[type="number"].w20, input[type="date"].w20 {
    width: 50%; }

  input[type="text"].w40, input[type="tel"].w40, input[type="email"].w40, textarea.w40, select.w40 {
    width: 100%;
    margin: 0; }

  input[type="text"].w60, input[type="tel"].w60, input[type="email"].w60, textarea.w60, select.w60 {
    width: 100%;
    margin: 0; }

  input[type="text"].w80, input[type="tel"].w80, input[type="email"].w80, textarea.w80, select.w80 {
    width: 100%;
    margin: 0; }

  input[type="text"].w100, input[type="tel"].w100, input[type="email"].w100, textarea.w100, select.w100 {
    width: 100%;
    margin: 0; }

  textarea {
    margin-left: 0;
    margin-bottom: 0; } }
.privacypolicy_checkbox {
  width: 100%;
  margin-top: 40px;
  text-align: center; }
  .privacypolicy_checkbox .wpcf7-list-item-label {
    color: #666 !important; }

/*     reCAPTCHA     */
.grecaptcha-badge {
  z-index: 9999 !important; }

/*****************************************************

 Template - Header
 
*****************************************************/
.global_header {
  position: relative; }

.header_wrapper {
  width: 350px;
  height: 100%;
  position: fixed;
  top: 0;
  border-top: 10px solid #231815;
  border-bottom: 10px solid #231815;
  box-sizing: border-box;
  background-image: linear-gradient(60deg, white, #f5ffff 50%, white);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  z-index: 5; }
  .header_wrapper .shop_btn {
    width: 100%;
    position: absolute;
    bottom: 0;
    padding: 16px;
    box-sizing: border-box;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #00426b; }
    .header_wrapper .shop_btn i {
      margin-right: 10px; }
    .header_wrapper .shop_btn:hover {
      opacity: 0.7;
      transition: .3s; }
    .header_wrapper .shop_btn::after {
      width: 100px;
      height: 47px;
      position: absolute;
      top: -48px;
      left: 14px;
      content: '';
      background: url("../images/common/nav_bk.png") center/cover no-repeat; }

.header_logo {
  width: 115px;
  height: 188px;
  padding: 68px 0 80px;
  margin: 0 auto; }
  .header_logo:hover {
    opacity: 0.7;
    transition: .3s; }

.global_nav ul {
  text-align: center; }
  .global_nav ul li {
    margin-bottom: 24px; }
    .global_nav ul li:last-of-type {
      margin-bottom: 0; }
    .global_nav ul li a {
      font-size: 18px;
      font-weight: bold;
      color: #333333;
      text-decoration: none; }
      .global_nav ul li a:hover {
        opacity: 0.7;
        transition: .3s; }
  .global_nav ul .nav_sns_link a {
    margin-right: 10px;
    font-size: 24px; }
    .global_nav ul .nav_sns_link a:last-of-type {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .header_wrapper {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 0;
    border-bottom: 0; }

  .header_logo {
    width: 60px;
    height: 42px;
    padding: 10px 0;
    margin: 0 0 0 16px; }

  .global_nav {
    position: static; } }
/*****************************************************

 Template - Cover
 
*****************************************************/
/*　slick（スライダー）
----------------------------------------------------*/
.slider_area {
  position: relative; }
  .slider_area .slick-dots {
    bottom: 10px;
    z-index: 3; }
    .slider_area .slick-dots li {
      margin: 0 3px; }
  .slider_area .slick-dotted.slick-slider {
    margin-bottom: 0; }
  .slider_area .slick-dots li button::before {
    font-size: 20px; }
  .slider_area .slick-dots li.slick-active button:before {
    color: #fff; }
  .slider_area .slick-dots li button:before {
    color: #fff; }

.slider {
  margin: 0 auto;
  width: 100%;
  position: relative; }
  .slider .slick-track {
    position: relative; }
  .slider .slide figure {
    position: relative;
    margin: 0; }
    .slider .slide figure img {
      width: 100%;
      height: 100%;
      position: relative;
      margin-bottom: 0;
      line-height: 0;
      object-fit: cover; }

@media screen and (max-width: 896px) {
  .slider_area {
    padding-top: 62px; }

  .slider .slide figure {
    height: 280px; }

  .slider .slide figure img {
    width: 100%; } }
.lv1_main_cover {
  width: 100%;
  background: #fff; }
  .lv1_main_cover .band {
    width: 100%;
    margin: 64px 0 120px;
    font-size: 0; }
    .lv1_main_cover .band img {
      width: 100%; }

@media screen and (max-width: 896px) {
  .lv1_main_cover .band {
    margin: 80px 0 20px; } }
.main_cover_area figure {
  width: 100%;
  font-size: 0; }
  .main_cover_area figure img {
    width: 100%; }

.main_ttl_area {
  position: absolute;
  top: -100px;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
  background: #fff; }
  .main_ttl_area img {
    width: 65px;
    display: block;
    margin: 0 auto 10px; }

@media screen and (max-width: 896px) {
  .main_ttl_area {
    top: -40px;
    right: 10px;
    padding: 14px 12px; }

  .main_ttl_area img {
    width: 33px;
    margin: 0 auto 10px; } }
/*****************************************************

 Template - Footer
 
*****************************************************/
.footer_wrapper {
  width: 100%;
  height: 580px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #002942; }

@media screen and (max-width: 896px) {
  .footer_wrapper {
    height: auto;
    flex-wrap: wrap; } }
.footer_info_area {
  width: 70%;
  padding: 80px;
  box-sizing: border-box; }
  .footer_info_area .info_top_area {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 2px solid #fff; }
    .footer_info_area .info_top_area figure {
      width: 110px;
      margin-right: 40px; }
      .footer_info_area .info_top_area figure:hover {
        opacity: 0.7;
        transition: .3s; }
    .footer_info_area .info_top_area .info_txt_area p:nth-of-type(1) {
      margin-bottom: 10px;
      font-size: 24px;
      font-weight: bold;
      color: #fff; }
    .footer_info_area .info_top_area .info_txt_area p:nth-of-type(2) {
      margin-bottom: 20px;
      font-size: 16px;
      font-weight: bold;
      color: #fff; }
    .footer_info_area .info_top_area .info_txt_area .sns_link_area a {
      margin-right: 10px;
      text-decoration: none;
      font-size: 32px;
      color: #fff;
      transition: .3s; }
      .footer_info_area .info_top_area .info_txt_area .sns_link_area a:last-of-type {
        margin-right: 0; }
      .footer_info_area .info_top_area .info_txt_area .sns_link_area a:hover {
        opacity: 0.7;
        transition: .3s; }
  .footer_info_area .info_under_area {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    .footer_info_area .info_under_area a {
      width: 31.6%;
      position: relative;
      padding: 14px;
      box-sizing: border-box;
      margin-right: 24px;
      text-decoration: none;
      font-size: 16px;
      font-weight: bold;
      color: #fff;
      text-align: center;
      background: rgba(255, 255, 255, 0.2);
      transition: .3s; }
      .footer_info_area .info_under_area a i {
        margin-right: 10px; }
      .footer_info_area .info_under_area a:last-of-type {
        margin-right: 0; }
      .footer_info_area .info_under_area a:hover {
        opacity: 0.7;
        transition: .3s; }

@media screen and (max-width: 896px) {
  .footer_info_area {
    width: 100%;
    padding: 60px 40px; }

  .footer_info_area .info_top_area {
    flex-wrap: wrap; }

  .footer_info_area .info_top_area figure {
    width: 80px;
    margin: 0 auto 32px; }

  .footer_info_area .info_top_area .info_txt_area {
    width: 100%;
    text-align: center; }

  .footer_info_area .info_top_area .info_txt_area p:nth-of-type(1) {
    font-size: 18px; }

  .footer_info_area .info_top_area .info_txt_area p:nth-of-type(2) {
    font-size: 14px; }

  .footer_info_area .info_top_area .info_txt_area .sns_link_area a {
    font-size: 28px; }

  .footer_info_area .info_under_area {
    flex-wrap: wrap; }

  .footer_info_area .info_under_area a {
    width: 100%;
    margin: 0 0 20px 0; }

  .footer_info_area .info_under_area a:last-of-type {
    margin-bottom: 0; } }
.map_area {
  width: 30%;
  height: 100%; }

@media screen and (max-width: 896px) {
  .map_area {
    width: 100%;
    aspect-ratio: 3 / 2; } }
.copy_txt {
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #001621; }

@media screen and (max-width: 896px) {
  .copy_txt {
    padding: 14px;
    font-size: 14px; } }
/*****************************************************

 アーカイブページ
 
*****************************************************/
.news_container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap; }
  .news_container article {
    position: relative;
    width: 31.3%;
    margin: 4% 3% 0 0; }
    .news_container article figure {
      position: relative;
      width: 100%;
      font-size: 0; }
      .news_container article figure img {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        object-position: top; }
    .news_container article ul li:first-of-type {
      margin-top: 8px;
      font-size: 14px;
      color: #8d8d8d; }
    .news_container article ul li:last-of-type {
      font-size: 16px;
      font-weight: bold; }
    .news_container article a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      transition: .3s; }
    .news_container article:nth-of-type(-n+3) {
      margin-top: 0; }
    .news_container article:nth-of-type(3n) {
      margin-right: 0; }
    .news_container article:hover {
      opacity: 0.7;
      transition: .3s; }

@media screen and (max-width: 896px) {
  .news_container article {
    width: 48%;
    margin: 6% 4% 0 0; }
    .news_container article:nth-of-type(-n+2) {
      margin-top: 0 !important; }
    .news_container article:nth-of-type(even) {
      margin-right: 0 !important; }

  .news_container article:nth-of-type(-n+3) {
    margin-top: 6%; }

  .news_container article:nth-of-type(3n) {
    margin-right: 4%; }

  .news_container article ul li:first-of-type {
    font-size: 12px; }

  .news_container article ul li:last-of-type {
    font-size: 14px; } }
.category_navi {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 64px auto; }
  .category_navi li {
    width: 23.5%;
    margin: 0 2% 0 0;
    list-style-type: none; }
    .category_navi li .active {
      color: #fff;
      background: #111; }
    .category_navi li a {
      position: relative;
      display: block;
      padding: 14px;
      box-sizing: border-box;
      text-align: center;
      font-size: 16px;
      color: #fff;
      text-decoration: none;
      background: #111;
      transition: .3s; }
      .category_navi li a::after {
        position: absolute;
        top: 17px;
        right: 12px;
        content: '\f0da';
        font-size: 16px;
        font-weight: 900;
        color: #fff;
        line-height: 20px;
        font-family: 'Font Awesome 5 free';
        font-style: normal;
        transition: .3s; }
      .category_navi li a:hover {
        transition: .3s;
        opacity: 0.7; }
        .category_navi li a:hover::after {
          transition: .3s;
          opacity: 0.7; }
    .category_navi li:last-of-type {
      margin-right: 0; }
    .category_navi li:nth-of-type(4n) {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .category_navi {
    flex-wrap: wrap;
    margin: 40px auto; }

  .category_navi li {
    width: 48%;
    margin: 3% 3% 0 0; }
    .category_navi li:nth-of-type(2n) {
      margin-right: 0; }
    .category_navi li:nth-of-type(-n+2) {
      margin-top: 0 !important; }

  .category_navi li:first-of-type a {
    margin-top: 0; }

  .category_navi li a {
    width: 100%;
    margin: 0;
    padding: 12px;
    font-size: 14px; }

  .category_navi li a::after {
    top: 15px;
    right: 14px; } }
/* ページャー
----------------------------------------------------*/
.pager {
  width: 100%;
  position: relative;
  padding: 56px 0 0;
  text-align: center; }
  .pager .page-numbers {
    width: 45px;
    height: 45px;
    display: inline-block;
    margin: 12px 0 0;
    font-size: 16px;
    color: #111;
    font-weight: bold;
    line-height: 45px;
    border: 1px #111 solid;
    background: #fff;
    transition: .3s; }
    .pager .page-numbers:hover {
      color: #fff;
      border: 1px #111 solid;
      background: #111;
      opacity: 1;
      transition: .3s; }
  .pager a {
    text-decoration: none; }
  .pager .current {
    color: #fff;
    border: 1px #111 solid;
    background: #111; }

/*****************************************************

 Template - single
 
*****************************************************/
.news_area .sub_ttl {
  margin-bottom: 20px; }
.news_area .bace_btn_link {
  margin: 56px auto 0; }

.news_date_txt {
  color: #909090; }

@media screen and (max-width: 896px) {
  .news_area .sub_ttl {
    margin-bottom: 12px; }

  .news_area .sub_ttl + p {
    text-align: center; }

  .news_area .bace_btn_link {
    margin: 40px auto 0; } }
/* editor内装飾
----------------------------------------------------*/
.editor_area {
  width: 100%;
  margin-top: 40px;
  padding: 40px;
  box-sizing: border-box;
  border: 1px solid #333333;
  background: #fff;
  /*画像中央合わせ*/ }
  .editor_area h3 {
    margin-top: 32px; }
  .editor_area h4 {
    margin-top: 20px; }
  .editor_area h3 + p, .editor_area h4 + p {
    margin-top: 0; }
  .editor_area p {
    margin-top: 16px;
    font-size: 16px;
    color: #333;
    line-height: 28px;
    text-align: left;
    word-break: break-all; }
    .editor_area p:first-of-type {
      margin-top: 0; }
  .editor_area img {
    width: auto;
    height: auto;
    max-width: 100%;
    margin-top: 20px;
    border: none !important; }
  .editor_area img.aligncenter {
    display: block;
    margin: 0 auto !important; }
  .editor_area .size-thumbnail {
    width: 30% !important;
    margin-right: 5% !important; }
    .editor_area .size-thumbnail:nth-of-type(3n) {
      margin-right: 0 !important; }
  .editor_area .size-medium {
    width: 48% !important;
    margin-right: 4% !important; }
    .editor_area .size-medium:nth-of-type(2n) {
      margin-right: 0 !important; }
  .editor_area .size-large {
    width: 100% !important; }
  .editor_area a {
    text-decoration: none;
    font-weight: bold;
    color: #005088; }
    .editor_area a:hover {
      text-decoration: underline;
      transition: .3s; }
  .editor_area strong {
    font-weight: 700; }
  .editor_area em {
    font-style: italic; }
  .editor_area ul {
    margin-top: 24px;
    padding-left: 4.2rem;
    list-style: disc; }
    .editor_area ul li {
      margin-top: 8px; }
      .editor_area ul li:first-child {
        margin-top: 0; }
  .editor_area ol {
    margin-top: 24px;
    padding-left: 4.2rem;
    list-style: decimal; }
    .editor_area ol li {
      margin-top: 8px; }
      .editor_area ol li:first-child {
        margin-top: 0; }
  .editor_area hr {
    margin-top: 32px;
    margin-bottom: 32px;
    border-top: 1px #cccccc dotted; }

@media screen and (max-width: 896px) {
  .editor_area {
    margin-top: 32px;
    padding: 16px; }

  .editor_area h3 {
    margin-top: 24px; }

  .editor_area p {
    font-size: 14px;
    line-height: 24px; } }
/*****************************************************

 Page - Home
 
*****************************************************/
/* トップバナー（頒布会）
----------------------------------------------------*/
.top_bnr_area {
  width: 100%; }
  .top_bnr_area figure {
    width: 100%;
    font-size: 0;
    transition: .3s; }
    .top_bnr_area figure img {
      width: 100%; }
    .top_bnr_area figure:hover {
      opacity: 0.7;
      transition: .3s; }

/* お知らせ
----------------------------------------------------*/
.top_news_conteiner .bace_btn_link {
  margin: 56px auto 0; }

@media screen and (max-width: 896px) {
  .top_news_conteiner .bace_btn_link {
    margin: 40px auto 0; } }
/* 酒造りへのこだわり
----------------------------------------------------*/
.top_commitment_bk {
  width: 100%;
  font-size: 0; }
  .top_commitment_bk img {
    width: 100%; }

.top_commitment_area .top_commitment_txt_area {
  width: 100%;
  position: relative;
  margin-top: -100px;
  padding: 64px;
  box-sizing: border-box;
  background: #fff;
  z-index: 0; }
  .top_commitment_area .top_commitment_txt_area .bace_btn_link {
    margin: 0 auto; }
  .top_commitment_area .top_commitment_txt_area::after {
    position: absolute;
    width: 150px;
    height: 180px;
    bottom: 30px;
    right: 30px;
    content: '';
    background: url("../images/home/top_commitment_icon.png") center/cover no-repeat;
    z-index: -1; }
.top_commitment_area .bnr_brewery {
  width: 100%;
  margin: 120px auto;
  font-size: 0;
  transition: .3s; }
  .top_commitment_area .bnr_brewery img {
    width: 100%; }
  .top_commitment_area .bnr_brewery:hover {
    opacity: 0.7;
    transition: .3s; }

@media screen and (max-width: 896px) {
  .top_commitment_area .top_commitment_txt_area {
    margin-top: -40px;
    padding: 20px; }

  .top_commitment_area .top_commitment_txt_area::after {
    display: none; }

  .top_commitment_area .bnr_brewery {
    margin: 60px auto; } }
.top_commitment_mtfuji_water_area {
  background: url("../images/home/top_commitment_mtfuji_water_bk.jpg") center/cover no-repeat; }
  .top_commitment_mtfuji_water_area figure {
    width: 100%;
    font-size: 0; }
    .top_commitment_mtfuji_water_area figure img {
      width: 100%; }

/* 富士正を知る
----------------------------------------------------*/
.top_company_area {
  width: 100%;
  position: relative; }
  .top_company_area::before {
    position: absolute;
    width: 600px;
    height: 310px;
    top: 40px;
    right: 0;
    content: '';
    background: url("../images/home/top_company_illust.png") center/cover no-repeat;
    z-index: -1; }
  .top_company_area::after {
    position: absolute;
    width: 100%;
    height: 635px;
    bottom: 0;
    left: 0;
    content: '';
    background: url("../images/home/top_company_bk.png") center/cover no-repeat;
    z-index: -1; }
  .top_company_area .bace_btn_link {
    margin: 0 auto; }

@media screen and (max-width: 896px) {
  .top_company_area::before {
    display: none; }

  .top_company_area::after {
    height: 395px; } }
.top_company_link_area {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 56px; }
  .top_company_link_area .top_company_link_item {
    width: 30.6%;
    position: relative;
    margin: 4% 4% 0 0;
    padding: 40px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.2); }
    .top_company_link_area .top_company_link_item figure {
      width: 75%;
      margin: 0 auto;
      font-size: 0; }
      .top_company_link_area .top_company_link_item figure img {
        width: 100%; }
    .top_company_link_area .top_company_link_item p {
      margin-top: 12px;
      font-size: 18px;
      font-weight: bold;
      color: #005088;
      text-align: center; }
      .top_company_link_area .top_company_link_item p i {
        margin-right: 5px; }
    .top_company_link_area .top_company_link_item a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }
    .top_company_link_area .top_company_link_item:hover {
      opacity: 0.7;
      transition: .3s; }
    .top_company_link_area .top_company_link_item:nth-of-type(3n) {
      margin-right: 0; }
    .top_company_link_area .top_company_link_item:nth-of-type(-n+3) {
      margin-top: 0; }

@media screen and (max-width: 896px) {
  .top_company_link_area {
    margin-bottom: 40px; }

  .top_company_link_area .top_company_link_item {
    width: 48.5%;
    margin: 3% 3% 0 0;
    padding: 20px; }

  .top_company_link_area .top_company_link_item:nth-of-type(-n+3) {
    margin-top: 3%; }

  .top_company_link_area .top_company_link_item:nth-of-type(-n+2) {
    margin-top: 0 !important; }

  .top_company_link_area .top_company_link_item:nth-of-type(3n) {
    margin-right: 3%; }

  .top_company_link_area .top_company_link_item:nth-of-type(2n) {
    margin-right: 0 !important; }

  .top_company_link_area .top_company_link_item figure {
    width: 70%; }

  .top_company_link_area .top_company_link_item p {
    font-size: 14px; }

  .top_company_link_area .top_company_link_item p i {
    margin-right: 2px; } }
/* 商品ラインアップ
----------------------------------------------------*/
.top_product_area {
  width: 100%;
  margin-bottom: 56px !important; }
  .top_product_area .top_product_item {
    margin-right: 40px; }
    .top_product_area .top_product_item figure {
      width: 413px;
      position: relative;
      overflow: hidden; }
      .top_product_area .top_product_item figure img {
        width: 100%;
        height: auto;
        display: block; }
      .top_product_area .top_product_item figure figcaption {
        position: absolute;
        top: 20px;
        right: 20px;
        padding: 8px 2px;
        box-sizing: border-box;
        font-size: 24px;
        font-weight: bold;
        color: #111;
        letter-spacing: 5px;
        writing-mode: vertical-rl;
        background: rgba(255, 255, 255, 0.6); }
  .top_product_area .slick-initialized .slick-slide {
    display: flex !important; }
  .top_product_area .slick-prev::before {
    position: relative;
    content: "\f053" !important;
    color: #fff !important;
    font-family: FontAwesome !important;
    opacity: 1 !important; }
  .top_product_area .slick-prev {
    width: 50px !important;
    height: 50px !important;
    left: 6% !important;
    border-radius: 50%;
    background: #111 !important;
    z-index: 2; }
  .top_product_area .slick-next {
    width: 50px !important;
    height: 50px !important;
    right: 6% !important;
    border-radius: 50%;
    background: #111 !important;
    z-index: 2; }
  .top_product_area .slick-next::before {
    position: relative;
    content: "\f054" !important;
    color: #fff !important;
    font-family: FontAwesome !important;
    opacity: 1 !important; }

.top_product_area + .bace_btn_link {
  margin: 0 auto; }

@media screen and (max-width: 896px) {
  .top_product_area .top_product_item figure {
    width: 300px; }

  .top_product_area .top_product_item figure figcaption {
    top: 10px;
    right: 10px;
    font-size: 18px; }

  .top_product_area .slick-prev {
    left: 3% !important; }

  .top_product_area .slick-next {
    right: 3% !important; }

  .top_product_area .slick-initialized .slick-slide {
    display: block !important; }

  .top_product_area + .bace_btn_link {
    width: 90%; } }
/*****************************************************

 Page - commitment
 
*****************************************************/
/* 富士山に一番近い酒蔵
----------------------------------------------------*/
.brew_area figure {
  margin: 0 auto;
  font-size: 0;
  text-align: center; }

@media screen and (max-width: 896px) {
  .brew_area figure {
    width: 80%; }

  .brew_area figure img {
    width: 100%; } }
/* こだわり（共通パーツ）
----------------------------------------------------*/
.commitment_h_bg {
  position: relative;
  margin: 0 auto 64px;
  font-size: 0;
  text-align: center; }
  .commitment_h_bg img {
    position: relative; }
  .commitment_h_bg::before {
    position: absolute;
    width: 62px;
    height: 49px;
    bottom: -40px;
    left: -80px;
    content: '';
    background: url("../images/commitment/commitment_h_before.svg") center/cover no-repeat; }
  .commitment_h_bg::after {
    position: absolute;
    width: 62px;
    height: 49px;
    top: -40px;
    right: -80px;
    content: '';
    background: url("../images/commitment/commitment_h_after.svg") center/cover no-repeat; }

@media screen and (max-width: 896px) {
  .commitment_h_bg {
    margin: 0 auto 40px; }

  .commitment_h_bg img {
    width: 100%; }

  .commitment_h_bg::before {
    width: 32px;
    height: 26px;
    bottom: -20px;
    left: -30px; }

  .commitment_h_bg::after {
    width: 32px;
    height: 26px;
    top: -20px;
    right: -30px; } }
.commitment_img_area {
  width: 95%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 auto; }
  .commitment_img_area figure {
    width: 32.9%;
    margin-right: 10px;
    font-size: 0; }
    .commitment_img_area figure img {
      position: relative;
      width: 100%; }
    .commitment_img_area figure:last-of-type {
      margin-right: 0; }

/* こだわり（その他パーツ）
----------------------------------------------------*/
.water {
  position: relative; }
  .water .commitment_h_bg {
    width: 477px; }
  .water::after {
    position: absolute;
    width: 582px;
    height: 218px;
    top: 545px;
    right: 0;
    content: '';
    background: url("../images/commitment/water_illust.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .water .commitment_h_bg {
    width: 55%; }

  .water::after {
    display: none; } }
.rice {
  position: relative; }
  .rice .commitment_h_bg {
    width: 574px; }
  .rice .commitment_img_area::after {
    position: absolute;
    width: 550px;
    height: 298px;
    top: -260px;
    right: -2%;
    content: '';
    background: url("../images/commitment/rice_illust.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .rice .commitment_h_bg {
    width: 60%; }

  .rice .commitment_img_area::after {
    display: none; } }
.structure {
  position: relative; }
  .structure .commitment_h_bg {
    width: 157px; }
  .structure::after {
    position: absolute;
    width: 451px;
    height: 396px;
    top: 325px;
    right: 0;
    content: '';
    background: url("../images/commitment/structure_illust.png") center/cover no-repeat;
    z-index: -1; }

@media screen and (max-width: 896px) {
  .structure::after {
    display: none; }

  .structure .commitment_h_bg {
    width: 20%; } }
.craftsman .commitment_h_bg {
  width: 197px; }
.craftsman .commitment_img_area::after {
  position: absolute;
  width: 366px;
  height: 349px;
  top: -310px;
  right: -2%;
  content: '';
  background: url("../images/commitment/craftsman_illust.png") center/cover no-repeat;
  z-index: -1; }

@media screen and (max-width: 896px) {
  .craftsman .commitment_h_bg {
    width: 20%; }

  .craftsman .commitment_img_area::after {
    display: none; } }
.mtfuji_water_img {
  width: 100%;
  margin-bottom: 64px;
  font-size: 0; }
  .mtfuji_water_img img {
    width: 100%; }

@media screen and (max-width: 896px) {
  .mtfuji_water_img {
    margin-bottom: 40px; } }
/* リンクバナーエリア
----------------------------------------------------*/
.bnr_link_area {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 120px; }
  .bnr_link_area figure {
    width: 48%;
    margin-right: 40px;
    font-size: 0;
    transition: .3s; }
    .bnr_link_area figure img {
      width: 100%; }
    .bnr_link_area figure:hover {
      opacity: 0.7;
      transition: .3s; }
    .bnr_link_area figure:last-of-type {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .bnr_link_area {
    flex-wrap: wrap;
    margin-top: 60px; }

  .bnr_link_area figure {
    width: 100%;
    margin-right: 0;
    margin-bottom: 24px; }

  .bnr_link_area figure:last-of-type {
    margin-bottom: 0; } }
/*****************************************************

 Page - company
 
*****************************************************/
/* 売店紹介
----------------------------------------------------*/
.store_2col_area {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 64px; }
  .store_2col_area .gallery_area {
    width: 48%; }
    .store_2col_area .gallery_area figure {
      width: 100%;
      font-size: 0; }
      .store_2col_area .gallery_area figure img {
        width: 100%; }
    .store_2col_area .gallery_area .gallery_item {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; }
      .store_2col_area .gallery_area .gallery_item button {
        width: 30.6%;
        position: relative;
        margin: 4% 4% 0 0;
        font-size: 0;
        cursor: pointer; }
        .store_2col_area .gallery_area .gallery_item button img {
          width: 100%;
          filter: grayscale(100%);
          transition: 0.3s; }
        .store_2col_area .gallery_area .gallery_item button:nth-of-type(3n) {
          margin-right: 0; }
        .store_2col_area .gallery_area .gallery_item button.is_active img {
          width: 100%;
          opacity: 1;
          filter: grayscale(0%); }
        .store_2col_area .gallery_area .gallery_item button.is_active:hover {
          transition: 0.3s;
          opacity: 1; }
        .store_2col_area .gallery_area .gallery_item button:hover img {
          transition: 0.3s;
          filter: grayscale(40%); }
  .store_2col_area .map {
    width: 48%;
    height: 100%;
    aspect-ratio: 4 / 3; }

@media screen and (max-width: 896px) {
  .store_2col_area {
    height: auto;
    flex-wrap: wrap;
    margin-top: 40px; }

  .store_2col_area .gallery_area {
    width: 100%; }

  .store_2col_area .map {
    width: 100%;
    margin-top: 40px; } }
/* フードパークの紹介
----------------------------------------------------*/
.foodpark_area .bace_btn_link {
  margin: 0 auto; }

.foodpark_img_area {
  width: 95%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 64px auto 0; }
  .foodpark_img_area figure {
    width: 32.9%;
    margin-right: 10px;
    font-size: 0; }
    .foodpark_img_area figure img {
      width: 100%; }
    .foodpark_img_area figure:last-of-type {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .foodpark_img_area {
    margin: 56px auto 0; } }
/* 業務用販売取引について
----------------------------------------------------*/
.transaction_area ul {
  width: 100%;
  position: relative; }
  .transaction_area ul li {
    margin-top: 24px; }
    .transaction_area ul li p {
      position: relative;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      font-size: 16px;
      font-weight: bold;
      color: #333; }
      .transaction_area ul li p span {
        width: 50px;
        height: 50px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 16px;
        font-size: 22px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        background: #bea990;
        border-radius: 50%;
        z-index: 1; }
        .transaction_area ul li p span::after {
          width: 2px;
          height: 110px;
          position: absolute;
          content: '';
          top: 0;
          margin: 0 auto;
          background: #bea990;
          z-index: -1; }
    .transaction_area ul li:first-of-type {
      margin-top: 0; }
    .transaction_area ul li:last-of-type p span::after {
      display: none; }

@media screen and (max-width: 896px) {
  .transaction_area ul li {
    margin-top: 20px; }

  .transaction_area ul li p {
    font-size: 14px; }

  .transaction_area ul li p span {
    width: 45px;
    height: 45px;
    font-size: 20px; } }
.transaction_link_area {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px; }
  .transaction_link_area .bace_btn_link {
    margin-right: 40px; }
    .transaction_link_area .bace_btn_link:first-of-type i {
      margin-right: 10px; }
    .transaction_link_area .bace_btn_link:first-of-type::after {
      display: none; }
    .transaction_link_area .bace_btn_link:last-of-type {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .transaction_link_area {
    flex-wrap: wrap; }

  .transaction_link_area .bace_btn_link {
    margin: 24px 0 0 0; }
    .transaction_link_area .bace_btn_link:first-of-type {
      margin-top: 0; } }
/* 会社概要
----------------------------------------------------*/
.overview_area {
  background: url("../images/company/overview_bk.png") center/cover no-repeat; }

@media screen and (max-width: 896px) {
  .overview_area {
    background: url(../images/company/overview_bk.png) 75%/cover no-repeat; } }
/* 歴史
----------------------------------------------------*/
.history_area {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start; }
  .history_area .history_item {
    width: 25%;
    position: relative;
    margin-right: 20px;
    padding: 120px 20px 48px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2); }
    .history_area .history_item .year {
      position: absolute;
      top: 0;
      left: 0;
      font-size: 64px;
      font-weight: bold;
      color: rgba(223, 91, 50, 0.65);
      line-height: 0.75; }
    .history_area .history_item .month {
      margin-bottom: 10px;
      font-size: 18px;
      font-weight: bold;
      color: #005088; }
    .history_area .history_item .content {
      font-size: 16px;
      font-weight: 500;
      color: #333; }
    .history_area .history_item:last-of-type {
      margin-right: 0; }

@media screen and (max-width: 896px) {
  .history_area {
    flex-wrap: wrap; }

  .history_area .history_item {
    width: 100%;
    margin: 20px 0 0 0;
    padding: 60px 20px 20px; }
    .history_area .history_item:first-of-type {
      margin-top: 0; }

  .history_area .history_item .year {
    font-size: 48px; }

  .history_area .history_item .month {
    font-size: 16px; }

  .history_area .history_item .content {
    font-size: 14px; } }
.history_img_area {
  width: 100%;
  font-size: 0; }
  .history_img_area img {
    width: 100%; }

/* 受賞実績
----------------------------------------------------*/
.awards_area .awards_item {
  margin-top: 64px; }
  .awards_area .awards_item:first-of-type {
    margin-top: 0; }

@media screen and (max-width: 896px) {
  .awards_area .awards_item {
    margin-top: 32px; } }
/*****************************************************

 Page - brewery
 
*****************************************************/
/* 酒蔵へようこそ
----------------------------------------------------*/
.brewery_bk {
  width: 100%;
  margin-top: 80px;
  font-size: 0; }
  .brewery_bk img {
    width: 100%; }

@media screen and (max-width: 896px) {
  .brewery_bk {
    margin-top: 40px; } }
.brewery_area {
  width: 100%;
  margin-top: -100px;
  padding: 40px;
  box-sizing: border-box;
  background: #fff; }
  .brewery_area .bace_btn_link {
    margin: 0 auto; }

@media screen and (max-width: 896px) {
  .brewery_area {
    margin-top: -40px;
    padding: 20px; } }
.brewery_group_area {
  width: 100%;
  margin: 40px 0;
  padding: 24px;
  box-sizing: border-box;
  text-align: center;
  background: rgba(0, 80, 136, 0.05); }

@media screen and (max-width: 896px) {
  .brewery_group_area {
    margin: 32px 0;
    padding: 20px;
    text-align: left; } }
/* 酒蔵見学ツアーの流れ
----------------------------------------------------*/
.flow_item {
  width: 100%;
  height: 405px;
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 40px;
  background: #fff;
  box-shadow: 1px 1px 15px rgba(178, 178, 178, 0.65); }
  .flow_item .number {
    position: absolute;
    top: -20px;
    left: -5px;
    font-size: 100px;
    font-weight: bold;
    color: rgba(170, 170, 170, 0.15);
    line-height: 1; }
  .flow_item .flow_txt_area {
    position: relative;
    width: 45%;
    height: auto;
    padding: 32px;
    box-sizing: border-box; }
  .flow_item .flow_img_area {
    position: relative;
    width: 55%;
    height: 100%; }
  .flow_item:first-of-type {
    margin-top: 0; }

.welcome {
  background: url("../images/brewery/brewery_flow_img_01.jpg") center/cover no-repeat; }

.brewery {
  background: url("../images/brewery/brewery_flow_img_02.jpg") center/cover no-repeat; }

.tasting {
  background: url("../images/brewery/brewery_flow_img_03.jpg") center/cover no-repeat; }

.buy {
  background: url("../images/brewery/brewery_flow_img_04.jpg") center/cover no-repeat; }

@media screen and (max-width: 896px) {
  .flow_item {
    height: auto;
    flex-wrap: wrap; }

  .flow_item .flow_txt_area {
    width: 100%;
    padding: 24px; }

  .flow_item .flow_img_area {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2; } }
/* よくあるご質問
----------------------------------------------------*/
.faq_item {
  width: 100%;
  margin-top: 32px;
  padding: 40px;
  box-sizing: border-box;
  border: 1px solid #333;
  background: #fff; }
  .faq_item:first-of-type {
    margin-top: 0; }

@media screen and (max-width: 896px) {
  .faq_item {
    padding: 20px; } }
/*****************************************************

 Page - product
 
*****************************************************/
/* 富士正のお酒
----------------------------------------------------*/
.product_area {
  position: relative;
  width: 100%; }
  .product_area .product_item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px; }
    .product_area .product_item .product_img {
      width: 50%;
      font-size: 0; }
      .product_area .product_item .product_img img {
        width: 100%; }
    .product_area .product_item .product_txt_area {
      position: relative;
      width: 50%;
      padding: 40px;
      box-sizing: border-box; }
      .product_area .product_item .product_txt_area h4 {
        margin-top: 40px; }
      .product_area .product_item .product_txt_area .recommend_area {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start; }
        .product_area .product_item .product_txt_area .recommend_area figure {
          width: 32.4%;
          margin-right: 10px;
          font-size: 0; }
          .product_area .product_item .product_txt_area .recommend_area figure img {
            width: 100%; }
          .product_area .product_item .product_txt_area .recommend_area figure figcaption {
            margin-top: 8px;
            font-size: 16px;
            font-weight: bold;
            color: #333; }
          .product_area .product_item .product_txt_area .recommend_area figure:last-of-type {
            margin-right: 0; }
      .product_area .product_item .product_txt_area::before {
        position: absolute;
        width: 350px;
        height: 180px;
        top: -100px;
        right: 40px;
        content: '';
        background: url("../images/product/product_bk_illust.png") center/cover no-repeat; }
    .product_area .product_item .bace_btn_link {
      margin-top: 56px; }
    .product_area .product_item:nth-of-type(even) {
      flex-direction: row-reverse; }

@media screen and (max-width: 896px) {
  .product_area .product_item {
    margin-top: 40px;
    flex-wrap: wrap; }

  .product_area .product_item .product_img {
    width: 100%; }

  .product_area .product_item .product_txt_area {
    width: 90%;
    margin: 40px auto;
    padding: 0; }

  .product_area .product_item .product_txt_area::before {
    width: 140px;
    height: 73px;
    top: -20px;
    right: 0; }

  .product_area .product_item .product_txt_area h4 {
    margin-top: 28px; }

  .product_area .product_item .product_txt_area .recommend_area {
    flex-wrap: wrap; }

  .product_area .product_item .product_txt_area .recommend_area figure {
    width: 48%;
    margin: 6% 4% 0 0; }
    .product_area .product_item .product_txt_area .recommend_area figure:nth-of-type(-n+2) {
      margin-top: 0 !important; }
    .product_area .product_item .product_txt_area .recommend_area figure:nth-of-type(2n) {
      margin-right: 0; }

  .product_area .product_item .product_txt_area .recommend_area figure figcaption {
    font-size: 14px; }

  .product_area .product_item .bace_btn_link {
    margin-top: 32px; } }
/*****************************************************

 Page - contact
 
*****************************************************/
/* お電話でのお問い合わせ
----------------------------------------------------*/
.contact_tel_area {
  width: 100%;
  padding: 48px;
  box-sizing: border-box;
  text-align: center;
  border: 1px solid #333; }
  .contact_tel_area a {
    font-size: 40px;
    font-weight: bold;
    color: #00426b;
    text-decoration: none; }
    .contact_tel_area a i {
      margin-right: 10px; }
    .contact_tel_area a:hover {
      opacity: 0.7;
      transition: .3s; }
  .contact_tel_area p {
    margin-top: 12px;
    font-size: 16px;
    color: #333; }

@media screen and (max-width: 896px) {
  .contact_tel_area {
    padding: 20px; }

  .contact_tel_area a {
    font-size: 24px; }

  .contact_tel_area p {
    margin-top: 8px;
    font-size: 14px; } }
