@charset "UTF-8";
/*===================================
共通
===================================*/
a {
  opacity: 1;
  transition: opacity .3s;
  cursor: pointer;
  text-decoration: none !important;
  color: #000 !important; }
  a img {
    filter: opacity(1);
    transition: filter .3s; }
  a:hover {
    opacity: .7;
    transition: opacity .3s; }
    a:hover img {
      filter: opacity(0.7);
      transition: filter .3s; }

img {
  display: block; }

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (min-width: 1281px) {
    .flex {
      flex-wrap: nowrap; } }

.inner01 {
  max-width: 1660px;
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 1281px) {
    .inner01 {
      padding: 110px 80px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .inner01 {
      padding: 110px 15px; } }

.gray {
  color: #707070; }

.white {
  color: #fff; }

#sec01, #footer {
  position: relative;
  z-index: 1;
  background-color: #fff; }

#pgc-7-2-0 {
  width: 100% !important; }
  @media (min-width: 1281px) {
    #pgc-7-2-0 {
      width: 40% !important; } }

#pgc-7-2-1 {
  width: 100% !important; }
  @media (min-width: 1281px) {
    #pgc-7-2-1 {
      width: 60% !important; } }

#pgc-7-0-1, #pgc-7-0-0 {
  width: 100% !important; }
  @media (min-width: 1281px) {
    #pgc-7-0-1, #pgc-7-0-0 {
      width: calc(50% - ( 0.5 * 30px ) ) !important; } }

#pg-7-0 {
  flex-wrap: wrap-reverse !important;
  -webkit-flex-direction: unset !important;
  -ms-flex-direction: unset !important;
  flex-direction: unset !important; }

@media (max-width: 767px) {
  #pgc-7-0-0 {
    margin-bottom: 0 !important; } }

@media (min-width: 1281px) {
  .panel-grid.panel-has-style > .panel-row-style, .panel-grid.panel-no-style {
    flex-wrap: wrap !important; } }

.hd02 {
  display: flex;
  margin-bottom: 50px !important; }
  @media (min-width: 1281px) {
    .hd02 {
      font-size: 60px !important; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .hd02 {
      font-size: 40px !important; } }
  @media (max-width: 767px) {
    .hd02 {
      font-size: 22px !important;
      margin-bottom: 20px !important; } }
  .hd02::after {
    background-color: #010101;
    /* 横線の色 */
    content: "";
    height: 1px;
    /* 横線の高さ */
    width: 200px;
    /* 横線の長さ */
    margin-left: 20px; }
    @media (max-width: 767px) {
      .hd02::after {
        width: 50px;
        margin-left: 8px; } }

.br-sp {
  display: none; }
  @media (max-width: 767px) {
    .br-sp {
      display: block; } }

/*===================================
ヘッダー
===================================*/
.header {
  position: fixed;
  z-index: 999;
  width: 100%; }

.header_box {
  background-color: #010101;
  padding: 15px 10px 15px; }
  @media (min-width: 1281px) {
    .header_box {
      padding: 31px 30px 31px 70px;
      width: 95%; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .header_box {
      width: 90%; } }
  @media (max-width: 767px) {
    .header_box {
      width: 87%; } }
  @media (max-width: 767px) {
    .header_box img {
      width: 130px; } }

.nav_box {
  display: none; }
  @media (min-width: 1281px) {
    .nav_box {
      display: flex; } }

.online_link {
  display: none; }
  @media (min-width: 1281px) {
    .online_link {
      width: 120px;
      display: block;
      background-color: #666666;
      padding: 20px 15px; } }
  .online_link img {
    width: 33px;
    margin: 0 auto; }
  .online_link p {
    font-size: 14px;
    margin-top: 8px; }

.menu {
  height: 16px; }
  .menu li {
    padding: 0 15px;
    border-right: solid 1px #fff;
    height: 16px;
    line-height: 16px; }
    @media (max-width: 767px) {
      .menu li {
        position: relative;
        width: 100%;
        text-align: center;
        padding: 1em 0;
        border-right: none;
        height: auto; } }
    .menu li a {
      position: relative;
      color: #fff !important; }
      .menu li a::after {
        position: absolute;
        bottom: -12px;
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        /*下線の太さ*/
        background: #fff;
        /*下線の色*/
        transition: transform .3s;
        /*アニメーション速度*/
        transform-origin: right top;
        /*アニメーションの起点*/
        transform: scale(0, 1);
        /*幅は0*/ }
      .menu li a:hover::after {
        transform-origin: left;
        transform: scale(1, 1);
        /*幅を1に*/ }
  .menu li:last-of-type {
    border: none; }

.icon_box {
  display: none; }
  @media (min-width: 1281px) {
    .icon_box {
      display: flex;
      justify-content: space-between; } }

.icon_1 {
  width: 60px;
  margin: 0 auto; }
  @media (min-width: 1281px) {
    .icon_1 {
      margin: 0 24px 0 0; } }

.icon_2 {
  width: 47px;
  margin: 30px auto 0; }
  @media (min-width: 1281px) {
    .icon_2 {
      margin: 0; } }

/*===================================
トップ・スクロールダウン
===================================*/
#top, #page_top {
  width: 100%;
  position: relative; }
  @media (min-width: 1281px) {
    #top, #page_top {
      height: 100vh; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    #top, #page_top {
      height: 70vh; } }
  @media (max-width: 767px) {
    #top, #page_top {
      height: 95vh; } }
  #top img, #page_top img {
    padding-top: 60px;
    position: relative;
    top: 115px;
    left: 0;
    width: 100%; }

