@charset "UTF-8";
@import url("//fonts.googleapis.com/css2?family=Libre+Baskerville&family=Noto+Sans+JP:wght@300;400&family=Noto+Serif+JP:wght@300;400&family=Marcellus:wght@200;300;400;500;600;700&family=Work+Sans:wght@200;300;400;500;600;700&family=Ubuntu:wght@200;300;400;500;600;700&family=Roboto+Slab:wght@400;500;600;700&family=Lora:wght@400;700&family=Parisienne&family=Roboto:wght@400;700;900&family=Josefin+Sans:wght@400;500;600;700&family=Montserrat:wght@400;600;700&family=Rubik:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;700&family=Josefin+Sans:wght@300;400;700&family=Playfair+Display:wght@300;400;700&family=Lato:wght@400;700;900&family=Cinzel:wght@400&display=swap");
.sass {
  color: #000; }

.sass {
  color: #555; }

/* $font-en-serif: 'Playfair Display'; // セリフ */
/*
$gutter-auto-w: $gutter; // ベース
$gutter-auto-w-xs: 16px;
$gutter-auto-w-sm: 16px;
$gutter-auto-w-md: 32px;

$gutter-auto-w-xs: 32px;
$gutter-auto-w-sm: 64px;
$gutter-auto-w-md: 120px;
*/
/*
$gutter-auto-h: 32px; // ベース
$gutter-auto-h-xs: 32px;
$gutter-auto-h-sm: 40px;
$gutter-auto-h-md: 40px;

$gutter-auto-h: 32px; // ベース
$gutter-auto-h-xs: 60px;
$gutter-auto-h-sm: 90px;
$gutter-auto-h-md: 140px;
*/
:root {
  --color: #111;
  --color-paragraph: #444444;
  --font-en: "Montserrat";
  --font-en-serif: "Marcellus";
  --font-item: "Marcellus", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-title: "Marcellus", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-min: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", YuMincho, serif; }

::selection {
  background-color: #10C5F3;
  color: #fff; }

::-moz-selection {
  background-color: #10C5F3;
  color: #fff; }

html {
  font-size: 10px;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }
  @media (min-width: 768px) {
    html {
      font-size: 10px; } }

body {
  position: relative;
  min-height: 100%;
  min-width: 320px;
  max-width: 100%;
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 400t;
  font-family: "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  color: #111;
  background-color: #fff;
  overflow-x: hidden;
  word-wrap: break-word;
  letter-spacing: 0.03571em; }
  @media (min-width: 768px) {
    body {
      font-size: 1.6rem;
      letter-spacing: 0.05em; } }

h1, h2, h3, h4, h5, h6, p, figure, blockquote, pre, a, address, em, img, small, strong, dl, dt, dd, ol, ul, li, form, label, table, tbody, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

figure {
  min-height: 0%; }

label,
button,
a {
  text-decoration: none;
  transition-duration: 0.5s;
  transition-property: all;
  transition-timing-function: ease; }

button,
a {
  color: inherit; }

a:not([class]) {
  color: #0aa0c6; }

.hover,
button[disabled],
button:hover,
div[disabled], label:hover,
a[disabled],
a:hover {
  opacity: 0.6;
  text-decoration: none; }

a[disabled] {
  pointer-events: none; }

em {
  font-style: normal; }

data {
  display: block; }

address {
  font-style: inherit; }

ul, ol, table, dl {
  margin: 1em 0; }

ul[class],
ol[class] {
  list-style: none;
  padding: 0; }

ul, ol {
  padding-left: 1.5em; }

select::-ms-expand {
  display: none; }

select {
  /*firefox用*/
  /*-moz-appearance: none;*/
  text-indent: 0.01px;
  text-overflow: ''; }

/* @import "https://calorietradejapan-niigata.com/wp-content/themes/nm_calorietrade/css/color-guide"; */
.entry-container {
  margin-bottom: 120px; }

.entry-eyecatch {
  margin-bottom: 48px; }
  @media (max-width: 767px) {
    .entry-eyecatch {
      margin-left: -6.25vw;
      margin-right: -6.25vw; } }

@media (min-width: 1024px) {
  .entry-meta {
    position: -webkit-sticky;
    position: sticky;
    top: 64px; }
  .entry-title {
    font-size: 2.4rem; } }

.entry-time {
  margin-bottom: 1.6rem; }

.entry-title {
  margin-top: 0;
  margin-bottom: 48px; }

.entry-meta-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -8px;
  margin-right: -8px;
  margin-bottom: 24px; }
  .entry-meta-list li {
    padding: 8px; }

.entry-nav {
  margin-top: 0px;
  margin-bottom: 80px; }

.entry-share__title {
  text-align: center;
  margin-bottom: 16px;
  font-size: 1.4rem; }

.entry-share__body {
  display: flex;
  justify-content: center; }

.entry-content {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.6rem; }
  @media (min-width: 768px) {
    .entry-content {
      line-height: 2;
      font-size: 1.8rem; } }
  .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
    margin-top: 64px;
    color: inherit; }
  .entry-content h1:first-child,
  .entry-content h2:first-child {
    margin-top: 0; }
  .entry-content img {
    width: auto;
    display: block;
    margin-top: 40px;
    margin-bottom: 40px; }
  .entry-content .wp-caption {
    max-width: 100%;
    width: auto !important; }
    .entry-content .wp-caption img {
      width: 100%;
      margin-bottom: 1em; }
  .entry-content .wp-caption-text {
    margin-bottom: 0;
    color: #777777;
    font-weight: 400; }
  .entry-content .alignnone,
  .entry-content .alignleft,
  .entry-content .alignright,
  .entry-content .aligncenter {
    float: none; }
  .entry-content .aligncenter,
  .entry-content .aligncenter img,
  .entry-content .alignleft,
  .entry-content .alignleft img {
    margin-right: auto; }
  .entry-content .aligncenter,
  .entry-content .aligncenter img,
  .entry-content .alignright,
  .entry-content .alignright img {
    margin-left: auto; }
  .entry-content pre {
    display: none;
    padding: 1.6rem;
    margin: 2em 0;
    background: #333;
    color: #c0c0c0;
    border-radius: 12px;
    font-weight: 400; }
  .entry-content ul, .entry-content ol, .entry-content dl, .entry-content table {
    margin: 2em 0; }
  .entry-content ul, .entry-content ol, .entry-content dl {
    font-weight: 400; }
  .entry-content p {
    margin-top: 1em;
    margin-bottom: 1em; }
  .entry-content p + p {
    margin-top: 2em; }
  .entry-content em {
    font-style: italic; }
  .entry-content strong {
    font-weight: 400;
    font-family: inherit; }
  .entry-content table {
    max-width: 100%; }
  .entry-content hr {
    margin-top: 64px;
    margin-bottom: 64px;
    height: 1px;
    background-color: rgba(17, 17, 17, 0.1);
    border: none; }
  .entry-content blockquote {
    display: block;
    padding: 1.6rem;
    color: #777777;
    background: #FaFaFa;
    border-radius: 12px;
    display: none;
    font-weight: 400; }
    .entry-content blockquote:before {
      content: '';
      display: block;
      width: 32px;
      height: 32px;
      background-size: contain;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22quote%22%20viewBox%3D%220%200%2032%2032%22%20width%3D%2250%22%20height%3D%2250%22%3E%3Cpath%20d%3D%22M14.505%205.873C10.568%208.393%208.6%2011.43%208.6%2014.98c0%201.105.193%201.657.577%201.657l.396-.107c.312-.12.563-.18.756-.18%201.127%200%202.07.41%202.825%201.23.756.82%201.134%201.83%201.134%203.036%200%201.157-.41%202.14-1.225%202.947-.816.807-1.8%201.21-2.952%201.21-1.608%200-2.935-.66-3.98-1.983-1.043-1.32-1.564-2.98-1.564-4.977%200-2.26.442-4.327%201.33-6.203.89-1.875%202.244-3.57%204.068-5.085%201.824-1.514%202.988-2.272%203.492-2.272.336%200%20.612.162.828.486.216.323.324.605.324.845l-.107.288zm12.96%200c-3.937%202.52-5.904%205.556-5.904%209.108%200%201.105.193%201.657.577%201.657l.396-.107c.312-.12.563-.18.756-.18%201.103%200%202.04.41%202.807%201.23.77.82%201.152%201.83%201.152%203.036%200%201.157-.41%202.14-1.225%202.947-.816.807-1.8%201.21-2.952%201.21-1.608%200-2.935-.66-3.98-1.983-1.043-1.32-1.564-2.98-1.564-4.977%200-2.284.448-4.37%201.35-6.256.9-1.887%202.255-3.577%204.067-5.067C24.76%205%2025.917%204.254%2026.42%204.254c.337%200%20.613.162.83.486.215.324.323.606.323.846l-.108.287z%22%2F%3E%3C%2Fsvg%3E");
      opacity: 0.8; }

.ell {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden; }

.border {
  border: 1px solid rgba(17, 17, 17, 0.1); }

.border-color {
  border: 1px solid #111; }

.shadow {
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); }

.g-auto-md {
  padding: 1.6rem; }
  @media (min-width: 768px) {
    .g-auto-md {
      padding: 2.4rem; } }
  @media (min-width: 1024px) {
    .g-auto-md {
      padding: 3.2rem; } }

@media (max-width: 1023px) {
  .off-max-md {
    display: none; } }

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

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

.pos-rel {
  position: relative; }

.pos-abs-all {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

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

@media (min-width: 1024px) {
  .text-md-center {
    text-align: center; } }

@media (max-width: 1023px) {
  .text-max-md-center {
    text-align: center; } }

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

.color-paragraph {
  color: #444444; }

.color-font-light {
  color: #777777; }

.color-font-bright {
  color: #c0c0c0; }

.color-white {
  color: #fff; }

.color-sns-line {
  color: #06c755; }

.overflow-x-hidden {
  overflow-x: hidden; }

.l-btn,
.btn-lo {
  margin-top: 32px;
  display: flex; }
  @media (min-width: 768px) {
    .l-btn,
    .btn-lo {
      margin-top: 64px; } }

.l-btn--center,
.btn-lo--center {
  justify-content: center; }

.l-btn--right {
  justify-content: flex-end; }

@media (min-width: 1024px) {
  .l-btn--md-right {
    justify-content: flex-end; }
  .l-btn--md-center {
    justify-content: center; } }

@media (max-width: 1023px) {
  .l-btn--max-md-right {
    justify-content: flex-end; }
  .l-btn--max-md-center {
    justify-content: center; } }

.lo-section,
.l-space-section {
  margin-bottom: 48px; }
  @media (min-width: 768px) {
    .lo-section,
    .l-space-section {
      margin-bottom: 80px; } }

.lo-next-continue {
  margin-bottom: 40px; }
  .lo-next-continue + .content {
    padding-top: 0; }

.l-space-docs {
  margin-top: 40px; }
  @media (min-width: 768px) {
    .l-space-docs {
      margin-top: 64px; } }

.l-space-elem {
  margin-bottom: 48px; }
  @media (min-width: 768px) {
    .l-space-elem {
      margin-bottom: 48px; } }

.header-offset {
  height: 64px; }
  @media (min-width: 768px) {
    .header-offset {
      height: 80px; } }

.header-offset--top {
  height: 0; }

.bg-light {
  background-color: #f4f4f4; }

.bg-dark {
  background-color: #333; }

.bg-sub {
  background-color: #fdf7f5; }

.copyright {
  display: block;
  font-size: 1.2rem; }

code {
  padding-left: 4px;
  padding-right: 4px;
  border-radius: 4px;
  background: #fcebff; }

.mt-3 {
  margin-top: 16px; }

.mt-4 {
  margin-top: 24px; }

.content {
  width: 100%;
  padding-top: 48px;
  padding-bottom: 48px; }
  @media (min-width: 768px) {
    .content {
      padding-top: 80px;
      padding-bottom: 80px; } }

.content--top {
  padding-bottom: 0; }
  @media (min-width: 768px) {
    .content--top {
      padding-bottom: 0; } }

.content--bottom {
  padding-top: 0; }
  @media (min-width: 768px) {
    .content--bottom {
      padding-top: 0; } }

.content--top-x2,
.content-x2 {
  padding-top: 96px; }
  @media (min-width: 768px) {
    .content--top-x2,
    .content-x2 {
      padding-top: 160px; } }

.content--bottom-x2,
.content-x2 {
  padding-bottom: 96px; }
  @media (min-width: 768px) {
    .content--bottom-x2,
    .content-x2 {
      padding-bottom: 160px; } }

.container,
.container-width,
.container-full,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 93.75vw;
  margin-left: auto;
  margin-right: auto;
  width: 87.5vw; }
  @media (min-width: 768px) {
    .container,
    .container-width,
    .container-full,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
      width: 93.75vw; } }
  @media (min-width: 1280px) {
    .container,
    .container-width,
    .container-full,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
      width: 87.5vw;
      width: 85vw;
      width: 80vw; } }
  @media (min-width: 1440px) {
    .container,
    .container-width,
    .container-full,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
      width: 83.33333333vw;
      width: 80vw;
      width: 87.5vw;
      width: 80vw; } }

@media (min-width: 768px) {
  .sm.container,
  .sm .container {
    max-width: 720px; } }

@media (min-width: 1024px) {
  .md.container,
  .md .container {
    max-width: 960px; } }

@media (min-width: 1440px) {
  .container {
    max-width: 1440px; } }

.figure {
  position: relative;
  display: block;
  margin: 0; }

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

.img {
  width: 100%;
  display: block; }

.img--fit {
  min-width: 100%;
  height: 100%;
  object-fit: cover; }

.img--full {
  width: 100%;
  min-width: 100%; }

.img-fit-wrap {
  display: block;
  position: relative; }

.figure--fit {
  position: relative;
  padding-top: 75%; }
  .figure--fit .img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    min-width: 100%;
    height: 100%;
    object-fit: cover; }

.figure--fit--free {
  padding-top: 0; }

.figure--fit--3to2 {
  padding-top: 66.66667%; }

.figure--fit--4to3 {
  padding-top: 75%; }

.figure--fit--16to9 {
  padding-top: 56.25%; }

.figure--fit--24to10 {
  padding-top: 42.55319%; }

.figure--fit--1to1 {
  padding-top: 100%; }

.figure--fit--3to4 {
  padding-top: 133.33333%; }

.figure--fit--2to3 {
  padding-top: 150%; }

@media (min-width: 1024px) {
  .figure--md-fit {
    position: relative;
    padding-top: 75%; }
    .figure--md-fit .img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      min-width: 100%;
      height: 100%;
      object-fit: cover; }
  .figure--fit--md-same {
    padding-top: 0; }
    .figure--fit--md-same .img {
      position: relative;
      height: auto;
      object-fit: initial; }
  .figure--fit--md-free {
    padding-top: 0; }
  .figure--fit--md-3to2 {
    padding-top: 66.66667%; }
  .figure--fit--md-4to3 {
    padding-top: 75%; }
  .figure--fit--md-16to9 {
    padding-top: 56.25%; }
  .figure--fit--md-24to10 {
    padding-top: 42.55319%; }
  .figure--fit--md-1to1 {
    padding-top: 100%; }
  .figure--fit--md-3to4 {
    padding-top: 133.33333%; }
  .figure--fit--md-2to3 {
    padding-top: 150%; } }

.font-item {
  font-family: "Marcellus", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

.font-min {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", YuMincho, serif; }

.font-jp {
  font-family: "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

.font-en {
  font-family: "Montserrat"; }

.font-en-sub {
  font-family: "Sonic Cut"; }

.font-en-condensed {
  font-family: "Roboto"; }

.font-en-serif {
  font-family: "Marcellus"; }

.font-en-script {
  font-family: inherit; }

.font-bold {
  font-weight: bold !important; }

.font-normal {
  font-weight: normal !important; }

.icon {
  display: block;
  width: 24px;
  height: 24px;
  line-height: 1; }
  .icon--12 {
    width: 12px;
    height: 12px; }
  .icon--16 {
    width: 16px;
    height: 16px; }
  .icon--18 {
    width: 18px;
    height: 18px; }
  .icon--20 {
    width: 20px;
    height: 20px; }
  .icon--28 {
    width: 28px;
    height: 28px; }
  .icon--32 {
    width: 32px;
    height: 32px; }
  .icon--40 {
    width: 40px;
    height: 40px; }
  .icon--48 {
    width: 48px;
    height: 48px; }

.form-area {
  display: block;
  margin-bottom: 16px; }
  .form-area--button {
    margin-top: 80px; }
  .form-area__line {
    flex-basis: 100%; }
  .form-area__label {
    flex-basis: 33.33333%; }
  .form-area__line,
  .form-area__item {
    flex-grow: 1; }
  @media (min-width: 1024px) {
    .form-area {
      display: flex;
      margin-bottom: 32px; }
      .form-area--button {
        justify-content: center; }
        .form-area--button .form-area__item {
          flex-grow: 0;
          flex-basis: 100%;
          max-width: 768px; } }

.form-area__title {
  margin-top: 48px;
  margin-bottom: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  color: inherit;
  font-size: 2.0rem;
  font-weight: 400; }
  .form-area__title--first {
    margin-top: 0; }

.form-info,
.form-danger {
  color: #777777; }

.form-danger {
  color: #ff5151; }

.jq-mes-input {
  margin-top: 12px;
  font-size: 13px; }

.form-area-policy {
  height: 96px;
  overflow-y: scroll;
  font-size: 10px;
  border: 1px solid rgba(17, 17, 17, 0.1);
  padding: 1.6rem;
  background-color: #fff;
  border-radius: 2px;
  margin-bottom: 24px; }
  .form-area-policy * {
    font-size: 12px; }

.form-privacy-text {
  text-align: center;
  font-size: 1.3rem;
  color: #777777;
  margin-bottom: 24px; }

.label {
  position: relative;
  padding-right: 0;
  margin-bottom: 4px;
  color: #757575;
  line-height: 40px;
  cursor: pointer;
  font-size: 1.4rem;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  white-space: nowrap; }
  @media (min-width: 1024px) {
    .label {
      font-size: 1.6rem;
      line-height: 48px; } }
  .label--required:after {
    content: "*";
    display: block;
    position: absolute;
    top: 50%;
    right: -24px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    margin-top: -10px;
    color: #ff5151;
    font-size: 20px; }

.form-select-wrap {
  position: relative; }
  .form-select-wrap .icon {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    width: 32px;
    height: 24px;
    margin-top: -12px;
    fill: #111;
    pointer-events: none;
    cursor: default;
    z-index: 1;
    fill: #757575; }

.form-list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .form-list li {
    margin: 0;
    padding: 0 0 16px 0; }
    .form-list li:last-child {
      padding-bottom: 10px; }
  @media (min-width: 1024px) {
    .form-list li {
      padding: 10px 0 6px 0; } }
  .form-list label {
    display: flex;
    align-items: center;
    cursor: pointer; }
    .form-list label .radio,
    .form-list label .check {
      padding-right: 12px; }
    .form-list label .check-text {
      text-decoration: none;
      transition-duration: 0.5s;
      transition-property: all;
      transition-timing-function: ease; }
    .form-list label:hover {
      opacity: 1; }
      .form-list label:hover .check-text {
        opacity: 0.8; }

/*placeholderの文字色*/
::-webkit-input-placeholder {
  color: #777777; }

/*Webkit*/
::-moz-placeholder {
  color: #777777; }

/*Firefox 19以降*/
:-moz-placeholder {
  color: #777777; }

/*Firefox 18以前*/
:-ms-input-placeholder {
  color: #777777; }

/*Windows IE*/
/*フォームパーツ*/
/*
input[type="reset"],
input[type="submit"],
input[type="text"],
input[type="passwd"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="number"]
*/
input,
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  max-width: 100%;
  line-height: 26px;
  padding: 0 16px;
  height: 48px;
  line-height: 46.2px;
  box-shadow: none;
  font-size: 1.6rem;
  background: #f2f2f2;
  color: #111;
  border: 0.9px solid #f2f2f2;
  border-radius: 4px;
  outline: none;
  vertical-align: middle;
  transition-duration: 0.5s;
  transition-property: border;
  transition-timing-function: ease; }

input[type="search"] {
  border-radius: 4px; }

select::-ms-expand {
  display: none; }

.IE input {
  min-width: 256px; }

select {
  /*firefox用*/
  /*-moz-appearance: none;*/
  text-indent: 0.01px;
  text-overflow: '';
  padding-right: 32px; }

button:focus,
select:focus,
textarea:focus,
input:focus {
  outline: none;
  -moz-outline-style: none; }

textarea {
  padding: 1.6rem;
  min-height: 200px;
  height: 200px;
  min-height: 160px;
  width: 100%;
  max-width: 100%;
  resize: vertical;
  overflow-x: hidden;
  word-break: break-all;
  line-height: inherit; }

textarea:required,
input:required,
select:required {
  background: #faeaea;
  border-color: #faeaea; }

textarea:required:hover,
input:required:hover,
select:required:hover,
textarea:required:focus,
input:required:focus,
select:required:focus {
  border-color: #e69898; }

textarea:hover,
input:hover,
select:hover {
  border-color: #bfbfbf; }

textarea:focus,
input:focus,
select:focus {
  border: 0.9px solid #bfbfbf; }

.input--tel {
  max-width: 256px; }

.arrow-wrap--sm,
.input--zip {
  max-width: 160px; }

.input-btn {
  display: inline-block;
  width: 24px;
  height: 24px; }

.input-chk {
  margin: 0;
  display: block;
  margin: 0;
  padding: 0;
  width: inherit;
  height: inherit; }

@media (min-width: 1px) {
  input[type="radio"],
  input[type="checkbox"] {
    display: none; }
  input[type="radio"] + .checkzone,
  input[type="checkbox"] + .checkzone {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    background: #f2f2f2;
    border: 0.9px solid #f2f2f2;
    transition-property: background;
    transition-duration: 0.5s;
    transition-timing-function: ease; }
    input[type="radio"] + .checkzone:after,
    input[type="checkbox"] + .checkzone:after {
      display: block;
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      border: none;
      opacity: 0;
      transition-property: transform, opacity;
      transition-duration: 0.5s;
      transition-timing-function: ease; }
  input[type="checkbox"] + .checkzone {
    border-radius: 4px; }
    input[type="checkbox"] + .checkzone:after {
      width: 8px;
      height: 16px;
      margin-top: -9px;
      margin-left: 1px;
      border: solid 2px #fff;
      border-left: 0;
      border-top: 0;
      transform: translate3d(0, 8px, 0) rotate(45deg);
      transform-origin: bottom right; }
  input[type="checkbox"]:checked + .checkzone {
    background: #41d1f5;
    border: none; }
    input[type="checkbox"]:checked + .checkzone:after {
      transform: translate3d(0, 0, 0) rotate(45deg);
      opacity: 1; }
  input[type="radio"] + .checkzone {
    border-radius: 50%; }
    input[type="radio"] + .checkzone:after {
      height: 14px;
      width: 14px;
      margin-top: -7px;
      margin-left: 5px;
      background: #f2f2f2;
      border-radius: 50%;
      transform: scale3d(0, 0, 0); }
  input[type="radio"]:checked + .checkzone {
    background: #41d1f5;
    border: none; }
    input[type="radio"]:checked + .checkzone:after {
      transform: scale3d(1, 1, 1);
      opacity: 1; } }

/*
レスポンシブ対応で実用的なCSS Flexboxフレームワークの作り方

一般的なCSSフレームワークは便利である反面、あらゆる要素やパーツが用意されていて、それに比例してファイルサイズも大きくなります。フォームパーツも充実しているため、管理画面を短期間で制作するような用途にはとても向いています。一方で、WordPress制作のWEBサイトにおいては管理画面はすでに用意されています。

一般的に高性能で多機能なCSSフレームワークを用いてWEB制作を行ったとしていも、用意されたCSSスタイルの殆どが使われずにいるケースも多いのではないでしょうか。そこで、制作するWEBサイトに合わせた

IE11を考慮しないことでシンプルにする

グリッド構築用途に割り切る

スマートフォンをベースに考える
・ガターは16px
・スマートフォンは基本的に縦並び構造
--デフォルトはblock
*/
.grid {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 1.6rem;
  row-gap: 2.4rem;
  grid-auto-rows: minmax(10px, auto); }
  @media (min-width: 768px) {
    .grid {
      column-gap: 2.4rem; } }
  @media (min-width: 1024px) {
    .grid {
      column-gap: 3.2rem; } }
  @media (min-width: 1280px) {
    .grid {
      column-gap: 4.8rem; } }

@media (min-width: 1024px) {
  .grid--md-1fr-2fr {
    grid-template-columns: 1fr 2fr; }
  .grid--md-1fr-3fr {
    grid-template-columns: 1fr 3fr; } }

xx.grid--card {
  gap: 1.6rem; }
  @media (min-width: 768px) {
    xx.grid--card {
      gap: 32px; } }
  @media (min-width: 1024px) {
    xx.grid--card {
      gap: 120px; } }
  @media (min-width: 1280px) {
    xx.grid--card {
      gap: 160px; } }
  xx.grid--card .num-2,
  xx.grid--card .num-5 {
    margin-top: 40%; }
  xx.grid--card .num-3,
  xx.grid--card .num-6 {
    margin-top: 80%; }

XXX.grid {
  display: grid;
  gap: 32px; }

.grid--gutter-off {
  gap: 0; }

.grid--gutter-us {
  gap: 1px; }

.grid--1 {
  grid-template-columns: repeat(1, 1fr); }

.grid--2 {
  grid-template-columns: repeat(2, 1fr); }

.grid--3 {
  grid-template-columns: repeat(3, 1fr); }

.grid--4 {
  grid-template-columns: repeat(4, 1fr); }

.grid--5 {
  grid-template-columns: repeat(5, 1fr); }

.grid--6 {
  grid-template-columns: repeat(6, 1fr); }

.grid--7 {
  grid-template-columns: repeat(7, 1fr); }

.grid--8 {
  grid-template-columns: repeat(8, 1fr); }

.grid--9 {
  grid-template-columns: repeat(9, 1fr); }

.grid--10 {
  grid-template-columns: repeat(10, 1fr); }

.grid--11 {
  grid-template-columns: repeat(11, 1fr); }

.grid--12 {
  grid-template-columns: repeat(12, 1fr); }

@media (min-width: 520px) {
  .grid--xs-1 {
    grid-template-columns: repeat(1, 1fr); }
  .grid--xs-2 {
    grid-template-columns: repeat(2, 1fr); }
  .grid--xs-3 {
    grid-template-columns: repeat(3, 1fr); }
  .grid--xs-4 {
    grid-template-columns: repeat(4, 1fr); }
  .grid--xs-5 {
    grid-template-columns: repeat(5, 1fr); }
  .grid--xs-6 {
    grid-template-columns: repeat(6, 1fr); }
  .grid--xs-7 {
    grid-template-columns: repeat(7, 1fr); }
  .grid--xs-8 {
    grid-template-columns: repeat(8, 1fr); }
  .grid--xs-9 {
    grid-template-columns: repeat(9, 1fr); }
  .grid--xs-10 {
    grid-template-columns: repeat(10, 1fr); }
  .grid--xs-11 {
    grid-template-columns: repeat(11, 1fr); }
  .grid--xs-12 {
    grid-template-columns: repeat(12, 1fr); } }

@media (min-width: 768px) {
  .grid--sm-1 {
    grid-template-columns: repeat(1, 1fr); }
  .grid--sm-2 {
    grid-template-columns: repeat(2, 1fr); }
  .grid--sm-3 {
    grid-template-columns: repeat(3, 1fr); }
  .grid--sm-4 {
    grid-template-columns: repeat(4, 1fr); }
  .grid--sm-5 {
    grid-template-columns: repeat(5, 1fr); }
  .grid--sm-6 {
    grid-template-columns: repeat(6, 1fr); }
  .grid--sm-7 {
    grid-template-columns: repeat(7, 1fr); }
  .grid--sm-8 {
    grid-template-columns: repeat(8, 1fr); }
  .grid--sm-9 {
    grid-template-columns: repeat(9, 1fr); }
  .grid--sm-10 {
    grid-template-columns: repeat(10, 1fr); }
  .grid--sm-11 {
    grid-template-columns: repeat(11, 1fr); }
  .grid--sm-12 {
    grid-template-columns: repeat(12, 1fr); } }

@media (min-width: 1024px) {
  .grid {
    display: grid; }
  .grid--gutter-off {
    gap: 0; }
  .grid--md-1 {
    grid-template-columns: repeat(1, 1fr); }
  .grid--md-2 {
    grid-template-columns: repeat(2, 1fr); }
  .grid--md-3 {
    grid-template-columns: repeat(3, 1fr); }
  .grid--md-4 {
    grid-template-columns: repeat(4, 1fr); }
  .grid--md-5 {
    grid-template-columns: repeat(5, 1fr); }
  .grid--md-6 {
    grid-template-columns: repeat(6, 1fr); }
  .grid--md-7 {
    grid-template-columns: repeat(7, 1fr); }
  .grid--md-8 {
    grid-template-columns: repeat(8, 1fr); }
  .grid--md-9 {
    grid-template-columns: repeat(9, 1fr); }
  .grid--md-10 {
    grid-template-columns: repeat(10, 1fr); }
  .grid--md-11 {
    grid-template-columns: repeat(11, 1fr); }
  .grid--md-12 {
    grid-template-columns: repeat(12, 1fr); }
  .col--md-1 {
    grid-column: 1; }
  .col--md-2 {
    grid-column: 2; }
  .col--md-3 {
    grid-column: 3; }
  .col--md-4 {
    grid-column: 4; }
  .col--md-5 {
    grid-column: 5; }
  .col--md-6 {
    grid-column: 6; }
  .col--md-7 {
    grid-column: 7; }
  .col--md-8 {
    grid-column: 8; }
  .col--md-9 {
    grid-column: 9; }
  .col--md-10 {
    grid-template-columns: repeat(10, 1fr); }
  .col--md-11 {
    grid-template-columns: repeat(11, 1fr); }
  .col--md-12 {
    grid-template-columns: repeat(12, 1fr); } }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  line-height: 1.5;
  font-feature-settings: inherit;
  word-wrap: break-word;
  font-weight: 400;
  font-family: inherit; }

.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  margin-bottom: 0; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1.6rem;
  font-weight: inherit; }

h1, .h1 {
  font-size: 3.2rem; }

h2, .h2 {
  font-size: 2.8rem; }

h3, .h3 {
  font-size: 2.4rem; }

h4, .h4 {
  font-size: 2.0rem; }

h5, .h5 {
  font-size: 1.6rem; }

h6, .h6 {
  font-size: 1.5rem; }

/*
レスポンシブ対応で実用的なCSS Flexboxフレームワークの作り方

一般的なCSSフレームワークは便利である反面、あらゆる要素やパーツが用意されていて、それに比例してファイルサイズも大きくなります。フォームパーツも充実しているため、管理画面を短期間で制作するような用途にはとても向いています。一方で、WordPress制作のWEBサイトにおいては管理画面はすでに用意されています。

一般的に高性能で多機能なCSSフレームワークを用いてWEB制作を行ったとしていも、用意されたCSSスタイルの殆どが使われずにいるケースも多いのではないでしょうか。そこで、制作するWEBサイトに合わせた

IE11を考慮しないことでシンプルにする

グリッド構築用途に割り切る

スマートフォンをベースに考える
・ガターは16px
・スマートフォンは基本的に縦並び構造
--デフォルトはblock


[Flexboxの使い時]
幅が決まっていないアイテムを均等に整列させるときはFlexboxが便利
アイテムの上下方向の位置を揃えるとき
隙間が不要なレイアウトをするとき
横方向のみ、縦方向のみの1次元配列のレイアウト
要素が増減・可変する場合にはflexboxの方が楽
*/
.row {
  display: flex;
  flex-wrap: wrap; }

> * {
  max-width: 100%; }

.col {
  flex-grow: 0; }

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

.row--grow > .col {
  flex-grow: 1; }

.row--gutter {
  margin: -0.8rem; }
  .row--gutter > .col {
    padding: 0.8rem; }

.row--gutter-2 {
  margin: -0.4rem; }
  .row--gutter-2 > .col {
    padding: 0.4rem; }

.gutter-x-3,
.row {
  margin-left: -0.8rem;
  margin-right: -0.8rem; }
  .gutter-x-3 > *,
  .row > * {
    padding-left: 0.8rem;
    padding-right: 0.8rem; }

.row--jc-center {
  justify-content: center; }

.row--jc-flex-start {
  justify-content: flex-start; }

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

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

.row--ai-stretch {
  align-items: stretch; }

.row--ai-baseline {
  align-items: baseline; }

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

.row--ai-flex-start {
  align-items: flex-start; }

.row--ai-flex-end {
  align-items: flex-end; }

.row--ai-space-between {
  align-items: space-between; }

.row--col-1 > .col,
.row > .col--1 {
  flex-basis: 8.33333333%;
  flex-shrink: 0;
  max-width: 8.33333333%; }

.row--col-2 > .col,
.row > .col--2 {
  flex-basis: 16.66667%;
  flex-shrink: 0;
  max-width: 16.66667%; }

.row--col-3 > .col,
.row > .col--3 {
  flex-basis: 25%;
  flex-shrink: 0;
  max-width: 25%; }

.row--col-4 > .col,
.row > .col--4 {
  flex-basis: 33.33333%;
  flex-shrink: 0;
  max-width: 33.33333%; }

.row--col-5 > .col,
.row > .col--5 {
  flex-basis: 41.66667%;
  flex-shrink: 0;
  max-width: 41.66667%; }

.row--col-6 > .col,
.row > .col--6 {
  flex-basis: 50%;
  flex-shrink: 0;
  max-width: 50%; }

.row--col-7 > .col,
.row > .col--7 {
  flex-basis: 58.33333%;
  flex-shrink: 0;
  max-width: 58.33333%; }

.row--col-8 > .col,
.row > .col--8 {
  flex-basis: 66.66667%;
  flex-shrink: 0;
  max-width: 66.66667%; }

.row--col-9 > .col,
.row > .col--9 {
  flex-basis: 75%;
  flex-shrink: 0;
  max-width: 75%; }

.row--col-10 > .col,
.row > .col--10 {
  flex-basis: 83.33333%;
  flex-shrink: 0;
  max-width: 83.33333%; }

.row--col-11 > .col,
.row > .col--11 {
  flex-basis: 91.66667%;
  flex-shrink: 0;
  max-width: 91.66667%; }

.row--col-12 > .col,
.row > .col--12 {
  flex-basis: 100%;
  flex-shrink: 0;
  max-width: 100%; }

.row--gutter-0 {
  margin-left: 0;
  margin-right: 0; }
  .row--gutter-0 > .col {
    padding-left: 0 !important;
    padding-right: 0 !important; }

.col--offset-left {
  margin-left: auto; }

.col--offset-right {
  margin-right: auto; }

.col--offset-off {
  margin-left: 0; }

.col--offset-1 {
  margin-left: calc(8.33333333% + 0.8rem);
  margin-left: calc(8.33333333%); }

.col--offset-2 {
  margin-left: calc(16.66667% + 0.8rem);
  margin-left: calc(16.66667%); }

.col--offset-3 {
  margin-left: calc(25% + 0.8rem);
  margin-left: calc(25%); }

.col--offset-4 {
  margin-left: calc(33.33333% + 0.8rem);
  margin-left: calc(33.33333%); }

.col--offset-5 {
  margin-left: calc(41.66667% + 0.8rem);
  margin-left: calc(41.66667%); }

.col--offset-6 {
  margin-left: calc(50% + 0.8rem);
  margin-left: calc(50%); }

.col--offset-7 {
  margin-left: calc(58.33333% + 0.8rem);
  margin-left: calc(58.33333%); }

.col--offset-8 {
  margin-left: calc(66.66667% + 0.8rem);
  margin-left: calc(66.66667%); }

.col--offset-9 {
  margin-left: calc(75% + 0.8rem);
  margin-left: calc(75%); }

.col--offset-10 {
  margin-left: calc(83.33333% + 0.8rem);
  margin-left: calc(83.33333%); }

.col--offset-11 {
  margin-left: calc(91.66667% + 0.8rem);
  margin-left: calc(91.66667%); }

.col--offset-12 {
  margin-left: calc(100% + 0.8rem);
  margin-left: calc(100%); }

XX.gutter {
  border: 1px solid rgba(17, 17, 17, 0.1); }
  XX.gutter .col--offset-left {
    margin-left: auto; }
  XX.gutter .col--offset-right {
    margin-right: auto; }
  XX.gutter .col--offset-off {
    margin-left: 0; }

@media (min-width: 768px) {
  .row--sm-line {
    flex-wrap: nowrap; }
  .gutter-x-sm-1 {
    margin-left: -0.2rem;
    margin-right: -0.2rem; }
    .gutter-x-sm-1 > * {
      padding-left: 0.2rem;
      padding-right: 0.2rem; }
  .gutter-x-2,
  .gutter-x-sm-2 {
    margin-left: -0.4rem;
    margin-right: -0.4rem; }
    .gutter-x-2 > *,
    .gutter-x-sm-2 > * {
      padding-left: 0.4rem;
      padding-right: 0.4rem; }
  .gutter-x-3,
  .gutter-x-sm-3 {
    margin-left: -0.8rem;
    margin-right: -0.8rem; }
    .gutter-x-3 > *,
    .gutter-x-sm-3 > * {
      padding-left: 0.8rem;
      padding-right: 0.8rem; }
  .gutter-x-4,
  .gutter-x-sm-4 {
    margin-left: -1.2rem;
    margin-right: -1.2rem; }
    .gutter-x-4 > *,
    .gutter-x-sm-4 > * {
      padding-left: 1.2rem;
      padding-right: 1.2rem; }
  .gx-5,
  .gx-sm-5 {
    margin-left: -2.4rem;
    margin-right: -2.4rem; }
    .gx-5 > *,
    .gx-sm-5 > * {
      padding-left: 2.4rem;
      padding-right: 2.4rem; }
  .row--sm-col-1 > .col,
  .row > .col--sm-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%; }
  .row--sm-col-2 > .col,
  .row > .col--sm-2 {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .row--sm-col-3 > .col,
  .row > .col--sm-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .row--sm-col-4 > .col,
  .row > .col--sm-4 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .row--sm-col-5 > .col,
  .row > .col--sm-5 {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .row--sm-col-6 > .col,
  .row > .col--sm-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .row--sm-col-7 > .col,
  .row > .col--sm-7 {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .row--sm-col-8 > .col,
  .row > .col--sm-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .row--sm-col-9 > .col,
  .row > .col--sm-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .row--sm-col-10 > .col,
  .row > .col--sm-10 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .row--sm-col-11 > .col,
  .row > .col--sm-11 {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }
  .row--sm-col-12 > .col,
  .row > .col--sm-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .col--sm-offset-1 {
    margin-left: 8.33333333%; }
  .col--sm-offset-2 {
    margin-left: 16.66667%; }
  .col--sm-offset-3 {
    margin-left: 25%; }
  .col--sm-offset-4 {
    margin-left: 33.33333%; }
  .col--sm-offset-5 {
    margin-left: 41.66667%; }
  .col--sm-offset-6 {
    margin-left: 50%; }
  .col--sm-offset-7 {
    margin-left: 58.33333%; }
  .col--sm-offset-8 {
    margin-left: 66.66667%; }
  .col--sm-offset-9 {
    margin-left: 75%; }
  .col--sm-offset-10 {
    margin-left: 83.33333%; }
  .col--sm-offset-11 {
    margin-left: 91.66667%; }
  .col--sm-offset-12 {
    margin-left: 100%; }
  .col--sm-offset-left {
    margin-left: auto; }
  .col--sm-offset-off {
    margin-left: 0; }
  .col--sm-order {
    order: 1; } }

@media (min-width: 1024px) {
  .row--md-jc-center {
    justify-content: center; }
  .row--md-jc-flex-start {
    justify-content: flex-start; }
  .row--md-jc-flex-end {
    justify-content: flex-end; }
  .row--md-jc-space-between {
    justify-content: space-between; }
  .row--md-ai-stretch {
    align-items: stretch; }
  .row--md-ai-baseline {
    align-items: baseline; }
  .row--md-ai-center {
    align-items: center; }
  .row--md-ai-flex-start {
    align-items: flex-start; }
  .row--md-ai-flex-end {
    align-items: flex-end; }
  .row--md-ai-space-between {
    align-items: space-between; }
  .row--md-col-1 > .col,
  .col--md-1 {
    flex-basis: calc(8.33333333% - 1.6rem); }
  .row--md-col-2 > .col,
  .col--md-2 {
    flex-basis: calc(16.66667% - 1.6rem); }
  .row--md-col-3 > .col,
  .col--md-3 {
    flex-basis: calc(25% - 1.6rem); }
  .row--md-col-4 > .col,
  .col--md-4 {
    flex-basis: calc(33.33333% - 1.6rem); }
  .row--md-col-5 > .col,
  .col--md-5 {
    flex-basis: calc(41.66667% - 1.6rem); }
  .row--md-col-6 > .col,
  .col--md-6 {
    flex-basis: calc(50% - 1.6rem); }
  .row--md-col-7 > .col,
  .col--md-7 {
    flex-basis: calc(58.33333% - 1.6rem); }
  .row--md-col-8 > .col,
  .col--md-8 {
    flex-basis: calc(66.66667% - 1.6rem); }
  .row--md-col-9 > .col,
  .col--md-9 {
    flex-basis: calc(75% - 1.6rem); }
  .row--md-col-10 > .col,
  .col--md-10 {
    flex-basis: calc(83.33333% - 1.6rem); }
  .row--md-col-11 > .col,
  .col--md-11 {
    flex-basis: calc(91.66667% - 1.6rem); }
  .row--md-col-12 > .col,
  .col--md-12 {
    flex-basis: calc(100% - 1.6rem); }
  .col--md-offset-1 {
    margin-left: 8.33333333%; }
  .col--md-offset-2 {
    margin-left: 16.66667%; }
  .col--md-offset-3 {
    margin-left: 25%; }
  .col--md-offset-4 {
    margin-left: 33.33333%; }
  .col--md-offset-5 {
    margin-left: 41.66667%; }
  .col--md-offset-6 {
    margin-left: 50%; }
  .col--md-offset-7 {
    margin-left: 58.33333%; }
  .col--md-offset-8 {
    margin-left: 66.66667%; }
  .col--md-offset-9 {
    margin-left: 75%; }
  .col--md-offset-10 {
    margin-left: 83.33333%; }
  .col--md-offset-11 {
    margin-left: 91.66667%; }
  .col--md-offset-12 {
    margin-left: 100%; }
  .col--md-offset-left {
    margin-left: auto; }
  .col--md-offset-off {
    margin-left: 0; }
  .col--md-order {
    order: 1; }
  .col--md-order-2 {
    order: 2; } }

.tg-intro {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.5rem;
  opacity: 0.8; }
  @media (min-width: 768px) {
    .tg-intro {
      line-height: 2;
      font-size: 2.0rem; } }

.tg-lead {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.5rem;
  opacity: .8; }
  @media (min-width: 768px) {
    .tg-lead {
      line-height: 2;
      font-size: 1.8rem; } }

.tg-body {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.5rem; }
  @media (min-width: 768px) {
    .tg-body {
      line-height: 2;
      font-size: 1.6rem; } }

.tg-inner {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.5rem; }
  @media (min-width: 768px) {
    .tg-inner {
      font-size: 1.4rem; } }

.tg-small {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.2rem; }
  @media (min-width: 768px) {
    .tg-small {
      font-size: 1.2rem; } }

.tg-list-title {
  font-weight: 400;
  font-size: 1.6rem; }
  @media (min-width: 768px) {
    .tg-list-title {
      font-size: 1.6rem; } }

.p-auto {
  padding: 1.6rem; }

@media (min-width: 768px) {
  .p-auto {
    padding: 2.4rem; } }

@media (min-width: 1024px) {
  .p-auto {
    padding: 3.2rem; } }

.a-border {
  border: 1px solid rgba(17, 17, 17, 0.1); }

.a-category {
  display: inline-block;
  border: 0.9px solid #888;
  font-size: 1.3rem;
  padding: 4px 8px; }

.a-meta {
  color: #888; }

a.a-meta {
  display: block;
  border-bottom: 0.9px solid #888; }

.a-price {
  font-weight: inherit; }
  .a-price__number {
    font-size: 1.4em;
    font-family: "Roboto"; }

.a-icon-text {
  display: flex;
  align-items: center; }
  .a-icon-text > *:nth-child(1) {
    margin-right: 8px; }

.a-meta {
  font-family: var(--font-en);
  font-feature-settings: normal; }

.a-youtube {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden; }
  .a-youtube iframe {
    border: none !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.a-item-panel {
  margin-top: 1.6rem;
  border: 0.9px solid #fff;
  background: #fff;
  line-height: 1;
  padding: 2rem 2.4rem;
  padding: 1.2rem 1.6rem;
  font-size: 1.2rem; }

.a-mark {
  font-size: 2.0rem;
  font-family: var(--font-item);
  white-space: nowrap; }

.a-mark--circle,
.a-mark--border {
  line-height: 40px;
  width: 40px;
  min-width: 40px;
  text-align: center;
  font-size: 2.0rem;
  border-radius: 50%; }

.a-mark--circle {
  background: #f7eedb;
  color: #7b7973; }

.a-mark--border {
  box-shadow: inset 0px 0px 0px 2px #f7eedb; }

.a-mark-plus {
  display: block;
  width: 16px;
  min-width: 16px;
  height: 16px;
  padding: 0px;
  border-radius: 50%; }
  .a-mark-plus span {
    position: relative;
    display: block;
    width: 16px;
    height: 16px; }
  .a-mark-plus span:before,
  .a-mark-plus span:after {
    content: '';
    display: block;
    position: absolute;
    background: #111; }
  .a-mark-plus span:before {
    width: 16px;
    height: 1px;
    right: 0%;
    top: 50%; }
  .a-mark-plus span:after {
    width: 1px;
    height: 16px;
    left: 50%;
    top: 0; }

.box_contact {
  position: relative; }
  .box_contact .img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .box_contact .container {
    position: relative; }
  .box_contact .m-box-contact__inner {
    display: flex;
    margin: 0 -16px; }
  .box_contact .m-box-contact__btn {
    padding: 0 16px;
    flex-basis: 50%; }
  .box_contact .m-box-contact__btn .a-btn {
    height: 120px;
    width: 100%;
    background: #0aa0c6; }

.arrow {
  display: block;
  position: relative;
  width: 48px;
  height: 8px; }
  .arrow:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #111; }
  .arrow:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10px;
    height: 1px;
    background: #111;
    transform-origin: right bottom;
    transform: rotate(40deg); }

.a-google-map iframe {
  width: 100%; }

.a-btn {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  line-height: 1.5;
  height: 40px;
  background: #f4f4f4;
  color: #111;
  font-size: 1em;
  text-align: center;
  white-space: nowrap;
  border-radius: 0px;
  pointer-events: auto;
  cursor: pointer;
  letter-spacing: 0.1em; }
  .a-btn ._jp {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", YuMincho, serif; }
  .a-btn ._en {
    font-family: "Marcellus";
    text-transform: uppercase; }
  .a-btn ._main + .arrow,
  .a-btn ._main + .icon {
    margin-left: 8px; }
  .a-btn .icon + ._main {
    margin-left: 8px; }
  .a-btn ._sub {
    flex-basis: 100%;
    font-size: 1.2rem; }

.a-btn--tel {
  height: auto;
  padding: 0;
  background: none;
  padding: 16px;
  display: flex; }
  .a-btn--tel ._main {
    font-size: 2.4rem; }

.a-btn--drawr {
  height: 56px;
  background-color: #333;
  color: #fff; }
  .a-btn--drawr:hover {
    opacity: 1;
    background-color: #111;
    color: #fff; }
  .a-btn--drawr:hover:before {
    border-color: transparent transparent transparent #fff; }

a.a-btn {
  cursor: pointer; }

.a-btn--contact {
  height: auto;
  padding: 1.6rem 2.4rem;
  background: none;
  color: #fff; }
  .a-btn--contact:hover {
    box-shadow: 4px 8px 24px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 0px 1px #111; }
  .a-btn--contact ._main {
    font-size: 3.2rem;
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .a-btn--contact {
      height: 200px; }
      .a-btn--contact ._main {
        font-size: 4.0rem;
        text-transform: uppercase; }
      .a-btn--contact ._sub {
        font-size: 1.4rem; } }

.a-btn--link,
.a-btn--text {
  height: auto;
  padding: 0;
  color: #111111;
  font-weight: inherit;
  background: none;
  border: none;
  white-space: normal;
  text-align: left;
  border-radius: 0; }
  .a-btn--link:before,
  .a-btn--text:before {
    display: none; }

.a-btn--link {
  display: inline-flex;
  color: #0aa0c6; }

.a-btn--text {
  font-size: inherit;
  color: inherit; }

.a-btn--block {
  display: flex; }

.a-btn--ovall {
  border-radius: 500px; }

.a-btn--border {
  background: none;
  border: 0.9px solid #111;
  color: #1a1a1a; }

XX.a-btn--section {
  width: 200px;
  max-width: 100%;
  height: 48px;
  padding: 0 3.2rem;
  text-transform: uppercase;
  letter-spacing: .2em; }
  XX.a-btn--section ._en {
    font-family: "Montserrat"; }
  XX.a-btn--section:hover {
    opacity: 1;
    background-color: #5e5e5e; }
  @media (min-width: 768px) {
    XX.a-btn--section {
      height: 64px;
      min-width: 352px; } }

.a-btn-form,
button.a-btn-form {
  display: block;
  width: 100%;
  height: 56px;
  line-height: 56px;
  margin: 0 auto;
  padding: 0 3.2rem;
  font-family: "Marcellus", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1em;
  border: none;
  border-radius: 2px;
  background-color: #06c755;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  cursor: pointer; }
  @media (min-width: 768px) {
    .a-btn-form,
    button.a-btn-form {
      height: 80px; } }
  .a-btn-form:hover,
  button.a-btn-form:hover {
    opacity: 1;
    background-color: #6bfba6; }

a.a-btn--section {
  background: none;
  padding-left: 0;
  padding-right: 96px;
  height: 48px; }
  a.a-btn--section:before {
    content: '';
    width: 48px;
    height: 48px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: -0%;
    transform: translateY(-50%) translateX(0%);
    z-index: 1;
    background: none;
    box-shadow: inset 0px 0px 0px 1px #111;
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-duration: 0.5s;
    transition-property: all;
    transition-timing-function: ease; }
  a.a-btn--section ._main {
    position: relative;
    z-index: 1; }
  a.a-btn--section .arrow {
    position: absolute;
    right: 24px;
    top: 50%;
    margin-top: -7px;
    z-index: 1;
    transition-duration: 0.5s;
    transition-property: all;
    transition-timing-function: ease; }
  a.a-btn--section:hover:before {
    background-color: #faefeb;
    box-shadow: none; }
  a.a-btn--section:hover {
    opacity: 1; }
    a.a-btn--section:hover .arrow {
      transform: translateX(8px); }

a.a-btn--section.a-btn--white {
  color: #fff; }
  a.a-btn--section.a-btn--white .arrow:before,
  a.a-btn--section.a-btn--white .arrow:after {
    background: #fff; }

a.a-btn--section.a-btn--white:hover:before {
  background-color: #111;
  box-shadow: none; }

a.a-btn--section.a-btn--white:before {
  box-shadow: inset 0px 0px 0px 1px #fff; }

.a-logo {
  display: inline-block;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  pointer-events: auto; }
  .a-logo .logo-svg,
  .a-logo .img {
    display: inline-block;
    width: auto;
    height: 28px; }
    @media (min-width: 768px) {
      .a-logo .logo-svg,
      .a-logo .img {
        height: 28px; } }

.a-logo__body {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 28px;
  letter-spacing: normal;
  font-size: 2.0rem;
  font-family: "Sonic Cut";
  white-space: nowrap;
  transition: unset; }
  @media (min-width: 768px) {
    .a-logo__body {
      line-height: 28px;
      font-size: 2.4rem; } }

.a-logo__over-text {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 1;
  font-size: 11px;
  font-family: "Sonic Cut";
  font-feature-settings: normal;
  letter-spacing: .1em; }

.a-title {
  position: relative;
  margin-bottom: 1.6rem;
  color: inherit;
  line-height: 1.5;
  font-size: 2.0rem; }
  .a-title ._main {
    color: inherit;
    font-weight: 400;
    text-transform: uppercase; }
    .a-title ._main > span {
      white-space: nowrap; }
  .a-title ._main._en {
    font-family: var(--font-title); }
  .a-title ._main._jp {
    font-family: var(--font-min); }
  .a-title ._sub {
    font-family: inherit;
    font-size: 1.4rem;
    text-transform: uppercase; }
  .a-title ._sub._top {
    margin-bottom: 12px; }
  .a-title ._sub._bottom {
    margin-top: 8px; }
  .a-title ._sub._top._en {
    display: block;
    font-size: 1.6rem;
    font-family: var(--font-title); }
  @media (min-width: 768px) {
    .a-title {
      margin-bottom: 1.6rem; } }

.a-title--section {
  margin-bottom: 24px;
  font-size: 2.4rem; }
  .a-title--section ._main._en {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .a-title--section {
      font-size: 2.8rem;
      margin-bottom: 40px; }
      .a-title--section ._main._en {
        font-size: 3.2rem; }
      .a-title--section:after {
        margin-top: 40px; } }

.a-title--disp {
  margin-bottom: 24px;
  font-size: 3.2rem; }
  .a-title--disp ._main._en {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .a-title--disp {
      font-size: 4rem;
      margin-bottom: 40px; }
      .a-title--disp ._main._en {
        font-size: 6.4rem;
        line-height: 1.2; }
      .a-title--disp:after {
        margin-top: 40px; } }

.a-title--disp-2 {
  margin-bottom: 24px;
  font-size: 3.2rem; }
  .a-title--disp-2 ._main._en {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .a-title--disp-2 {
      font-size: 4rem;
      margin-bottom: 40px; }
      .a-title--disp-2 ._main._en {
        font-size: 8.0rem;
        line-height: 1.2; }
      .a-title--disp-2:after {
        margin-top: 40px; } }

.a-title--item {
  margin-bottom: 24px;
  font-size: 1.6rem; }
  .a-title--item ._main._en {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .a-title--item {
      font-size: 1.6rem;
      margin-bottom: 40px; }
      .a-title--item ._main._en {
        font-size: 1.8rem; }
      .a-title--item:after {
        margin-top: 40px; } }

.a-title--hero-page {
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0; }
  .a-title--hero-page ._main {
    font-size: 3.2rem;
    font-family: "Marcellus", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    text-transform: uppercase;
    letter-spacing: .2em; }
    @media (min-width: 768px) {
      .a-title--hero-page ._main {
        font-size: 6.4rem; } }
  .a-title--hero-page ._sub {
    font-size: 1.4rem;
    color: #777777; }

.inv--on.a-title--hero-page {
  opacity: 1;
  transform: translateX(0); }

.a-title--elem {
  line-height: 1.5;
  margin-bottom: 24px;
  color: inherit;
  font-size: 1.8rem;
  font-weight: 400; }
  @media (min-width: 768px) {
    .a-title--elem {
      font-size: 2.4rem; } }
  .a-title--elem ._main {
    font-family: "Montserrat"; }
  .a-title--elem ._main._jp {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", YuMincho, serif; }
  .a-title--elem ._sub {
    margin-top: 8px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    text-transform: uppercase; }

.a-title-page {
  line-height: 1;
  color: inherit;
  font-size: 3.2rem;
  text-align: center; }
  .a-title-page:last-child {
    margin-bottom: 0; }
  .a-title-page ._main._en {
    text-transform: uppercase; }
  .a-title-page ._sub {
    margin-top: 8px;
    font-size: 1.2rem; }
  @media (min-width: 768px) {
    .a-title-page {
      margin-bottom: 40px;
      font-size: 4.8rem; }
      .a-title-page ._main {
        display: inline;
        line-height: 1; }
      .a-title-page ._sub {
        display: inline;
        position: relative;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: -32px;
        padding-left: 64px;
        font-size: 1.4rem;
        letter-spacing: .2em; }
        .a-title-page ._sub:before {
          content: '';
          position: absolute;
          left: 0;
          top: 50%;
          height: 1px;
          width: 80px;
          background: #111;
          transform: rotate(-45deg);
          transform-origin: center center; } }

.a-title-display-section {
  position: relative;
  color: inherit;
  line-height: 1.5;
  font-weight: inherit;
  font-family: inherit; }
  .a-title-display-section ._main {
    font-size: 4rem;
    font-family: inherit;
    text-transform: capitalize; }
    @media (min-width: 768px) {
      .a-title-display-section ._main {
        font-size: 6.4rem; } }
  .a-title-display-section ._sub {
    font-family: inherit;
    font-size: 1.2rem; }

.a-title-elem {
  line-height: 1.5;
  color: inherit;
  font-size: 1.8rem;
  font-weight: 400; }
  @media (min-width: 768px) {
    .a-title-elem {
      font-size: 2rem; } }
  .a-title-elem ._sub {
    margin-top: 8px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    text-transform: uppercase; }

.a-title-display-jp {
  line-height: 1.5;
  color: inherit;
  font-size: 2rem;
  font-weight: 400; }
  @media (min-width: 768px) {
    .a-title-display-jp {
      font-size: 2.8rem; } }
  .a-title-display-jp ._sub {
    margin-bottom: 16px;
    font-size: 1.2rem;
    letter-spacing: .2em;
    text-transform: uppercase; }
    .a-title-display-jp ._sub span {
      position: relative;
      margin-right: 32px;
      font-size: 24px; }
      .a-title-display-jp ._sub span:before {
        content: '';
        position: absolute;
        right: 8px;
        bottom: 0;
        height: 40px;
        width: 1px;
        background: #111;
        transform: rotate(45deg);
        transform-origin: bottom left; }

.a-title-display-rl {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  margin-bottom: 40px;
  color: inherit;
  font-size: 2.8rem;
  font-feature-settings: normal;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 1; }
  .a-title-display-rl ._sub {
    margin-right: 8px;
    font-size: 1.2rem; }
  .a-title-display-rl ._sub > span {
    position: relative;
    padding-bottom: 8px; }
    .a-title-display-rl ._sub > span:before {
      content: '';
      position: absolute;
      bottom: -32px;
      right: calc(50% + 1px);
      height: 32px;
      width: 1px;
      background: inherit; }
  @media (min-width: 768px) {
    .a-title-display-rl {
      font-size: 4rem; }
      .a-title-display-rl ._sub {
        font-size: 1.4rem; } }

.a-title-item-bar {
  background: #faefeb;
  font-size: 1.4rem;
  text-align: center;
  line-height: 40px;
  margin-bottom: 16px;
  /*
  border-top: 1px solid $color;
  border-bottom: 1px solid $color;
*/ }

.a-title-item {
  margin-bottom: 24px;
  line-height: 1.5;
  color: inherit;
  font-size: 1.6rem;
  font-weight: 400; }
  @media (min-width: 768px) {
    .a-title-item {
      font-size: 1.6rem; } }

.a-panel {
  padding: 1.6rem; }

.a-panel {
  padding: 1.6rem; }

@media (min-width: 768px) {
  .a-panel {
    padding: 2.4rem; } }

@media (min-width: 1024px) {
  .a-panel {
    padding: 3.2rem; } }

.grid .m-card {
  padding-bottom: 24px; }

.m-card .figure {
  overflow: hidden; }

.m-card {
  display: flex;
  flex-direction: column;
  color: inherit;
  font-size: 1.4rem;
  z-index: 1; }
  .m-card:hover {
    opacity: 1; }

.m-card--panel {
  background-color: #fff;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-property: box-shadow;
  transition-timing-function: ease; }
  .m-card--panel:hover {
    overflow: hidden;
    box-shadow: 4px 8px 24px 4px rgba(0, 0, 0, 0.1); }
  .m-card--panel .m-card__body {
    padding: 3.2rem 3.2rem 3.2rem 2.4rem; }

.m-card__figure {
  position: relative; }

.m-card__new {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  line-height: 24px;
  padding: 0 8px;
  font-size: 1.0rem;
  background-color: #6c615d;
  color: #fff;
  z-index: 1; }

.m-card--scale .m-card__thumbnail {
  transition-duration: 0.5s;
  transition-property: transform;
  transition-timing-function: ease; }

.m-card--scale:hover .m-card__thumbnail {
  opacity: 1;
  transform: translateY(0) scale3d(1.1, 1.1, 1); }

.m-card--overlay figure:after,
.m-card--overlay-reverse figure:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 0.5s;
  transition-property: background;
  transition-timing-function: ease;
  background: rgba(17, 17, 18, 0.02); }

.m-card--overlay:hover figure:after,
.m-card--overlay-reverse:hover figure:after {
  background: rgba(17, 17, 18, 0.1); }

.m-card--overlay-reverse figure:after {
  background: rgba(17, 17, 18, 0.1); }

.m-card--overlay-reverse:hover figure:after {
  background: rgba(17, 17, 18, 0.02); }

.m-card--layer .m-card__figure__layer,
.m-card--layer-fixed .m-card__figure__layer,
.m-card--layer-reverse .m-card__figure__layer {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  background: rgba(17, 17, 18, 0.02);
  color: #fff;
  text-align: center;
  pointer-events: none;
  z-index: 1; }
  .m-card--layer .m-card__figure__layer > *,
  .m-card--layer-fixed .m-card__figure__layer > *,
  .m-card--layer-reverse .m-card__figure__layer > * {
    width: 100%; }

.m-card--layer .m-card__figure__layer,
.m-card--layer-reverse .m-card__figure__layer {
  transition-duration: 0.5s;
  transition-property: opacity;
  transition-timing-function: ease; }

.m-card--layer:hover .m-card__figure__layer {
  opacity: 0; }

.m-card--layer-reverse .m-card__figure__layer {
  opacity: 0; }

.m-card--layer-reverse:hover .m-card__figure__layer {
  opacity: 1; }

.m-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding-top: 2.4rem;
  padding-bottom: 0rem; }

.m-card__grow {
  flex-grow: 1; }

.m-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.m-card__more,
.m-card__time {
  font-size: 1.2rem; }

.m-card__time {
  color: #777777; }

.m-card__line {
  margin-bottom: 1.6rem; }

.m-card__category {
  color: #888;
  font-size: 1.2rem; }

.m-card__title {
  display: block;
  margin-bottom: 16px;
  font-weight: 400;
  font-size: 1.4rem; }
  @media (min-width: 768px) {
    .m-card__title {
      font-size: 1.6rem; } }
  .m-card__title:last-child {
    margin-bottom: 0; }
  .m-card__title a {
    color: inherit; }

.m-card__title--small {
  font-size: 1.4rem; }

a.m-card__title:hover {
  opacity: 1;
  color: #0aa0c6; }

.m-card__comm {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #777777; }

.m-arr {
  display: flex;
  flex-wrap: wrap; }

.m-arr__item {
  flex-basis: 100%;
  flex-shrink: 0; }

.m-arr__body {
  overflow: hidden; }

.m-arr__text {
  padding-top: 40px; }

@media (max-width: 1023px) {
  .m-arr--negative-img:not(.m-arr--img-position-right) .m-arr__figure {
    margin-left: -6.25vw; }
  .m-arr--negative-img.m-arr--img-position-right .m-arr__figure {
    margin-right: -6.25vw; } }

@media (min-width: 1024px) {
  .m-arr {
    display: flex;
    margin: -1.6rem; }
  .m-arr__item {
    padding: 1.6rem;
    flex-basis: 50%; }
  .m-arr__text {
    padding-top: 0;
    padding-left: 6.25%; }
  .m-arr__text {
    padding-left: 6.25%; }
  .m-arr--img-position-right .m-arr__img {
    order: 1; }
  .m-arr--img-position-right .m-arr__text {
    padding-left: 0;
    padding-right: 6.25%; }
  .m-arr--ai-center:not(.m-arr--md-img-adjust) {
    align-items: center; }
  .m-arr--md-img-adjust {
    align-items: stretch; }
    .m-arr--md-img-adjust .m-arr__figure {
      height: 100%;
      min-height: 100%; }
  .m-arr--md-img-adjust.m-arr--md-img-adjust-space .m-arr__text {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw; } }

@media (min-width: 1440px) {
  .m-arr__text {
    padding-left: 12.5%; }
  .m-arr--img-position-right .m-arr__text {
    padding-right: 12.5%; } }

@media (min-width: 1440px) {
  .m-arr--md-img-adjust.m-arr--md-img-adjust-space .m-arr__text {
    padding-top: 80px;
    padding-bottom: 80px; } }

.m-arr--base.m-arr--text-center {
  justify-content: center; }

.m-arr--base.m-arr--text-right {
  justify-content: flex-end; }

@media (min-width: 768px) {
  .m-arr--base .m-arr__item {
    flex-basis: 83.33333%; }
  .m-arr--base.m-arr--full .m-arr__item {
    flex-basis: 100%; } }

@media (min-width: 1024px) {
  .m-arr--base .m-arr__item {
    flex-basis: 50%; }
  .m-arr--base .m-arr__text {
    padding-left: 0;
    padding-right: 6.25%; }
  .m-arr--base.m-arr--text-right .m-arr__text {
    padding-left: 6.25%;
    padding-right: 0; }
  .m-arr--base.m-arr--full .m-arr__text,
  .m-arr--base.m-arr--text-center .m-arr__text {
    padding: 0; }
  .m-arr--base.m-arr--lg .m-arr__item {
    flex-basis: 66.66667%; }
  .m-arr--base.m-arr--xl .m-arr__item {
    flex-basis: 83.33333%; } }

@media (min-width: 1440px) {
  .m-arr--base .m-arr__text {
    padding-right: 12.5%; }
  .m-arr--base.m-arr--text-right .m-arr__text {
    padding-left: 12.5%;
    padding-right: 0; } }

.m-arr--two-img .m-arr__img--1 {
  flex-basis: 75%; }

.m-arr--two-img .m-arr__img--2 {
  flex-basis: 41.66667%;
  margin-left: 58.33333%; }
  .m-arr--two-img .m-arr__img--2 .m-arr__figure {
    margin-top: -75%; }

.m-arr--two-img.m-arr--img-position-right .m-arr__img--1 {
  margin-left: 25%; }

.m-arr--two-img.m-arr--img-position-right .m-arr__img--2 {
  margin-left: 0; }

@media (min-width: 1024px) {
  .m-arr--two-img {
    padding-top: 40px;
    padding-bottom: 40px; }
    .m-arr--two-img .m-arr__img--1 {
      flex-basis: 33.33333%; }
      .m-arr--two-img .m-arr__img--1 .m-arr__figure {
        margin-top: -40px;
        margin-bottom: 40px; }
    .m-arr--two-img .m-arr__img--2 {
      align-self: center;
      flex-basis: 25%;
      margin-left: -8.33333%;
      margin-right: 8.33333%; }
      .m-arr--two-img .m-arr__img--2 .figure {
        margin-top: 0;
        margin-top: 53%;
        margin-bottom: -53%; }
    .m-arr--two-img .m-arr__body {
      flex-basis: 50%;
      margin-left: -8.33333%; }
    .m-arr--two-img.m-arr--img-position-right .m-arr__img--1 {
      order: 2;
      margin-left: 0; }
    .m-arr--two-img.m-arr--img-position-right .m-arr__img--2 {
      margin-left: 8.33333%;
      margin-right: -8.33333%; }
    .m-arr--two-img.m-arr--img-position-right .m-arr__body {
      margin-left: 0;
      margin-right: -8.33333%; } }

.m-sns-gr {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  /*
  a.m-sns-gr__facebook{
    color: #3B5998;
  }
  a.m-sns-gr__twitter{
    color: #55acee;
  }
  a.m-sns-gr__line{
    color: #00B900;
  }
  .m-sns-gr__hatena{
    color: #0071c5;
  }
  .m-sns-gr__pinterest{
    color: #BD081C;
  }
  .m-sns-gr__instagram{
    color: #36465d;
  }
  .m-sns-gr__pocket{
    color: #ef3f56;
  }
  .m-sns-gr__feedly{
    color: #87C041;
  }
  .m-sns-gr__rss{
    color: #ee802f;
  }
*/ }
  .m-sns-gr__text {
    white-space: nowrap;
    min-width: 100%;
    line-height: 32px; }
  .m-sns-gr li {
    padding-right: 4px; }
  .m-sns-gr li:last-child {
    padding-right: 0;
    border-right: none; }
  .m-sns-gr a {
    position: relative;
    display: block;
    color: inherit;
    width: 32px;
    height: 32px;
    padding: 4px;
    background: none; }
  .m-sns-gr a:not(.m-sns-gr__line-official):before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%; }
  .m-sns-gr .icon {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto;
    color: inherit; }
  .m-sns-gr .m-sns-gr__line-official {
    display: flex;
    align-items: center;
    width: auto;
    height: 32px;
    line-height: 32px;
    padding: 0 8px 0 4px;
    background: #00B900;
    color: #fff;
    font-size: 12px;
    letter-spacing: normal;
    border-radius: 0; }
    .m-sns-gr .m-sns-gr__line-official .icon {
      margin: 0 4px 0 0;
      width: 18px;
      height: 18px; }

XXX.m-arr {
  display: block;
  flex-wrap: wrap;
  justify-content: flex-end; }
  XXX.m-arr__item {
    flex-basis: 100%; }
  XXX.m-arr__body {
    padding-top: 40px;
    padding-right: 0%; }
  @media (min-width: 1024px) {
    XXX.m-arr {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      XXX.m-arr__item {
        flex-basis: 50%; }
      XXX.m-arr__body {
        padding-top: 0; }
      XXX.m-arr__main {
        max-width: 640px; }
      XXX.m-arr--img-position-right .m-arr__img {
        order: 1; }
      XXX.m-arr__img {
        flex-basis: 41.66667%; } }

.m-list-table {
  font-size: 1.4rem; }

.m-list-table__body {
  padding: 0;
  margin: 0;
  list-style: none; }

.m-list-table__li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  border-bottom: 0.9px solid rgba(17, 17, 17, 0.1); }
  .m-list-table__li:last-child {
    border-bottom: none; }

.m-list-table__th,
.m-list-table__td {
  flex-basis: 50%;
  padding: 16px 0; }
  .m-list-table__th:last-child,
  .m-list-table__td:last-child {
    border-right: 0; }

.m-list-table__body__li--head {
  color: #757575; }

.m-list-table__body__th {
  font-size: 1.4rem; }

.m-list-table .m-list-table__th--head {
  padding-top: 8px;
  padding-bottom: 8px; }

.m-list-table .m-list-table__th--head,
.m-list-table .m-list-table__th,
.m-list-table .m-list-table__td {
  padding-left: 4px;
  padding-right: 4px; }

.m-list-table li > div:first-child {
  padding-left: 16px; }
  @media (min-width: 768px) {
    .m-list-table li > div:first-child {
      padding-left: 32px; } }

.m-list-table li > div:last-child {
  padding-right: 16px; }
  @media (min-width: 768px) {
    .m-list-table li > div:last-child {
      padding-right: 22px; } }

.m-list-table--shadow,
.m-list-table--panel,
.m-list-table--border {
  padding: 2.4rem 1.6rem; }
  @media (min-width: 768px) {
    .m-list-table--shadow,
    .m-list-table--panel,
    .m-list-table--border {
      padding: 2.4rem; } }
  @media (min-width: 1024px) {
    .m-list-table--shadow,
    .m-list-table--panel,
    .m-list-table--border {
      padding: 3.2rem; } }

.m-list-table--shadow {
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); }

.m-list-table--border {
  border: 1px solid rgba(17, 17, 17, 0.1); }

.m-list-table--panel {
  background-color: #FAFAFA; }

.m-list-table--white .m-list-table__li {
  border-color: rgba(255, 255, 255, 0.3); }

.m-list-table--bg-white {
  background: #fff;
  color: #111; }
  .m-list-table--bg-white .m-list-table__li {
    border-bottom: 0.9px solid rgba(17, 17, 17, 0.1); }

.m-list-table--bg-white-trans {
  background: rgba(255, 255, 255, 0.2);
  color: #111; }
  .m-list-table--bg-white-trans .m-list-table__li {
    border-bottom: 0.9px solid rgba(17, 17, 17, 0.1); }

.m-list-table--bg-black-trans {
  background: rgba(0, 0, 0, 0.2);
  color: #fff; }
  .m-list-table--bg-black-trans .m-list-table__li {
    border-color: rgba(255, 255, 255, 0.3); }

.m-list-table--no-border .m-list-table__li:not(.m-list-table__li--head) {
  border-bottom: none; }

.m-list-table__number {
  letter-spacing: normal; }
  .m-list-table__number span {
    font-size: 2.0rem;
    margin-right: 2px; }
    @media (max-width: 374px) {
      .m-list-table__number span {
        font-size: inherit; } }
    @media (min-width: 768px) {
      .m-list-table__number span {
        font-size: 3.2rem; } }

.m-list-table__tax-in {
  font-size: 1.2rem; }
  @media (max-width: 374px) {
    .m-list-table__tax-in {
      font-size: 1.0rem; } }
  .m-list-table__tax-in span {
    margin-left: 2px;
    margin-right: 2px; }

.m-list-table--col-3 .m-list-table__th,
.m-list-table--col-3 .m-list-table__td {
  flex-basis: 33.33333%; }

.m-arr-table--col-2 .m-list-table__th,
.m-arr-table--col-2 .m-list-table__td {
  flex-basis: 50%; }

.sass {
  color: #000; }

.sass {
  color: #555; }

/* $font-en-serif: 'Playfair Display'; // セリフ */
/*
$gutter-auto-w: $gutter; // ベース
$gutter-auto-w-xs: 16px;
$gutter-auto-w-sm: 16px;
$gutter-auto-w-md: 32px;

$gutter-auto-w-xs: 32px;
$gutter-auto-w-sm: 64px;
$gutter-auto-w-md: 120px;
*/
/*
$gutter-auto-h: 32px; // ベース
$gutter-auto-h-xs: 32px;
$gutter-auto-h-sm: 40px;
$gutter-auto-h-md: 40px;

$gutter-auto-h: 32px; // ベース
$gutter-auto-h-xs: 60px;
$gutter-auto-h-sm: 90px;
$gutter-auto-h-md: 140px;
*/
XX.m-swiper-card {
  padding-right: 6.25vw;
  padding: 0 16px; }
  XX.m-swiper-card > * {
    min-width: 100%; }
  @media (min-width: 768px) {
    XX.m-swiper-card {
      padding-right: 24px; } }
  @media (min-width: 1024px) {
    XX.m-swiper-card {
      padding-right: 7.8125vw;
      padding-right: 32px; } }
  @media (min-width: 1280px) {
    XX.m-swiper-card {
      padding-right: 80px; } }

.m-instagram-swiper-slide {
  padding: 0 0.8rem; }

a.m-instagram {
  width: 248px;
  height: 248px;
  position: relative;
  display: block;
  color: #fff; }
  @media (min-width: 1024px) {
    a.m-instagram {
      width: 248px;
      height: 248px; } }
  a.m-instagram:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.05);
    transition-duration: 0.5s;
    transition-property: background;
    transition-timing-function: ease; }
  a.m-instagram:hover {
    opacity: 1; }
  a.m-instagram:hover:before {
    background: rgba(17, 17, 18, 0.1); }
  a.m-instagram .icon--instagram {
    position: absolute;
    top: 8px;
    right: 8px;
    color: inherit; }
  a.m-instagram .icon--movie {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    margin-left: -24px;
    color: inherit; }

a.m-instagram--grid {
  width: 100%;
  height: auto;
  padding-top: 100%; }
  @media (min-width: 1024px) {
    a.m-instagram--grid {
      width: 100%;
      height: 100%; } }

.m-instagram-swiper-slide.swiper-slide-active .m-instagram:before {
  background: rgba(0, 0, 0, 0.01); }

.m-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 10000;
  background-color: #fff;
  transition-property: transform opacity;
  transition-duration: 1s;
  transition-delay: 1.5s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); }

.m-loading__mark {
  display: block;
  margin: 0 auto;
  transition-property: transform opacity;
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); }
  .m-loading__mark > svg {
    height: 28px; }

.js-loading-end .m-loading__mark {
  transform: scale(1.2);
  opacity: 0; }

.js-loading-end .m-loading {
  opacity: 0;
  pointer-events: none;
  visibility: hidden; }

.m-faq-list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 96px; }
  .m-faq-list:last-child {
    margin-bottom: 0; }
  .m-faq-list li {
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(17, 17, 17, 0.1); }
  .m-faq-list li:last-child {
    border-bottom: 1px solid rgba(17, 17, 17, 0.1); }
  .m-faq-list .a-mark-plus > span {
    transition-duration: 0.5s;
    transition-property: transform;
    transition-timing-function: ease; }

.js-faq-active .a-mark-plus > span {
  transform: rotate(225deg); }

.m-faq-list__body,
.m-faq-list__anser {
  display: flex;
  align-items: center;
  padding: 24px 0;
  flex-shrink: 0; }

.m-faq-list__body {
  cursor: pointer; }

.m-faq-list__title,
.m-faq-list__text {
  font-weight: 400;
  line-height: 1.75;
  font-size: 1.5rem;
  flex-grow: 1;
  margin: 0 1.6rem; }
  @media (min-width: 768px) {
    .m-faq-list__title,
    .m-faq-list__text {
      line-height: 2;
      font-size: 1.6rem; } }
  @media (min-width: 768px) {
    .m-faq-list__title,
    .m-faq-list__text {
      margin: 0 2.4rem; } }
  @media (min-width: 1024px) {
    .m-faq-list__title,
    .m-faq-list__text {
      margin: 0 3.2rem; } }

.m-faq-list__text {
  margin-right: 0; }

.m-faq-list__title {
  margin-top: 0;
  margin-bottom: 0; }
  @media (min-width: 768px) {
    .m-faq-list__title {
      font-size: 2.0rem; } }

.m-section-nav {
  display: block; }
  .m-section-nav ul {
    margin: -8px;
    padding: 0;
    list-style: none; }
    @media (min-width: 768px) {
      .m-section-nav ul {
        display: flex;
        flex-wrap: wrap; } }
  .m-section-nav li {
    padding: 8px 8px; }
    @media (min-width: 768px) {
      .m-section-nav li:last-child {
        padding-right: 0; } }
  .m-section-nav a {
    font-size: 1.4rem;
    border-bottom: 1px solid #111; }

.m-list {
  padding: 0;
  margin: 0;
  list-style: none; }
  .m-list li {
    margin: 0;
    padding: 1.6rem 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.1); }
    .m-list li:last-child {
      border-bottom: none; }
    .m-list li:last-child {
      border-bottom: none; }
  .m-list .m-list__th {
    color: #757575; }
    @media (max-width: 767px) {
      .m-list .m-list__th {
        margin-bottom: 8px; } }
  .m-list--tb-border {
    list-style: none; }
    .m-list--tb-border li:first-child {
      border-top: 1px solid rgba(17, 17, 17, 0.1); }
    .m-list--tb-border li:last-child {
      border-bottom: 1px solid rgba(17, 17, 17, 0.1); }
  .m-list--row {
    list-style: none; }
    .m-list--row li {
      display: flex;
      flex-wrap: wrap; }
      .m-list--row li > * {
        width: 100%; }
      @media (min-width: 768px) {
        .m-list--row li > *:nth-child(1),
        .m-list--row li .m-list__title {
          width: 33.33333%; }
        .m-list--row li > *:nth-child(2),
        .m-list--row li .m-list__text {
          width: 66.66667%; } }
  .m-list--small {
    list-style: none; }
    .m-list--small li {
      padding: 12px 0; }
  .m-list--no-border {
    list-style: none; }
    .m-list--no-border li {
      border: none !important; }

.m-list-panel {
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  list-style: none;
  margin: 0;
  padding: 0; }

.m-list-panel__li:not(:last-child) {
  border-bottom: 1px solid rgba(17, 17, 17, 0.1); }

.m-list-panel__body {
  display: block;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem; }
  .m-list-panel__body .icon {
    flex-shrink: 0;
    align-self: center;
    margin-left: auto; }

.m-list-panel__label {
  align-self: center;
  flex-shrink: 0;
  margin-bottom: 16px; }

.m-list-panel__title {
  margin-bottom: 0;
  flex-grow: 1; }

@media (min-width: 768px) {
  .m-list-panel {
    align-self: flex-start; }
    .m-list-panel__figure {
      flex-shrink: 0;
      flex-basis: 160px; }
  .m-list-panel__body {
    display: flex;
    padding-top: 3.2rem;
    padding-bottom: 3.2rem; }
  .m-list-panel__label {
    margin-bottom: 0;
    margin-right: 80px; } }

.m-line-official {
  display: grid;
  grid-template-columns: 64px auto;
  grid-template-columns: repeat(auto-fit, 56px 1fr 2fr);
  grid-template-columns: repeat(auto-fit, 48px 1fr 2fr);
  gap: 2.4rem 1.6rem;
  justify-content: center;
  align-items: center; }
  .m-line-official ._badge {
    width: 100%; }
    .m-line-official ._badge .icon {
      width: 100%;
      height: 100%; }
  .m-line-official .a-btn {
    grid-column: 1 / 3;
    background: none;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 500px;
    color: #111;
    height: 56px;
    min-width: 320px;
    font-size: 2.0rem;
    border-color: #06c755; }
  .m-line-official .arrow {
    position: absolute;
    right: 1.6rem;
    bottom: calc(50%); }
  .m-line-official__main {
    align-self: center; }
  .m-line-official ._head {
    line-height: 1;
    font-size: 2.0rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-family: var(--font-min); }
  .m-line-official ._text {
    margin-top: 8px;
    font-size: 1.4rem; }
  @media (min-width: 768px) {
    .m-line-official {
      gap: 2.4rem;
      grid-template-columns: 80px 1fr auto;
      grid-template-columns: 80px 1fr auto; }
      .m-line-official .a-btn {
        grid-column: unset; }
      .m-line-official ._head {
        font-size: 3.2rem;
        font-size: 2.4rem; }
      .m-line-official ._text {
        margin-top: 8px;
        font-size: 1.6rem; } }
  @media (min-width: 1280px) {
    .m-line-official {
      gap: 3.2rem; } }

.m-line-official--panel {
  padding: 3.2rem 1.6rem;
  background-color: #FaFaFa; }
  @media (min-width: 768px) {
    .m-line-official--panel {
      padding: 3.2rem 2.4rem; } }
  @media (min-width: 1280px) {
    .m-line-official--panel {
      padding: 4rem 3.2rem; } }

.m-contact .a-btn {
  height: auto;
  background: none;
  padding: 2.4rem 1.6rem; }
  .m-contact .a-btn ._main,
  .m-contact .a-btn ._main._jp {
    line-height: 3.2rem;
    font-size: 2.0rem;
    text-transform: uppercase;
    letter-spacing: .1em; }
  .m-contact .a-btn ._main._en {
    font-size: 3.2rem; }
  .m-contact .a-btn ._main._tel {
    font-size: 2.4rem; }
  .m-contact .a-btn ._sub {
    margin-top: 6px;
    font-size: 1.4rem; }
  @media (min-width: 768px) {
    .m-contact .a-btn ._main,
    .m-contact .a-btn ._main._jp {
      line-height: 4.0rem;
      font-size: 2.0rem; }
    .m-contact .a-btn ._main._en {
      font-size: 4.0rem; }
    .m-contact .a-btn ._main._tel {
      font-size: 2.8rem; } }

.m-contact--color-white .a-btn {
  color: #fff;
  border-color: #fff; }

.m-contact--bg-white .a-btn {
  background-color: #fff; }

.m-contact--bg-light .a-btn {
  background-color: #f4f4f4; }

.m-contact--bg-sub .a-btn {
  background-color: #fdf7f5; }

.m-contact--bg-dark .a-btn {
  background-color: #333; }

.m-contact__border {
  border: 0.9px solid rgba(17, 17, 17, 0.1); }

.m-contact__border-line {
  border: 0.9px solid #06c755; }

.m-contact__border-color {
  border: 0.9px solid #111; }

.m-contact__border-white {
  border: 0.9px solid #fff; }

.m-contact__shadow {
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); }
  .m-contact__shadow:hover {
    opacity: 1;
    box-shadow: 4px 8px 24px 4px rgba(0, 0, 0, 0.1); }

.m-contact__line ._main {
  color: #06c755 !important; }

.m-contact__line-reverse {
  background-color: #06c755 !important;
  color: #fff !important; }

.m-contact__bg-none {
  background: none !important; }

.m-contact__bg-none-color-normal {
  background: none !important;
  color: #111 !important; }

.m-contact__bg-none-color-white {
  background: none !important;
  color: #fff !important; }

.m-contact ._tel-style {
  background: none;
  box-shadow: none; }

.m-contact ._text {
  margin-top: 8px; }

.m-contact ._head {
  line-height: 1;
  font-size: 3.2rem;
  text-transform: uppercase;
  letter-spacing: .1em; }

.m-icon-arrow {
  position: relative;
  padding-right: 40px; }
  .m-icon-arrow__icon {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    transition-duration: 0.5s;
    transition-property: right;
    transition-timing-function: ease; }

.m-icon-arrow:hover .m-icon-arrow__icon {
  right: 0; }

.gh {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: auto;
  font-size: 1.8rem;
  color: #111;
  box-shadow: none;
  z-index: 900;
  transition-duration: 0.5s;
  transition-property: background;
  transition-timing-function: ease; }
  .gh__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 87.5vw;
    min-height: 64px;
    margin: 0 auto; }
    @media (min-width: 768px) {
      .gh__container {
        min-height: 80px;
        padding-right: 32px; } }

.front-page.header-bg-front-white .gh,
.front-page.header-bg-front-white .gh {
  color: #fff; }
  .front-page.header-bg-front-white .gh #logo-main,
  .front-page.header-bg-front-white .gh #logo-main {
    fill: #fff !important; }

.front-page.header-bg-front-white .hamburger__body > span,
.front-page.header-bg-front-white .hamburger__body > span {
  background: #fff; }

.header-bg .gh, .headroom--not-top.header-bg-scroll .gh {
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(0.71429rem);
  backdrop-filter: blur(0.71429rem);
  color: #111; }
  .header-bg .gh #logo-main, .headroom--not-top.header-bg-scroll .gh #logo-main {
    fill: #111 !important; }

.header-bg .hamburger__body > span, .headroom--not-top.header-bg-scroll .hamburger__body > span {
  background: #111; }

.header-bg-black .gh,
.headroom--not-top.header-bg-black-scroll .gh {
  background: rgba(0, 0, 0, 0.7);
  color: #fff; }
  .header-bg-black .gh #logo-main,
  .headroom--not-top.header-bg-black-scroll .gh #logo-main {
    fill: #fff !important; }

.header-bg-black .hamburger__body > span,
.headroom--not-top.header-bg-black-scroll .hamburger__body > span {
  background: #fff; }

.gh__nav {
  display: none;
  align-items: center;
  pointer-events: auto; }

#gh__hamburger {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1100; }

@media (min-width: 1024px) {
  .gh__nav {
    display: flex; } }

.m-popup {
  position: fixed;
  right: 0px;
  bottom: 0;
  z-index: 100;
  width: auto;
  padding: 12px 16px;
  margin-bottom: 16px;
  background-color: #333;
  color: #fff;
  background-color: #333;
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='charlie-brown' fill='%23E2C6BB' fill-opacity='0.3'%3E%3Cpath d='M9.8 12L0 2.2V.8l10 10 10-10v1.4L10.2 12h-.4zm-4 0L0 6.2V4.8L7.2 12H5.8zm8.4 0L20 6.2V4.8L12.8 12h1.4zM9.8 0l.2.2.2-.2h-.4zm-4 0L10 4.2 14.2 0h-1.4L10 2.8 7.2 0H5.8z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: 10px 6px;
  box-shadow: 0px 4px 20px rgba(55, 64, 93, 0.2), 0px 1px 3px rgba(0, 0, 0, 0.02);
  font-size: 1.2rem;
  padding-right: 56px !important; }
  @media (min-width: 768px) {
    .m-popup {
      padding: 12px 16px; } }
  .m-popup .img {
    position: absolute;
    bottom: -16px;
    right: 8px;
    width: 96px; }

.m-popup__body {
  position: relative;
  display: flex; }

.m-popup__title {
  position: relative;
  font-size: 1.2rem;
  font-family: "Montserrat";
  text-transform: uppercase; }

.m-popup__btn {
  line-height: 30px;
  padding: 0 20px;
  background: #0aa0c6;
  color: #fff;
  text-align: center;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(86, 104, 130, 0.24); }
  @media (min-width: 768px) {
    .m-popup__btn {
      line-height: 32px;
      font-size: 1.3rem; } }
  .m-popup__btn--line {
    background: #06c755;
    color: #fff; }

.o-hero {
  position: relative;
  height: 100vh;
  min-height: 100vw;
  max-height: 177vw; }
  @media (max-width: 767px) {
    .o-hero {
      max-height: 135vw; } }
  @media (min-width: 1024px) {
    .o-hero {
      min-height: 800px;
      max-height: 100vh; } }

.o-hero__layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

@media (min-width: 768px) {
  .o-hero--space-left .o-hero__layer {
    margin-left: 3.125vw; }
  .o-hero--space-left .o-hero__container {
    padding-left: 3.125vw; }
  .o-hero--space-left-2 .o-hero__layer {
    margin-left: 16.66667vw; }
  .o-hero--space-left-3 .o-hero__layer {
    margin-left: 25vw; }
  .o-hero--space-left-4 .o-hero__layer {
    margin-left: 33.33333vw; }
  .o-hero--space-left-6 .o-hero__layer {
    margin-left: 50vw; }
  .o-hero--space-top .o-hero__layer {
    margin-top: 80px; }
  .o-hero--space-bottom .o-hero__layer {
    margin-bottom: 3.125vw; }
  .o-hero--space-right .o-hero__layer {
    margin-right: 3.125vw; }
  .o-hero--space-right .o-hero__container {
    padding-right: 3.125vw; } }

@media (min-width: 1024px) {
  .o-hero--space-left .o-hero__layer {
    margin-left: 80px; }
  .o-hero--space-left .o-hero__container {
    padding-left: 80px; }
  .o-hero--space-bottom .o-hero__layer {
    margin-bottom: 80px; }
  .o-hero--space-right .o-hero__layer {
    margin-right: 80px; }
  .o-hero--space-right .o-hero__container {
    padding-right: 80px; } }

.o-hero--space-top-left .o-hero__img,
.o-hero--space-top-left .o-hero__overlay,
.o-hero--space-all .o-hero__img,
.o-hero--space-all .o-hero__overlay {
  margin: 64px 0 6.25vw 6.25vw; }
  @media (min-width: 768px) {
    .o-hero--space-top-left .o-hero__img,
    .o-hero--space-top-left .o-hero__overlay,
    .o-hero--space-all .o-hero__img,
    .o-hero--space-all .o-hero__overlay {
      margin: 80px 0 80px 80px; } }
  @media (min-width: 1024px) {
    .o-hero--space-top-left .o-hero__img,
    .o-hero--space-top-left .o-hero__overlay,
    .o-hero--space-all .o-hero__img,
    .o-hero--space-all .o-hero__overlay {
      margin: 80px; } }

.o-hero--space-top-left .o-hero__img,
.o-hero--space-top-left .o-hero__overlay {
  margin-right: 0;
  margin-bottom: 0; }

.o-hero__container {
  position: relative;
  height: inherit;
  min-height: inherit;
  max-height: inherit;
  width: 87.5vw;
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto; }

.o-hero__body {
  position: relative;
  flex-basis: 100%;
  padding: 144px 0 80px 0; }
  .o-hero__body .img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    opacity: .2; }

.o-hero__copy {
  position: relative;
  font-family: "Montserrat", "xxNoto Serif JP", "xxNoto Sans JP", "Helvetica", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

.o-hero__title {
  letter-spacing: .05em;
  line-height: 120%;
  font-size: 11.73333vw; }
  @media (min-width: 768px) {
    .o-hero__title {
      font-size: 10.66667vw; } }
  @media (min-width: 1024px) {
    .o-hero__title {
      letter-spacing: .1em;
      font-size: 9.6rem;
      line-height: 100%; } }
  @media (min-width: 1600px) {
    .o-hero__title {
      letter-spacing: .1em;
      font-size: 12.0rem; } }
  .o-hero__title.font-wait-900 {
    font-weight: 900; }
  .o-hero__title.font-en-sub {
    line-height: 100%;
    letter-spacing: normal; }
  @media (min-width: 1280px) {
    .o-hero__title.font-en-serif {
      letter-spacing: .05em; } }
  .o-hero__title.font-min {
    font-size: 10.66667vw; }
    @media (min-width: 1280px) {
      .o-hero__title.font-min {
        letter-spacing: .05em;
        font-size: 14.0rem; } }

.o-hero__sub-title {
  margin-top: 16px;
  font-weight: 400;
  letter-spacing: .2em;
  font-size: 4.26667vw; }
  @media (min-width: 1024px) {
    .o-hero__sub-title {
      font-size: 3.2rem; } }
  .o-hero__sub-title.font-wait-900 {
    font-weight: 900; }
  .o-hero__sub-title.font-en-sub {
    letter-spacing: normal; }

.o-hero__caption {
  margin-bottom: 4px;
  font-weight: 400;
  font-size: 2.66667vw;
  letter-spacing: .1em; }
  @media (min-width: 768px) {
    .o-hero__caption {
      font-size: 1.6rem; } }

.o-hero__btn {
  margin-top: 24px; }
  @media (min-width: 768px) {
    .o-hero__btn {
      margin-top: 40px; } }

.o-hero-index-scroll {
  left: -144px;
  bottom: 0;
  position: absolute;
  transform: rotate(90deg);
  transform-origin: right bottom;
  z-index: 1;
  height: 32px;
  line-height: 32px;
  width: 160px; }
  @media (max-width: 767px) {
    .o-hero-index-scroll {
      display: none; } }
  @media (min-width: 768px) {
    .o-hero-index-scroll {
      display: block; } }
  .o-hero-index-scroll:before {
    content: '';
    position: absolute;
    top: 16px;
    right: 0;
    width: 88px;
    height: 1px;
    z-index: 2;
    background-color: #111; }
  .o-hero-index-scroll:after {
    content: '';
    position: absolute;
    top: 16px;
    right: 0;
    width: 88px;
    height: 1px;
    z-index: 2;
    background-color: #fff;
    animation: css-scale 1.5s linear infinite; }
  .o-hero-index-scroll__body {
    position: relative; }
  .o-hero-index-scroll__text {
    display: block;
    position: relative;
    padding-right: 16px;
    z-index: 2;
    letter-spacing: .2em;
    font-size: 11px;
    font-weight: bold;
    font-family: "Montserrat"; }

@media (max-width: 519px) {
  .mobile.iOS .o-hero-index__scroll {
    margin-bottom: 64px; } }

@keyframes css-scale {
  0% {
    transform: scale3d(0, 1, 1);
    transform-origin: left top; }
  1% {
    transform: scale3d(0, 1, 1);
    transform-origin: left top; }
  42% {
    transform: scale3d(1, 1, 1);
    transform-origin: left top; }
  58% {
    transform: scale3d(1, 1, 1);
    transform-origin: right top; }
  99% {
    transform: scale3d(0, 1, 1);
    transform-origin: right top; }
  100% {
    transform: scale3d(0, 1, 1);
    transform-origin: right top; } }

#jq-iscroll {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 320px;
  max-width: 100%;
  height: 100vh;
  min-height: 100vh;
  background-color: #fff;
  z-index: 1000;
  width: 100%;
  transform: translate3d(100%, 0, 0) !important;
  transition-property: transform opacity;
  transition-duration: 0.1s;
  visibility: hidden;
  opacity: 0; }
  @media (max-width: 374px) {
    #jq-iscroll {
      width: 100%;
      max-width: none; } }
  @media (min-width: 520px) {
    #jq-iscroll {
      width: 100%;
      max-width: 375px; } }
  @media (min-width: 768px) {
    #jq-iscroll {
      max-width: 640px; } }

.jq-open-drawr--active #jq-iscroll {
  transform: translate3d(0, 0, 0) !important;
  transition-duration: 0.5s;
  visibility: visible;
  opacity: 1; }

.drawr {
  width: 100%;
  min-height: 100vh;
  margin-left: auto;
  padding-bottom: 140px;
  color: #111; }

.drawr__main {
  position: relative;
  display: grid;
  padding-left: 6.25vw;
  padding-right: 6.25vw;
  padding-top: 80px; }
  @media (min-width: 768px) {
    .drawr__main {
      padding-left: 80px;
      padding-right: 80px; } }

.drawr__space {
  margin-bottom: 24px; }

.drawr__header .a-btn {
  display: flex; }

.drawr__header .drawr__btn--line {
  margin-bottom: 1.6rem; }

.drawr__footer {
  margin-top: 24px; }

.draw__logo {
  display: flex;
  position: absolute;
  align-items: center; }
  .draw__logo .img {
    width: 32px;
    height: 32px; }
  .draw__logo span {
    margin-left: 8px;
    font-size: 2.0rem;
    white-space: nowrap; }

.drawr-menu {
  margin: 0;
  padding: 0;
  line-height: 1.5; }
  .drawr-menu .nav-menu__li,
  .drawr-menu .nav-menu__nest__li {
    position: relative; }
  .drawr-menu .nav-menu__li {
    margin-bottom: 1.6rem; }
  .drawr-menu .nav-menu__nest__li {
    margin-bottom: 1.8rem; }
  .drawr-menu .nav-menu__btn,
  .drawr-menu .nav-menu__nest__btn {
    display: flex;
    align-items: center;
    line-height: 1; }
    .drawr-menu .nav-menu__btn ._main,
    .drawr-menu .nav-menu__nest__btn ._main {
      font-family: "Marcellus";
      text-transform: uppercase;
      font-weight: 400; }
  .drawr-menu .nav-menu__nest__btn ._main,
  .drawr-menu .nav-menu__btn--normal ._main {
    color: #111;
    font-size: 3.2rem;
    letter-spacing: 0.03571em; }
    @media (min-width: 768px) {
      .drawr-menu .nav-menu__nest__btn ._main,
      .drawr-menu .nav-menu__btn--normal ._main {
        font-size: 4.8rem; } }
  .drawr-menu .nav-menu__nest__btn ._sub,
  .drawr-menu .nav-menu__btn--normal ._sub {
    margin-left: 8px;
    margin-top: 4px;
    font-size: 1.2rem; }
    @media (max-width: 374px) {
      .drawr-menu .nav-menu__nest__btn ._sub,
      .drawr-menu .nav-menu__btn--normal ._sub {
        display: none; } }
  .drawr-menu .nav-menu__btn--parent {
    font-size: 1.4rem;
    padding-bottom: 4px; }
    .drawr-menu .nav-menu__btn--parent > ._sub {
      display: none; }
  .drawr-menu .nav-menu__nest__btn {
    padding-left: 24px; }
    .drawr-menu .nav-menu__nest__btn ._main {
      position: relative; }
      .drawr-menu .nav-menu__nest__btn ._main:before {
        content: '';
        position: absolute;
        left: -24px;
        top: 50%;
        width: 12px;
        height: 2px;
        margin-top: -1px;
        background: #111;
        border-radius: 2px; }
  .drawr-menu .nav-menu__nest {
    margin-top: 6px;
    padding: 0; }

.drawr__side {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 100%;
  border-left: 0.9px solid rgba(17, 17, 17, 0.1);
  color: #111;
  display: none; }
  @media (min-width: 768px) {
    .drawr__side {
      width: 80px; } }

.drawr__copyright {
  writing-mode: vertical-lr;
  padding: 8px 2px; }

.o-footer {
  padding-top: 96px;
  padding-bottom: 40px;
  font-size: 1.2rem; }
  .o-footer__nav {
    margin-bottom: 48px;
    font-size: 1.4rem; }
  .o-footer__corp {
    margin-top: 8px; }
  .o-footer__info {
    margin-bottom: 24px; }
    @media (min-width: 768px) {
      .o-footer__info {
        margin-bottom: 0; } }
  .o-footer__copyright {
    margin-top: 8px; }

.o-footer__tel {
  display: flex;
  align-items: center; }

.o-footer__middle {
  display: block;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 24px; }
  @media (min-width: 768px) {
    .o-footer__middle {
      display: flex; } }

.o-footer__under {
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  margin-top: 40px;
  padding-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.o-footer__policy {
  font-size: 1.2rem;
  display: flex;
  margin: 0 -8px; }
  .o-footer__policy__item {
    padding: 8px; }

.footer-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  margin: -6px -12px;
  font-family: "Marcellus"; }
  .footer-menu .nav-menu__li {
    flex-basis: auto;
    position: relative;
    padding: 6px 12px; }
    .footer-menu .nav-menu__li:last-child {
      padding-right: 0; }
    @media (max-width: 767px) {
      .footer-menu .nav-menu__li {
        flex-basis: 50%; } }
  .footer-menu .nav-menu__btn {
    display: block;
    line-height: 24px;
    letter-spacing: 0.05em; }
    .footer-menu .nav-menu__btn ._main {
      text-transform: uppercase; }
    .footer-menu .nav-menu__btn ._sub {
      display: none; }

.o-hero-page {
  padding-top: 64px;
  position: relative; }
  .o-hero-page .img {
    position: absolute;
    top: 0;
    left: 33.33333%;
    right: 0;
    bottom: 0; }

.o-hero-page + .o-separate-line {
  margin-top: -40px;
  position: relative; }

.m-in-panel__body {
  flex-grow: 1; }

.m-in-panel__title {
  margin-bottom: 0; }

.m-in-panel__over {
  margin-top: 1.6rem; }

.m-in-panel__item {
  border: 1px solid rgba(17, 17, 17, 0.1);
  border: 0.9px solid #debfb2;
  color: #debfb2;
  color: inherit;
  font-size: 1.2rem;
  text-align: center;
  line-height: 28px;
  padding: 0px 8px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.m-in-panel__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  width: 120px;
  margin-bottom: 2.4rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-color: #debfb2;
  color: #fff;
  border-radius: 50%; }
  .m-in-panel__mark__head {
    line-height: 2.4rem;
    font-size: 1.4rem; }
  .m-in-panel__mark__num {
    display: block;
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 1; }
  .m-in-panel__mark__off {
    line-height: 2.4rem;
    font-size: 1.8rem;
    font-family: var(--font-en);
    font-weight: bold;
    text-align: right; }

.m-in-panel--reverse,
.m-in-panel--shadow,
.m-in-panel--panel,
.m-in-panel--border {
  padding: 2.4rem 1.6rem; }

.m-in-panel--title-border .m-in-panel__title {
  padding: 1.6rem 0;
  border-top: 0.9px solid #debfb2;
  border-bottom: 0.9px solid #debfb2; }

.m-in-panel--shadow {
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1); }

.m-in-panel--border {
  border: 1px solid rgba(17, 17, 17, 0.1); }

.m-in-panel--panel {
  background-color: #FAFAFA; }

.m-in-panel--reverse {
  background-color: #debfb2;
  color: #fff; }
  .m-in-panel--reverse .m-in-panel__mark {
    background: #fff;
    color: #debfb2; }
    .m-in-panel--reverse .m-in-panel__mark > * {
      filter: brightness(0.8); }
  .m-in-panel--reverse .m-in-panel__item,
  .m-in-panel--reverse .m-in-panel__title {
    border-color: #fff; }

@media (min-width: 768px) {
  .m-in-panel {
    display: flex;
    align-items: center; }
  .m-in-panel__mark {
    flex-shrink: 0;
    margin-right: 24px;
    margin-left: 0;
    margin-bottom: 0; }
  .m-in-panel--reverse,
  .m-in-panel--shadow,
  .m-in-panel--panel,
  .m-in-panel--border {
    padding: 2.4rem; } }

@media (min-width: 1024px) {
  .m-in-panel--reverse,
  .m-in-panel--shadow,
  .m-in-panel--panel,
  .m-in-panel--border {
    padding: 3.2rem; } }

.m-price-off-panel {
  position: relative;
  border: 0.9px solid #debfb2;
  margin-top: 60px;
  margin-bottom: 40px; }
  .m-price-off-panel__title {
    margin-bottom: 0; }
  .m-price-off-panel__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;
    width: 120px;
    margin-top: -60px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background-color: #debfb2;
    color: #fff;
    border-radius: 50%; }
    .m-price-off-panel__mark > * {
      filter: brightness(0.8); }
  .m-price-off-panel__mark-head {
    line-height: 2.4rem;
    font-size: 1.4rem; }
  .m-price-off-panel__num {
    display: block;
    font-weight: bold;
    font-family: var(--font-en);
    font-size: 3.2rem;
    line-height: 1; }
  .m-price-off-panel__off {
    line-height: 2.4rem;
    font-size: 1.8rem;
    font-family: var(--font-en);
    text-align: right; }
  @media (min-width: 768px) {
    .m-price-off-panel {
      display: flex;
      align-items: center;
      padding: 1.6rem;
      border: none;
      background: #debfb2; }
      .m-price-off-panel__mark {
        margin: 0;
        background: #fff;
        color: #e2c6bb; }
      .m-price-off-panel__body {
        flex-grow: 1;
        padding-top: 0;
        padding-bottom: 0; }
      .m-price-off-panel__title {
        color: #fff;
        margin: 0;
        padding: 1.6rem 0;
        border-top: .9px solid white;
        border-bottom: .9px solid white; } }

.o-archive-slider,
.o-archive-card {
  overflow-x: hidden; }
  .o-archive-slider .a-title,
  .o-archive-card .a-title {
    text-align: center; }
    .o-archive-slider .a-title ._sub,
    .o-archive-card .a-title ._sub {
      display: none; }

@media (max-width: 767px) {
  .o-archive-card .m-card__title {
    font-size: 1.4rem; } }

@media (max-width: 519px) {
  .o-archive-card .m-card__title {
    font-size: 1.3rem; } }

@media (max-width: 767px) {
  .o-archive-slider .m-card__title {
    font-size: 1.4rem; } }

.o-archive-slider--3to4 .m-card .figure {
  padding-top: 133.33333%; }

.o-archive-slider--1to1 .m-card .figure {
  padding-top: 100%; }

.o-content-base {
  position: relative; }
  .o-content-base .o-content-base__overlay,
  .o-content-base .o-content-base__bg-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

.o-content-base--bg-set-img {
  padding-top: 96px;
  padding-bottom: 96px; }

@media (min-width: 768px) {
  .o-content-base--bg-set-img {
    padding-top: 160px;
    padding-bottom: 160px; } }

.o-content-base--continue {
  padding-top: 0; }

.o-separate-line .separate-line-vertical {
  margin: 0 auto;
  width: 1px;
  height: 80px;
  background: #111; }

.o-separate-line .separate-line-width {
  border-bottom: 1px solid rgba(17, 17, 17, 0.1); }

.header-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -12px;
  font-family: "Marcellus"; }
  .header-menu > li {
    position: relative;
    padding: 0 12px; }
    .header-menu > li:last-child {
      padding-right: 0; }
    .header-menu > li > div,
    .header-menu > li > a {
      display: block;
      white-space: nowrap;
      cursor: pointer;
      text-align: center;
      line-height: 1;
      padding: 8px 0;
      transition: unset; }
      .header-menu > li > div ._main,
      .header-menu > li > a ._main {
        text-transform: uppercase;
        font-size: 1.5rem;
        letter-spacing: 0.05em;
        letter-spacing: .1em; }
      .header-menu > li > div .icon,
      .header-menu > li > a .icon {
        width: 12px;
        height: 12px; }
      .header-menu > li > div ._sub,
      .header-menu > li > a ._sub {
        display: none;
        line-height: 12px;
        margin-top: 4px;
        font-size: 1.1rem; }
  .header-menu .nav-menu__btn--parent {
    position: relative;
    padding-right: 16px; }
    .header-menu .nav-menu__btn--parent .icon {
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -6px;
      transition-property: transform;
      transition-duration: 0.5s; }
  .header-menu .dropdown {
    padding: 24px !important;
    background-color: #fff;
    white-space: nowrap;
    box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
    color: #111; }
    .header-menu .dropdown > li {
      padding-bottom: 8px; }
      .header-menu .dropdown > li:last-child {
        padding-bottom: 0; }
    .header-menu .dropdown a {
      font-size: 1.4rem;
      color: inherit; }
      .header-menu .dropdown a ._sub {
        display: none;
        font-size: 1.1rem; }
  .header-menu > .jq-trigger .dropdown {
    display: block;
    position: absolute;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-duration: 0.5s;
    transform: scale3d(0.8, 0.8, 1);
    transform-origin: top center; }
  .header-menu > .jq-trigger.jq-active .icon {
    transform: rotate3d(1, 0, 0, 180deg); }
  .header-menu > .jq-trigger.jq-active .dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: scale3d(1, 1, 1); }

.hamburger {
  display: block;
  width: 64px;
  height: 64px;
  padding: 16px;
  border-radius: 0;
  cursor: pointer;
  pointer-events: auto;
  position: relative; }
  .hamburger:hover {
    opacity: 1;
    background: none; }
  @media (min-width: 768px) {
    .hamburger {
      width: 80px;
      height: 80px;
      padding: 16px; } }

.hamburger__body {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
  padding: 0; }
  .hamburger__body > span {
    position: absolute;
    right: 0%;
    top: 50%;
    width: 32px;
    height: 1px;
    margin-right: 0;
    margin-top: -1px;
    background: #111; }
  .hamburger__body > span:after,
  .hamburger__body > span:before {
    content: '';
    position: absolute;
    width: 32px;
    height: 1px;
    right: 0%;
    margin-right: inherit;
    background-color: inherit;
    transition-duration: 0.5s;
    transition-property: transform;
    transition-timing-function: ease;
    transform-origin: center center; }
  .hamburger__body > span:before {
    top: -10px; }
  .hamburger__body > span:after {
    bottom: -10px; }
  @media (min-width: 768px) {
    .hamburger__body {
      width: 48px;
      height: 48px; }
      .hamburger__body > span {
        width: 48px; }
      .hamburger__body > span:after,
      .hamburger__body > span:before {
        width: 48px; } }

.jq-open-drawr--active .hamburger {
  box-shadow: none;
  background: none; }
  .jq-open-drawr--active .hamburger .hamburger__body > span {
    height: 0;
    background-color: #111; }
  .jq-open-drawr--active .hamburger .hamburger__body > span:after,
  .jq-open-drawr--active .hamburger .hamburger__body > span:before {
    top: 1px;
    height: 1px; }
  .jq-open-drawr--active .hamburger .hamburger__body > span:after {
    transform: rotate(225deg); }
  .jq-open-drawr--active .hamburger .hamburger__body > span:before {
    transform: rotate(-225deg); }

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1000;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition-property: opacity visibility;
  transition-duration: 0.5s;
  transition-delay: 0;
  transform: translate3d(0%, 0, 0); }

.jq-open-drawr--active > #overlay {
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  opacity: 1; }

.m-arr-panel {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  padding-bottom: 48px;
  margin-bottom: 48px; }
  .m-arr-panel__mark {
    flex-shrink: 1;
    margin-right: 1.6rem; }

.m-arr-shift .m-arr-shift__img-2 {
  margin-top: -35%; }
  @media (min-width: 1024px) {
    .m-arr-shift .m-arr-shift__img-2 {
      margin-top: 0; } }

.m-arr-shift .m-arr-shift__main {
  padding-top: 40px; }

@media (min-width: 768px) {
  .m-arr-shift .m-arr-shift__img-2 {
    position: relative; } }

@media (min-width: 1024px) {
  .m-arr-shift .m-arr-shift__img-2 .m-arr-shift__img__body {
    margin-top: 0; } }

.p-contact-info-button {
  padding: 1.6rem 0;
  margin-bottom: 40px; }
  .p-contact-info-button .a-title {
    text-align: center;
    margin-bottom: 0; }
  @media (min-width: 768px) {
    .p-contact-info-button .a-title {
      text-align: left;
      margin-bottom: 0 !important; } }

.m-line-official {
  border: 1px solid rgba(17, 17, 17, 0.1);
  padding: 1.6rem;
  display: inline-grid;
  grid-template-columns: 48px auto;
  justify-content: center; }

ul.page-numbers {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-transform: uppercase; }
  ul.page-numbers li {
    margin: 0;
    padding: 0; }
  ul.page-numbers .page-numbers {
    position: relative;
    display: none;
    line-height: 48px;
    min-width: 48px;
    margin: 0 0.8rem;
    background: none;
    text-align: center;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-family: "Marcellus"; }
  ul.page-numbers a.prev,
  ul.page-numbers a.next {
    display: block;
    padding: 0 3.2rem; }
  ul.page-numbers a.page-numbers {
    min-width: 48px;
    background: #f4f4f4; }
  ul.page-numbers span.page-numbers {
    opacity: 0.8; }
  @media (min-width: 1024px) {
    ul.page-numbers .page-numbers {
      display: block; } }

.page-navigation {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  gap: 1.6rem; }

.page-navigation__text {
  width: 100%;
  min-width: 100%; }

.page-navigation__body {
  display: flex;
  align-items: center;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-family: "Marcellus"; }
  .page-navigation__body .icon {
    flex-basis: 24px;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-right: 16px;
    transform: translate3d(0, 0, 0);
    transition-duration: 0.5s;
    transition-property: transform;
    transition-timing-function: ease; }
  .page-navigation__body ._en,
  .page-navigation__body ._main {
    flex-grow: 1; }
  .page-navigation__body ._main {
    display: none; }
  .page-navigation__body ._en {
    text-transform: uppercase; }
  .page-navigation__body span {
    white-space: nowrap; }
  .page-navigation__body:hover .icon {
    transform: translate3d(-8px, 0, 0); }

.page-navigation__body.next .icon {
  margin-left: 16px;
  margin-right: 0; }

.page-navigation__body.next ._en,
.page-navigation__body.next ._main {
  text-align: right; }

.page-navigation__body.next:hover .icon {
  transform: translate3d(8px, 0, 0); }

.page-navigation-back {
  margin-top: 1.6rem;
  display: flex;
  justify-content: center; }

.page-navigation-back__body {
  display: flex;
  align-items: center;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-family: "Marcellus"; }
  .page-navigation-back__body .icon {
    margin-right: 16px; }

.pager {
  display: flex; }
  .pager__next,
  .pager__prev {
    flex-basis: 50%; }
  .pager a {
    display: block; }
  .pager .img {
    width: 100%;
    border: 2px solid #333; }
  .pager__index {
    position: absolute;
    left: 50%;
    margin-left: -24px; }
    .pager__index a {
      display: block;
      width: 48px;
      height: 48px;
      margin: 0;
      padding: 0; }
      .pager__index a span {
        display: none; }
      .pager__index a .icon--index {
        width: 48px;
        height: 48px; }

.swiper-container {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-shadow: none;
  border-radius: 0;
  z-index: 1; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: inherit;
  z-index: 1;
  display: flex;
  align-items: stretch;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
  height: 70px; }

.swiper-slide {
  flex-shrink: 0;
  flex-grow: 1;
  width: 100%;
  height: auto;
  position: relative;
  transition-property: transform; }

.swiper-button-gr {
  display: flex;
  align-items: center; }

.swiper-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  color: inherit;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto; }
  .swiper-button:focus {
    outline: none; }
  .swiper-button:hover {
    opacity: 0.8; }
  .swiper-button .icon {
    display: block;
    width: 10px;
    height: 24px;
    color: inherit; }

.swiper-button-disabled {
  opacity: 0.8;
  pointer-events: none;
  cursor: auto; }

.swiper-pagination-fraction {
  display: flex;
  align-items: center;
  font-size: 1.4rem; }
  .swiper-pagination-fraction span {
    min-width: 24px;
    text-align: center; }

@font-face {
  font-family: "Sonic Cut";
  src: url("https://calorietradejapan-niigata.com/wp-content/themes/nm_calorietrade/font/AnyConv.com__SonicCutThruBT-Heavy.woff2") format("woff2"), url("https://calorietradejapan-niigata.com/wp-content/themes/nm_calorietrade/font/AnyConv.com__SonicCutThruBT-Heavy.woff") format("woff"); }

.o-link-panel {
  background: #eee; }
  .o-link-panel ._item {
    position: relative;
    display: block;
    padding-left: 6.25vw;
    padding-right: 6.25vw; }
  .o-link-panel .figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 0; }
  .o-link-panel ._body {
    position: relative; }

.ico {
  display: block;
  position: relative;
  width: 64px;
  height: 8px; }
  .ico:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #111; }
  .ico:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10px;
    height: 1px;
    background: #111;
    transform-origin: right bottom;
    transform: rotate(40deg); }

.inv--up {
  transition-duration: 1.25s;
  transition-property: transform opacity;
  transition-timing-function: ease;
  opacity: 0;
  transform: translateY(32px); }

.inv--up.inv--on {
  opacity: 1;
  transform: translateX(0); }