@charset "UTF-8";
/*** The new CSS Reset - version 1.2.0 (last updated 23.7.2021) ***/
/* Preferred box-sizing value */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,600&subset=japanese");
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove list styles (bullets/numbers) */
ol,
ul {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

@font-face {
  font-family: MyEmoji;
  src: local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Apple Color Emoji"), local("Noto Color Emoji"), local("Noto Emoji");
  unicode-range: U+A9, U+AE, U+200D, U+203C, U+2049, U+20E3, U+2122, U+2139, U+2194-2199, U+21A9-21AA, U+231A-231B, U+2328, U+23CF, U+23E9-23F3, U+23F8-23FA, U+24C2, U+25AA-25AB, U+25B6, U+25C0, U+25FB-25FE, U+2600-2604, U+260E, U+2611, U+2614-2615, U+2618, U+261D, U+2620, U+2622-2623, U+2626, U+262A, U+262E-262F, U+2638-263A, U+2640, U+2642, U+2648-2653, U+2660, U+2663, U+2665-2666, U+2668, U+267B, U+267F, U+2692-2697, U+2699, U+269B-269C, U+26A0-26A1, U+26AA-26AB, U+26B0-26B1, U+26BD-26BE, U+26C4-26C5, U+26C8, U+26CE-26CF, U+26D1, U+26D3-26D4, U+26E9-26EA, U+26F0-26F5, U+26F7-26FA, U+26FD, U+2702, U+2705, U+2708-270D, U+270F, U+2712, U+2714, U+2716, U+271D, U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274C, U+274E, U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27A1, U+27B0, U+27BF, U+2934-2935, U+2B05-2B07, U+2B1B-2B1C, U+2B50, U+2B55, U+3030, U+303D, U+3297, U+3299, U+FE0F, U+1F004, U+1F0CF, U+1F170-1F171, U+1F17E-1F17F, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201-1F202, U+1F21A, U+1F22F, U+1F232-1F23A, U+1F250-1F251, U+1F300-1F321, U+1F324-1F393, U+1F396-1F397, U+1F399-1F39B, U+1F39E-1F3F0, U+1F3F3-1F3F5, U+1F3F7-1F4FD, U+1F4FF-1F53D, U+1F549-1F54E, U+1F550-1F567, U+1F56F-1F570, U+1F573-1F57A, U+1F587, U+1F58A-1F58D, U+1F590, U+1F595-1F596, U+1F5A4-1F5A5, U+1F5A8, U+1F5B1-1F5B2, U+1F5BC, U+1F5C2-1F5C4, U+1F5D1-1F5D3, U+1F5DC-1F5DE, U+1F5E1, U+1F5E3, U+1F5E8, U+1F5EF, U+1F5F3, U+1F5FA-1F64F, U+1F680-1F6C5, U+1F6CB-1F6D2, U+1F6E0-1F6E5, U+1F6E9, U+1F6EB-1F6EC, U+1F6F0, U+1F6F3-1F6F8, U+1F910-1F93A, U+1F93C-1F93E, U+1F940-1F945, U+1F947-1F94C, U+1F950-1F96B, U+1F980-1F997, U+1F9C0, U+1F9D0-1F9E6, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
}

@font-face {
  font-family: MyEmoji;
  font-weight: bold;
  src: local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Apple Color Emoji"), local("Noto Color Emoji") local("Noto Emoji");
  unicode-range: U+A9, U+AE, U+200D, U+203C, U+2049, U+20E3, U+2122, U+2139, U+2194-2199, U+21A9-21AA, U+231A-231B, U+2328, U+23CF, U+23E9-23F3, U+23F8-23FA, U+24C2, U+25AA-25AB, U+25B6, U+25C0, U+25FB-25FE, U+2600-2604, U+260E, U+2611, U+2614-2615, U+2618, U+261D, U+2620, U+2622-2623, U+2626, U+262A, U+262E-262F, U+2638-263A, U+2640, U+2642, U+2648-2653, U+2660, U+2663, U+2665-2666, U+2668, U+267B, U+267F, U+2692-2697, U+2699, U+269B-269C, U+26A0-26A1, U+26AA-26AB, U+26B0-26B1, U+26BD-26BE, U+26C4-26C5, U+26C8, U+26CE-26CF, U+26D1, U+26D3-26D4, U+26E9-26EA, U+26F0-26F5, U+26F7-26FA, U+26FD, U+2702, U+2705, U+2708-270D, U+270F, U+2712, U+2714, U+2716, U+271D, U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274C, U+274E, U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27A1, U+27B0, U+27BF, U+2934-2935, U+2B05-2B07, U+2B1B-2B1C, U+2B50, U+2B55, U+3030, U+303D, U+3297, U+3299, U+FE0F, U+1F004, U+1F0CF, U+1F170-1F171, U+1F17E-1F17F, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201-1F202, U+1F21A, U+1F22F, U+1F232-1F23A, U+1F250-1F251, U+1F300-1F321, U+1F324-1F393, U+1F396-1F397, U+1F399-1F39B, U+1F39E-1F3F0, U+1F3F3-1F3F5, U+1F3F7-1F4FD, U+1F4FF-1F53D, U+1F549-1F54E, U+1F550-1F567, U+1F56F-1F570, U+1F573-1F57A, U+1F587, U+1F58A-1F58D, U+1F590, U+1F595-1F596, U+1F5A4-1F5A5, U+1F5A8, U+1F5B1-1F5B2, U+1F5BC, U+1F5C2-1F5C4, U+1F5D1-1F5D3, U+1F5DC-1F5DE, U+1F5E1, U+1F5E3, U+1F5E8, U+1F5EF, U+1F5F3, U+1F5FA-1F64F, U+1F680-1F6C5, U+1F6CB-1F6D2, U+1F6E0-1F6E5, U+1F6E9, U+1F6EB-1F6EC, U+1F6F0, U+1F6F3-1F6F8, U+1F910-1F93A, U+1F93C-1F93E, U+1F940-1F945, U+1F947-1F94C, U+1F950-1F96B, U+1F980-1F997, U+1F9C0, U+1F9D0-1F9E6, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
}

/* ----------------------------------------------------
breakpoint
---------------------------------------------------- */
/*
@mixin tab {
  @media (max-width: ($tab)) {
    @content;
  }
}
*/
/* ----------------------
color
------------------------- */
.bg {
  background: #f5f5f5;
}

@media (max-width: 767px) {
  .bg {
    background: #fff;
  }
}

.bg-white {
  background: #fff;
}

.bg-black {
  background: #333;
}

.font-red {
  color: #ff0000;
}

.font-white {
  color: #fff;
}

.font-link {
  color: #333 !important;
}

.font-linkb {
  color: #337AB7 !important;
}

.font-budge {
  color: #1d9bf0 !important;
}

.font-black {
  color: #333 !important;
}

.font-gray {
  color: #666 !important;
}

a {
  color: #333;
  text-decoration: none;
  cursor: pointer;
}

a:hover, a:visited {
  text-decoration: none;
  color: #333;
}

/* ----------------------------------------------------
  basic
  ---------------------------------------------------- */
* {
  box-sizing: border-box;
  list-style-type: none;
}

html {
  font-size: 62.5%;
  /*font-family: MyEmoji, 'Noto Sans JP', sans-serif;*/
}

.modalh {
  height: 100vh;
  overflow: hidden;
}

body {
  width: 100%;
  height: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  color: #333;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  position: relative;
  counter-reset: number 0;
  margin: 0;
  font-size: 1.6rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
}

.body__head--black {
  background: #333;
}

.body__head--white {
  background: #fff;
}

#wrap {
  width: 100%;
  position: relative;
  min-height: 100%;
}

@media (max-width: 767px) {
  #wrap {
    overflow: hidden;
  }
}