#top .top_txt {
  position: absolute;
  top: 50%;
  color: #fff;
  text-shadow: 0px 5px 6px rgba(0, 0, 0, 0.16);
  transform: translateY(-35%) translateX(0%);
  font-size: 80px; }
  @media (min-width: 1281px) {
    #top .top_txt {
      left: calc(300px - 95px); } }
  @media (min-width: 768px) and (max-width: 1281px) {
    #top .top_txt {
      left: calc(250px - 95px); } }
  @media (max-width: 767px) {
    #top .top_txt {
      font-size: 60px;
      left: 38px; } }
  #top .top_txt span {
    line-height: 1.6;
    display: block; }
    @media (min-width: 1281px) {
      #top .top_txt span {
        font-size: 60px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      #top .top_txt span {
        font-size: 40px; } }
    @media (max-width: 767px) {
      #top .top_txt span {
        font-size: 20px; } }

#top:before {
  content: '';
  position: fixed;
  left: 0;
  width: 100%;
  /*背景画像設定*/
  background: url("https://felicita96.co.jp/wp/wp-content/uploads/2023/09/top240624.jpg") no-repeat center;
  background-size: cover; }
  @media (min-width: 1281px) {
    #top:before {
      height: 100vh;
      top: 120px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    #top:before {
      height: 70vh; } }
  @media (max-width: 767px) {
    #top:before {
      height: 95vh; } }

.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px;
  z-index: 1; }

/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -20px;
  top: -20px;
  /*テキストの形状*/
  color: #eee;
  letter-spacing: 0.05em; }

/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0; }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 50px;
    opacity: 0; } }
/*===================================
ハンバーガーメニュー
===================================*/
.head_sp {
  display: block; }
  @media (min-width: 1281px) {
    .head_sp {
      display: none; } }

/*　ハンバーガーボタン　*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 0;
  top: 0;
  width: 10%;
  height: 72px;
  cursor: pointer;
  text-align: center;
  background-color: #666666; }
  @media (max-width: 767px) {
    .hamburger {
      width: 13%;
      height: 50px; } }

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 50%;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  transform: translateY(-50%) translateX(-50%); }

.hamburger span:nth-child(1) {
  top: 25px; }
  @media (max-width: 767px) {
    .hamburger span:nth-child(1) {
      top: 15px; } }

.hamburger span:nth-child(2) {
  top: 35px; }
  @media (max-width: 767px) {
    .hamburger span:nth-child(2) {
      top: 25px; } }

.hamburger span:nth-child(3) {
  top: 45px; }
  @media (max-width: 767px) {
    .hamburger span:nth-child(3) {
      top: 35px; } }

/* ナビ開いてる時のボタン */
.hamburger.active {
  background-color: #fff; }

.hamburger.active span {
  background: #000; }

.hamburger.active span:nth-child(1) {
  top: 36px;
  left: 36%;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  @media (max-width: 767px) {
    .hamburger.active span:nth-child(1) {
      top: 26px;
      left: 22%; } }

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 36px;
  left: 36%;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); }
  @media (max-width: 767px) {
    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
      top: 26px;
      left: 22%; } }

nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  color: #000;
  background: #fff;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%; }
  nav.globalMenuSp div {
    height: 100vh; }
  nav.globalMenuSp .logo_sp {
    padding: 15px 30px 15px 10px;
    width: 170px; }

nav.globalMenuSp ul {
  margin: 30px auto 20px;
  padding: 0;
  width: 100%; }

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  position: relative; }
  nav.globalMenuSp ul li::after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background-color: #010101;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none; }
  nav.globalMenuSp ul li:last-child::after {
    display: none; }

nav.globalMenuSp ul li:hover {
  background: #ddd; }

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration: none; }

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%); }

/*===================================
NEWS
===================================*/
@media (max-width: 767px) {
  .n_box {
    padding: 30px 30px; } }

@media (min-width: 768px) and (max-width: 1281px) {
  .kijiBox {
    margin-bottom: 30px; } }

.kiji {
  margin-bottom: 30px; }
  .kiji .kijidata {
    display: flex;
    margin-bottom: 25px; }
    .kiji .kijidata .category-name {
      width: 110px;
      height: 30px;
      line-height: 30px;
      border: 1px #000 solid;
      margin-right: 10px; }
  .kiji .kijiinnertitle p {
    font-size: 22px; }
    @media (max-width: 767px) {
      .kiji .kijiinnertitle p {
        font-size: 20px; } }
    .kiji .kijiinnertitle p::after {
      content: "";
      background-image: url("../../../uploads/2023/09/arrow.png");
      display: inline-block;
      width: 53px;
      height: 13px;
      background-size: contain;
      background-repeat: no-repeat;
      margin-right: 50px; }
      @media (max-width: 767px) {
        .kiji .kijiinnertitle p::after {
          display: none; } }