main {
  padding-top: 50px;
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  padding: 0;
  margin: 0;
}

.none {
  display: none;
}

.active {
  display: block !important;
}

hr {
  border: 0;
  border-top: 1px solid #eee;
}

.hero-header {
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
}

/* ----------------------------------------------------
  layout
  ---------------------------------------------------- */
.container {
  max-width: 960px;
  width: 100%;
  margin: auto;
}

@media (max-width: 767px) {
  .container {
    min-width: inherit;
    width: 90%;
  }
}

.container__small {
  max-width: 640px;
}

.container__login {
  max-width: 386px;
  border-radius: 10px;
  background: #fff;
  margin-top: 40px;
  box-shadow: 0 0 30px #00000070;
  padding-bottom: 20px;
}

@media (max-width: 767px) {
  .container__login {
    max-width: 90%;
    min-width: inherit;
    min-height: 64vh;
  }
}

.container__box {
  border-radius: 20px;
  background: #fff;
  padding: 40px;
}

@media (max-width: 767px) {
  .container__box {
    padding: 0;
  }
}

@media (max-width: 767px) {
  .container__box--gray {
    padding: 20px;
  }
}

.o-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 1rem;
}

/* ----------------------
text
------------------------- */
h1 {
  font-size: 2.4rem;
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: 600;
}

@media (max-width: 767px) {
  h1 {
    font-size: 2rem;
  }
}

h1.title {
  margin-bottom: 0;
}

h1.title:before {
  content: "";
  border-top: 2px solid #333;
  width: 30px;
  display: block;
  margin-bottom: 10px;
}

h2 {
  font-size: 2rem;
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: 500;
}

@media (max-width: 767px) {
  h2 {
    font-size: 1.8rem;
  }
}

h3 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 10px;
}

h4 {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 10px;
}

p {
  font-size: 1.3rem;
  line-height: 1.65;
  margin-top: 5px;
  margin-bottom: 18px;
}

@media (max-width: 767px) {
  p {
    font-size: 1.2rem;
  }
}

p.title__lead {
  margin-bottom: 30px;
  color: #888;
  font-size: 1.2rem;
  border-bottom: 1px solid #E5E3DE;
  padding-bottom: 10px;
}

.legal p {
  font-size: 1.3rem;
  line-height: 1.65;
  margin-top: 5px;
  margin-bottom: 20px;
}

.small {
  line-height: 1.3;
}

.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.flex {
  display: flex;
}

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

.between {
  justify-content: space-between;
}

.eventry {
  justify-content: space-evenly;
}

.flex-end {
  justify-content: flex-end;
}

.flex-center {
  justify-content: center;
}

.items-center {
  align-items: center;
}

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

@media (max-width: 767px) {
  .flex-wrap__sp {
    flex-wrap: wrap;
  }
}

.overflow {
  overflow: scroll;
}

.table-row {
  display: table-row;
}

/* ----------------------------------------------------
table
---------------------------------------------------- */
/* ----------------------------------------------------
letter spacing
---------------------------------------------------- */
.le0 {
  letter-spacing: 0px !important;
}

.le1 {
  letter-spacing: 1px !important;
}

.le2 {
  letter-spacing: 2px !important;
}

.le3 {
  letter-spacing: 3px !important;
}

.le4 {
  letter-spacing: 4px !important;
}

.le5 {
  letter-spacing: 5px !important;
}

/* ----------------------------------------------------
font size
---------------------------------------------------- */
.font-10 {
  font-size: 1rem !important;
}

.font-11 {
  font-size: 1.1rem !important;
}

.font-12 {
  font-size: 1.2rem !important;
}

.font-13 {
  font-size: 1.3rem !important;
}

.font-14 {
  font-size: 1.4rem !important;
}

.font-15 {
  font-size: 1.5rem !important;
}

.font-16 {
  font-size: 1.6rem !important;
}

.font-17 {
  font-size: 1.7rem !important;
}

.font-18 {
  font-size: 1.8rem !important;
}

.font-19 {
  font-size: 1.9rem !important;
}

.font-20 {
  font-size: 2rem !important;
}

.font-21 {
  font-size: 2.1rem !important;
}

.font-22 {
  font-size: 2.2rem !important;
}

.font-23 {
  font-size: 2.3rem !important;
}

.font-24 {
  font-size: 2.4rem !important;
}

.font-25 {
  font-size: 2.5rem !important;
}

.font-26 {
  font-size: 2.6rem !important;
}

.font-27 {
  font-size: 2.7rem !important;
}

.font-28 {
  font-size: 2.8rem !important;
}

.font-29 {
  font-size: 2.9rem !important;
}

.font-30 {
  font-size: 3rem !important;
}