.online_img__box {
  position: relative; }
  @media (max-width: 767px) {
    .online_img__box {
      margin-top: 30px; } }
  .online_img__box::before {
    background-color: #CCCCCC;
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 0;
    right: 0;
    padding-right: calc(50vw - 50%); }
    @media (min-width: 1281px) {
      .online_img__box::before {
        top: -110px;
        bottom: -145px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .online_img__box::before {
        bottom: -100%; } }
    @media (max-width: 767px) {
      .online_img__box::before {
        bottom: -140%; } }
  @media (min-width: 1281px) {
    .online_img__box img {
      margin-left: 70px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .online_img__box img {
      margin: 0 auto; } }

/*===================================
READ MOREボタン・FOLLOW USボタン
===================================*/
/*== ボタン共通設定 */
.btn_read {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  border: 1px solid #666666;
  /* ボーダーの色と太さ */
  background: #666666;
  padding: 10px 30px;
  text-align: center;
  outline: none;
  width: 250px;
  margin: 50px auto 0;
  display: block;
  /*アニメーションの指定*/
  transition: ease .2s; }

/*ボタン内spanの形状*/
.btn_read span {
  position: relative;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff; }

.btn_read:hover span {
  color: #666666; }

/*== 背景が流れる（左から右） */
.bgleft:before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  /*色や形状*/
  background: #fff;
  /*背景色*/
  width: 100%;
  height: 100%;
  /*アニメーション*/
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top; }

/*hoverした際の形状*/
.bgleft:hover:before {
  transform-origin: left top;
  transform: scale(1, 1); }

.follow_btn {
  margin-top: 0; }
  .follow_btn::before {
    padding: 40px; }
  @media (min-width: 1281px) {
    .follow_btn {
      margin-left: 20%; } }
  @media (max-width: 767px) {
    .follow_btn {
      margin: 30px auto 50px; } }

/*===================================
スライダー
===================================*/
.slider {
  width: 100%; }
  @media (min-width: 1281px) {
    .slider {
      width: 86%; } }
  @media (min-width: 1281px) {
    .slider::before {
      background-color: #CCCCCC;
      content: "";
      position: absolute;
      z-index: -1;
      top: 130px;
      left: -100%;
      bottom: -85px;
      right: -85px; } }
  .slider img {
    margin: 0 auto; }
    @media (min-width: 768px) and (max-width: 1281px) {
      .slider img {
        margin: 30px auto 0; } }

.slick-dots {
  bottom: -30px; }
  @media (max-width: 767px) {
    .slick-dots {
      bottom: 0; } }

.slick-dots li button:before {
  font-size: 13px;
  color: #fff;
  opacity: 1; }
  @media (max-width: 767px) {
    .slick-dots li button:before {
      font-size: 10px; } }

.slick-dots li.slick-active button:before {
  color: #646464; }

/*===================================
フェードイン・フェードアウト
===================================*/
/* スクロールCSS */
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform; }

.fade-in-left {
  transform: translate(-50px, 0); }

.fade-in-right {
  transform: translate(50px, 0); }

.scroll-in {
  opacity: 1;
  transform: translate(0, 0); }

/*===================================
BRAND
===================================*/
@media (max-width: 767px) {
  .b_box {
    padding: 0 38px 30px; } }

.brand_link__box {
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: relative; }
  @media (min-width: 1281px) {
    .brand_link__box {
      margin-top: 100px;
      padding: 130px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .brand_link__box {
      margin-top: 30px; } }
  @media (max-width: 767px) {
    .brand_link__box {
      flex-wrap: wrap; } }
  @media (min-width: 1281px) {
    .brand_link__box::before {
      content: "";
      background-image: url("../../../uploads/2023/09/brand_bk.jpg");
      position: absolute;
      z-index: -1;
      top: 0;
      left: -100%;
      bottom: 0;
      right: 0;
      background-repeat: no-repeat;
      background-size: 100%;
      margin-right: calc(50% - 50vw);
      padding-right: calc(50vw - 50%); } }
  .brand_link__box a {
    display: block;
    width: 20%; }
    @media (max-width: 767px) {
      .brand_link__box a {
        width: 145px;
        margin-bottom: 10px; } }

.mobile_img {
  display: block;
  margin-top: 20px; }
  @media (min-width: 1281px) {
    .mobile_img {
      display: none; } }
  @media (max-width: 767px) {
    .mobile_img {
      margin-top: 15px; } }

/*===================================
company
===================================*/
@media (max-width: 767px) {
  .c_box {
    padding: 0 38px 30px; } }

.c_top__box {
  overflow: hidden; }
  @media (min-width: 1281px) {
    .c_top__box {
      padding: 130px 0; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .c_top__box {
      padding-bottom: 110px; } }
  @media (max-width: 767px) {
    .c_top__box {
      margin-left: 38px; } }
  .c_top__box .inner {
    margin: 0 auto;
    width: 100%;
    padding-right: 4rem; }
    @media (min-width: 768px) and (max-width: 1281px) {
      .c_top__box .inner {
        margin-top: 30px; } }
  .c_top__box .lineup {
    position: relative; }
  .c_top__box .slick-list {
    overflow: visible; }

/*===================================
instagram
===================================*/
.insta_box {
  position: relative;
  padding-top: 95px;
  background-image: url("../../../uploads/2023/09/border.png");
  background-size: 85% 90%;
  background-repeat: no-repeat;
  background-position: center; }
  @media (min-width: 768px) and (max-width: 1281px) {
    .insta_box {
      background-image: none; } }
  @media (max-width: 767px) {
    .insta_box {
      padding: 95px 38px 0;
      background-image: none; } }
  .insta_box .name {
    position: absolute;
    top: -40px;
    background-color: #fff; }
    @media (min-width: 1281px) {
      .insta_box .name {
        font-size: 72px;
        padding: 0 55px;
        left: 55%; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_box .name {
        font-size: 60px;
        padding: 0 35px; } }
    .insta_box .name span {
      content: "";
      background-image: url("../../../uploads/2023/09/insta_border.png");
      display: block;
      background-size: contain;
      width: 100%;
      height: 5px;
      margin-top: -15px; }
      @media (max-width: 767px) {
        .insta_box .name span {
          margin-top: -5px; } }
  .insta_box .felicita_name::after {
    background-color: #010101;
    content: "";
    display: block;
    height: 1px;
    width: 50px;
    margin-left: 8px;
    position: absolute; }
    @media (min-width: 1281px) {
      .insta_box .felicita_name::after {
        display: none; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_box .felicita_name::after {
        left: 235px;
        top: 50px; } }
    @media (max-width: 767px) {
      .insta_box .felicita_name::after {
        left: 135px;
        top: 35px; } }
  @media (max-width: 767px) {
    .insta_box .felicita_name {
      font-size: 40px;
      top: 20px; } }
  .insta_box .m_box {
    background-color: #fff;
    width: 35%; }
    @media (min-width: 1281px) {
      .insta_box .m_box {
        margin-left: 20%; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_box .m_box {
        margin: 30px auto 0; } }
    @media (max-width: 767px) {
      .insta_box .m_box {
        width: 100%;
        margin: 0 auto; } }

.insta_felicita__box::before {
  content: "INSTA";
  position: absolute;
  top: -150px;
  color: rgba(204, 204, 204, 0.2);
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  letter-spacing: 20px; }
  @media (min-width: 1281px) {
    .insta_felicita__box::before {
      font-size: 280px;
      left: -80px;
      right: -80px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .insta_felicita__box::before {
      font-size: 150px;
      left: 0; } }
  @media (max-width: 767px) {
    .insta_felicita__box::before {
      left: 0;
      top: auto;
      bottom: -8%;
      font-size: 165px;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      line-height: 1; } }

.insta_mie__box {
  margin-top: 50px;
  background-image: url("../../../uploads/2023/09/border_oth.png"); }
  @media (min-width: 768px) and (max-width: 1281px) {
    .insta_mie__box {
      margin-top: 70px;
      padding-top: 75px;
      background-image: none; } }
  @media (max-width: 767px) {
    .insta_mie__box {
      padding: 30px 38px 0;
      background-image: none; } }
  .insta_mie__box::before {
    content: "GRAM";
    position: absolute;
    bottom: -150px;
    color: rgba(204, 204, 204, 0.2);
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    letter-spacing: 20px; }
    @media (min-width: 1281px) {
      .insta_mie__box::before {
        font-size: 280px;
        right: -80px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_mie__box::before {
        font-size: 150px;
        right: -10px;
        bottom: -100px; } }
    @media (max-width: 767px) {
      .insta_mie__box::before {
        left: 0;
        top: -60px;
        font-size: 165px;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        line-height: 1; } }
  @media (min-width: 1281px) {
    .insta_mie__box .name {
      left: 22%; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .insta_mie__box .name {
      padding: 0;
      right: 0;
      left: auto; } }
  @media (max-width: 767px) {
    .insta_mie__box .name {
      right: 38px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .insta_mie__box .name img {
      width: 75%;
      margin-left: auto; } }
  @media (max-width: 767px) {
    .insta_mie__box .name img {
      width: 128px; } }
  .insta_mie__box .name span {
    margin-top: 10px; }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_mie__box .name span {
        width: 75%;
        margin-left: auto; } }
    @media (max-width: 767px) {
      .insta_mie__box .name span {
        width: 128px;
        margin-top: 5px; } }
  .insta_mie__box .mie_name::before {
    background-color: #010101;
    content: "";
    display: block;
    height: 1px;
    width: 50px;
    margin-right: 8px;
    position: absolute;
    top: 50%; }
    @media (min-width: 1281px) {
      .insta_mie__box .mie_name::before {
        display: none; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .insta_mie__box .mie_name::before {
        right: 185px; } }
    @media (max-width: 767px) {
      .insta_mie__box .mie_name::before {
        right: 135px; } }
  @media (min-width: 1281px) {
    .insta_mie__box .m_box {
      width: 10%;
      margin-left: 58%; } }

/*===================================
footer
===================================*/
#footer {
  background-color: #A2A2A2;
  width: 100%; }

.contact_box {
  max-width: 1660px;
  margin: 0 auto; }
  @media (min-width: 1281px) {
    .contact_box {
      padding: 120px 80px; } }
  @media (min-width: 768px) and (max-width: 1281px) {
    .contact_box {
      padding: 120px 45px; } }
  @media (max-width: 767px) {
    .contact_box {
      padding: 75px 38px; } }
  .contact_box h2 {
    margin-bottom: 24px !important; }
    .contact_box h2::after {
      background-color: #fff; }
  .contact_box .contact_inner {
    width: 100%;
    margin-top: 38px; }
    @media (min-width: 1281px) {
      .contact_box .contact_inner {
        width: 50%;
        margin-top: 0; } }
    .contact_box .contact_inner .c_txt {
      font-size: 20px;
      color: #000;
      margin-bottom: 10px; }
      @media (max-width: 767px) {
        .contact_box .contact_inner .c_txt {
          letter-spacing: -0.5px; } }
    .contact_box .contact_inner .c_inner__box {
      width: 100%;
      margin-left: auto;
      padding: 30px 10px;
      border: solid 1px #fff;
      align-items: flex-start;
      color: #fff; }
      @media (max-width: 767px) {
        .contact_box .contact_inner .c_inner__box {
          padding: 15px 10px; } }
    .contact_box .contact_inner .c_tel__box {
      width: fit-content;
      margin: 0;
      padding: 5px 10px; }
      .contact_box .contact_inner .c_tel__box a {
        color: #fff !important;
        letter-spacing: 3px;
        font-size: 30px; }
        .contact_box .contact_inner .c_tel__box a::before {
          content: "";
          background-image: url("../../../uploads/2023/09/Icon_tel.png");
          background-size: cover;
          display: inline-block;
          width: 30px;
          height: 30px;
          margin-right: 10px; }
      .contact_box .contact_inner .c_tel__box span {
        display: block;
        font-size: 14px; }
    .contact_box .contact_inner .c_mail__box {
      margin-top: 30px;
      background-color: rgba(255, 255, 255, 0.2); }
      .contact_box .contact_inner .c_mail__box p {
        width: 100%;
        display: flex;
        align-items: center;
        font-size: 24px; }
        @media (max-width: 767px) {
          .contact_box .contact_inner .c_mail__box p {
            font-size: 15px;
            justify-content: center; } }
        .contact_box .contact_inner .c_mail__box p::before {
          content: "";
          background-image: url("../../../uploads/2023/09/Icon_mail.png");
          background-size: cover;
          display: inline-block;
          width: 30px;
          height: 24px;
          margin-right: 10px;
          vertical-align: middle; }
          @media (max-width: 767px) {
            .contact_box .contact_inner .c_mail__box p::before {
              width: 17px;
              height: 14px;
              margin-right: 12px; } }
        .contact_box .contact_inner .c_mail__box p::after {
          content: "";
          background-image: url(../../../uploads/2023/09/arrow_white.png);
          display: inline-block;
          width: 53px;
          height: 13px;
          background-size: contain;
          background-repeat: no-repeat;
          margin-left: auto; }
          @media (max-width: 767px) {
            .contact_box .contact_inner .c_mail__box p::after {
              display: none; } }

.footer {
  background-color: #010101; }
  .footer .footer_box {
    border-bottom: solid 1px #fff; }
    @media (min-width: 1281px) {
      .footer .footer_box {
        padding: 75px 80px 10px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .footer .footer_box {
        padding: 75px 45px 10px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .footer .footer_box .menu {
        margin-bottom: 30px; } }
    @media (max-width: 767px) {
      .footer .footer_box .menu {
        height: auto; } }
    @media (max-width: 767px) {
      .footer .footer_box .menu li a::after {
        content: "";
        display: block;
        width: 30px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        bottom: -50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%); } }
    @media (max-width: 767px) {
      .footer .footer_box .menu li:last-of-type a::after {
        display: none; } }
    @media (max-width: 767px) {
      .footer .footer_box {
        padding: 30px 38px 10px; } }
  .footer .f_inner {
    max-width: 1500px;
    margin: 0 auto;
    padding-bottom: 35px; }
    @media (min-width: 1281px) {
      .footer .f_inner {
        padding-left: 45px; } }
    @media (min-width: 768px) and (max-width: 1281px) {
      .footer .f_inner {
        justify-content: center; } }
    @media (max-width: 767px) {
      .footer .f_inner {
        padding-bottom: 0;
        justify-content: center; } }
  .footer .office_logo_pc {
    width: 190px;
    margin-right: 80px; }
    @media (max-width: 767px) {
      .footer .office_logo_pc {
        display: none; } }
  .footer .office_logo_sp {
    display: none; }
    @media (max-width: 767px) {
      .footer .office_logo_sp {
        display: block;
        width: 140px;
        margin: 0 auto 30px; } }
  .footer .border_vertical {
    display: block;
    width: 1px;
    height: 120px;
    background: #fff;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .footer .border_vertical {
        height: 50px; } }
  .footer small {
    display: block;
    margin-top: 10px;
    font-size: 14px;
    color: #767676; }