/* ----------------------------------------------------
margin
---------------------------------------------------- */
.mb-0 {
  margin-bottom: 0px !important;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.mb-6 {
  margin-bottom: 6px !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mb-14 {
  margin-bottom: 14px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mb-18 {
  margin-bottom: 18px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-22 {
  margin-bottom: 22px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-26 {
  margin-bottom: 26px !important;
}

.mb-28 {
  margin-bottom: 28px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.mb-34 {
  margin-bottom: 34px !important;
}

.mb-36 {
  margin-bottom: 36px !important;
}

.mb-38 {
  margin-bottom: 38px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-42 {
  margin-bottom: 42px !important;
}

.mb-44 {
  margin-bottom: 44px !important;
}

.mb-46 {
  margin-bottom: 46px !important;
}

.mb-48 {
  margin-bottom: 48px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-52 {
  margin-bottom: 52px !important;
}

.mb-54 {
  margin-bottom: 54px !important;
}

.mb-56 {
  margin-bottom: 56px !important;
}

.mb-58 {
  margin-bottom: 58px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-62 {
  margin-bottom: 62px !important;
}

.mb-64 {
  margin-bottom: 64px !important;
}

.mb-66 {
  margin-bottom: 66px !important;
}

.mb-68 {
  margin-bottom: 68px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mb-72 {
  margin-bottom: 72px !important;
}

.mb-74 {
  margin-bottom: 74px !important;
}

.mb-76 {
  margin-bottom: 76px !important;
}

.mb-78 {
  margin-bottom: 78px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mt-2 {
  margin-top: 2px !important;
}

.mt-4 {
  margin-top: 4px !important;
}

.mt-6 {
  margin-top: 6px !important;
}

.mt-8 {
  margin-top: 8px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-12 {
  margin-top: 12px !important;
}

.mt-14 {
  margin-top: 14px !important;
}

.mt-16 {
  margin-top: 16px !important;
}

.mt-18 {
  margin-top: 18px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-22 {
  margin-top: 22px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.mt-26 {
  margin-top: 26px !important;
}

.mt-28 {
  margin-top: 28px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-32 {
  margin-top: 32px !important;
}

.mt-34 {
  margin-top: 34px !important;
}

.mt-36 {
  margin-top: 36px !important;
}

.mt-38 {
  margin-top: 38px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-42 {
  margin-top: 42px !important;
}

.mt-44 {
  margin-top: 44px !important;
}

.mt-46 {
  margin-top: 46px !important;
}

.mt-48 {
  margin-top: 48px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mt-52 {
  margin-top: 52px !important;
}

.mt-54 {
  margin-top: 54px !important;
}

.mt-56 {
  margin-top: 56px !important;
}

.mt-58 {
  margin-top: 58px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-62 {
  margin-top: 62px !important;
}

.mt-64 {
  margin-top: 64px !important;
}

.mt-66 {
  margin-top: 66px !important;
}

.mt-68 {
  margin-top: 68px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mt-72 {
  margin-top: 72px !important;
}

.mt-74 {
  margin-top: 74px !important;
}

.mt-76 {
  margin-top: 76px !important;
}

.mt-78 {
  margin-top: 78px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.ml-2 {
  margin-left: 2px !important;
}

.ml-4 {
  margin-left: 4px !important;
}

.ml-6 {
  margin-left: 6px !important;
}

.ml-8 {
  margin-left: 8px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-12 {
  margin-left: 12px !important;
}

.ml-14 {
  margin-left: 14px !important;
}

.ml-16 {
  margin-left: 16px !important;
}

.ml-18 {
  margin-left: 18px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.ml-22 {
  margin-left: 22px !important;
}

.ml-24 {
  margin-left: 24px !important;
}

.ml-26 {
  margin-left: 26px !important;
}

.ml-28 {
  margin-left: 28px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.ml-32 {
  margin-left: 32px !important;
}

.ml-34 {
  margin-left: 34px !important;
}

.ml-36 {
  margin-left: 36px !important;
}

.ml-38 {
  margin-left: 38px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.ml-42 {
  margin-left: 42px !important;
}

.ml-44 {
  margin-left: 44px !important;
}

.ml-46 {
  margin-left: 46px !important;
}

.ml-48 {
  margin-left: 48px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.ml-52 {
  margin-left: 52px !important;
}

.ml-54 {
  margin-left: 54px !important;
}

.ml-56 {
  margin-left: 56px !important;
}

.ml-58 {
  margin-left: 58px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.ml-62 {
  margin-left: 62px !important;
}

.ml-64 {
  margin-left: 64px !important;
}

.ml-66 {
  margin-left: 66px !important;
}

.ml-68 {
  margin-left: 68px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.ml-72 {
  margin-left: 72px !important;
}

.ml-74 {
  margin-left: 74px !important;
}

.ml-76 {
  margin-left: 76px !important;
}

.ml-78 {
  margin-left: 78px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mr-2 {
  margin-right: 2px !important;
}

.mr-4 {
  margin-right: 4px !important;
}

.mr-6 {
  margin-right: 6px !important;
}

.mr-8 {
  margin-right: 8px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-12 {
  margin-right: 12px !important;
}

.mr-14 {
  margin-right: 14px !important;
}

.mr-16 {
  margin-right: 16px !important;
}

.mr-18 {
  margin-right: 18px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-22 {
  margin-right: 22px !important;
}

.mr-24 {
  margin-right: 24px !important;
}

.mr-26 {
  margin-right: 26px !important;
}

.mr-28 {
  margin-right: 28px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mr-32 {
  margin-right: 32px !important;
}

.mr-34 {
  margin-right: 34px !important;
}

.mr-36 {
  margin-right: 36px !important;
}

.mr-38 {
  margin-right: 38px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mr-42 {
  margin-right: 42px !important;
}

.mr-44 {
  margin-right: 44px !important;
}

.mr-46 {
  margin-right: 46px !important;
}

.mr-48 {
  margin-right: 48px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mr-52 {
  margin-right: 52px !important;
}

.mr-54 {
  margin-right: 54px !important;
}

.mr-56 {
  margin-right: 56px !important;
}

.mr-58 {
  margin-right: 58px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mr-62 {
  margin-right: 62px !important;
}

.mr-64 {
  margin-right: 64px !important;
}

.mr-66 {
  margin-right: 66px !important;
}

.mr-68 {
  margin-right: 68px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mr-72 {
  margin-right: 72px !important;
}

.mr-74 {
  margin-right: 74px !important;
}

.mr-76 {
  margin-right: 76px !important;
}

.mr-78 {
  margin-right: 78px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.m-auto {
  margin: auto;
}

/* ----------------------------------------------------
padding
---------------------------------------------------- */
.pb-0 {
  padding-bottom: 0px !important;
}

.pb-2 {
  padding-bottom: 2px !important;
}

.pb-4 {
  padding-bottom: 4px !important;
}

.pb-6 {
  padding-bottom: 6px !important;
}

.pb-8 {
  padding-bottom: 8px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pb-12 {
  padding-bottom: 12px !important;
}

.pb-14 {
  padding-bottom: 14px !important;
}

.pb-16 {
  padding-bottom: 16px !important;
}

.pb-18 {
  padding-bottom: 18px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-22 {
  padding-bottom: 22px !important;
}

.pb-24 {
  padding-bottom: 24px !important;
}

.pb-26 {
  padding-bottom: 26px !important;
}

.pb-28 {
  padding-bottom: 28px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pb-32 {
  padding-bottom: 32px !important;
}

.pb-34 {
  padding-bottom: 34px !important;
}

.pb-36 {
  padding-bottom: 36px !important;
}

.pb-38 {
  padding-bottom: 38px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pb-42 {
  padding-bottom: 42px !important;
}

.pb-44 {
  padding-bottom: 44px !important;
}

.pb-46 {
  padding-bottom: 46px !important;
}

.pb-48 {
  padding-bottom: 48px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pb-52 {
  padding-bottom: 52px !important;
}

.pb-54 {
  padding-bottom: 54px !important;
}

.pb-56 {
  padding-bottom: 56px !important;
}

.pb-58 {
  padding-bottom: 58px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pb-62 {
  padding-bottom: 62px !important;
}

.pb-64 {
  padding-bottom: 64px !important;
}

.pb-66 {
  padding-bottom: 66px !important;
}

.pb-68 {
  padding-bottom: 68px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pb-72 {
  padding-bottom: 72px !important;
}

.pb-74 {
  padding-bottom: 74px !important;
}

.pb-76 {
  padding-bottom: 76px !important;
}

.pb-78 {
  padding-bottom: 78px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pt-2 {
  padding-top: 2px !important;
}

.pt-4 {
  padding-top: 4px !important;
}

.pt-6 {
  padding-top: 6px !important;
}

.pt-8 {
  padding-top: 8px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-12 {
  padding-top: 12px !important;
}

.pt-14 {
  padding-top: 14px !important;
}

.pt-16 {
  padding-top: 16px !important;
}

.pt-18 {
  padding-top: 18px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-22 {
  padding-top: 22px !important;
}

.pt-24 {
  padding-top: 24px !important;
}

.pt-26 {
  padding-top: 26px !important;
}

.pt-28 {
  padding-top: 28px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-32 {
  padding-top: 32px !important;
}

.pt-34 {
  padding-top: 34px !important;
}

.pt-36 {
  padding-top: 36px !important;
}

.pt-38 {
  padding-top: 38px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-42 {
  padding-top: 42px !important;
}

.pt-44 {
  padding-top: 44px !important;
}

.pt-46 {
  padding-top: 46px !important;
}

.pt-48 {
  padding-top: 48px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pt-52 {
  padding-top: 52px !important;
}

.pt-54 {
  padding-top: 54px !important;
}

.pt-56 {
  padding-top: 56px !important;
}

.pt-58 {
  padding-top: 58px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pt-62 {
  padding-top: 62px !important;
}

.pt-64 {
  padding-top: 64px !important;
}

.pt-66 {
  padding-top: 66px !important;
}

.pt-68 {
  padding-top: 68px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pt-72 {
  padding-top: 72px !important;
}

.pt-74 {
  padding-top: 74px !important;
}

.pt-76 {
  padding-top: 76px !important;
}

.pt-78 {
  padding-top: 78px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pl-2 {
  padding-left: 2px !important;
}

.pl-4 {
  padding-left: 4px !important;
}

.pl-6 {
  padding-left: 6px !important;
}

.pl-8 {
  padding-left: 8px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pl-12 {
  padding-left: 12px !important;
}

.pl-14 {
  padding-left: 14px !important;
}

.pl-16 {
  padding-left: 16px !important;
}

.pl-18 {
  padding-left: 18px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pl-22 {
  padding-left: 22px !important;
}

.pl-24 {
  padding-left: 24px !important;
}

.pl-26 {
  padding-left: 26px !important;
}

.pl-28 {
  padding-left: 28px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pl-32 {
  padding-left: 32px !important;
}

.pl-34 {
  padding-left: 34px !important;
}

.pl-36 {
  padding-left: 36px !important;
}

.pl-38 {
  padding-left: 38px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pl-42 {
  padding-left: 42px !important;
}

.pl-44 {
  padding-left: 44px !important;
}

.pl-46 {
  padding-left: 46px !important;
}

.pl-48 {
  padding-left: 48px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.pl-52 {
  padding-left: 52px !important;
}

.pl-54 {
  padding-left: 54px !important;
}

.pl-56 {
  padding-left: 56px !important;
}

.pl-58 {
  padding-left: 58px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pl-62 {
  padding-left: 62px !important;
}

.pl-64 {
  padding-left: 64px !important;
}

.pl-66 {
  padding-left: 66px !important;
}

.pl-68 {
  padding-left: 68px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.pl-72 {
  padding-left: 72px !important;
}

.pl-74 {
  padding-left: 74px !important;
}

.pl-76 {
  padding-left: 76px !important;
}

.pl-78 {
  padding-left: 78px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pr-2 {
  padding-right: 2px !important;
}

.pr-4 {
  padding-right: 4px !important;
}

.pr-6 {
  padding-right: 6px !important;
}

.pr-8 {
  padding-right: 8px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pr-12 {
  padding-right: 12px !important;
}

.pr-14 {
  padding-right: 14px !important;
}

.pr-16 {
  padding-right: 16px !important;
}

.pr-18 {
  padding-right: 18px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pr-22 {
  padding-right: 22px !important;
}

.pr-24 {
  padding-right: 24px !important;
}

.pr-26 {
  padding-right: 26px !important;
}

.pr-28 {
  padding-right: 28px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pr-32 {
  padding-right: 32px !important;
}

.pr-34 {
  padding-right: 34px !important;
}

.pr-36 {
  padding-right: 36px !important;
}

.pr-38 {
  padding-right: 38px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pr-42 {
  padding-right: 42px !important;
}

.pr-44 {
  padding-right: 44px !important;
}

.pr-46 {
  padding-right: 46px !important;
}

.pr-48 {
  padding-right: 48px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pr-52 {
  padding-right: 52px !important;
}

.pr-54 {
  padding-right: 54px !important;
}

.pr-56 {
  padding-right: 56px !important;
}

.pr-58 {
  padding-right: 58px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pr-62 {
  padding-right: 62px !important;
}

.pr-64 {
  padding-right: 64px !important;
}

.pr-66 {
  padding-right: 66px !important;
}

.pr-68 {
  padding-right: 68px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pr-72 {
  padding-right: 72px !important;
}

.pr-74 {
  padding-right: 74px !important;
}

.pr-76 {
  padding-right: 76px !important;
}

.pr-78 {
  padding-right: 78px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

@media (max-width: 767px) {
  .pb-0__sp {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .pt-0__sp {
    padding-top: 0 !important;
  }
}

/* ----------------------------------------------------
width
---------------------------------------------------- */
.w-0 {
  max-width: 0px !important;
}

.w-10 {
  max-width: 10px !important;
}

.w-20 {
  max-width: 20px !important;
}

.w-30 {
  max-width: 30px !important;
}

.w-40 {
  max-width: 40px !important;
}

.w-50 {
  max-width: 50px !important;
}

.w-60 {
  max-width: 60px !important;
}

.w-70 {
  max-width: 70px !important;
}

.w-80 {
  max-width: 80px !important;
}

.w-90 {
  max-width: 90px !important;
}

.w-100 {
  max-width: 100px !important;
}

.w-110 {
  max-width: 110px !important;
}

.w-120 {
  max-width: 120px !important;
}

.w-130 {
  max-width: 130px !important;
}

.w-140 {
  max-width: 140px !important;
}

.w-150 {
  max-width: 150px !important;
}

.w-160 {
  max-width: 160px !important;
}

.w-170 {
  max-width: 170px !important;
}

.w-180 {
  max-width: 180px !important;
}

.w-190 {
  max-width: 190px !important;
}

.w-200 {
  max-width: 200px !important;
}

.w-210 {
  max-width: 210px !important;
}

.w-220 {
  max-width: 220px !important;
}

.w-230 {
  max-width: 230px !important;
}

.w-240 {
  max-width: 240px !important;
}

.w-250 {
  max-width: 250px !important;
}

.w-260 {
  max-width: 260px !important;
}

.w-270 {
  max-width: 270px !important;
}

.w-280 {
  max-width: 280px !important;
}

.w-290 {
  max-width: 290px !important;
}

.w-300 {
  max-width: 300px !important;
}

.wp-0 {
  width: 0% !important;
}

.wp-10 {
  width: 10% !important;
}

.wp-20 {
  width: 20% !important;
}

.wp-30 {
  width: 30% !important;
}

.wp-40 {
  width: 40% !important;
}

.wp-50 {
  width: 50% !important;
}

.wp-60 {
  width: 60% !important;
}

.wp-70 {
  width: 70% !important;
}

.wp-80 {
  width: 80% !important;
}

.wp-90 {
  width: 90% !important;
}

.wp-100 {
  width: 100% !important;
}

.hp100 {
  height: 100%;
}

.w-600 {
  width: 600px !important;
}

/* ----------------------------------------------------
grid
---------------------------------------------------- */
.grid {
  display: grid;
}

.grid-cols-2 {
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
}

.grid-cols-3 {
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 24px;
  row-gap: 24px;
}

@media (max-width: 767px) {
  .grid-cols-3 {
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 14px;
  }
}

.grid-cols-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 12px;
  row-gap: 24px;
}

.grid-cols-6 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  column-gap: 24px;
  row-gap: 24px;
}

@media (max-width: 767px) {
  .grid-cols-6 {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 14px;
    row-gap: 14px;
  }
}

.grid-cols-12 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  column-gap: 24px;
  row-gap: 24px;
}

@media (max-width: 767px) {
  .grid-cols-12 {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 14px;
    row-gap: 14px;
  }
}

.grid .inner {
  padding: 24px;
}

/*-------------------------------------------------------------------
header
-------------------------------------------------------------------*/
.header {
  position: fixed;
  z-index: 9999;
  /* background: #fff; */
  width: 100%;
}

.header__user {
  width: 100%;
}

.header__user a {
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 1.1rem;
  white-space: nowrap;
}

.header__new a {
  background: #fff;
  border: 2px solid #333;
  display: block;
  text-align: center;
}

.header__login a {
  background: #333;
  border: 2px solid #fff;
  color: #fff;
  display: block;
  text-align: center;
}

.header__inner {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 12px 24px;
  justify-content: space-between;
  background: #fff;
}

@media (max-width: 767px) {
  .header__inner {
    align-items: center;
    padding: 12px 14px;
  }
}

.header__logo {
  max-width: 132px;
}

/*-------------------------------------------------------------------
nav
-------------------------------------------------------------------*/
.sidenav__user {
  padding: 10px;
}

.sidenav__user--icon {
  width: 60px;
  margin-right: 10px;
}

.sidenav__user--icon img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #eee;
}

.sidenav__user--name {
  font-size: 1.2rem;
}

.sidenav__nav-hito {
  width: 100px;
  margin-left: 20px;
}

/*
  Menu
*/
nav#slide-menu {
  position: fixed;
  top: 0;
  left: -280px;
  bottom: 0;
  display: block;
  float: left;
  width: 100%;
  max-width: 280px;
  height: 100%;
  transition: all 300ms;
  background: #fff;
  overflow: scroll;
  z-index: 999;
}

nav#slide-menu > ul {
  display: block;
  padding: 0;
  list-style: none;
  opacity: 0.5;
  transition: all 300ms;
}

nav#slide-menu > ul li {
  color: #333;
  padding: 6px 0 6px 10px;
  padding: 10px;
  cursor: pointer;
  font-size: 1.3rem;
}

nav#slide-menu > ul li i {
  margin-right: 10px;
  font-size: 1.8rem;
  vertical-align: middle;
}

nav#slide-menu > ul li.sep {
  margin-top: 7px;
  padding-top: 14px;
  border-top: 1px solid #eee;
  position: relative;
}

nav#slide-menu > ul li.sep::after {
  font-family: "Font Awesome 5 Pro";
  content: '\f054';
  font-size: 12px;
  font-weight: 400;
  margin-right: 4px;
  color: #A3A3A3;
  position: absolute;
  right: 10px;
  top: 18px;
}

nav#slide-menu > ul li.sep.nocont::after {
  content: none;
}

nav#slide-menu > ul li.sep.mp0 {
  padding: 0;
  margin: 0;
}

nav#slide-menu > ul li.sep a {
  display: block;
}

nav#slide-menu > ul li.sep svg {
  margin-right: 10px;
  font-size: 1.8rem;
  vertical-align: middle;
}

nav#slide-menu > ul li.sep div svg {
  font-size: 2.4rem;
  vertical-align: middle;
}

nav#slide-menu > ul li.sep .follow {
  font-weight: bold;
  letter-spacing: 2px;
}

body.menu-active {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

body.menu-active::before {
  content: "";
  background: #000000eb;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 11;
}

body.menu-active nav#slide-menu {
  left: 0px;
}

body.menu-active nav#slide-menu ul {
  left: 0px;
  opacity: 1;
}

/*
  Content
*/
div#wrap {
  /*position: fixed;*/
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: scroll;
  border-radius: 0;
  box-sizing: border-box;
  transition: all 300ms;
}

div#wrap div.menu-trigger {
  cursor: pointer;
  z-index: 9999;
}

body.menu-active div#wrap {
  left: 280px;
}

body.menu-active div#wrap .menu-trigger {
  left: 0px;
  position: relative;
}

/*-------------------------------------------------------------------
info
-------------------------------------------------------------------*/
#info {
  background: #fff;
  padding: 30px 24px;
  box-shadow: 0 3px 0px #00000030;
  margin-bottom: 20px;
}

#info ul {
  margin-left: 48px;
  font-weight: 500;
}

#info ul a {
  color: #F59419;
}

.back {
  font-size: 20px;
  margin-bottom: 20px;
}

/* ----------------------------------------------------
login
---------------------------------------------------- */
.login {
  padding: 0 20px;
}

/* ----------------------------------------------------
modal
---------------------------------------------------- */
.c-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 99999;
  min-height: 100vh;
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
}

@media (max-width: 767px) {
  .c-modal {
    overflow: hidden;
  }
}

.c-modal_bg {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  width: 100%;
}

@media (max-width: 767px) {
  .c-modal_bg {
    height: auto;
  }
}

.c-modal_content {
  background: #fff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 5px;
}

@media (max-width: 767px) {
  .c-modal_content {
    left: inherit;
    position: inherit;
    top: inherit;
    transform: inherit;
    border-radius: inherit;
    overflow: hidden;
    height: 100%;
  }
}

.c-modal_content._sm {
  width: 30%;
}

.c-modal_content._md {
  width: 50%;
}

.c-modal_content._lg {
  width: 70%;
}

@media (max-width: 767px) {
  .c-modal_content._lg {
    width: 100%;
    height: 100vh;
  }
}

@media (max-width: 767px) {
  .c-modal_content__title {
    position: absolute;
    top: 0;
    left: 0;
    border-bottom: 1px solid #eee;
    background: #fff;
    z-index: 2;
    width: 100%;
    height: 50px;
    display: block;
    padding: 10px 0;
  }
}

.c-modal_content_inner {
  position: relative;
  padding: 24px;
}

@media (max-width: 767px) {
  .c-modal_content_inner {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .c-modal_content_inner__inner {
    overflow-y: auto;
    height: 100%;
    padding-top: 50px;
    padding-bottom: 140px;
  }
}

@media (max-width: 767px) {
  .c-modal_content_inner__close {
    position: absolute;
    top: 10px;
    right: 20px;
  }
}

.feature-modal__item__body .c-formCheckbox {
  margin-right: 10px;
  flex-basis: 15%;
}

@media (max-width: 767px) {
  .feature-modal__item__body .c-formCheckbox {
    flex-basis: 45%;
  }
}

.prefecture-modal__item__body .c-formCheckbox {
  margin-right: 10px;
  flex-basis: 10%;
}

@media (max-width: 767px) {
  .prefecture-modal__item__body .c-formCheckbox {
    flex-basis: 45%;
  }
}

@media (max-width: 767px) {
  .modal-button {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
}

.modal-button .form-button {
  margin-bottom: 0;
  border-radius: 0;
  max-width: 100%;
}

/* ----------------------------------------------------
form
---------------------------------------------------- */
.form__sep {
  border-bottom: 1px solid #f1f1f1;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

select {
  padding: 10px;
  border: solid 1px #333;
  border-radius: 5px;
  background: #fff;
}

.form-box {
  display: flex;
  border: 2px solid #333;
  width: 100%;
  border-radius: 100px;
}

textarea {
  width: 100%;
  min-height: 240px;
  border-radius: 5px;
  font-size: 1.6rem;
  padding: 10px;
}

input[type="checkbox"] {
  border-radius: 3px;
  border: 1px solid #333;
  color: #333;
}

input[type="text"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"] {
  width: 100%;
  font-size: 1.6rem;
  padding: 10px;
  border-radius: 5px;
  border: solid 1px #333;
  background: #fff;
}

::placeholder {
  color: #ddd;
}

input[type="radio"] {
  width: 14px;
  height: 14px;
}

.form-check-input {
  vertical-align: middle;
}

.form-check-label {
  vertical-align: middle;
}

.file_select {
  border: dotted 2px #AAAAAA;
  padding: 30px;
  max-width: 1028px;
  margin: auto;
  display: block;
}

.form__file input[type="file"] {
  display: none;
}

.form__file label {
  background: #F59419;
  color: white;
  font-size: 20px;
  font-weight: 500;
  padding: 8px 20px;
  display: table;
  margin: auto;
  position: relative;
  cursor: pointer;
}

.form__file .filename {
  font-size: 12px;
}

.stars span {
  display: flex;
  /* 要素をフレックスボックスにする */
  flex-direction: row-reverse;
  /* 星を逆順に並べる */
  justify-content: flex-end;
  /* 逆順なので、左寄せにする */
}

.stars input[type='radio'] {
  display: none;
  /* デフォルトのラジオボタンを非表示にする */
}

.stars label {
  color: #D2D2D2;
  /* 未選択の星をグレー色に指定 */
  font-size: 30px;
  /* 星の大きさを30pxに指定 */
  padding: 0 5px;
  /* 左右の余白を5pxに指定 */
  cursor: pointer;
  /* カーソルが上に乗ったときに指の形にする */
}

.stars label:hover,
.stars label:hover ~ label,
.stars input[type='radio']:checked ~ label {
  color: #F8C601;
  /* 選択された星以降をすべて黄色にする */
}

/* ----------------------------------------------------
button
---------------------------------------------------- */
.form-button {
  border: none;
  background: #333;
  color: #fff !important;
  text-align: center;
  padding: 12px;
  width: 100%;
  margin: auto;
  margin-bottom: 10px;
  display: block;
  border-radius: 50px;
  max-width: 360px;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}

.form-button__favorite {
  padding: 5px 15px;
  width: auto;
  font-size: 1.2rem;
  display: table;
  margin: 0;
}

.form-button__favorite.user_unfav {
  background: red;
}

.form-button__favorite a {
  color: #fff;
  font-size: 1.1rem;
  display: block;
}

.form-button__small {
  font-size: 1.6rem;
  padding: 4px 20px;
  display: table;
  width: auto;
}

.form-button--tw {
  background: #1DA1F2;
}

.form-button--line {
  background: #00B900;
}

.form-button--g {
  background: #4285F4;
}

.form-button--fb {
  background: #1877f2;
}

/* ----------------------------------------------------
prefecture
---------------------------------------------------- */
.prefecture-modal__item,
.feature-modal__item {
  border-bottom: 1px solid #E5E3DE;
  padding-bottom: 10px;
  font-size: 1.4rem;
}

.prefecture-modal__item:last-child,
.feature-modal__item:last-child {
  border-bottom: 0;
}

.prefecture-modal__item h3,
.feature-modal__item h3 {
  font-size: 1.4rem;
  margin-top: 10px;
}

.prefecture-footer__item {
  display: flex;
}

@media (max-width: 767px) {
  .prefecture-footer__item {
    display: block;
    margin-bottom: 20px;
  }
}

.prefecture-footer__item__title {
  flex-basis: 12%;
  font-size: 1.4rem;
  margin: 4px 0;
}

.prefecture-footer__item__body {
  flex-basis: 88%;
}

.prefecture-footer__item__body a {
  font-size: 1.2rem;
}

.prefecture-footer__item__body a::after {
  content: "/";
  margin: 0px 2px;
}

/* ----------------------------------------------------
breadcrumb
---------------------------------------------------- */
.breadcrumb {
  padding: 10px;
  font-size: 1.1rem;
}

.breadcrumb a {
  font-size: 1.1rem;
}

/* ----------------------------------------------------
footer
---------------------------------------------------- */
.footer {
  background-color: #333;
  background-image: url(../img/bg_footer@2x.png);
  background-size: 90%;
  background-repeat: repeat-x;
  background-position: center bottom;
  padding: 60px 0;
}

@media (max-width: 767px) {
  .footer {
    background-size: 440%;
  }
}

.footer__logo {
  max-width: 180px;
  display: block;
  margin: 40px auto;
}

.footer__copy {
  letter-spacing: 3px;
  margin-top: 60px;
  font-size: 1.1rem;
}

.footer a {
  color: #fff;
  line-height: 2.8;
  font-size: 1.2rem;
}

@media (max-width: 767px) {
  .footer .col2 {
    display: table;
    margin: 60px auto 0;
  }
}

.text-danger {
  color: #fe4164 !important;
}

.cf_review_wrapper {
  position: relative;
}

.cf_review_wrapper .cf_read_more {
  position: absolute;
  bottom: 0;
  right: 0;
  justify-content: right;
  z-index: 10;
}

.cf_review_wrapper .review-para {
  height: 70px;
  overflow: hidden;
}

.main-carousel {
  /*
    overflow: hidden;
    width: 100%;
    */
}

.main-carousel__top {
  position: relative;
  padding-bottom: 56.25%;
}

.main-carousel__top .flickity-viewport {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .main-carousel .carousel-cell {
    width: 100%;
    height: auto;
    max-height: 720px;
  }
}

.main-carousel .carousel-cell img {
  width: auto;
  max-height: 414px;
}

@media (max-width: 767px) {
  .main-carousel .carousel-cell img {
    width: 100%;
    height: auto;
    max-height: 720px;
    min-height: 375px;
  }
}

.ck-content {
  min-height: 200px;
}

.ck-content p {
  font-size: 1.1rem;
}

label.error {
  display: none;
  color: #fc3131 !important;
}

.grad-wrap {
  position: relative;
}

.grad-wrap + .grad-wrap {
  margin-top: 40px;
}

.grad-trigger {
  /*ボタンのスタイルはご自由にどうぞ*/
}

.grad-item {
  position: relative;
  overflow: hidden;
}

.grad-item.is-hide {
  height: 80px;
  /*隠した後の高さ*/
}

.grad-item p + p {
  margin-top: 1em;
}

.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px;
  /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
}

.grad-trigger.is-show + .grad-item::before {
  display: none;
}

/* ----------------------------------------------------
static
---------------------------------------------------- */
#static a,
#cafedetail a {
  color: #337AB7;
}

/* ----------------------------------------------------
error
---------------------------------------------------- */
.error-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 50vh;
  justify-content: center;
}

.sp {
  display: none;
}

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

.pc {
  display: block;
}

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

#cfHSearch i {
  font-size: 2.5rem;
}

#cfHSearchInput {
  position: absolute;
  left: 0;
  top: 48px;
  width: 100%;
  display: none;
  z-index: 1;
  transition: all 300ms;
}

#cfHSearchInput .search__input {
  width: 100%;
}

#cfHSearchInput .search__input input[type="text"] {
  border-radius: 0;
}

#cfHSearchInput .search__button {
  width: 7%;
}

@media (max-width: 767px) {
  #cfHSearchInput .search__button {
    width: 20%;
  }
}

#cfHSearchInput .search__button button {
  border-radius: 0;
}

#cfHSearchInput.fade-in {
  opacity: 0;
  animation-name: sample01;
  animation-duration: .5s;
  animation-fill-mode: forwards;
}

@keyframes sample01 {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#cfHSearchClose {
  display: none;
}

/*-------------------------------------------------------------------
review
-------------------------------------------------------------------*/
.review__list {
  display: grid;
  grid-template-rows: 100%;
  grid-template-columns: 60px 1fr;
  column-gap: 24px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f5f5f5;
}

.review__list:last-child {
  border-bottom: 0;
}

@media (max-width: 767px) {
  .review__list {
    grid-template-columns: 50px 1fr;
    column-gap: 12px;
  }
}

.review__username {
  font-weight: 500;
  font-size: 1.3rem;
}

.review__date {
  color: #888;
  font-size: 1.3rem;
}

.review__cafename {
  font-size: 2rem;
  font-weight: 500;
}

@media (max-width: 767px) {
  .review__cafename {
    font-size: 1.8rem;
  }
}

.review__review {
  font-size: 1.3rem;
}

@media (max-width: 767px) {
  .review__review {
    font-size: 1.2rem;
  }
}

.review__review i,
.review__review .fa-comment {
  margin-right: 4px;
}

.review__star {
  font-size: 1.2rem;
}

.review__continue {
  font-size: 1.1rem;
  background: #333;
  border: 2px solid #fff;
  color: #fff;
  display: table;
  padding: 5px 10px;
  border-radius: 100px;
  cursor: pointer;
  padding-right: 30px;
}

.review__continue::after {
  font-family: "Font Awesome 5 Pro";
  content: '\f078';
  font-size: 10px;
  font-weight: 400;
  margin-right: 4px;
  color: #fff;
  position: absolute;
  right: 10px;
  top: 9px;
}

.review__icon a img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #eee;
}

@media (max-width: 767px) {
  .review__icon a img {
    width: 45px;
    height: 45px;
  }
}

.cf_dislike,
.cafe_unfavo {
  margin-right: 4px;
}

.cf_dislike::before,
.cafe_unfavo::before {
  content: "\f004";
  color: red;
  display: inline-block;
  font-family: "Font Awesome 5 Pro";
  text-align: center;
  font-size: 1.2rem;
  font-weight: 900;
}

.cf_like,
.cafe_favo {
  margin-right: 4px;
}

.cf_like::before,
.cafe_favo::before {
  content: "\f004";
  color: red;
  display: inline-block;
  font-family: "Font Awesome 5 Pro";
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
}

/*-------------------------------------------------------------------
  cafe list
  -------------------------------------------------------------------*/
.newcafe__list {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f5f5f5;
}

@media (max-width: 767px) {
  .newcafe__list {
    border-bottom: 0;
  }
}

.newcafe__list--recommend {
  border-bottom: 0;
}

.newcafe__list:last-child {
  border-bottom: 0;
}

.newcafe__photogallery {
  display: flex;
  flex-wrap: wrap;
}

.newcafe__photogallery img {
  width: 128px;
  margin-right: 12px;
  margin-bottom: 12px;
  height: 72px;
  object-fit: cover;
}

.newcafe__content {
  display: grid;
  grid-template-rows: 100%;
  grid-template-columns: 224px 1fr;
  column-gap: 24px;
}

@media (max-width: 767px) {
  .newcafe__content {
    grid-template-columns: 124px 1fr;
    column-gap: 14px;
  }
}

.newcafe__title {
  font-weight: 500;
  margin-bottom: 0;
}

.newcafe__address {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 4px;
  margin-top: 0;
}

@media (max-width: 767px) {
  .newcafe__address {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}

.newcafe__name {
  font-size: 1.2rem;
  margin-bottom: 2px;
}

.newcafe__name::before {
  content: "\f0f4";
  background: #333;
  color: #fff;
  display: inline-block;
  width: 18px;
  height: 18px;
  font-family: "Font Awesome 5 Pro";
  text-align: center;
  margin-right: 5px;
  border-radius: 3px;
  padding-top: 3px;
  font-size: 1.1rem;
}

.newcafe__situation {
  font-size: 1.2rem;
  margin-bottom: 2px;
}

.newcafe__situation::before {
  content: "\f4b8";
  background: #333;
  color: #fff;
  display: inline-block;
  width: 18px;
  height: 18px;
  font-family: "Font Awesome 5 Pro";
  text-align: center;
  margin-right: 5px;
  border-radius: 3px;
  padding-top: 3px;
  font-size: 1.1rem;
}

.newcafe__holiday {
  font-size: 1.2rem;
  margin-bottom: 2px;
  vertical-align: middle;
}

.newcafe__holiday::before {
  content: "";
  background: url(../img/holiday.svg);
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 18px;
  height: 18px;
  text-align: center;
  margin-right: 5px;
  border-radius: 3px;
  vertical-align: inherit;
}

.newcafe__review {
  font-size: 1.2rem;
}

.newcafe__review a {
  color: red;
}

.newcafe__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: center;
  text-align: center;
  row-gap: 10px;
  column-gap: 10px;
}

@media (max-width: 767px) {
  .newcafe__gallery {
    grid-template-columns: 1fr 1fr;
  }
}

.newcafe__gallery li {
  line-height: 0;
}

.newcafe__gallery li a {
  display: block;
}

.newcafe__gallery--delete {
  position: absolute;
  left: 5px;
  top: 0px;
  z-index: 1;
  color: #fff;
}

/*-------------------------------------------------------------------
  favorite list
  -------------------------------------------------------------------*/
.favorite-user__list {
  text-align: center;
}

.favorite-user__list p {
  line-height: 1.1;
}

/*-------------------------------------------------------------------
cafedetail
-------------------------------------------------------------------*/
.cafeimage {
  width: 100%;
  background: #333;
}

@media (max-width: 767px) {
  .cafeimage {
    background: #fff;
  }
}

.cafeimage__bg {
  background: #fff !important;
}

.cafeimage__mainimg {
  display: grid;
  grid-template-columns: 50% 25% 25%;
  grid-template-rows: 50% 50%;
  max-width: 1440px;
  margin: auto;
}

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

.cafeimage__item1 {
  grid-row: 1/3;
  grid-column: 1/2;
  position: relative;
  line-height: 0;
}

.cafeimage__favorite {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.cafeimage__favorite a {
  font-size: 5rem;
  background: #fff;
  border-radius: 50%;
  display: table;
  border: 2px solid #fff;
}

.cafeimage__item2 {
  grid-row: 1/2;
  grid-column: 2/3;
  line-height: 0;
}

.cafeimage__item3 {
  grid-row: 1/2;
  grid-column: 3/4;
  line-height: 0;
}

.cafeimage__item4 {
  grid-row: 2/3;
  grid-column: 2/3;
  line-height: 0;
}

.cafeimage__item5 {
  grid-row: 2/3;
  grid-column: 3/4;
  line-height: 0;
}

.cafe-edit {
  font-size: 1rem;
}

.cafebaseinfo a {
  color: #337AB7;
}

.cafebaseinfo__cafename {
  font-size: 3rem;
}

@media (max-width: 767px) {
  .cafebaseinfo__cafename {
    font-size: 2.4rem;
  }
}

.cafebaseinfo__cafename::before {
  content: none !important;
}

.cafebaseinfo__info dl {
  display: flex;
  border-bottom: 1px solid #E5E3DE;
  padding-bottom: 20px;
}

.cafebaseinfo__info dl dt {
  min-width: 200px;
  font-weight: 500;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .cafebaseinfo__info dl dt {
    font-size: 1.4rem;
    min-width: 130px;
  }
}

.cafebaseinfo__info dl dd {
  font-size: 1.6rem;
  word-break: break-all;
}

@media (max-width: 767px) {
  .cafebaseinfo__info dl dd {
    font-size: 1.4rem;
  }
}

@media (max-width: 767px) {
  .cafebaseinfo__info dl dd {
    margin: 0;
  }
}

.cafebaseinfo__kodawari .cafe_speclist {
  border-right: none;
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 40px;
}

.cafebaseinfo__kodawari .cafe_speclist .table-row {
  border: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  font-size: 14px;
  list-style: none;
  flex-basis: 25%;
}

@media (max-width: 767px) {
  .cafebaseinfo__kodawari .cafe_speclist .table-row {
    flex-basis: 50%;
  }
}

.cafebaseinfo__kodawari .cafe_speclist__key {
  align-items: center;
  box-sizing: border-box;
  line-height: 1.4;
  padding: 4px 10px;
  flex-basis: 81%;
}

.cafebaseinfo__kodawari .cafe_speclist__value {
  border-left: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-weight: 700;
  text-align: center;
  flex-basis: 19%;
}

.cafebaseinfo__cell {
  display: table-cell;
  border: 1px solid #ccc;
  padding: 10px;
}

/*-------------------------------------------------------------------
cafe-edit
-------------------------------------------------------------------*/
.cafe-form label {
  margin-right: 20px;
}

.cafe-edit-button {
  width: 310px;
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: 0px auto;
  z-index: 100;
}

.cafe-edit-button__favorite {
  background: #333;
  color: #fff;
  border: 1px solid #333;
  line-height: 2;
  margin: 0 10px;
  border-radius: 10px;
  width: 150px;
  display: inline-block;
  text-align: center;
  font-size: 1.6rem;
  padding: 0;
}

.cafe-edit-button__favorite.cf_unfav {
  background: red;
}

.cafe-edit-button__post {
  background: #fff;
  color: #333;
  border: 1px solid #333;
  padding: 0;
  margin: 0 10px;
  line-height: 2;
  border-radius: 10px;
  width: 150px;
  display: inline-block;
  text-align: center;
  font-size: 1.6rem;
}

.cafe-sns-button a {
  border: 1px solid #333;
  padding: 2px 5px;
  border-radius: 2px;
  margin-right: 5px;
  font-size: 1.2rem;
}

.cafe-sns-button a svg {
  margin-right: 5px;
}

.cafe-sns-button a svg.fa-twitter {
  color: #1DA1F2;
}

.cafe-sns-button a svg.fa-line {
  color: #00B900;
}

.cafe-sns-button a svg.fa-facebook-f {
  color: #1877f2;
}

/*-------------------------------------------------------------------
cafe-slide
-------------------------------------------------------------------*/
.relation-carousel .carousel-cell {
  width: 40%;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .relation-carousel .carousel-cell {
    width: 70%;
  }
}

.recommend-carousel .carousel-cell {
  width: 40%;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .recommend-carousel .carousel-cell {
    width: 70%;
  }
}

/*-------------------------------------------------------------------
news
-------------------------------------------------------------------*/
.mainvisual {
  background-image: url(../img/mainv.svg);
  background-size: 60%;
  background-repeat: repeat-x;
  background-position: center bottom;
  position: relative;
  box-sizing: border-box;
  text-align: center;
  height: 90vh;
  min-height: 600px;
  max-height: 900px;
  margin-bottom: 100px;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-duration: .6s;
  transition-property: opacity transform;
}

@media (max-width: 767px) {
  .mainvisual {
    height: 60vh;
    background-size: 120%;
  }
}

.mainvisual__logo {
  text-align: center;
}

.mainvisual__logo svg {
  width: 380px;
  height: auto;
}

@media (max-width: 767px) {
  .mainvisual__logo svg {
    width: auto;
  }
}

.mainvisual__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
  .mainvisual__content {
    width: 85%;
  }
}

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
  animation: animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
  animation: animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
  animation: animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
  animation: animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
  animation: animate-svg-fill-6 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
  animation: animate-svg-fill-7 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both;
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
  animation: animate-svg-fill-8 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
  animation: animate-svg-fill-9 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
  animation: animate-svg-fill-10 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-11 {
  -webkit-animation: animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
  animation: animate-svg-fill-11 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-12 {
  -webkit-animation: animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
  animation: animate-svg-fill-12 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both;
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-13 {
  -webkit-animation: animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
  animation: animate-svg-fill-13 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s both;
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-14 {
  -webkit-animation: animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
  animation: animate-svg-fill-14 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both;
}

@-webkit-keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-15 {
  -webkit-animation: animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
  animation: animate-svg-fill-15 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both;
}

@-webkit-keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-16 {
  -webkit-animation: animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
  animation: animate-svg-fill-16 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both;
}

@-webkit-keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-17 {
  -webkit-animation: animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
  animation: animate-svg-fill-17 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both;
}

@-webkit-keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-18 {
  -webkit-animation: animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
  animation: animate-svg-fill-18 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both;
}

@-webkit-keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-19 {
  -webkit-animation: animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
  animation: animate-svg-fill-19 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both;
}

@-webkit-keyframes animate-svg-fill-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-20 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-20 {
  -webkit-animation: animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
  animation: animate-svg-fill-20 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both;
}

@-webkit-keyframes animate-svg-fill-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

@keyframes animate-svg-fill-21 {
  0% {
    fill: transparent;
  }
  100% {
    fill: black;
  }
}

.svg-elem-21 {
  -webkit-animation: animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
  animation: animate-svg-fill-21 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both;
}

.anim-box.fadeup.is-animated {
  animation: fadeup 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.anim-box.fadeup.is-animated2 {
  animation: fadeup 3s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*アニメーション要素のスタイル*/
.animation {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(30px);
}

.animation.anime_active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/*アニメーション要素までスクロールした時のスタイル*/
/*-------------------------------------------------------------------
search
-------------------------------------------------------------------*/
.search {
  max-width: 360px;
  width: 360px;
  margin: 40px auto;
  font-size: 1.3rem;
}

@media (max-width: 767px) {
  .search {
    width: 100%;
  }
}

.search__select div {
  width: calc(100%/3.1);
}

.search__key {
  background: #333;
  color: #fff;
  padding: 5px 0;
  border-radius: 100px;
  border: 2px solid #333;
}

.search__pre {
  background: #fff;
  color: #333;
  padding: 5px 0;
  border-radius: 100px;
  border: 2px solid #333;
}

.search__pre a {
  display: block;
}

.search__input {
  width: 80%;
  margin-bottom: 10px;
}

.search__input input[type="text"] {
  border-top-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
  font-size: 1.6rem;
  margin: 0;
  height: 40px;
}

.search__button {
  width: 20%;
}

.search__button button {
  border-top-left-radius: 0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 0;
  padding: 5px;
  border: 1px solid #333;
  height: 40px;
  margin: 0;
}

/* ----------------------------------------------------
banner
---------------------------------------------------- */
.banner a {
  max-width: 480px;
  display: block;
  margin: auto;
}

/* ----------------------------------------------------
area
---------------------------------------------------- */
.area__list li {
  text-align: center;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .area__list li {
    margin-right: 2px;
  }
}

.area__list li a {
  font-size: 1.6rem;
  background: #333;
  border: 2px solid #fff;
  color: #fff;
  display: block;
  padding: 5px 20px;
  border-radius: 100px;
}

/* ----------------------------------------------------
purpose
---------------------------------------------------- */
.purpose__list li {
  text-align: center;
  margin-right: 10px;
}

.purpose__list li a {
  font-size: 1.6rem;
  background: #333;
  border: 2px solid #fff;
  color: #fff;
  display: block;
  padding: 5px 20px;
  border-radius: 100px;
}

.purpose-tag__list li {
  text-align: center;
  margin-right: 10px;
}

.purpose-tag__list li a {
  font-size: 1.6rem;
  color: #333;
  display: inline-block;
  padding: 5px;
}

.purpose-tag__list li a::before {
  content: "#";
  display: inline-block;
}

/* ----------------------------------------------------
  cafetype
  ---------------------------------------------------- */
.cafetype__list li {
  text-align: center;
}

.cafetype__list li h3 {
  font-weight: 400;
  font-size: 1.6rem;
  margin-top: 0;
}

/* ----------------------------------------------------
  magazine
  ---------------------------------------------------- */
.magazine__bg {
  background: #333;
  color: #fff;
}

.magazine a,
.magazine a:hover,
.magazine a:visited {
  color: #fff;
}

.magazine__title {
  font-size: 1.6rem;
  color: #333;
}

.magazine__date {
  font-size: 1.1rem;
  color: #888;
}

.magazine__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  row-gap: 24px;
  border-bottom: 1px solid #E5E3DE;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.magazine__list:last-child {
  border-bottom: 0;
}

/* ----------------------------------------------------
  recommend
  ---------------------------------------------------- */
.monthly-recommend__info {
  position: absolute;
  left: 10px;
  bottom: 10px;
  color: #fff;
  font-size: 1.2rem;
}

.monthly-recommend .carousel-cell a {
  position: relative;
}

/* ----------------------------------------------------
  news
  ---------------------------------------------------- */
.news__list {
  border-bottom: 1px solid #ccc;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.news__list:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.news__title {
  font-size: 1.6rem;
}

.news__date {
  font-size: 1.1rem;
  color: #888;
}

.mypage__usericon {
  max-width: 80px;
  margin: auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

@media (max-width: 767px) {
  .mypage__usericon {
    margin: auto;
  }
}

.mypage__status {
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 12px;
}

.mypage__status div {
  background: #333;
  color: #fff;
  padding: 10px;
  border-radius: 10px;
}

.mypage__personal dl {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.mypage__personal dl dt {
  min-width: 200px;
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: 10px;
}

.mypage__personal dl dd {
  font-size: 1.6rem;
  margin: 0;
  line-height: 1.65;
}

.d-none {
  display: none;
}

/*-------------------------------------------------------------------
news
-------------------------------------------------------------------*/
.news__date {
  font-size: 1.3rem;
}

.news__article a {
  color: #337AB7;
}

/*# sourceMappingURL=style.css.map */