@charset "UTF-8";

@font-face {
  font-family: 'icomoon';
  src: url('../font/icomoon.eot?6e45m6');
  src: url('../font/icomoon.eot?6e45m6#iefix') format('embedded-opentype'), url('../font/icomoon.ttf?6e45m6') format('truetype'), url('../font/icomoon.woff?6e45m6') format('woff'), url('../font/icomoon.svg?6e45m6#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-line::before {
  content: '\e900';
  color: #00c300;
}

/* ------------------------------
 reset.css
------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

body {
  line-height: 1; }

div, p, span, object, iframe, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,
table, tr, td, th, tbody, tfoot, thead {
  line-height: 1; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1;
  font-weight: normal; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote::before, blockquote::after,
q::before, q::after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  max-width: 100%;
  /*width:auto;*/
  height: auto;
  vertical-align: bottom;
  padding: 0; }

a img {
  border: none; }

a {
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

a:hover {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  /* overflow: hidden; */ }

a:hover img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

/* ----------------------------------------
 changePoint
---------------------------------------- */
/* ----------------------------------------
 mixin LIst
---------------------------------------- */
/* ----------------------------------------
 color
---------------------------------------- */
/* ----------------------------------------
 font-family
---------------------------------------- */
/* ----------------------------------------
 fontsize
---------------------------------------- */
/* ----------------------------------------
 shadow
---------------------------------------- */
/* ----------------------------------------
 border
---------------------------------------- */
/* ----------------------------------------
 noDrag
---------------------------------------- */
/* ----------------------------------------
 boxSizing
---------------------------------------- */
/* ----------------------------------------
 clearfix
---------------------------------------- */
/* ----------------------------------------
 text_indent
---------------------------------------- */
/* ----------------------------------------
 background
---------------------------------------- */
/* ----------------------------------------
 opacity
---------------------------------------- */
/* ----------------------------------------
 position
---------------------------------------- */
/* ----------------------------------------
 before after
---------------------------------------- */
/* ----------------------------------------
 layout
---------------------------------------- */
/* ----------------------------------------
 flex_box
---------------------------------------- */
/* ----------------------------------------
 calc
---------------------------------------- */
/* ----------------------------------------
 object-fit
---------------------------------------- */
/* ----------------------------------------
 aspect
---------------------------------------- */
/* ----------------------------------------
 ellipsis
---------------------------------------- */
/* ----------------------------------------
 v-writing
---------------------------------------- */
/* ----------------------------------------
 em
---------------------------------------- */
/* ----------------------------------------
 transition
---------------------------------------- */
/* ----------------------------------------
 easings

 https://easings.net/ja
---------------------------------------- */
/* ----------------------------------------
 keyframes animaiton
---------------------------------------- */
/* ----------------------------------------
 bender_prefix
---------------------------------------- */
/* ----------------------------------------
 formreset
---------------------------------------- */
/* ----------------------------------------
 placeholder
---------------------------------------- */
/* ----------------------------------------
 formConfirmed
---------------------------------------- */
/* ----------------------------------------
 mediaQuery
---------------------------------------- */
/* ----------------------------------------
 multiply
---------------------------------------- */
/* ----------------------------------------
 defaultStyle
---------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box; }

/* -----------------------------------------
 setting
----------------------------------------- */
html {
  font-size: 62.5%; }

body {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.0rem;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #000000;
  overflow-x: hidden;
  word-break: break-all; }
  @media screen and (min-width: 769px) {
    body {
      min-width: 1024px; } }

::-moz-selection {
  background: #b4b4b4;
  color: #f7f7f7; }

::selection {
  background: #b4b4b4;
  color: #f7f7f7; }

::-moz-selection {
  background: #b4b4b4;
  color: #f7f7f7; }

@media screen and (min-width: 668px) {
  p, a, li, dt, dd, small, address {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 667px) {
  p, a, li, dt, dd, small, address {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 320px) {
  p, a, li, dt, dd, small, address {
    font-size: 11.5px;
    font-size: 1.15rem; } }

a {
  text-decoration: none;
  transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  a, a:visited, a:focus, a:link, a:active {
    color: #000000; }

.is-no-cursor a.is-hover:hover {
  opacity: 0.7; }

p, dt, dd, th, td {
  line-height: 1.92857; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5; }

ol, ul {
  list-style: none; }

#l-wrapper {
  display: block;
  width: 100%; }

main {
  display: block; }

/*!
 * FullCalendar v3.10.0
 * Docs & License: https://fullcalendar.io/
 * (c) 2018 Adam Shaw
 */
/*!
 * FullCalendar v3.10.0 Print Stylesheet
 * Docs & License: https://fullcalendar.io/
 * (c) 2018 Adam Shaw
 */
/*
 * Include this stylesheet on your page to get a more printer-friendly calendar.
 * When including this stylesheet, use the media='print' attribute of the <link> tag.
 * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
 */
.fc {
  max-width: 100% !important; }

/* Global Event Restyling
--------------------------------------------------------------------------------------------------*/
.fc-event {
  background: #fff !important;
  color: #000 !important;
  page-break-inside: avoid; }

.fc-event .fc-resizer {
  display: none; }

/* Table & Day-Row Restyling
--------------------------------------------------------------------------------------------------*/
.fc th,
.fc td,
.fc hr,
.fc thead,
.fc tbody,
.fc-row {
  border-color: #ccc !important;
  background: #fff !important; }

/* kill the overlaid, absolutely-positioned components */
/* common... */
.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton,
.fc-bgevent-container,
.fc-business-container,
.fc-highlight-container,
.fc-helper-container {
  display: none; }

/* don't force a min-height on rows (for DayGrid) */
.fc tbody .fc-row {
  height: auto !important;
  /* undo height that JS set in distributeHeight */
  min-height: 0 !important;
  /* undo the min-height from each view's specific stylesheet */ }

.fc tbody .fc-row .fc-content-skeleton {
  position: static;
  /* undo .fc-rigid */
  padding-bottom: 0 !important;
  /* use a more border-friendly method for this... */ }

.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
  /* only works in newer browsers */
  padding-bottom: 1em;
  /* ...gives space within the skeleton. also ensures min height in a way */ }

.fc tbody .fc-row .fc-content-skeleton table {
  /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
     making it look more like 3em. for other browers, it will already be this tall */
  height: 1em; }

/* Undo month-view event limiting. Display all events and hide the "more" links
--------------------------------------------------------------------------------------------------*/
.fc-more-cell,
.fc-more {
  display: none !important; }

.fc tr.fc-limited {
  display: table-row !important; }

.fc td.fc-limited {
  display: table-cell !important; }

.fc-popover {
  display: none;
  /* never display the "more.." popover in print mode */ }

/* TimeGrid Restyling
--------------------------------------------------------------------------------------------------*/
/* undo the min-height 100% trick used to fill the container's height */
.fc-time-grid {
  min-height: 0 !important; }

/* don't display the side axis at all ("all-day" and time cells) */
.fc-agenda-view .fc-axis {
  display: none; }

/* don't display the horizontal lines */
.fc-slats,
.fc-time-grid hr {
  /* this hr is used when height is underused and needs to be filled */
  display: none !important;
  /* important overrides inline declaration */ }

/* let the container that holds the events be naturally positioned and create real height */
.fc-time-grid .fc-content-skeleton {
  position: static; }

/* in case there are no events, we still want some height */
.fc-time-grid .fc-content-skeleton table {
  height: 4em; }

/* kill the horizontal spacing made by the event container. event margins will be done below */
.fc-time-grid .fc-event-container {
  margin: 0 !important; }

/* TimeGrid *Event* Restyling
--------------------------------------------------------------------------------------------------*/
/* naturally position events, vertically stacking them */
.fc-time-grid .fc-event {
  position: static !important;
  margin: 3px 2px !important; }

/* for events that continue to a future day, give the bottom border back */
.fc-time-grid .fc-event.fc-not-end {
  border-bottom-width: 1px !important; }

/* indicate the event continues via "..." text */
.fc-time-grid .fc-event.fc-not-end:after {
  content: "..."; }

/* for events that are continuations from previous days, give the top border back */
.fc-time-grid .fc-event.fc-not-start {
  border-top-width: 1px !important; }

/* indicate the event is a continuation via "..." text */
.fc-time-grid .fc-event.fc-not-start:before {
  content: "..."; }

/* time */
/* undo a previous declaration and let the time text span to a second line */
.fc-time-grid .fc-event .fc-time {
  white-space: normal !important; }

/* hide the the time that is normally displayed... */
.fc-time-grid .fc-event .fc-time span {
  display: none; }

/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
.fc-time-grid .fc-event .fc-time:after {
  content: attr(data-full); }

/* Vertical Scroller & Containers
--------------------------------------------------------------------------------------------------*/
/* kill the scrollbars and allow natural height */
.fc-scroller,
.fc-day-grid-container,
.fc-time-grid-container {
  /* */
  overflow: visible !important;
  height: auto !important; }

/* kill the horizontal border/padding used to compensate for scrollbars */
.fc-row {
  border: 0 !important;
  margin: 0 !important; }

/* Button Controls
--------------------------------------------------------------------------------------------------*/
.fc-button-group,
.fc button {
  display: none;
  /* don't display any button-related controls */ }

/*!
 * FullCalendar v3.10.0
 * Docs & License: https://fullcalendar.io/
 * (c) 2018 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left; }

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

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: .3; }

.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: .3; }

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7; }

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 .6em;
  /* text & cursor */
  font-size: 1em;
  /* normalize */
  white-space: nowrap;
  cursor: pointer; }

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0; }

.fc-state-default {
  /* non-theme */
  border: 1px solid; }

.fc-state-default.fc-corner-left {
  /* non-theme */
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.fc-state-default.fc-corner-right {
  /* non-theme */
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

/* icons in buttons */
.fc button .fc-icon {
  /* non-theme */
  position: relative;
  top: -0.05em;
  /* seems to be a good adjustment across browsers */
  margin: 0 .2em;
  vertical-align: middle; }

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6; }

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  transition: background-position 0.1s linear; }

.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }

.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  box-shadow: none; }

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block; }

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * {
  /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px; }

.fc .fc-button-group > :first-child {
  /* same */
  margin-left: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  padding: 2px 4px; }

.fc-popover .fc-header .fc-title {
  margin: 0 2px; }

.fc-popover .fc-header .fc-close {
  cursor: pointer; }

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left; }

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right; }

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px; }

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0; }

.fc-clear {
  clear: both; }

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */ }

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */ }

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */ }

.fc th {
  text-align: center; }

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top; }

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */ }

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
  cursor: pointer; }

a[data-goto]:hover {
  text-decoration: underline; }

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0; }

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent; }

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */ }

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative; }

.fc-row .fc-bg {
  z-index: 1; }

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent; }

.fc-row .fc-bgevent-skeleton {
  z-index: 2; }

.fc-row .fc-highlight-skeleton {
  z-index: 3; }

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */ }

.fc-row .fc-helper-skeleton {
  z-index: 5; }

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent; }

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0; }

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0; }

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  -webkit-overflow-scrolling: touch; }

/* TODO: move to agenda/basic */
.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: .85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #3a87ad;
  /* default BORDER color */ }

.fc-event,
.fc-event-dot {
  background-color: #3a87ad;
  /* default BACKGROUND color */ }

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */ }

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */ }

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed; }

.fc-event .fc-bg {
  /* the generic .fc-bg already does position */
  z-index: 1;
  background: #fff;
  opacity: .25; }

.fc-event .fc-content {
  position: relative;
  z-index: 2; }

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
  position: absolute;
  z-index: 4; }

/* resizer (touch devices) */
.fc-event .fc-resizer {
  display: none; }

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block; }

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px; }

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }

.fc-event.fc-selected.fc-dragging {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); }

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0; }

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

/* resizer (cursor AND touch devices) */
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */ }

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */ }

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */ }

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px; }

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */ }

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */ }

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px; }

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */ }

.fc-day-grid-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: .25; }

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden; }

.fc-day-grid-event .fc-time {
  font-weight: bold; }

/* resizer (cursor devices) */
/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */ }

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */ }

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: .85em;
  cursor: pointer;
  text-decoration: none; }

a.fc-more:hover {
  text-decoration: underline; }

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none; }

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */ }

.fc-more-popover {
  z-index: 2;
  width: 220px; }

.fc-more-popover .fc-event-container {
  padding: 10px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
  position: absolute;
  border: 0 solid red; }

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/*
TODO: more distinction between this file and common.css
*/
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #ddd; }

.fc-unthemed .fc-popover {
  background-color: #fff; }

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666; }

.fc-unthemed td.fc-today {
  background: #fcf8e3; }

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: .3; }

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  height: 1em;
  line-height: 1em;
  font-size: 1em;
  text-align: center;
  overflow: hidden;
  font-family: "Courier New", Courier, monospace;
  /* don't allow browser text-selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*
Acceptable font-family overrides for individual icons:
  "Arial", sans-serif
  "Times New Roman", serif

NOTE: use percentage font sizes or else old IE chokes
*/
.fc-icon:after {
  position: relative; }

.fc-icon-left-single-arrow:after {
  content: "\2039";
  font-weight: bold;
  font-size: 200%;
  top: -7%; }

.fc-icon-right-single-arrow:after {
  content: "\203A";
  font-weight: bold;
  font-size: 200%;
  top: -7%; }

.fc-icon-left-double-arrow:after {
  content: "\AB";
  font-size: 160%;
  top: -7%; }

.fc-icon-right-double-arrow:after {
  content: "\BB";
  font-size: 160%;
  top: -7%; }

.fc-icon-left-triangle:after {
  content: "\25C4";
  font-size: 125%;
  top: 3%; }

.fc-icon-right-triangle:after {
  content: "\25BA";
  font-size: 125%;
  top: 3%; }

.fc-icon-down-triangle:after {
  content: "\25BC";
  font-size: 125%;
  top: 2%; }

.fc-icon-x:after {
  content: "\D7";
  font-size: 200%;
  top: 6%; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: .9em;
  margin-top: 2px; }

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-disabled-day {
  background-image: none; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0;
  /* where they meet, let the header have the border */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-event {
  /* overpower jqui's styles on <a> tags. TODO: more DRY */
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
  /* undo ui-widget-header bold */
  font-weight: normal; }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.ui-widget td.fc-axis {
  font-weight: normal;
  /* overcome bold */ }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats .ui-widget-content {
  background: none;
  /* see through to fc-bg */ }

.fc.fc-bootstrap3 a {
  text-decoration: none; }

.fc.fc-bootstrap3 a[data-goto]:hover {
  text-decoration: underline; }

.fc-bootstrap3 hr.fc-divider {
  border-color: inherit; }

.fc-bootstrap3 .fc-today.alert {
  border-radius: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-popover .panel-body {
  padding: 0; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none; }

.fc.fc-bootstrap4 a {
  text-decoration: none; }

.fc.fc-bootstrap4 a[data-goto]:hover {
  text-decoration: underline; }

.fc-bootstrap4 hr.fc-divider {
  border-color: inherit; }

.fc-bootstrap4 .fc-today.alert {
  border-radius: 0; }

.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]) {
  color: #fff; }

.fc-bootstrap4 .fc-popover.card {
  position: absolute; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-popover .card-body {
  padding: 0; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none; }

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center; }

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1em; }

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1em; }

.fc-toolbar .fc-left {
  float: left; }

.fc-toolbar .fc-right {
  float: right; }

.fc-toolbar .fc-center {
  display: inline-block; }

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * {
  /* extra precedence to override button border margins */
  float: left;
  margin-left: .75em; }

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child {
  /* extra precedence to override button border margins */
  margin-left: 0; }

/* title text */
.fc-toolbar h2 {
  margin: 0; }

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative; }

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2; }

.fc-toolbar .fc-state-down {
  z-index: 3; }

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4; }

.fc-toolbar button:focus {
  z-index: 5; }

/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  box-sizing: content-box; }

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1; }

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* there may be week numbers in these views, so no padding-top */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */ }

.fc-basic-view .fc-body .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */ }

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden; }

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

/* week and day number styling */
.fc-day-top.fc-other-month {
  opacity: 0.3; }

.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 2px; }

.fc-basic-view th.fc-week-number,
.fc-basic-view th.fc-day-number {
  padding: 0 2px;
  /* column headers can't have as much v space */ }

.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
  float: right; }

.fc-rtl .fc-basic-view .fc-day-top .fc-day-number {
  float: left; }

.fc-ltr .fc-basic-view .fc-day-top .fc-week-number {
  float: left;
  border-radius: 0 0 3px 0; }

.fc-rtl .fc-basic-view .fc-day-top .fc-week-number {
  float: right;
  border-radius: 0 0 0 3px; }

.fc-basic-view .fc-day-top .fc-week-number {
  min-width: 1.5em;
  text-align: center;
  background-color: #f2f2f2;
  color: #808080; }

/* when week/day number have own column */
.fc-basic-view td.fc-week-number {
  text-align: center; }

.fc-basic-view td.fc-week-number > * {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em; }

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */ }

.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */ }

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */ }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap; }

.fc-ltr .fc-axis {
  text-align: right; }

.fc-rtl .fc-axis {
  text-align: left; }

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1; }

.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */ }

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent; }

.fc-time-grid > .fc-bg {
  z-index: 1; }

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-content-col {
  position: relative;
  /* because now-indicator lives directly inside */ }

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0; }

/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
  position: relative;
  z-index: 1; }

.fc-time-grid .fc-bgevent-container {
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-highlight-container {
  position: relative;
  z-index: 3; }

.fc-time-grid .fc-event-container {
  position: relative;
  z-index: 4; }

.fc-time-grid .fc-now-indicator-line {
  z-index: 5; }

.fc-time-grid .fc-helper-container {
  /* also is fc-event-container */
  position: relative;
  z-index: 6; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */ }

.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted; }

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */ }

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */ }

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px; }

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%; }

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */ }

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0; }

/* Generic Vertical Event
--------------------------------------------------------------------------------------------------*/
.fc-v-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.fc-v-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  overflow: hidden;
  /* don't let the bg flow over rounded corners */ }

.fc-time-grid-event.fc-selected {
  /* need to allow touch resizers to extend outside event's bounding box */
  /* common fc-selected styles hide the fc-bg, so don't need this anyway */
  overflow: visible; }

.fc-time-grid-event.fc-selected .fc-bg {
  display: none;
  /* hide semi-white background, to appear darker */ }

.fc-time-grid-event .fc-content {
  overflow: hidden;
  /* for when .fc-selected */ }

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px; }

.fc-time-grid-event .fc-time {
  font-size: .85em;
  white-space: nowrap; }

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap; }

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top; }

.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */ }

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */ }

.fc-time-grid-event.fc-short .fc-time:after {
  content: "\A0-\A0";
  /* seperate with a dash, wrapped in nbsp's */ }

.fc-time-grid-event.fc-short .fc-title {
  font-size: .85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */ }

/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize; }

.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
  content: "="; }

/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
  /* 10x10 dot */
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* horizontally center */
  left: 50%;
  margin-left: -5px;
  /* center on the bottom edge */
  bottom: -5px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
  border-top-width: 1px;
  left: 0;
  right: 0; }

/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px;
  /* vertically center on top coordinate */ }

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  /* triangle pointing right... */
  border-width: 5px 0 5px 6px;
  border-top-color: transparent;
  border-bottom-color: transparent; }

.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
  right: 0;
  /* triangle pointing left... */
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent; }

/* List View
--------------------------------------------------------------------------------------------------*/
/* possibly reusable */
.fc-event-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px; }

/* view wrapper */
.fc-rtl .fc-list-view {
  direction: rtl;
  /* unlike core views, leverage browser RTL */ }

.fc-list-view {
  border-width: 1px;
  border-style: solid; }

/* table resets */
.fc .fc-list-table {
  table-layout: auto;
  /* for shrinkwrapping cell content */ }

.fc-list-table td {
  border-width: 1px 0 0;
  padding: 8px 14px; }

.fc-list-table tr:first-child td {
  border-top-width: 0; }

/* day headings with the list */
.fc-list-heading {
  border-bottom-width: 1px; }

.fc-list-heading td {
  font-weight: bold; }

.fc-ltr .fc-list-heading-main {
  float: left; }

.fc-ltr .fc-list-heading-alt {
  float: right; }

.fc-rtl .fc-list-heading-main {
  float: right; }

.fc-rtl .fc-list-heading-alt {
  float: left; }

/* event list items */
.fc-list-item.fc-has-url {
  cursor: pointer;
  /* whole row will be clickable */ }

.fc-list-item-marker,
.fc-list-item-time {
  white-space: nowrap;
  width: 1px; }

/* make the dot closer to the event title */
.fc-ltr .fc-list-item-marker {
  padding-right: 0; }

.fc-rtl .fc-list-item-marker {
  padding-left: 0; }

.fc-list-item-title a {
  /* every event title cell has an <a> tag */
  text-decoration: none;
  color: inherit; }

.fc-list-item-title a[href]:hover {
  /* hover effect only on titles with hrefs */
  text-decoration: underline; }

/* message when no events */
.fc-list-empty-wrap2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.fc-list-empty-wrap1 {
  width: 100%;
  height: 100%;
  display: table; }

.fc-list-empty {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }

.fc-unthemed .fc-list-empty {
  /* theme will provide own background */
  background-color: #eee; }

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* ----------------------------------------
 l-aside-sns
---------------------------------------- */
.l-aside-sns {
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .l-aside-sns {
      padding: 90px 0 80px; } }
  @media screen and (max-width: 768px) {
    .l-aside-sns {
      padding: 60px 0 60px; } }

/* ==================== pc ==================== */
.l-aside-sns__pc {
  max-width: 984px;
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .l-aside-sns__pc {
      display: flex;
      justify-content: space-between; } }
  @media screen and (max-width: 768px) {
    .l-aside-sns__pc {
      display: none; } }

@media screen and (min-width: 769px) {
  .l-aside-sns__items h2 {
    text-align: center;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    line-height: 1;
    font-size: 54px;
    font-size: 5.4rem;
    margin-bottom: 40px; }
    .l-aside-sns__items h2::after {
      content: '';
      display: block;
      width: 25px;
      height: 3px;
      background-color: #000000;
      margin: 35px auto 0; } }

/* ========== instagram ========== */
@media screen and (min-width: 769px) {
  .l-aside-sns__items--instagram {
    width: 47.15447%; } }

@media screen and (min-width: 769px) {
  .l-aside-sns__items--instagram__list {
    display: flex;
    flex-wrap: wrap; } }

@media screen and (min-width: 769px) {
  .l-aside-sns__instagram-items {
    width: 30.81897%; }
    .l-aside-sns__instagram-items:not(:nth-of-type(3n)) {
      margin-right: 3.66379%; }
    .l-aside-sns__instagram-items:nth-last-of-type(n+4) {
      margin-bottom: 17px; }
    .l-aside-sns__instagram-items a {
      position: relative;
      display: block;
      width: 100%;
      height: 100%; }
      .l-aside-sns__instagram-items a::after {
        content: '';
        display: block;
        padding-top: 100%; }
      .l-aside-sns__instagram-items a img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover;" !important;
        position: absolute;
        top: 0;
        left: 0; } }

/* ========== instagram ========== */
@media screen and (min-width: 769px) {
  .l-aside-sns__items--facebook {
    width: 35.99585%; } }

@media screen and (min-width: 769px) {
  .l-aside-sns__items--facebook__content {
    overflow: hidden;
    width: 347px;
    height: 466px; } }

/* ==================== pc ==================== */
@media screen and (min-width: 769px) {
  .l-aside-sns__sp {
    display: none; } }

@media screen and (max-width: 768px) {
  .l-aside-sns__sp ul {
    display: flex;
    align-items: center;
    justify-content: center; }
  .l-aside-sns__sp li {
    width: 30px;
    margin: 0 10px; }
  .l-aside-sns__sp a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2; }
    .l-aside-sns__sp a::before {
      font-family: "Font Awesome 5 Brands";
      font-weight: 300;
      font-size: 20px;
      font-size: 2.0rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .l-aside-sns__sp span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    text-align: left; } }

.l-aside-sns__sp__instagram a::before {
  content: '\f16d'; }

.l-aside-sns__sp__facebook a::before {
  content: '\f39e'; }

/* ----------------------------------------
 ipad
---------------------------------------- */
.ua-tablet .l-aside-sns__sp {
  display: block; }
  .ua-tablet .l-aside-sns__sp ul {
    display: flex;
    align-items: center;
    justify-content: center; }
  .ua-tablet .l-aside-sns__sp li {
    width: 30px;
    margin: 0 10px; }
  .ua-tablet .l-aside-sns__sp a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2; }
    .ua-tablet .l-aside-sns__sp a::before {
      font-family: "Font Awesome 5 Brands";
      font-weight: 300;
      font-size: 20px;
      font-size: 2.0rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .ua-tablet .l-aside-sns__sp span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    text-align: left; }

/* ----------------------------------------
 l-aside-print
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-aside-print {
    margin-bottom: 230px; } }

@media screen and (max-width: 768px) {
  .l-aside-print {
    margin-bottom: 120px; } }

.l-aside-print a {
  display: block;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    .l-aside-print a {
      padding: 133px 0 98px; } }
  @media screen and (max-width: 768px) {
    .l-aside-print a {
      padding: 60px 0 50px; } }
  .l-aside-print a::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-image: url("../img/common/print_bg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1) rotate(-0.0001deg);
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .l-aside-print a.is-hover:hover {
    opacity: 0.8; }
    .l-aside-print a.is-hover:hover::after {
      transform: scale(1.1) rotate(-0.0001deg); }

.l-aside-print__content {
  max-width: 573px;
  width: 90%;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center; }
  @media screen and (min-width: 769px) {
    .l-aside-print__content {
      padding: 76px 10px 44px; } }
  @media screen and (max-width: 768px) {
    .l-aside-print__content {
      padding: 40px 10px 30px; } }
  .l-aside-print__content p {
    line-height: 1.75;
    margin-bottom: 13px; }
    @media screen and (min-width: 769px) {
      .l-aside-print__content p {
        font-size: 32px;
        font-size: 3.2rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .l-aside-print__content p {
        font-size: 26px;
        font-size: 2.6rem; } }
    @media screen and (max-width: 667px) {
      .l-aside-print__content p {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 320px) {
      .l-aside-print__content p {
        font-size: 15px;
        font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .l-aside-print__content h2 {
      margin-bottom: 27px; } }
  @media screen and (max-width: 768px) {
    .l-aside-print__content h2 {
      margin-bottom: 15px; } }
  @media screen and (max-width: 667px) {
    .l-aside-print__content h2 {
      font-size: 12px;
      font-size: 1.2rem; } }

/* ----------------------------------------
 l-aside-category
---------------------------------------- */
.l-aside-category {
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    .l-aside-category {
      margin-bottom: 122px; } }
  @media screen and (max-width: 768px) {
    .l-aside-category {
      margin-bottom: 100px; } }
  .l-aside-category h2 {
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .l-aside-category h2 {
        font-size: 21px;
        font-size: 2.1rem;
        margin-bottom: 40px; } }
    @media screen and (max-width: 667px) {
      .l-aside-category h2 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 20px; } }

.l-aside-category__slider {
  position: relative;
  height: 100%;
  z-index: 1;
  transition-property: transform; }
  .l-aside-category__slider .slick-list {
    overflow: visible; }

.l-aside-category__slider__items {
  position: relative;
  transition-property: transform;
  padding-right: 10px; }
  @media screen and (min-width: 769px) {
    .l-aside-category__slider__items {
      width: 400px !important; } }
  @media screen and (max-width: 768px) {
    .l-aside-category__slider__items {
      width: 200px !important; } }
  .l-aside-category__slider__items a {
    display: block; }
  @media screen and (min-width: 769px) {
    .l-aside-category__slider__items figcaption {
      margin-top: 30px; } }
  @media screen and (max-width: 768px) {
    .l-aside-category__slider__items figcaption {
      margin-top: 10px; } }
  @media screen and (max-width: 667px) {
    .l-aside-category__slider__items figcaption {
      font-size: 10px;
      font-size: 1.0rem; } }

/* === arrows === */
.l-aside-category__slider-arrows {
  display: flex; }
  @media screen and (min-width: 769px) {
    .l-aside-category__slider-arrows {
      margin-top: 30px; } }
  @media screen and (max-width: 768px) {
    .l-aside-category__slider-arrows {
      margin-top: 20px; } }
  .l-aside-category__slider-arrows li {
    position: relative;
    width: 20px;
    height: 20px;
    cursor: pointer; }
    .l-aside-category__slider-arrows li::before {
      content: '';
      display: block;
      width: 8px;
      height: 8px;
      border-top: solid 1px #000000;
      border-right: solid 1px #000000;
      position: absolute;
      top: 50%;
      left: 50%; }

.l-aside-category__slider-prev::before {
  transform: translate(-50%, -50%) rotate(-135deg); }

.l-aside-category__slider-next::before {
  transform: translate(-50%, -50%) rotate(45deg); }

/* ----------------------------------------
 l-aside-contact
---------------------------------------- */
.l-aside-contact h2 {
  text-align: center;
  font-weight: 400; }
  @media screen and (min-width: 668px) {
    .l-aside-contact h2 {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: .4em;
      margin-bottom: 62px; } }
  @media screen and (max-width: 667px) {
    .l-aside-contact h2 {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: .1em;
      margin-bottom: 20px; } }

.l-aside-contact__inr {
  background-image: repeating-linear-gradient(45deg, #fff, #fff 17px, #f7f7f7 0, #f7f7f7 34px);
  padding: 35px 0 43px;
  line-height: 1; }
  @media screen and (min-width: 769px) {
    .l-aside-contact__inr a {
      padding: 52px 0; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-aside-contact__inr a {
      padding: 40px 0; } }
  @media screen and (max-width: 667px) {
    .l-aside-contact__inr a {
      padding: 20px 0; } }

/* ----------------------------------------
 l-footer
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-footer {
    padding: 80px 0 65px; } }

@media screen and (max-width: 768px) {
  .l-footer {
    padding: 60px 0 55px; } }

/* ========== l-footer__logo ========== */
.l-footer__logo {
  width: 132px;
  height: 27px; }
  @media screen and (min-width: 668px) {
    .l-footer__logo {
      margin-bottom: 40px; } }
  @media screen and (max-width: 667px) {
    .l-footer__logo {
      margin-bottom: 30px; } }
  .l-footer__logo a {
    opacity: 1; }

/* ========== l-footer__mdl ========== */
@media screen and (min-width: 769px) {
  .l-footer__mdl {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px; } }

@media screen and (max-width: 768px) {
  .l-footer__mdl {
    margin-bottom: 40px; } }

.l-footer__mdl li, .l-footer__mdl small, .l-footer__mdl span, .l-footer__mdl dt, .l-footer__mdl dd {
  line-height: 1.92857; }

@media screen and (max-width: 768px) {
  .l-footer__address {
    margin-bottom: 10px; } }

.l-footer__address li {
  font-size: 0px;
  font-size: 0.0rem; }

@media screen and (min-width: 769px) {
  .l-footer__address span, .l-footer__address a, .l-footer__address small {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) {
  .l-footer__address span, .l-footer__address a, .l-footer__address small {
    font-size: 12px;
    font-size: 1.2rem; } }

.l-footer__address a {
  text-decoration: underline; }

.l-footer__info dl {
  display: flex; }

.l-footer__info dt {
  color: #999999; }

.l-footer__info dt, .l-footer__info dd {
  display: inline; }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-footer__info dt, .l-footer__info dd {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 667px) {
    .l-footer__info dt, .l-footer__info dd {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media screen and (max-width: 320px) {
    .l-footer__info dt, .l-footer__info dd {
      font-size: 10px;
      font-size: 1.0rem; } }

.l-footer__info dt::after {
  content: '：'; }

.l-footer__info__link {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .l-footer__info__link {
      margin-top: 17px; } }
  @media screen and (max-width: 768px) {
    .l-footer__info__link {
      margin-top: 14px; } }
  .l-footer__info__link li {
    margin-right: 9px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1; }
  .l-footer__info__link a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: solid 1px #000000;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 6px 9px;
    transform: translate3d(0, 0, 0); }
    .l-footer__info__link a.is-hover:hover {
      background-color: #000000;
      color: #fff;
      opacity: 1; }

/* ========== l-footer__btm ========== */
.l-footer__btm {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.l-footer__copyright {
  font-size: 12px;
  font-size: 1.2rem; }
  @media screen and (min-width: 769px) {
    .l-footer__copyright, .l-footer__copyright small {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-footer__copyright, .l-footer__copyright small {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media screen and (max-width: 667px) {
    .l-footer__copyright, .l-footer__copyright small {
      font-size: 10px;
      font-size: 1.0rem; } }

.l-footer__btn__link {
  display: flex; }
  @media screen and (min-width: 769px) {
    .l-footer__btn__link li, .l-footer__btn__link a {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-footer__btn__link li, .l-footer__btn__link a {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media screen and (max-width: 667px) {
    .l-footer__btn__link li, .l-footer__btn__link a {
      font-size: 10px;
      font-size: 1.0rem; } }
  .l-footer__btn__link li {
    margin-left: 1em; }
  .l-footer__btn__link a.is-hover:hover {
    text-decoration: underline; }

/* ----------------------------------------
 l-form-sec
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-form-sec,
  .l-form-completion {
    margin-bottom: 50px !important; } }

@media screen and (max-width: 768px) {
  .l-form-sec,
  .l-form-completion {
    margin-bottom: 80px !important; } }

/* ----------------------------------------
 l-form-group
---------------------------------------- */
.l-form-group {
  border-top: solid 1px #c4c4c4; }

@media screen and (min-width: 769px) {
  .l-form-description {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 24px; } }

@media screen and (max-width: 768px) {
  .l-form-description {
    margin-bottom: 15px; } }

.l-form-group__dl {
  border-left: solid 1px #c4c4c4;
  border-right: solid 1px #c4c4c4;
  border-bottom: solid 1px #c4c4c4; }
  @media screen and (min-width: 769px) {
    .l-form-group__dl {
      display: table;
      width: 100%; } }
  @media screen and (min-width: 769px) {
    .l-form-group__dl dt,
    .l-form-group__dl dd {
      display: table-cell;
      vertical-align: middle;
      font-size: 16px;
      font-size: 1.6rem; } }
  .l-form-group__dl > dt {
    background-color: #f7f7f7; }
    @media screen and (min-width: 769px) {
      .l-form-group__dl > dt {
        width: 35%;
        text-align: center;
        border-right: solid 1px #c4c4c4;
        padding: 30px 0; } }
    @media screen and (max-width: 768px) {
      .l-form-group__dl > dt {
        padding: 15px; } }
    .l-form-group__dl > dt span {
      display: inline-block;
      vertical-align: middle; }
    .l-form-group__dl > dt .js-lbox-btn {
      text-decoration: underline;
      font-size: 12px;
      font-size: 1.2rem; }
    @media screen and (min-width: 769px) {
      .l-form-group__dl > dt small {
        font-size: 12px;
        font-size: 1.2rem;
        display: block;
        margin-top: 10px;
        text-align: right; } }
    @media screen and (max-width: 768px) {
      .l-form-group__dl > dt small {
        font-size: 11px;
        font-size: 1.1rem;
        margin-left: 10px; } }
  @media screen and (min-width: 769px) {
    .l-form-group__dl > dd {
      width: 65%;
      padding: 20px 30px; } }
  @media screen and (max-width: 768px) {
    .l-form-group__dl > dd {
      padding: 14px 15px 18px; } }

.l-form-v-top > dt,
.l-form-v-top > dd {
  vertical-align: top; }

/* ========== l-form-group__dl-child ========== */
@media screen and (min-width: 769px) {
  .l-form-group__dl-child {
    display: table;
    width: 100%; } }

.l-form-group__dl-child:not(:last-of-type) {
  margin-bottom: 15px; }

.l-form-group__dl-child dt {
  width: 90px;
  line-height: 1.5; }
  @media screen and (min-width: 769px) {
    .l-form-group__dl-child dt {
      text-align: right;
      padding-right: 10px; } }
  @media screen and (max-width: 768px) {
    .l-form-group__dl-child dt {
      line-height: 1;
      margin-bottom: 10px; } }
  .l-form-group__dl-child dt span {
    display: block; }
    @media screen and (min-width: 668px) {
      .l-form-group__dl-child dt span {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media screen and (max-width: 667px) {
      .l-form-group__dl-child dt span {
        margin-top: 6px;
        font-size: 11px;
        font-size: 1.1rem; } }

.l-form-group__dl-child dd small {
  display: block;
  margin-bottom: 5px;
  color: red;
  line-height: 1.75; }
  @media screen and (min-width: 668px) {
    .l-form-group__dl-child dd small {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 667px) {
    .l-form-group__dl-child dd small {
      font-size: 11px;
      font-size: 1.1rem; } }

.l-form-group__dl-child textarea {
  height: 172px; }

.l-form-group__dl-child--member .wpcf7-form-control-wrap {
  display: inline-block;
  margin-right: 8px; }

.l-form-group__dl-child--member input {
  width: 44px;
  padding-right: 7px;
  padding-left: 7px;
  text-align: center; }

/* ===== hissu ===== */
.l-form-hissu,
.l-form-nini {
  border-radius: 5px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  padding: 4px 9px;
  margin-left: 6px; }

.l-form-hissu {
  background-color: #b80000; }

.l-form-nini {
  background-color: #c4c4c4; }

/* ===== 住所 ===== */
.l-form-group__dl--address__01,
.l-form-group__dl--address__02 {
  display: block; }
  .l-form-group__dl--address__01 .wpcf7-form-control-wrap,
  .l-form-group__dl--address__02 .wpcf7-form-control-wrap {
    display: inline; }

.l-form-group__dl--address__01 {
  margin-bottom: 10px; }
  .l-form-group__dl--address__01 input {
    width: 122px;
    margin-left: 10px; }

/* ===== l-form-group__dl--kind__items ===== */
.l-form-group__dl--kind__items:not(:last-of-type) {
  margin-bottom: 10px; }

.l-form-group__dl--kind__items p {
  font-weight: bold;
  margin-bottom: 8px; }
  @media screen and (min-width: 769px) {
    .l-form-group__dl--kind__items p {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .l-form-group__dl--kind__items p {
      font-size: 13px;
      font-size: 1.3rem; } }

.l-form-group__dl--kind__items .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap; }
  .l-form-group__dl--kind__items .wpcf7-checkbox .wpcf7-list-item {
    margin-bottom: 5px !important; }
    @media screen and (min-width: 769px) {
      .l-form-group__dl--kind__items .wpcf7-checkbox .wpcf7-list-item {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      .l-form-group__dl--kind__items .wpcf7-checkbox .wpcf7-list-item {
        margin-right: 17px; } }

.ua-ie .l-form-group__dl--kind__items .wpcf7-checkbox {
  display: block; }

/* ===== small ===== */
.l-form-small {
  display: block;
  margin-top: 5px;
  line-height: 1.83333; }
  @media screen and (min-width: 769px) {
    .l-form-small {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-form-small {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media screen and (max-width: 667px) {
    .l-form-small {
      font-size: 10px;
      font-size: 1.0rem; } }

/* ===== content ===== */
.l-form-group__dl--content textarea {
  height: 253px; }

/* ----------------------------------------
 input
---------------------------------------- */
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  cursor: pointer; }
  input:disabled, button:disabled, textarea:disabled, select:disabled {
    opacity: 0.4; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

input, textarea {
  transition: all 260ms cubic-bezier(0.215, 0.61, 0.355, 1); }

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

select::-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #fff; }

textarea {
  resize: none;
  overflow: auto; }

[type="text"],
[type="email"],
[type="tel"],
[type="number"],
textarea,
select {
  width: 100%;
  background-color: #f7f7f7;
  border: solid 1px #c4c4c4;
  border-radius: 10px; }
  @media screen and (min-width: 769px) {
    [type="text"],
    [type="email"],
    [type="tel"],
    [type="number"],
    textarea,
    select {
      padding: 16px;
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    [type="text"],
    [type="email"],
    [type="tel"],
    [type="number"],
    textarea,
    select {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    [type="text"],
    [type="email"],
    [type="tel"],
    [type="number"],
    textarea,
    select {
      padding: 10px; } }
  @media screen and (max-width: 667px) {
    [type="text"],
    [type="email"],
    [type="tel"],
    [type="number"],
    textarea,
    select {
      font-size: 13px;
      font-size: 1.3rem; } }
  [type="text"]:placeholder-shown,
  [type="email"]:placeholder-shown,
  [type="tel"]:placeholder-shown,
  [type="number"]:placeholder-shown,
  textarea:placeholder-shown,
  select:placeholder-shown {
    color: #e4e4e4; }
  [type="text"]::-webkit-input-placeholder,
  [type="email"]::-webkit-input-placeholder,
  [type="tel"]::-webkit-input-placeholder,
  [type="number"]::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder,
  select::-webkit-input-placeholder {
    color: #e4e4e4; }
  [type="text"]:-moz-placeholder,
  [type="email"]:-moz-placeholder,
  [type="tel"]:-moz-placeholder,
  [type="number"]:-moz-placeholder,
  textarea:-moz-placeholder,
  select:-moz-placeholder {
    opacity: 1;
    color: #e4e4e4; }
  [type="text"]::-moz-placeholder,
  [type="email"]::-moz-placeholder,
  [type="tel"]::-moz-placeholder,
  [type="number"]::-moz-placeholder,
  textarea::-moz-placeholder,
  select::-moz-placeholder {
    opacity: 1;
    color: #e4e4e4; }
  [type="text"]:-ms-input-placeholder,
  [type="email"]:-ms-input-placeholder,
  [type="tel"]:-ms-input-placeholder,
  [type="number"]:-ms-input-placeholder,
  textarea:-ms-input-placeholder,
  select:-ms-input-placeholder {
    color: #e4e4e4; }
  [type="text"]:focus,
  [type="email"]:focus,
  [type="tel"]:focus,
  [type="number"]:focus,
  textarea:focus,
  select:focus {
    border-color: #000000;
    background-color: #fff; }

/* ----------------------------------------
 l-form-select-wrap
---------------------------------------- */
select {
  cursor: pointer;
  line-height: 1; }

.l-form-select-wrap {
  position: relative; }
  .l-form-select-wrap::after {
    content: '';
    display: block;
    width: 12px;
    height: 7px;
    background-image: url("../img/common/select.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%); }

/* ----------------------------------------
 l-form-check-wrap
---------------------------------------- */
.l-form-check-wrap [type="checkbox"] {
  display: none; }
  .l-form-check-wrap [type="checkbox"]:checked + .wpcf7-list-item-label::after {
    opacity: 1; }

.l-form-check-wrap .wpcf7-list-item:not(:last-of-type) {
  margin-bottom: 12px; }

.l-form-check-wrap .wpcf7-list-item-label {
  position: relative; }
  @media screen and (min-width: 769px) {
    .l-form-check-wrap .wpcf7-list-item-label {
      font-size: 16px;
      font-size: 1.6rem;
      padding-left: 30px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-form-check-wrap .wpcf7-list-item-label {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .l-form-check-wrap .wpcf7-list-item-label {
      padding-left: 20px; } }
  @media screen and (max-width: 667px) {
    .l-form-check-wrap .wpcf7-list-item-label {
      font-size: 13px;
      font-size: 1.3rem; } }
  .l-form-check-wrap .wpcf7-list-item-label::before, .l-form-check-wrap .wpcf7-list-item-label::after {
    display: block;
    position: absolute; }
  .l-form-check-wrap .wpcf7-list-item-label::before {
    content: '';
    background-color: #f7f7f7;
    border: solid 1px #c4c4c4;
    border-radius: 5px;
    position: absolute;
    left: 0;
    transition: background 200ms linear; }
    @media screen and (min-width: 769px) {
      .l-form-check-wrap .wpcf7-list-item-label::before {
        width: 20px;
        height: 20px;
        top: -2px; } }
    @media screen and (max-width: 768px) {
      .l-form-check-wrap .wpcf7-list-item-label::before {
        width: 15px;
        height: 15px;
        top: 0; } }
  .l-form-check-wrap .wpcf7-list-item-label::after {
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #000000;
    opacity: 0;
    transition: background 200ms linear; }
    @media screen and (min-width: 769px) {
      .l-form-check-wrap .wpcf7-list-item-label::after {
        font-size: 12px;
        font-size: 1.2rem;
        top: 3px;
        left: 4px; } }
    @media screen and (max-width: 768px) {
      .l-form-check-wrap .wpcf7-list-item-label::after {
        font-size: 10px;
        font-size: 1.0rem;
        top: 3px;
        left: 2px; } }

/* ----------------------------------------
 l-form-submit
---------------------------------------- */
.l-form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1; }
  @media screen and (min-width: 769px) {
    .l-form-submit {
      margin-top: 50px; } }
  @media screen and (max-width: 768px) {
    .l-form-submit {
      margin-top: 30px; } }
  .l-form-submit input {
    display: block;
    width: 100%;
    height: 100%;
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .l-form-submit input {
        font-size: 20px;
        font-size: 2.0rem;
        padding: 20px 0; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .l-form-submit input {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 768px) {
      .l-form-submit input {
        padding: 13px 0; } }
    @media screen and (max-width: 667px) {
      .l-form-submit input {
        font-size: 15px;
        font-size: 1.5rem; } }

[data-state="1"] .l-form-submit__confirmation {
  position: relative;
  max-width: 372px;
  width: 100%;
  margin: 0 auto;
  position: relative; }
  [data-state="1"] .l-form-submit__confirmation::after {
    content: '';
    display: block;
    background-image: url("../img/common/more_icon_bold.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (min-width: 769px) {
      [data-state="1"] .l-form-submit__confirmation::after {
        width: 10px;
        height: 14px;
        right: 20px; } }
    @media screen and (max-width: 768px) {
      [data-state="1"] .l-form-submit__confirmation::after {
        width: 8px;
        height: 11.2px;
        right: 10px; } }
  [data-state="1"] .l-form-submit__confirmation::after {
    content: '';
    display: block; }
  [data-state="1"] .l-form-submit__confirmation input {
    background-color: #000000;
    color: #fff; }

[data-state="1"] .l-form-submit__back,
[data-state="1"] .l-form-submit__submit {
  display: none; }

[data-state="2"] .l-form-submit__confirmation {
  display: none; }

[data-state="2"] .l-form-submit__back {
  max-width: 212px;
  width: 40%;
  margin-right: 10px; }
  [data-state="2"] .l-form-submit__back input {
    border: solid 1px #000000; }

[data-state="2"] .l-form-submit__submit {
  max-width: 372px;
  width: 55%;
  margin-left: 10px;
  position: relative; }
  [data-state="2"] .l-form-submit__submit::after {
    content: '';
    display: block;
    background-image: url("../img/common/more_icon_bold.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (min-width: 769px) {
      [data-state="2"] .l-form-submit__submit::after {
        width: 10px;
        height: 14px;
        right: 20px; } }
    @media screen and (max-width: 768px) {
      [data-state="2"] .l-form-submit__submit::after {
        width: 8px;
        height: 11.2px;
        right: 10px; } }
  [data-state="2"] .l-form-submit__submit input {
    background-color: #000000;
    border: solid 1px #000000;
    color: #fff; }

/* ----------------------------------------
 確認
---------------------------------------- */
[data-state="2"] [type="text"],
[data-state="2"] [type="email"],
[data-state="2"] [type="tel"],
[data-state="2"] [type="number"],
[data-state="2"] textarea,
[data-state="2"] select {
  background-color: #fff;
  border-color: #fff;
  pointer-events: none;
  cursor: default;
  opacity: 1; }
  [data-state="2"] [type="text"]:placeholder-shown,
  [data-state="2"] [type="email"]:placeholder-shown,
  [data-state="2"] [type="tel"]:placeholder-shown,
  [data-state="2"] [type="number"]:placeholder-shown,
  [data-state="2"] textarea:placeholder-shown,
  [data-state="2"] select:placeholder-shown {
    color: #fff !important; }
  [data-state="2"] [type="text"]::-webkit-input-placeholder,
  [data-state="2"] [type="email"]::-webkit-input-placeholder,
  [data-state="2"] [type="tel"]::-webkit-input-placeholder,
  [data-state="2"] [type="number"]::-webkit-input-placeholder,
  [data-state="2"] textarea::-webkit-input-placeholder,
  [data-state="2"] select::-webkit-input-placeholder {
    color: #fff !important; }
  [data-state="2"] [type="text"]:-moz-placeholder,
  [data-state="2"] [type="email"]:-moz-placeholder,
  [data-state="2"] [type="tel"]:-moz-placeholder,
  [data-state="2"] [type="number"]:-moz-placeholder,
  [data-state="2"] textarea:-moz-placeholder,
  [data-state="2"] select:-moz-placeholder {
    opacity: 1;
    color: #fff !important; }
  [data-state="2"] [type="text"]::-moz-placeholder,
  [data-state="2"] [type="email"]::-moz-placeholder,
  [data-state="2"] [type="tel"]::-moz-placeholder,
  [data-state="2"] [type="number"]::-moz-placeholder,
  [data-state="2"] textarea::-moz-placeholder,
  [data-state="2"] select::-moz-placeholder {
    opacity: 1;
    color: #fff !important; }
  [data-state="2"] [type="text"]:-ms-input-placeholder,
  [data-state="2"] [type="email"]:-ms-input-placeholder,
  [data-state="2"] [type="tel"]:-ms-input-placeholder,
  [data-state="2"] [type="number"]:-ms-input-placeholder,
  [data-state="2"] textarea:-ms-input-placeholder,
  [data-state="2"] select:-ms-input-placeholder {
    color: #fff !important; }

[data-state="2"] .l-form-check-wrap::after {
  display: none; }

[data-state="2"] .l-form-check-wrap .wpcf7-list-item-label {
  padding: 0; }
  [data-state="2"] .l-form-check-wrap .wpcf7-list-item-label::before, [data-state="2"] .l-form-check-wrap .wpcf7-list-item-label::after {
    display: none; }

/* ----------------------------------------
 l-form-completion
---------------------------------------- */
.l-form-completion__hero {
  background-color: #f7f7f7;
  text-align: center; }
  @media screen and (min-width: 668px) {
    .l-form-completion__hero {
      padding: 35px 10px 25px;
      margin-bottom: 42px; } }
  @media screen and (max-width: 667px) {
    .l-form-completion__hero {
      padding: 25px 5% 20px;
      margin-bottom: 25px; } }
  .l-form-completion__hero h1 {
    font-weight: 500;
    letter-spacing: .1em;
    margin-bottom: 1em; }
    @media screen and (min-width: 668px) {
      .l-form-completion__hero h1 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 667px) {
      .l-form-completion__hero h1 {
        font-size: 15px;
        font-size: 1.5rem; } }
  .l-form-completion__hero p {
    line-height: 1; }
  .l-form-completion__hero small {
    display: block;
    line-height: 1.66667; }
    @media screen and (min-width: 668px) {
      .l-form-completion__hero small {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media screen and (max-width: 667px) {
      .l-form-completion__hero small {
        font-size: 11px;
        font-size: 1.1rem; } }
    @media screen and (max-width: 320px) {
      .l-form-completion__hero small {
        font-size: 10px;
        font-size: 1.0rem; } }

.l-form-completion__p {
  line-height: 1.78571; }
  @media screen and (min-width: 769px) {
    .l-form-completion__p {
      margin-bottom: 75px; } }
  @media screen and (max-width: 768px) {
    .l-form-completion__p {
      margin-bottom: 35px; } }

.l-form-completion__btn {
  max-width: 212px;
  width: 100%;
  margin: 0 auto;
  line-height: 1; }
  .l-form-completion__btn a {
    display: block;
    width: 100%;
    height: 100%;
    border: solid 1px #000000;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .l-form-completion__btn a {
        font-size: 16px;
        font-size: 1.6rem;
        padding: 26px 0; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .l-form-completion__btn a {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 20px 0; } }
    @media screen and (max-width: 667px) {
      .l-form-completion__btn a {
        font-size: 13px;
        font-size: 1.3rem;
        padding: 15px 0; } }
    .l-form-completion__btn a.is-hover:hover {
      background-color: #000000;
      color: #fff; }

/* ----------------------------------------
 l-header__inr
---------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .l-header {
      min-width: 1024px; } }

.l-header__inr {
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 769px) {
    .l-header__inr {
      align-items: flex-end;
      padding: 30px 25px 30px 25px; } }
  @media screen and (min-width: 1280px) {
    .l-header__inr {
      padding: 30px 0 30px 25px; } }
  @media screen and (max-width: 768px) {
    .l-header__inr {
      align-items: center;
      padding: 24px 5%; } }

/* ========== l-header__logo ========== */
@media screen and (min-width: 668px) {
  .l-header__logo {
    width: 187px;
    height: 38.25px; } }

@media screen and (min-width: 1280px) {
  .l-header__logo {
    width: 220px;
    height: 45px; } }

@media screen and (max-width: 768px) {
  .l-header__logo {
    position: relative;
    z-index: 1002; } }

@media screen and (max-width: 667px) {
  .l-header__logo {
    width: 154px;
    height: 31.5px; } }

.l-header__logo a {
  display: block;
  width: 100%;
  height: 100%; }
  .l-header__logo a.js-now-page {
    opacity: 1; }

/* ----------------------------------------
 l-nav
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-nav {
    display: flex;
    align-items: center; } }

@media screen and (min-width: 1280px) {
  .l-nav {
    padding-right: 30px; } }

@media screen and (max-width: 768px) {
  .l-nav {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1000;
    background-color: #fff;
    background-color: white;
    padding: 110px 10% 80px;
    overflow: auto;
    transform: translate3d(0, 20px, 0);
    opacity: 0;
    visibility: hidden;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
    pointer-events: none; }
    .l-nav::-webkit-scrollbar {
      width: 10px; }
    .l-nav::-webkit-scrollbar-track {
      background: #fff;
      border-left: solid 1px #000000; }
    .l-nav::-webkit-scrollbar-thumb {
      background: #000000;
      box-shadow: inset 0 0 0 2px #fff; }
    .l-nav.is-nav-open {
      transform: translate3d(0, 0, 0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto; } }

@media screen and (min-width: 1280px) {
  [data-pjax_page="is-page-top"] .l-nav {
    padding-right: 5px; } }

.l-nav__list {
  position: relative; }
  @media screen and (min-width: 769px) {
    .l-nav__list {
      display: flex;
      padding: 0 15px 0 85px; } }

@media screen and (max-width: 768px) {
  .l-nav__items {
    margin-bottom: 30px; } }

.l-nav__items__inr {
  position: relative;
  display: block;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em; }
  @media screen and (min-width: 769px) {
    .l-nav__items__inr {
      font-size: 18px;
      font-size: 1.8rem;
      padding: 10px 14px; } }
  @media screen and (max-width: 768px) {
    .l-nav__items__inr {
      font-size: 24px;
      font-size: 2.4rem; } }
  .l-nav__items__inr.is-hover:hover {
    opacity: 1; }
    .l-nav__items__inr.is-hover:hover::before {
      opacity: 1; }
  .l-nav__items__inr::before {
    content: '';
    display: block;
    width: 100%;
    height: 23px;
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(-45deg, #fff, #fff 5px, #f7f7f7 0, #f7f7f7 12px);
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0; }

/* ========== l-nav__child ========== */
.l-nav__child-btn {
  display: flex;
  align-items: center;
  pointer-events: all !important; }
  @media screen and (max-width: 768px) {
    .l-nav__child-btn {
      margin-bottom: 10px; } }
  .l-nav__child-btn.is-active::before {
    opacity: 1; }
  .l-nav__child-btn::after {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    margin-left: 3px;
    margin-bottom: -3px;
    border-top: solid 1px #000000;
    border-right: solid 1px #000000;
    transform: rotate(135deg); }
  .l-nav__child-btn.js-now-page {
    pointer-events: all !important; }

.l-nav__child {
  border-top: solid 1px #f7f7f7;
  border-bottom: solid 1px #f7f7f7; }
  @media screen and (min-width: 769px) {
    .l-nav__child {
      position: absolute;
      left: 0;
      top: 100%;
      z-index: 1;
      width: 100%;
      background-color: #fff;
      padding: 30px 71px 25px 85px;
      transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: translateY(10px);
      opacity: 0;
      visibility: hidden; }
      .l-nav__child.is-active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible; } }
  @media screen and (max-width: 768px) {
    .l-nav__child {
      padding: 20px 10px; } }

@media screen and (min-width: 769px) {
  .l-nav__child__items {
    display: flex; } }

@media screen and (min-width: 769px) {
  .l-nav__child__items:not(:last-of-type) {
    margin-bottom: 18px; } }

@media screen and (max-width: 768px) {
  .l-nav__child__items:not(:last-of-type) {
    margin-bottom: 15px; } }

@media screen and (min-width: 769px) {
  .l-nav__child__items span,
  .l-nav__child__items a {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 768px) {
  .l-nav__child__items span,
  .l-nav__child__items a {
    font-size: 13px;
    font-size: 1.3rem; } }

.l-nav__child__items span {
  display: block; }
  @media screen and (min-width: 769px) {
    .l-nav__child__items span {
      margin-right: 40px; } }
  @media screen and (max-width: 768px) {
    .l-nav__child__items span {
      margin-bottom: 1em; } }

.l-nav__child__items ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (min-width: 769px) {
    .l-nav__child__items ul {
      flex: 1; } }
  @media screen and (max-width: 768px) {
    .l-nav__child__items ul {
      padding-left: 20px; } }

@media screen and (min-width: 769px) {
  .l-nav__child__items li {
    width: 48%;
    margin-bottom: 15px;
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 768px) {
  .l-nav__child__items li {
    width: 100%;
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 15px; } }

.l-nav__child__items a.is-hover:hover {
  text-decoration: underline; }

.l-nav__child__items a::before {
  content: '';
  width: 4px;
  height: 1px;
  background-color: #000000;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px; }

/* ========== l-nav__sns-list ========== */
@media screen and (min-width: 769px) {
  .l-nav__sns-list {
    width: auto;
    display: flex;
    align-items: center;
    transition: opacity 300ms linear, width 300ms linear; } }

@media screen and (max-width: 768px) {
  .l-nav__sns-list {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap; }
    .l-nav__sns-list li {
      margin-bottom: 10px; }
    .l-nav__sns-list a {
      font-family: 'Oswald', sans-serif;
      letter-spacing: .03em;
      font-size: 14px;
      font-size: 1.4rem;
      text-decoration: underline;
      color: #4d4d4d; } }

.l-nav__sns-list li:not(:last-of-type) {
  margin-right: 10px; }

@media screen and (min-width: 1280px) {
  [data-pjax_page="is-page-top"] .l-nav__sns-list {
    opacity: 0;
    width: 0; } }

/* ----------------------------------------
 l-nav
---------------------------------------- */
.l-ham-btn {
  position: relative;
  z-index: 1001;
  width: 40px;
  height: 15px; }
  @media screen and (min-width: 769px) {
    .l-ham-btn {
      display: none; } }
  @media screen and (max-width: 768px) {
    .l-ham-btn {
      display: block; } }
  .l-ham-btn a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.2em; }
  .l-ham-btn div {
    position: relative;
    width: 100%;
    height: 100%; }
  .l-ham-btn span {
    display: block;
    width: 33px;
    height: 2px;
    background-color: #000000;
    position: absolute;
    left: 47%;
    transform: translate3d(-50%, 0, 0) rotate(0deg);
    transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .l-ham-btn span:nth-of-type(1) {
      top: 0%; }
    .l-ham-btn span:nth-of-type(2) {
      top: 50%; }
    .l-ham-btn span:nth-of-type(3) {
      top: 100%; }
  .l-ham-btn.is-ham-btn-open span:nth-of-type(1) {
    top: 50%;
    transform: translate3d(-50%, 0, 0) rotate(45deg); }
  .l-ham-btn.is-ham-btn-open span:nth-of-type(3) {
    top: 50%;
    transform: translate3d(-50%, 0, 0) rotate(-45deg); }
  .l-ham-btn.is-ham-btn-open span:nth-of-type(2) {
    opacity: 0; }

/* ----------------------------------------
 ipad
---------------------------------------- */
@media screen and (min-width: 769px) {
  .ua-tablet .l-header__inr {
    padding: 30px 25px 30px 25px; }
  .ua-tablet .l-nav__list {
    display: block;
    padding: 0; }
  .ua-tablet .l-nav {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1000;
    background-color: #fff;
    background-color: white;
    padding: 110px 10% 80px;
    overflow: auto;
    transform: translate3d(0, 20px, 0);
    opacity: 0;
    visibility: hidden;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
    pointer-events: none; }
    .ua-tablet .l-nav.is-nav-open {
      transform: translate3d(0, 0, 0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto; }
  .ua-tablet .l-nav__items {
    margin-bottom: 40px; }
  .ua-tablet .l-nav__items__inr {
    padding: 0;
    font-size: 26px;
    font-size: 2.6rem; }
  .ua-tablet .l-nav__child-btn {
    margin-bottom: 18px; }
  .ua-tablet .l-nav__child {
    display: block;
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    padding: 20px 10px; }
  .ua-tablet .l-nav__child__items {
    max-width: 560px;
    width: 100%; }
  .ua-tablet .l-ham-btn {
    display: block; } }

/* ----------------------------------------
 l-inr
---------------------------------------- */
.l-inr-ss,
.l-inr-s,
.l-inr-m,
.l-inr-l,
.l-inr-xl,
.l-inr-fhd {
  width: 90%;
  margin: 0 auto; }

.l-inr-ss {
  max-width: 650px; }

.l-inr-s {
  max-width: 800px; }

.l-inr-m {
  max-width: 1000px; }

.l-inr-l {
  max-width: 1180px; }

.l-inr-xl {
  max-width: 1280px; }

.l-inr-fhd {
  max-width: 1920px; }

.l-small-layout {
  margin-bottom: 60px; }

/* ----------------------------------------
 l-page-ttl
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-page-ttl {
    padding-top: 145px;
    height: 100vh;
    min-height: 500px; } }

@media screen and (max-width: 768px) {
  .l-page-ttl {
    position: relative;
    margin-top: 100px; } }

@media screen and (max-width: 768px) {
  .l-page-ttl::after {
    content: '';
    display: block;
    padding-top: 52%; } }

.l-page-ttl__inr {
  height: 100%;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .l-page-ttl__inr {
      position: relative; } }
  @media screen and (max-width: 768px) {
    .l-page-ttl__inr {
      position: absolute;
      top: 0;
      left: 0; } }

.l-page-ttl__h {
  line-height: 1;
  position: absolute;
  top: 21.13821%;
  z-index: 2; }
  @media screen and (min-width: 769px) {
    .l-page-ttl__h {
      left: 55%; } }
  @media screen and (min-width: 1280px) {
    .l-page-ttl__h {
      left: 60.9375%; } }
  @media screen and (max-width: 768px) {
    .l-page-ttl__h {
      right: 7.5%; } }
  .l-page-ttl__h span {
    display: block; }

.l-page-ttl__h__en {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  font-weight: 300;
  letter-spacing: .1em; }
  @media screen and (min-width: 769px) {
    .l-page-ttl__h__en {
      font-size: 72px;
      font-size: 7.2rem;
      margin-bottom: 20px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-page-ttl__h__en {
      font-size: 50px;
      font-size: 5.0rem;
      margin-bottom: 15px; } }
  @media screen and (max-width: 667px) {
    .l-page-ttl__h__en {
      font-size: 30px;
      font-size: 3.0rem;
      font-size: calc( 1.0rem + 6vw);
      margin-bottom: 10px; } }

@media screen and (max-width: 667px) {
  .l-page-ttl__h__jp {
    font-size: 12px;
    font-size: 1.2rem; } }

.l-page-ttl__figure {
  position: relative;
  width: 69.0625%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .l-page-ttl__figure::after {
    content: '';
    display: block;
    width: 12px;
    height: 100%;
    background-image: repeating-linear-gradient(45deg, #fff, #fff 17px, #f7f7f7 0, #f7f7f7 34px);
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(100%);
    z-index: 0; }

/* ----------------------------------------
 l-page-ttl-quick
---------------------------------------- */
@media screen and (min-width: 769px) {
  .l-page-ttl-quick {
    padding: 143px 0 80px; } }

@media screen and (max-width: 768px) {
  .l-page-ttl-quick {
    padding: 140px 0 70px; } }

.l-page-ttl-quick span {
  display: block; }

@media screen and (max-width: 768px) {
  .l-page-ttl-quick--small {
    padding-bottom: 40px; } }

.l-page-ttl-quick__en {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .1em; }
  @media screen and (min-width: 769px) {
    .l-page-ttl-quick__en {
      font-size: 84px;
      font-size: 8.4rem;
      margin-bottom: 20px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-page-ttl-quick__en {
      font-size: 70px;
      font-size: 7.0rem;
      margin-bottom: 15px; } }
  @media screen and (max-width: 667px) {
    .l-page-ttl-quick__en {
      font-size: 30px;
      font-size: 3.0rem;
      font-size: calc( 1.0rem + 9vw);
      margin-bottom: 15px; } }

@media screen and (min-width: 668px) {
  .l-page-ttl-quick__jp {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .l-page-ttl-quick__jp {
    font-size: 13px;
    font-size: 1.3rem; } }

@media screen and (max-width: 667px) {
  .l-page-ttl-quick__jp {
    font-size: 12px;
    font-size: 1.2rem; } }

/* ----------------------------------------
 l-page-intro
---------------------------------------- */
.l-page-intro {
  max-width: 585px;
  width: 100%;
  margin: 0 auto; }

.l-page-intro__copy {
  line-height: 1.75;
  font-weight: 400;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.1em; }
  @media screen and (min-width: 769px) {
    .l-page-intro__copy {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-page-intro__copy {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 667px) {
    .l-page-intro__copy {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 320px) {
    .l-page-intro__copy {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .l-page-intro__copy {
      margin-bottom: 60px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .l-page-intro__copy {
      margin-bottom: 50px; } }
  @media screen and (max-width: 667px) {
    .l-page-intro__copy {
      margin-bottom: 20px; } }

.l-page-intro__p {
  text-align: justify; }

/* -----------------------------------------
 l-loading
----------------------------------------- */
#l-loading {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 99999;
  transition: all 900ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }

/* ========== setting ========== */
.l-loading__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 1000ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0.1; }

/* ========== is-load ========== */
.is-load .l-loading__content {
  opacity: 1; }

/* ========== is-loaded ========== */
.is-loaded #l-loading {
  opacity: 0;
  visibility: hidden;
  pointer-events: none; }

/* ----------------------------------------
 l-main
---------------------------------------- */
/* -----------------------------------------
 l-wrapper
----------------------------------------- */
#l-wrapper {
  position: relative; }
  @media screen and (min-width: 769px) {
    #l-wrapper {
      min-width: 1024px; } }

/* ===== 使用する場合のみコメントアウトを外す ===== */
/* ----------------------------------------
 margin
---------------------------------------- */
.u-m-10 {
  margin: 10px; }

.u-mt-10 {
  margin-top: 10px; }

.u-mr-10 {
  margin-right: 10px; }

.u-mb-10 {
  margin-bottom: 10px; }

.u-ml-10 {
  margin-left: 10px; }

/* ---------------------------------------
 display
--------------------------------------- */
.u-ib {
  display: inline-block; }

.u-i {
  display: inline; }

.u-b {
  display: block; }

.u-n {
  display: none; }

.u-f {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }

.u-g {
  display: -ms-grid;
  display: grid; }

@media screen and (min-width: 769px) {
  .u-b-mqUp-md {
    display: block; }
  .u-n-mqUp-md {
    display: none; } }

@media screen and (min-width: 415px) {
  .u-b-mqUp-xs {
    display: block; }
  .u-n-mqUp-xs {
    display: none; } }

@media screen and (min-width: 668px) {
  .u-b-mqUp-sm {
    display: block; }
  .u-n-mqUp-sm {
    display: none; } }

@media screen and (min-width: 1280px) {
  .u-b-mqUp-xl {
    display: block; }
  .u-n-mqUp-xl {
    display: none; } }

@media screen and (max-width: 768px) {
  .u-b-mqDown-md {
    display: block; }
  .u-n-mqDown-md {
    display: none; } }

@media screen and (max-width: 667px) {
  .u-b-mqDown-sm {
    display: block; }
  .u-n-mqDown-sm {
    display: none; } }

@media screen and (min-width: 415px) {
  .u-br-414 {
    display: none; } }

@media screen and (max-width: 414px) {
  .u-br-none-414 {
    display: none; } }

/* layout */
.u-textIndent {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  text-align: left; }

.u-clearfix::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  line-height: 0;
  visibility: hidden; }

.u-boxSizing {
  box-sizing: border-box; }

/* ---------------------------------------
 text
--------------------------------------- */
.u-t-indent {
  text-indent: 1em; }

.u-t-kome {
  padding-left: 1em;
  text-indent: -1em; }

.u-t-lineheight {
  line-height: 1; }

.u-t-nowrap {
  white-space: nowrap; }

.u-t-underline {
  text-decoration: underline !important; }

.u-t-underline-none {
  text-decoration: none !important; }

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

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

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

.u-t-justify {
  text-align: justify; }

.u-font-normal {
  font-weight: normal; }

.u-font-bold {
  font-weight: bold; }

.u-font-lighter {
  font-weight: lighter; }

.u-font-bolder {
  font-weight: bolder; }

.u-font-100 {
  font-weight: 100; }

.u-font-200 {
  font-weight: 200; }

.u-font-300 {
  font-weight: 300; }

.u-font-400 {
  font-weight: 400; }

.u-font-500 {
  font-weight: 500; }

.u-font-600 {
  font-weight: 600; }

.u-font-700 {
  font-weight: 700; }

.u-font-800 {
  font-weight: 800; }

.u-font-900 {
  font-weight: 900; }

.u-font-1000 {
  font-weight: 1000; }

/* ---------------------------------------
 font-color
--------------------------------------- */
/* ---------------------------------------
 fontsize
--------------------------------------- */
/* ---------------------------------------
 background-color
--------------------------------------- */
/* ---------------------------------------
 border-raious
--------------------------------------- */
/* ---------------------------------------
 event
--------------------------------------- */
.u-pointerevent-none {
  pointer-events: none; }

/* ---------------------------------------
 object_fit
--------------------------------------- */
.u-objectfit {
  position: relative; }
  .u-objectfit img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;" !important;
    position: absolute;
    top: 0;
    left: 0; }

/* ----------------------------------------
 path
---------------------------------------- */
.c-path-01 {
  fill: #000000; }

.c-path-02 {
  fill: #fff; }

.c-path-03 {
  fill: #000000; }

.c-path-04 {
  fill: #040000; }

/* ----------------------------------------
 font
---------------------------------------- */
.c-font-din {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em; }

/* ----------------------------------------
 color
---------------------------------------- */
.c-font-green {
  color: #81a0a0; }

.c-font-orange {
  color: #e9a581; }

.c-font-pink {
  color: #c37272; }

/* ----------------------------------------
 background
---------------------------------------- */
.c-bg-green {
  background-color: #81a0a0; }

.c-bg-orange {
  background-color: #e9a581; }

/* ----------------------------------------
 icon
---------------------------------------- */
.c-icon-sns {
  width: 22px;
  height: 22px;
  margin: 11px 0; }
  .c-icon-sns a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    color: #fff;
    position: relative;
    z-index: 2;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
  .c-icon-sns span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    text-align: left; }

.c-icon-instagram a {
  background-image: url("../img/common/icon_insta.svg"); }

.c-icon-facebook a {
  background-image: url("../img/common/icon_fb.svg"); }

.c-icon-line a {
  background-image: url("../img/common/icon_line.svg"); }

/* ----------------------------------------
 c-list-nav
---------------------------------------- */
.c-list-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap; }
  .c-list-nav li {
    margin: 15px 0 0; }
    .c-list-nav li:not(:last-of-type) {
      border-right: solid 1px #000000; }
  .c-list-nav a {
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .c-list-nav a {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .c-list-nav a {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .c-list-nav a {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .c-list-nav a {
        padding: 0 30px; } }
    @media screen and (max-width: 667px) {
      .c-list-nav a {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 0 14px; } }
    @media screen and (max-width: 320px) {
      .c-list-nav a {
        font-size: 13px;
        font-size: 1.3rem;
        padding: 0 10px; } }
    .c-list-nav a span {
      background: linear-gradient(transparent 70%, #f7f7f7 30%);
      transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1); }

/* ----------------------------------------
 c-part-oblique
---------------------------------------- */
.c-part-oblique {
  position: relative; }
  .c-part-oblique::after {
    content: '';
    display: block;
    width: 131px;
    height: 131px;
    background-image: repeating-linear-gradient(45deg, #fff, #fff 11px, #f7f7f7 0, #f7f7f7 20px);
    position: absolute;
    z-index: -1; }

.c-part-oblique--right-top::after {
  top: -10px;
  right: -10px; }

.c-part-oblique--left-bottom::after {
  left: -10px;
  bottom: -10px; }

/* ----------------------------------------
 c-sample-items
---------------------------------------- */
.c-sample-items {
  max-width: 500px;
  width: 90%;
  margin: 0 auto;
  background-color: #fff;
  padding: 75px 36px; }
  .c-sample-items .p-print-samle__list li {
    width: 48%; }
    .c-sample-items .p-print-samle__list li:not(:nth-of-type(4n)) {
      margin-right: 0; }
    .c-sample-items .p-print-samle__list li:not(:nth-of-type(2n)) {
      margin-right: 4%; }
  @media screen and (min-width: 769px) {
    .c-sample-items p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      margin-bottom: 21px; } }
  @media screen and (max-width: 768px) {
    .c-sample-items p {
      font-size: 12px;
      font-size: 1.2rem;
      margin-bottom: 16px; } }
  .c-sample-items .p-order-flow__delivery-list {
    background-color: #f7f7f7; }
    .c-sample-items .p-order-flow__delivery-list li {
      margin-bottom: 10px; }
      .c-sample-items .p-order-flow__delivery-list li span {
        font-size: 12px;
        font-size: 1.2rem; }

.c-sample-items__h {
  font-weight: bold; }
  @media screen and (min-width: 668px) {
    .c-sample-items__h {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .c-sample-items__h {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .c-sample-items__h {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .c-sample-items__h {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .c-sample-items__h {
      margin-bottom: 20px; } }

/* ----------------------------------------
 c-contact-btn
---------------------------------------- */
.c-contact-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #000000;
  color: #fff;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    .c-contact-btn a {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .c-contact-btn a {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 667px) {
    .c-contact-btn a {
      font-size: 14px;
      font-size: 1.4rem; } }
  .c-contact-btn a::after {
    content: '';
    display: block;
    background-image: url("../img/common/more_icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
    @media screen and (min-width: 769px) {
      .c-contact-btn a::after {
        width: 9px;
        height: 13px;
        margin-left: 40px; } }
    @media screen and (max-width: 768px) {
      .c-contact-btn a::after {
        width: 6.3px;
        height: 9.1px;
        margin-left: 20px; } }

/* -----------------------------------------
 js-body-fixed
----------------------------------------- */
.js-body-fixed {
  position: fixed !important;
  overflow: hidden !important; }

/* -----------------------------------------
 pjax
----------------------------------------- */
.is-no-cursor,
.is-no-cursor *,
.is-no-cursor *::before,
.is-no-cursor *::after {
  cursor: none !important; }

.is-pjax-out .pjax-container:not(:nth-of-type(1)) {
  height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }

.is-pjax-out .pjax-animation {
  opacity: 0; }

.pjax-animation {
  opacity: 1;
  transition: opacity 550ms cubic-bezier(0.39, 0.575, 0.565, 1); }

/* ===== js-now-page ===== */
.js-now-page {
  opacity: 0.6;
  cursor: default; }

/* ===== js-pjax-loader ===== */
#js-pjax-loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  margin-left: -22px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 100ms linear; }
  #js-pjax-loader::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    border-radius: 50%;
    border-top: solid 1px #c4c4c4;
    border-right: solid 1px #c4c4c4; }
  #js-pjax-loader.is-active {
    opacity: 1; }
    #js-pjax-loader.is-active::before {
      -webkit-animation: 900ms loader linear infinite;
              animation: 900ms loader linear infinite; }

@-webkit-keyframes loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* -----------------------------------------
 load in photo txt
----------------------------------------- */
.js-load-photo {
  transition: 1300ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-property: opacity , -webkit-filter;
  transition-property: filter , opacity;
  transition-property: filter , opacity , -webkit-filter;
  -webkit-filter: brightness(130%) grayscale(30%);
          filter: brightness(130%) grayscale(30%);
  -webkit-will-change: transform;
  -moz-will-change: transform;
  -ms-will-change: transform;
  -o-will-change: transform;
  will-change: transform;
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.js-load-txt {
  opacity: 0;
  -webkit-filter: blur(20px);
          filter: blur(20px);
  transition: 1500ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-property: opacity,transform,-webkit-filter;
  transition-property: opacity,transform,filter;
  transition-property: opacity,transform,filter,-webkit-filter;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-will-change: transform;
  -moz-will-change: transform;
  -ms-will-change: transform;
  -o-will-change: transform;
  will-change: transform; }
  .js-load-txt.js-timing {
    transition-delay: 1150ms; }

/* === animation === */
.is-loaded .js-load-photo,
.is-pjax-in .js-load-photo {
  -webkit-filter: brightness(100%) grayscale(0);
          filter: brightness(100%) grayscale(0);
  opacity: 1; }

.is-loaded .js-load-txt,
.is-pjax-in .js-load-txt {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0); }

.no-filter .js-load-photo {
  -webkit-filter: none;
          filter: none; }

/* -----------------------------------------
 js js-block
----------------------------------------- */
/* =============== js-effects-txt =============== */
.js-effects-txt {
  opacity: 0;
  -webkit-filter: blur(20px);
          filter: blur(20px);
  transition: 1500ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-property: opacity,transform,-webkit-filter;
  transition-property: opacity,transform,filter;
  transition-property: opacity,transform,filter,-webkit-filter;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-will-change: transform;
  -moz-will-change: transform;
  -ms-will-change: transform;
  -o-will-change: transform;
  will-change: transform; }

.is-js-on.js-effects-txt,
.is-js-on .js-effects-txt {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0); }

/* =============== js-effects-filter =============== */
.js-effects-filter {
  opacity: 0;
  transition: opacity 860ms cubic-bezier(0.47, 0, 0.745, 0.715);
  transform: translate3d(0, 0, 0); }

.is-js-on.js-effects-filter,
.is-js-on .js-effects-filter {
  opacity: 1; }

/* =============== js-fadeIn =============== */
.js-fadeIn {
  opacity: 0;
  transition: opacity 2000ms cubic-bezier(0.39, 0.575, 0.565, 1); }

.is-js-on.js-fadeIn,
.is-js-on .js-fadeIn {
  opacity: 1; }

/* =============== timing =============== */
.js-timing-1 {
  transition-delay: 200ms !important; }

.js-timing-2 {
  transition-delay: 300ms !important; }

.js-timing-3 {
  transition-delay: 400ms !important; }

.js-timing-4 {
  transition-delay: 500ms !important; }

.js-timing-5 {
  transition-delay: 600ms !important; }

.js-timing-6 {
  transition-delay: 700ms !important; }

.js-timing-7 {
  transition-delay: 800ms !important; }

.js-timing-8 {
  transition-delay: 900ms !important; }

/* -----------------------------------------
 js js-filter-slider
----------------------------------------- */
.js-filter-slider {
  position: relative; }

/* ========== js-filter-slider__content ========== */
.js-filter-slider__content {
  position: relative; }
  .js-filter-slider__content li {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1150ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: translate3d(0, 0, 0); }
    .js-filter-slider__content li img {
      display: block;
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain;
      font-family: "object-fit: contain;" !important;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-filter: brightness(120%) grayscale(80%);
              filter: brightness(120%) grayscale(80%);
      transition: -webkit-filter 800ms 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: filter 800ms 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: filter 800ms 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-filter 800ms 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .js-filter-slider__content li.js-filter-slider-active {
      opacity: 1; }
      .js-filter-slider__content li.js-filter-slider-active img {
        -webkit-filter: brightness(100%) grayscale(0%);
                filter: brightness(100%) grayscale(0%); }

.ua-safari .js-filter-slider__content li img {
  transition: all 900ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }

/* ========== js-filter-slider__nav ========== */
.js-filter-slider__nav {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2; }
  .js-filter-slider__nav div {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  .js-filter-slider__nav a {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative; }
    @media screen and (min-width: 668px) {
      .js-filter-slider__nav a {
        width: 130px;
        padding: 100px 20px; } }
    @media screen and (max-width: 667px) {
      .js-filter-slider__nav a {
        width: 85px;
        padding: 30px 10px; } }
  @media screen and (min-width: 668px) {
    .js-filter-slider__nav .js-filter-slider__nav--left {
      left: -14px; } }
  @media screen and (max-width: 667px) {
    .js-filter-slider__nav .js-filter-slider__nav--left {
      left: 0; } }
  @media screen and (min-width: 668px) {
    .js-filter-slider__nav .js-filter-slider__nav--right {
      right: -14px; } }
  @media screen and (max-width: 667px) {
    .js-filter-slider__nav .js-filter-slider__nav--right {
      right: 0; } }

/* -----------------------------------------
 js-cursor-dot
----------------------------------------- */
#js-cursor-dot {
  width: 10px;
  height: 10px;
  margin-top: -5px;
  margin-left: -5px;
  background-color: #f7f7f7;
  border-radius: 50%;
  mix-blend-mode: screen;
  transition: 750ms cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: width,height,margin,background-color,opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-will-change: transform;
  -moz-will-change: transform;
  -ms-will-change: transform;
  -o-will-change: transform;
  will-change: transform; }

#js-cursor.is-active #js-cursor-dot {
  width: 120px;
  height: 120px;
  margin-top: -60px;
  margin-left: -60px;
  background-color: rgba(247, 247, 247, 0.205); }

body:not(.ua-pc) #js-cursor-dot {
  display: none; }

.is-pjax-out #js-cursor {
  opacity: 0; }

/* -----------------------------------------
 js-popup
----------------------------------------- */
#js-popup,
#js-popup-bg {
  opacity: 0;
  visibility: hidden;
  transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
  pointer-events: none; }
  #js-popup.is-open,
  #js-popup-bg.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: all; }

#js-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  z-index: 3001;
  background-color: #fff; }
  @media screen and (min-width: 769px) {
    #js-popup {
      width: 75%; } }

#js-popup-bg {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 3000; }

/* -----------------------------------------
 js-lbox
----------------------------------------- */
.js-lbox-content {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 3001;
  transform: translate3d(-50%, 0, 0);
  transition: 1000ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-property: opacity,visibility,-webkit-filter;
  transition-property: opacity,filter,visibility;
  transition-property: opacity,filter,visibility,-webkit-filter; }
  .js-lbox-content:not(.is-open) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: fixed; }

/* ========== js-lbox-close ========== */
.js-lbox-close {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 3002;
  width: 22px;
  height: 22px; }
  .js-lbox-close a {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("../img/common/close.svg"); }

/* ========== js-lbox-bg ========== */
#js-lbox-bg {
  opacity: 0;
  visibility: hidden;
  transition: 1000ms cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-property: opacity,visibility,-webkit-filter;
  transition-property: opacity,filter,visibility;
  transition-property: opacity,filter,visibility,-webkit-filter;
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 3000; }
  #js-lbox-bg.is-open {
    opacity: 1;
    visibility: visible; }

.grecaptcha-badge {
  opacity: 0;
  visibility: hidden; }

/* -----------------------------------------
 contactform7
----------------------------------------- */
body span.wpcf7-not-valid-tip {
  line-height: 1.7em;
  margin-top: .5em;
  font-size: 13px;
  font-size: 1.3rem; }

body div.wpcf7-mail-sent-ok,
body div.wpcf7-validation-errors {
  border: none !important;
  padding: 0;
  line-height: 1.7em;
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center; }

body div.wpcf7-response-output {
  color: red; }

body span.wpcf7-list-item {
  display: block !important;
  margin-left: 0 !important; }
  body span.wpcf7-list-item label {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    cursor: pointer; }
  body span.wpcf7-list-item.u-n {
    display: none !important; }

body .ajax-loader {
  display: none !important; }

body .wpcf7-form-control-wrap {
  display: block; }

/* -------------------------------------------
 wp-PageNavi
------------------------------------------- */
body .wp-pagenavi {
  display: block; }

body .pages {
  display: none; }

body .wp-pagenavi a, body .wp-pagenavi span {
  padding: 7px 10px;
  border: solid 1px #000;
  margin: 0 5px;
  color: #000; }
  @media screen and (min-width: 769px) {
    body .wp-pagenavi a, body .wp-pagenavi span {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    body .wp-pagenavi a, body .wp-pagenavi span {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    body .wp-pagenavi a, body .wp-pagenavi span {
      font-size: 13px;
      font-size: 1.3rem; } }

body .wp-pagenavi span.current {
  background-color: #000;
  font-weight: normal;
  color: #fff; }

body .extend {
  padding: 7px !important; }

body #characterpager {
  margin-top: 20px; }

body #characterpager .prev {
  display: block;
  float: left;
  padding: .6em 1em;
  border: 1px solid #000; }

body #characterpager .next {
  display: block;
  float: right;
  padding: .6em 1em;
  border: 1px solid #000; }

/* -----------------------------------------
 notfound
----------------------------------------- */
.p-404-section {
  box-sizing: border-box; }
  @media screen and (min-width: 769px) {
    .p-404-section {
      padding-bottom: 200px; } }
  @media screen and (max-width: 768px) {
    .p-404-section {
      padding-bottom: 100px; } }

.p-404-section__h {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1em; }
  @media screen and (min-width: 769px) {
    .p-404-section__h {
      font-size: 60px;
      font-size: 6.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-404-section__h {
      font-size: 40px;
      font-size: 4.0rem; } }
  @media screen and (max-width: 667px) {
    .p-404-section__h {
      font-size: 30px;
      font-size: 3.0rem;
      font-size: calc( 1.0rem + 4vw); } }

.p-404-section__txt {
  margin-bottom: 10px; }

.p-404-section__link a {
  text-decoration: underline;
  opacity: 1;
  pointer-events: all;
  cursor: pointer; }

/* ----------------------------------------
 p-contact-sec
---------------------------------------- */
.p-contact-sec h2 {
  font-weight: bold;
  margin-bottom: 16px; }
  @media screen and (min-width: 668px) {
    .p-contact-sec h2 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-contact-sec h2 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-contact-sec h2 {
      font-size: 15px;
      font-size: 1.5rem; } }

/* ----------------------------------------
 p-contact__description
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-contact__description {
    margin-bottom: 150px; } }

@media screen and (max-width: 768px) {
  .p-contact__description {
    margin-bottom: 80px; } }

.p-contact__attention {
  line-height: 1; }
  .p-contact__attention small {
    display: block;
    line-height: 1.66667; }
    @media screen and (min-width: 668px) {
      .p-contact__attention small {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media screen and (max-width: 667px) {
      .p-contact__attention small {
        font-size: 11px;
        font-size: 1.1rem; } }
    @media screen and (max-width: 320px) {
      .p-contact__attention small {
        font-size: 10px;
        font-size: 1.0rem; } }

/* ========== p-contact__selection ========== */
.p-contact__selection {
  border-top: solid 1px #c4c4c4; }
  @media screen and (min-width: 769px) {
    .p-contact__selection {
      margin-top: 42px; } }
  @media screen and (max-width: 768px) {
    .p-contact__selection {
      margin-top: 35px; } }
  .p-contact__selection dl {
    display: flex;
    border-left: solid 1px #c4c4c4;
    border-right: solid 1px #c4c4c4;
    border-bottom: solid 1px #c4c4c4; }
  @media screen and (min-width: 769px) {
    .p-contact__selection dt, .p-contact__selection dd {
      text-align: center;
      padding: 21px 10px; } }
  @media screen and (max-width: 768px) {
    .p-contact__selection dt, .p-contact__selection dd {
      padding: 12px 10px; } }
  @media screen and (min-width: 769px) {
    .p-contact__selection dt, .p-contact__selection dd, .p-contact__selection a {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 667px) {
    .p-contact__selection dt, .p-contact__selection dd, .p-contact__selection a {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 320px) {
    .p-contact__selection dt, .p-contact__selection dd, .p-contact__selection a {
      font-size: 11px;
      font-size: 1.1rem; } }
  .p-contact__selection dt {
    width: 30.875%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f7f7f7;
    border-right: solid 1px #c4c4c4; }
  .p-contact__selection dd {
    width: 69.125%; }

/* ----------------------------------------
 p-contact-LINE
---------------------------------------- */
.p-contact-LINE {
  text-align: center;
}

@media screen and (min-width: 769px) {
  .p-contact-LINE {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
    margin-bottom: 150px;
  }
}

@media screen and (max-width: 768px) {
  .p-contact-LINE {
    margin-bottom: 80px;
  }
}

.p-contact-LINE__title {
  font-weight: bold;
  text-align: left;
  margin-bottom: 16px;
}

@media screen and (min-width: 668px) {
  .p-contact-LINE__title {
    font-size: 20px;
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-contact-LINE__title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 667px) {
  .p-contact-LINE__title {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 668px) {
  .p-contact-LINE__title {
    font-size: 20px;
    font-size: 2.0rem;
  }
}

@media screen and (min-width: 769px) {
  .p-contact-LINE__title {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
}

.p-contact-LINE__content {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  line-height: 1.71428;
  text-align: left;
}

@media screen and (min-width: 769px) {
  .p-contact-LINE__content {
    font-size: 14px;
    font-size: 1.4rem;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-bottom: -0.35714em;
  }
}

.p-contact-LINE__content p {
  font-size: 1em;
  line-height: inherit;
}

.p-contact-LINE__content a {
  text-decoration: underline;
}

.p-contact-LINE__content a:hover {
  text-decoration: none;
}

a.p-contact-LINE__link {
  color: white;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
  padding: 1.0625em 2em;
  margin-top: 1.5em;
}

@media screen and (min-width: 769px) {
  a.p-contact-LINE__link {
    font-size: 16px;
    font-size: 1.6rem;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / -1;
    -ms-grid-column-align: end;
    justify-self: end;
    -ms-grid-row-align: end;
    align-self: end;
    padding-right: 2.6615625em;
    padding-left: 2.6615625em;
    margin-top: 0;
  }
}

.p-contact-LINE__link::before {
  content: '';
  display: inline-block;
  background: url('../img/common/logo_line.svg') no-repeat center / 100% auto;
  width: 2.25em;
  height: 2.25em;
  margin-right: 1.25em;
}

/* ----------------------------------------
 p-event-archive
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-event-archive {
    margin-bottom: 120px; } }

@media screen and (max-width: 768px) {
  .p-event-archive {
    margin-bottom: 90px; } }

.p-event-archive__h2 {
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .p-event-archive__h2 {
      font-size: 16px;
      font-size: 1.6rem;
      margin-bottom: 26px; } }
  @media screen and (max-width: 768px) {
    .p-event-archive__h2 {
      font-size: 15px;
      font-size: 1.5rem;
      margin-bottom: 20px; } }

/* ----------------------------------------
 p-event-archive__list
---------------------------------------- */
.p-event-archive__list {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .p-event-archive__list .p-event-archive__items {
      width: 23%; }
      .p-event-archive__list .p-event-archive__items:not(:nth-of-type(4n)) {
        margin-right: 2.3333%; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-event-archive__list .p-event-archive__items {
      width: 30%; }
      .p-event-archive__list .p-event-archive__items:not(:nth-of-type(3n)) {
        margin-right: 5%; } }
  @media screen and (max-width: 667px) {
    .p-event-archive__list .p-event-archive__items {
      width: 48%; }
      .p-event-archive__list .p-event-archive__items:not(:nth-of-type(2n)) {
        margin-right: 4%; } }

.p-event-archive__items {
  margin-bottom: 25px; }
  .p-event-archive__items a.is-hover:hover figure img {
    -webkit-filter: grayscale(20%) sepia(10%);
    -moz-filter: grayscale(20%) sepia(10%);
    -ms-filter: grayscale(20%) sepia(10%);
    -o-filter: grayscale(20%) sepia(10%);
    filter: grayscale(20%) sepia(10%); }

.p-event-archive__figure {
  position: relative;
  margin-bottom: 6px;
  padding-top: 75%;
  text-align: center;
  background-image: url("../img/common/noimg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .p-event-archive__figure img {
    width: 100%;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;" !important;
    position: absolute;
    top: 0;
    left: 0; }

.p-event-archive__items__h {
  margin-bottom: 3px; }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-event-archive__items__h {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 667px) {
    .p-event-archive__items__h {
      font-size: 13px;
      font-size: 1.3rem; } }

@media screen and (min-width: 668px) {
  .p-event-archive__items__time {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 667px) {
  .p-event-archive__items__time {
    font-size: 11px;
    font-size: 1.1rem; } }

/* ----------------------------------------
 p-event-calender
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-event-calender {
    margin-bottom: 155px; } }

@media screen and (max-width: 768px) {
  .p-event-calender {
    margin-bottom: 115px; } }

@media screen and (max-width: 667px) {
  body #l-wrapper .p-event-calender__content #calendar {
    overflow: scroll; } }

@media screen and (max-width: 667px) {
  body #l-wrapper .p-event-calender__content .fc-view-container {
    width: 600px; } }

@media screen and (min-width: 769px) {
  body #l-wrapper .p-event-calender__content h2 {
    font-size: 16px;
    font-size: 1.6rem; } }

@media screen and (max-width: 768px) {
  body #l-wrapper .p-event-calender__content h2 {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 600px) {
  body #l-wrapper .p-event-calender__content h2 {
    margin-bottom: 10px; } }

@media screen and (min-width: 668px) {
  body #l-wrapper .p-event-calender__content td, body #l-wrapper .p-event-calender__content td, body #l-wrapper .p-event-calender__content th {
    font-size: 14px !important; } }

@media screen and (max-width: 667px) {
  body #l-wrapper .p-event-calender__content td, body #l-wrapper .p-event-calender__content td, body #l-wrapper .p-event-calender__content th {
    font-size: 11px !important; } }

body #l-wrapper .p-event-calender__content .fc-day-header {
  text-align: left;
  padding: 7px 8px !important;
  background-color: #f7f7f7 !important; }
  @media screen and (max-width: 768px) {
    body #l-wrapper .p-event-calender__content .fc-day-header {
      border-bottom: none !important;
      border-top: solid 1px #c4c4c4; } }

body #l-wrapper .p-event-calender__content .fc-sat {
  color: #207edb; }

body #l-wrapper .p-event-calender__content .fc-sun {
  color: #e53939; }

body #l-wrapper .p-event-calender__content .fc-day-number {
  display: block;
  text-align: left;
  float: none;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 769px) {
    body #l-wrapper .p-event-calender__content .fc-day-number {
      padding: 10px 10px 8px !important; } }
  @media screen and (max-width: 768px) {
    body #l-wrapper .p-event-calender__content .fc-day-number {
      padding: 10px 5px !important; } }

@media screen and (min-width: 769px) {
  body #l-wrapper .p-event-calender__content .fc-widget-content {
    min-height: 80px; } }

body #l-wrapper .p-event-calender__content .fc-day-grid-event {
  text-decoration: underline !important;
  border: none !important;
  background-color: rgba(255, 255, 255, 0) !important;
  color: #000000 !important;
  font-weight: 400 !important;
  margin-bottom: 10px !important;
  margin-left: 8px;
  margin-right: 8px; }
  body #l-wrapper .p-event-calender__content .fc-day-grid-event.no-link {
    text-decoration: none !important;
    pointer-events: none !important; }
  body #l-wrapper .p-event-calender__content .fc-day-grid-event .fc-content {
    overflow: visible !important; }

@media screen and (max-width: 768px) {
  body #l-wrapper .p-event-calender__content .fc-event-container {
    padding: 7px !important; } }

body #l-wrapper .p-event-calender__content .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
  padding-bottom: 1.5em; }

body #l-wrapper .p-event-calender__content .category-hidden {
  pointer-events: none !important;
  text-decoration: none !important; }

body #l-wrapper .p-event-calender__content .fc-time {
  display: none !important; }

body #l-wrapper .p-event-calender__content .fc-bg {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0; }
  body #l-wrapper .p-event-calender__content .fc-bg .fc-today {
    background-color: #f7f7f7 !important; }

body #l-wrapper .p-event-calender__content .c-icon-sns span,
body #l-wrapper .p-event-calender__content .fc .fc-axis,
body #l-wrapper .p-event-calender__content .fc button,
body #l-wrapper .p-event-calender__content .fc-day-grid-event .fc-content,
body #l-wrapper .p-event-calender__content .fc-time-grid-event .fc-time,
body #l-wrapper .p-event-calender__content .fc-time-grid-event.fc-short .fc-content {
  white-space: normal;
  line-height: 1.2; }

.fc-today-button,
.fc-next-button,
.fc-prev-button {
  display: block !important; }

.fc-prev-button,
.fc-next-button {
  background-color: #f7f7f7;
  border-radius: 4px;
  border: solid 1px #c4c4c4;
  width: 40px;
  height: 26px;
  margin-left: 5px !important; }

.ui-icon-circle-triangle-e,
.ui-icon-circle-triangle-w {
  display: block; }
  .ui-icon-circle-triangle-e::before,
  .ui-icon-circle-triangle-w::before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold; }

.ui-icon-circle-triangle-e::before {
  content: '\f054'; }

.ui-icon-circle-triangle-w::before {
  content: '\f053'; }

.qtip {
  display: none !important; }

/* ----------------------------------------
 p-event-single article
---------------------------------------- */
.p-event-single__content figure {
  text-align: center; }

/* ========== p-event-single__day-list ========== */
.p-event-single__day-list {
  border: solid 1px #c4c4c4; }
  @media screen and (min-width: 769px) {
    .p-event-single__day-list {
      margin-bottom: 80px;
      margin-top: 18px;
      padding: 12px 20px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-event-single__day-list {
      margin-bottom: 60px; } }
  @media screen and (max-width: 768px) {
    .p-event-single__day-list {
      padding: 12px 5%; } }
  @media screen and (max-width: 667px) {
    .p-event-single__day-list {
      margin-top: 20px;
      margin-bottom: 30px; } }
  .p-event-single__day-list li {
    line-height: 1.92857; }

/* ========== p-event-single__detail ========== */
@media screen and (min-width: 668px) {
  .p-event-single__detail {
    margin-top: 70px;
    margin-bottom: 90px; } }

@media screen and (max-width: 667px) {
  .p-event-single__detail {
    margin-top: 60px;
    margin-bottom: 60px; } }

.p-event-single__detail h2 {
  font-weight: bold;
  line-height: 1; }
  @media screen and (min-width: 769px) {
    .p-event-single__detail h2 {
      font-size: 16px;
      font-size: 1.6rem;
      margin-bottom: 20px; } }
  @media screen and (max-width: 768px) {
    .p-event-single__detail h2 {
      font-size: 15px;
      font-size: 1.5rem;
      margin-bottom: 20px; } }

.p-event-single__detail__table {
  border-top: solid 1px #c4c4c4; }
  .p-event-single__detail__table dl {
    border-bottom: solid 1px #c4c4c4; }
    @media screen and (min-width: 668px) {
      .p-event-single__detail__table dl {
        width: 100%;
        display: table;
        padding: 9px 10px; } }
  @media screen and (min-width: 668px) {
    .p-event-single__detail__table dt, .p-event-single__detail__table dd {
      display: table-cell;
      vertical-align: text-top; } }
  @media screen and (min-width: 668px) {
    .p-event-single__detail__table dt {
      width: 160px;
      padding-right: 40px;
      text-align: right; } }
  @media screen and (max-width: 667px) {
    .p-event-single__detail__table dt {
      background-color: #f7f7f7;
      font-weight: 500;
      padding: 6px 10px; } }
  @media screen and (max-width: 667px) {
    .p-event-single__detail__table dd {
      font-size: 12px;
      font-size: 1.2rem;
      padding: 6px 10px 10px; } }

/* ========== p-event-single__detail ========== */
@media screen and (min-width: 668px) {
  .p-event-single__app {
    margin-bottom: 90px; } }

@media screen and (max-width: 667px) {
  .p-event-single__app {
    margin-bottom: 60px; } }

.p-event-single__app h2 {
  font-weight: bold;
  line-height: 1; }
  @media screen and (min-width: 668px) {
    .p-event-single__app h2 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-event-single__app h2 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-event-single__app h2 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-event-single__app h2 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .p-event-single__app h2 {
      margin-bottom: 20px; } }

.p-event-single__app__list {
  border-top: solid 1px #c4c4c4; }
  .p-event-single__app__list li {
    background-image: repeating-linear-gradient(45deg, #fff, #fff 11px, #f7f7f7 0, #f7f7f7 20px);
    border-left: solid 1px #c4c4c4;
    border-right: solid 1px #c4c4c4;
    border-bottom: solid 1px #c4c4c4; }
    @media screen and (min-width: 769px) {
      .p-event-single__app__list li {
        padding: 23px 30px 30px; } }
    @media screen and (max-width: 768px) {
      .p-event-single__app__list li {
        padding: 20px 5% 25px; } }

.p-event-single__app__list__txt {
  font-weight: bold;
  line-height: 1.4; }
  @media screen and (min-width: 668px) {
    .p-event-single__app__list__txt {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-event-single__app__list__txt {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-event-single__app__list__txt {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-event-single__app__list__txt {
      margin-bottom: 34px; } }
  @media screen and (max-width: 768px) {
    .p-event-single__app__list__txt {
      margin-bottom: 20px; } }

.p-event-single__app__list__btn {
  max-width: 372px;
  width: 100%;
  margin: 0 auto;
  line-height: 1; }
  .p-event-single__app__list__btn a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    position: relative; }
    @media screen and (min-width: 668px) {
      .p-event-single__app__list__btn a {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-event-single__app__list__btn a {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-event-single__app__list__btn a {
        font-size: 15px;
        font-size: 1.5rem; } }
    .p-event-single__app__list__btn a::after {
      content: '';
      display: block;
      background-image: url("../img/common/more_icon_bold.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
      @media screen and (min-width: 769px) {
        .p-event-single__app__list__btn a::after {
          width: 10px;
          height: 14px;
          right: 20px; } }
      @media screen and (max-width: 768px) {
        .p-event-single__app__list__btn a::after {
          width: 8px;
          height: 11.2px;
          right: 10px; } }
    @media screen and (min-width: 769px) {
      .p-event-single__app__list__btn a {
        padding: 25px 0; } }
    @media screen and (max-width: 768px) {
      .p-event-single__app__list__btn a {
        padding: 15px 0; } }
    @media screen and (max-width: 667px) {
      .p-event-single__app__list__btn a {
        font-size: 13px;
        font-size: 1.3rem; } }

/* ----------------------------------------
 p-event-sidebar
---------------------------------------- */
@media screen and (max-width: 768px) {
  .p-event-sidebar__list {
    display: flex;
    flex-wrap: wrap; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-event-sidebar__list .p-event-archive__items {
    width: 30%; }
    .p-event-sidebar__list .p-event-archive__items:not(:nth-of-type(3n)) {
      margin-right: 5%; } }

@media screen and (max-width: 667px) {
  .p-event-sidebar__list .p-event-archive__items {
    width: 48%; }
    .p-event-sidebar__list .p-event-archive__items:not(:nth-of-type(2n)) {
      margin-right: 4%; } }

/* ----------------------------------------
 p-evententry-valued
---------------------------------------- */
.p-evententry-valued {
  pointer-events: none;
  opacity: 0.6;
  position: relative;
  z-index: -1; }

/* ----------------------------------------
 p-gallery-page-top
---------------------------------------- */
.p-gallery-page-top {
  position: relative; }
  @media screen and (min-width: 769px) {
    .p-gallery-page-top {
      margin: 145px auto 80px; } }
  @media screen and (max-width: 768px) {
    .p-gallery-page-top {
      margin: 140px auto 70px; } }
  @media screen and (min-width: 769px) {
    .p-gallery-page-top:not(.p-gallery-single-page-top) {
      margin: 145px auto 150px; } }
  @media screen and (max-width: 768px) {
    .p-gallery-page-top:not(.p-gallery-single-page-top) {
      margin: 140px auto 70px; } }
  @media screen and (min-width: 769px) {
    .p-gallery-page-top:not(.p-gallery-single-page-top)::after {
      content: '';
      display: block;
      width: 50vw;
      height: 100%;
      background-color: #f7f7f7;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; } }

.p-gallery-page-top__inr {
  max-width: 1220px;
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .p-gallery-page-top__inr {
      display: flex;
      align-items: center;
      justify-content: space-between; } }

@media screen and (max-width: 768px) {
  .p-gallery-page-top__h {
    margin-bottom: 70px; } }

.p-gallery-page-top__h span {
  display: block; }

.p-gallery-page-top__h__en {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  font-weight: 300;
  letter-spacing: .1em; }
  @media screen and (min-width: 769px) {
    .p-gallery-page-top__h__en {
      font-size: 84px;
      font-size: 8.4rem;
      margin-bottom: 20px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-gallery-page-top__h__en {
      font-size: 60px;
      font-size: 6.0rem;
      margin-bottom: 20px; } }
  @media screen and (max-width: 667px) {
    .p-gallery-page-top__h__en {
      font-size: 30px;
      font-size: 3.0rem;
      font-size: calc( 1.0rem + 10vw);
      margin-bottom: 15px; } }

@media screen and (min-width: 668px) {
  .p-gallery-page-top__h__jp {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-gallery-page-top__h__jp {
    font-size: 13px;
    font-size: 1.3rem; } }

@media screen and (max-width: 667px) {
  .p-gallery-page-top__h__jp {
    font-size: 12px;
    font-size: 1.2rem; } }

/*========== p-gallery-page-nav ==========*/
.p-gallery-page-nav {
  position: relative;
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .p-gallery-page-nav {
      width: 59.01639%;
      padding: 40px 0 30px 50px; } }
  @media screen and (max-width: 768px) {
    .p-gallery-page-nav {
      padding: 30px 7.5%; } }
  .p-gallery-page-nav::after {
    content: '';
    display: block;
    width: 131px;
    height: 131px;
    background-image: repeating-linear-gradient(45deg, #fff, #fff 11px, #f7f7f7 0, #f7f7f7 20px);
    position: absolute;
    left: -10px;
    bottom: -10px;
    z-index: -1; }
  .p-gallery-page-nav dl:not(:last-of-type) {
    margin-bottom: 30px; }
  .p-gallery-page-nav dt {
    border-bottom: solid 1px #c4c4c4;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 16px;
    margin-bottom: 14px; }
  .p-gallery-page-nav li {
    position: relative; }
  .p-gallery-page-nav a.is-hover:hover {
    text-decoration: underline; }
  .p-gallery-page-nav a::before {
    content: '-';
    margin-right: 4px; }

@media screen and (min-width: 769px) {
  .p-gallery-page-nav__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }

@media screen and (min-width: 769px) {
  .p-gallery-page-nav__items {
    width: 49%;
    margin-bottom: 20px; } }

@media screen and (max-width: 768px) {
  .p-gallery-page-nav__items {
    width: 100%;
    margin-bottom: 20px; } }

.p-gallery-page-nav__items ul {
  padding-left: 1em; }
  @media screen and (min-width: 769px) {
    .p-gallery-page-nav__items ul {
      width: 100%;
      position: absolute;
      z-index: 1;
      left: 0;
      background-color: #f7f7f7;
      visibility: hidden;
      pointer-events: none;
      opacity: 0;
      transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: translateY(10px); }
      .p-gallery-page-nav__items ul.is-active {
        visibility: visible;
        pointer-events: visible;
        opacity: 1;
        transform: translateY(0px); } }
  .p-gallery-page-nav__items ul li {
    margin-top: 14px; }
    .p-gallery-page-nav__items ul li:not(:last-of-type) {
      margin-bottom: 13px; }

.p-gallery-page-nav--hidden {
  transition: 150ms linear opacity; }
  .p-gallery-page-nav--hidden.is-hidden {
    opacity: 0; }

/* ========== ipad ========== */
@media screen and (min-width: 769px) {
  .ua-tablet .p-gallery-page-nav__items {
    width: 100%; }
  .ua-tablet .p-gallery-page-nav__items ul {
    display: block;
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible; } }

/* ----------------------------------------
 p-gallery-section
---------------------------------------- */
.p-gallery-section {
  max-width: 1220px;
  width: 86%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .p-gallery-section {
      margin-bottom: 135px; } }
  @media screen and (max-width: 768px) {
    .p-gallery-section {
      margin-bottom: 110px; } }

/* ========== p-gallery-photolist ========== */
.p-g-photolist__figure {
  position: relative;
  background-color: #f7f7f7; }
  @media screen and (max-width: 667px) {
    .p-g-photolist__figure {
      margin-bottom: 7.37705%; } }
  .p-g-photolist__figure a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    .p-g-photolist__figure a.is-hover:hover img {
      -webkit-filter: brightness(102.5%) contrast(110%);
              filter: brightness(102.5%) contrast(110%);
      transform: matrix(1.1, 0.001, 0.001, 1.1, 0, 0);
      transition: all 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .p-g-photolist__figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;" !important;
    position: absolute;
    top: 0;
    left: 0;
    transform: matrix(1, 0, 0, 1, 0, 0);
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-font-smoothing: antialiased;
    -webkit-filter: brightness(100%) contrast(100%);
            filter: brightness(100%) contrast(100%); }

@media screen and (min-width: 769px) {
  .p-g-photolist__content {
    margin-bottom: 7.37705%; } }

@media screen and (min-width: 668px) {
  .p-g-photolist__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 7.37705%; } }

.p-g-photolist__content:nth-of-type(n+6) {
  transition: opacity 1200ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .p-g-photolist__content:nth-of-type(n+6):not(.is-visible) {
    height: 0;
    opacity: 0;
    visibility: hidden;
    margin: 0; }
  @media screen and (max-width: 667px) {
    .p-g-photolist__content:nth-of-type(n+6).p-g-photolist__content:not(.is-visible) .p-g-photolist__figure {
      margin-bottom: 0; } }
  @media screen and (max-width: 667px) {
    .p-g-photolist__content:nth-of-type(n+6) .p-g-photolist__figure {
      opacity: 1;
      transition: none; } }

@media screen and (min-width: 668px) {
  .p-g-photolist__width {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 46.06557%; } }

[data-direction="vertical"] a::after,
[data-direction="vertical"] .p-g-photolist__coming::after {
  content: '';
  display: block;
  padding-top: 150.17794%; }

[data-direction="horizontal-small"] a::after,
[data-direction="horizontal-big"] a::after,
[data-direction="horizontal-small"] .p-g-photolist__coming::after,
[data-direction="horizontal-big"] .p-g-photolist__coming::after {
  content: '';
  display: block;
  padding-top: 67.25979%; }

/* ========= ========= */
@media screen and (min-width: 668px) {
  .p-g-photolist__coming {
    display: block;
    width: 100%;
    height: 100%; }
    .p-g-photolist__coming::before {
      content: '';
      display: block;
      background-image: url("../img/gallery/coming.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); } }
    @media screen and (min-width: 668px) and (min-width: 769px) {
      .p-g-photolist__coming::before {
        width: 255px;
        height: 46px; } }
    @media screen and (min-width: 668px) and (max-width: 768px) and (min-width: 668px) {
      .p-g-photolist__coming::before {
        width: 178.5px;
        height: 32.2px; } }
    @media screen and (min-width: 668px) and (max-width: 667px) {
      .p-g-photolist__coming::before {
        width: 127.5px;
        height: 23px; } }

@media screen and (max-width: 667px) {
  .p-g-photolist__coming {
    display: none; } }

/* ----------------------------------------
 p-gallery-section__more
---------------------------------------- */
.p-gallery-section__more {
  max-width: 418px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 668px) {
    .p-gallery-section__more {
      margin-top: 45px; } }
  @media screen and (max-width: 667px) {
    .p-gallery-section__more {
      margin-top: 30px; } }
  .p-gallery-section__more a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000000;
    color: #fff;
    color: #fff;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    font-weight: 300;
    letter-spacing: 0.3em; }
    @media screen and (min-width: 769px) {
      .p-gallery-section__more a {
        font-size: 17px;
        font-size: 1.7rem;
        padding: 28px 0; } }
    @media screen and (max-width: 768px) {
      .p-gallery-section__more a {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 18px 0; } }
  .p-gallery-section__more.is-hidden {
    visibility: hidden;
    opacity: 0;
    height: 0; }

/* ----------------------------------------
 p-gallery-popup
---------------------------------------- */
@media screen and (max-width: 768px) {
  #js-popup .p-gallery__article__txt {
    padding: 15px 5%; } }

@media screen and (max-width: 768px) {
  #js-popup .p-gallery__article__share {
    padding: 0 5% 15px; } }

/* ----------------------------------------
 p-gallery__article
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-gallery__article {
    display: flex;
    justify-content: space-between; } }

/* ========== content ========== */
.p-gallery__article__content {
  position: relative; }
  @media screen and (min-width: 769px) {
    .p-gallery__article__content {
      flex: 1; } }
  .p-gallery__article__content .js-filter-slider__content {
    padding-top: 67.4%; }

/* ===== txt ===== */
.p-gallery__article__txt {
  background-color: rgba(255, 255, 255, 0.8); }
  @media screen and (min-width: 769px) {
    .p-gallery__article__txt {
      width: 100%;
      position: absolute;
      left: 0;
      bottom: 0;
      padding: 20px; } }
  @media screen and (max-width: 768px) {
    .p-gallery__article__txt {
      padding: 20px 0; } }

/* info */
@media screen and (min-width: 769px) {
  .p-gallery__article__info {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between; } }

@media screen and (max-width: 768px) {
  .p-gallery__article__info {
    margin-bottom: 15px; } }

.p-gallery__article__h {
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .p-gallery__article__h {
      margin-bottom: 10px; } }

.p-gallery__article__cat {
  background-color: #000000;
  color: #fff;
  line-height: 1;
  padding: 7px 10px; }
  @media screen and (min-width: 769px) {
    .p-gallery__article__cat {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 768px) {
    .p-gallery__article__cat {
      display: inline-block;
      font-size: 10px;
      font-size: 1.0rem; } }

/* p */
.p-gallery__article__p {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.75; }

/* ===== slider ===== */
.p-gallery__article__slider-nav {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2; }
  @media screen and (min-width: 769px) {
    .p-gallery__article__slider-nav {
      height: 84.3609%; } }
  @media screen and (max-width: 768px) {
    .p-gallery__article__slider-nav {
      height: 100%; } }
  .p-gallery__article__slider-nav.is-no {
    display: none !important; }
  .p-gallery__article__slider-nav div {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (max-width: 667px) {
      .p-gallery__article__slider-nav div {
        width: 30px; } }
  .p-gallery__article__slider-nav a {
    display: block;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 668px) {
    .p-gallery__article__slider-nav .js-filter-slider__nav--left {
      left: 20px; } }
  @media screen and (max-width: 667px) {
    .p-gallery__article__slider-nav .js-filter-slider__nav--left {
      left: 10px; } }
  @media screen and (min-width: 668px) {
    .p-gallery__article__slider-nav .js-filter-slider__nav--right {
      right: 20px; } }
  @media screen and (max-width: 667px) {
    .p-gallery__article__slider-nav .js-filter-slider__nav--right {
      right: 10px; } }

/* ========== share ========== */
@media screen and (min-width: 769px) {
  .p-gallery__article__share {
    width: 50px;
    padding: 20px 0 0;
    text-align: center; } }

.p-gallery__article__share p {
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  letter-spacing: 0.1em;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    .p-gallery__article__share p {
      margin-bottom: -7px; } }
  @media screen and (max-width: 768px) {
    .p-gallery__article__share p {
      font-size: 14px;
      font-size: 1.4rem;
      margin-bottom: 2px; } }

.p-gallery__article__share ul {
  display: flex;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .p-gallery__article__share ul {
      flex-direction: column; } }

@media screen and (min-width: 769px) {
  .p-gallery__article__share li {
    padding: 7px 0; }
    .p-gallery__article__share li:not(:first-of-type) {
      border-top: solid 1px #c4c4c4; } }

@media screen and (max-width: 768px) {
  .p-gallery__article__share li {
    padding: 10px; }
    .p-gallery__article__share li:not(:first-of-type) {
      border-left: solid 1px #c4c4c4; } }

/* ----------------------------------------
 p-gallery-popup-bg
---------------------------------------- */
.p-gallery-popup__close {
  position: absolute;
  z-index: 3002; }
  @media screen and (min-width: 668px) {
    .p-gallery-popup__close {
      width: 40px;
      height: 40px;
      top: 20px;
      right: 20px; } }
  @media screen and (max-width: 667px) {
    .p-gallery-popup__close {
      width: 30px;
      height: 30px;
      top: 10px;
      right: 10px; } }
  .p-gallery-popup__close a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-color: rgba(255, 255, 255, 0.8); }
  .p-gallery-popup__close span {
    display: block;
    width: 30px;
    height: 1px;
    background-color: #000000;
    position: absolute;
    top: 50%;
    left: 50%; }
    .p-gallery-popup__close span:nth-of-type(1) {
      transform: translate(-50%, -50%) rotate(45deg); }
    .p-gallery-popup__close span:nth-of-type(2) {
      transform: translate(-50%, -50%) rotate(-45deg); }

/* ----------------------------------------
 p-gallery-single__article animation
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-gallery-single__article {
    margin-bottom: 150px; } }

@media screen and (max-width: 768px) {
  .p-gallery-single__article {
    margin-bottom: 110px; } }

.p-order-h2 {
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .p-order-h2 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-order-h2 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-order-h2 {
      font-size: 15px;
      font-size: 1.5rem; } }

/* ----------------------------------------
 p-order-flow
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-order-flow {
    margin-bottom: 186px; } }

@media screen and (max-width: 768px) {
  .p-order-flow {
    margin-bottom: 120px; } }

.p-order-flow h2 {
  margin-bottom: 30px; }

/* ========== ========== */
@media screen and (min-width: 769px) {
  .p-order-flow__items .p-order-flow__items__inr {
    padding: 23px 50px 30px; } }

@media screen and (max-width: 768px) {
  .p-order-flow__items .p-order-flow__items__inr {
    padding: 30px 5% 25px; } }

.p-order-flow__items:nth-of-type(2n-1) .p-order-flow__items__inr {
  background-color: #f7f7f7; }

.p-order-flow__items:nth-of-type(2n) .p-order-flow__items__inr {
  background-color: #e4e4e4; }

.p-order-flow__items:not(:last-of-type)::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #c4c4c4 transparent transparent transparent; }
  @media screen and (min-width: 668px) {
    .p-order-flow__items:not(:last-of-type)::after {
      border-width: 15px 17.5px 0 17.5px;
      margin: 7px auto; } }
  @media screen and (max-width: 667px) {
    .p-order-flow__items:not(:last-of-type)::after {
      border-width: 10px 12.5px 0 12.5px;
      margin: 15px auto; } }

.p-order-flow__items h3 {
  font-weight: bold;
  text-align: center; }
  @media screen and (min-width: 668px) {
    .p-order-flow__items h3 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-order-flow__items h3 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-order-flow__items h3 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 668px) {
    .p-order-flow__items h3 {
      margin-bottom: 17px; } }
  @media screen and (max-width: 667px) {
    .p-order-flow__items h3 {
      margin-bottom: 10px;
      font-size: 15px;
      font-size: 1.5rem; } }

@media screen and (max-width: 667px) {
  .p-order-flow__items p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.75; } }

/* ========== 2.ご郵送 ========== */
@media screen and (min-width: 769px) {
  .p-order-flow__mailing__content {
    display: flex;
    justify-content: space-between; } }

@media screen and (min-width: 769px) {
  .p-order-flow__mailing__content__figure {
    width: 42.85714%; } }

.p-order-flow__mailing__content__figure p {
  font-weight: bold;
  margin-bottom: 5px; }
  @media screen and (min-width: 769px) {
    .p-order-flow__mailing__content__figure p {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .p-order-flow__mailing__content__figure p {
      font-size: 14px;
      font-size: 1.4rem; } }

.p-order-flow__mailing__content__figure li {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 3px;
  margin-bottom: 10px; }
  @media screen and (min-width: 769px) {
    .p-order-flow__mailing__content__figure li {
      padding: 20px 25px; } }
  @media screen and (max-width: 768px) {
    .p-order-flow__mailing__content__figure li {
      padding: 14px 18px; } }
  .p-order-flow__mailing__content__figure li::before {
    content: '';
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
    @media screen and (min-width: 769px) {
      .p-order-flow__mailing__content__figure li::before {
        width: 40px;
        height: 37px;
        margin-right: 20px; } }
    @media screen and (max-width: 768px) {
      .p-order-flow__mailing__content__figure li::before {
        width: 28px;
        height: 25.9px;
        margin-right: 10px; } }
  .p-order-flow__mailing__content__figure li:nth-of-type(1)::before {
    background-image: url("../img/order/icon_01.svg"); }
  .p-order-flow__mailing__content__figure li:nth-of-type(2)::before {
    background-image: url("../img/order/icon_02.svg"); }
  .p-order-flow__mailing__content__figure li span {
    flex: 1;
    font-weight: bold;
    line-height: 1.1875; }
    @media screen and (min-width: 769px) {
      .p-order-flow__mailing__content__figure li span {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media screen and (min-width: 1280px) {
      .p-order-flow__mailing__content__figure li span {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 768px) {
      .p-order-flow__mailing__content__figure li span {
        font-size: 12px;
        font-size: 1.2rem; } }

@media screen and (min-width: 769px) {
  .p-order-flow__mailing__content__txt {
    width: 52.85714%; } }

/* ========== 5.発送 ========== */
.p-order-flow__delivery-list {
  background-color: #fff;
  margin-bottom: 5px; }
  @media screen and (min-width: 769px) {
    .p-order-flow__delivery-list {
      margin-top: 45px;
      padding: 12px 20px; } }
  @media screen and (max-width: 768px) {
    .p-order-flow__delivery-list {
      margin-top: 30px;
      padding: 15px 5%; } }
  @media screen and (min-width: 668px) {
    .p-order-flow__delivery-list li {
      line-height: 1.92857; } }
  @media screen and (max-width: 667px) {
    .p-order-flow__delivery-list li {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.75; }
      .p-order-flow__delivery-list li:not(:last-of-type) {
        margin-bottom: 7px; } }

/* ----------------------------------------
 p-order-print-form
---------------------------------------- */
.p-order-print-form h2 {
  text-align: center;
  line-height: 1.75; }
  @media screen and (min-width: 769px) {
    .p-order-print-form h2 {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-order-print-form h2 {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 667px) {
    .p-order-print-form h2 {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 320px) {
    .p-order-print-form h2 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-order-print-form h2 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .p-order-print-form h2 {
      margin-bottom: 20px; } }

@media screen and (min-width: 769px) {
  .p-order-print-form__detail {
    margin-bottom: 43px; } }

@media screen and (max-width: 768px) {
  .p-order-print-form__detail {
    margin-bottom: 25px;
    font-size: 12px;
    font-size: 1.2rem; } }

.p-corder__form__block:not(:last-of-type) {
  margin-bottom: 50px; }

.p-corder__form__block__h {
  font-weight: bold;
  margin-bottom: 14px; }
  @media screen and (min-width: 668px) {
    .p-corder__form__block__h {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-corder__form__block__h {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-corder__form__block__h {
      font-size: 15px;
      font-size: 1.5rem; } }
  .p-corder__form__block__h span {
    border-radius: 5px;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    padding: 1px 9px;
    margin-left: 7px; }

/* ===== p-corder__form__filme ===== */
.p-corder__form__filme input {
  width: 74px;
  margin: 0 10px; }

.p-corder__form__filme .wpcf7-form-control-wrap {
  display: inline; }

@media screen and (min-width: 769px) {
  .p-corder__form__filme__inr {
    display: flex;
    justify-content: center;
    align-items: center; } }

.p-corder__form__filme__span {
  display: block; }
  @media screen and (min-width: 769px) {
    .p-corder__form__filme__span:nth-of-type(1) {
      margin-right: 60px; } }
  @media screen and (max-width: 768px) {
    .p-corder__form__filme__span:nth-of-type(1) {
      margin-bottom: 10px; } }

/* ----------------------------------------
 p-post-layout
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-post-section {
    margin-bottom: 150px; } }

@media screen and (max-width: 768px) {
  .p-post-section {
    margin-bottom: 120px; } }

.p-post-archive-h {
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .p-post-archive-h {
      font-size: 17px;
      font-size: 1.7rem;
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-post-archive-h {
      font-size: 16px;
      font-size: 1.6rem;
      margin-bottom: 25px; } }
  @media screen and (max-width: 667px) {
    .p-post-archive-h {
      font-size: 15px;
      font-size: 1.5rem;
      margin-bottom: 20px; } }

@media screen and (min-width: 769px) {
  .p-post-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; } }

@media screen and (min-width: 769px) {
  .p-post-layout__main {
    width: 65%; } }

@media screen and (max-width: 768px) {
  .p-post-layout__main {
    margin-bottom: 100px; } }

/* ----------------------------------------
 p-post-archive-list
---------------------------------------- */
@media screen and (min-width: 415px) {
  .p-post-archive-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }

@media screen and (min-width: 415px) {
  .p-post-archive-art {
    width: 46.15385%;
    margin-bottom: 50px; } }

@media screen and (max-width: 414px) {
  .p-post-archive-art {
    margin-bottom: 20px; } }

.p-post-archive-art a {
  position: relative;
  width: 100%;
  height: 100%; }
  @media screen and (min-width: 415px) {
    .p-post-archive-art a {
      display: block; } }
  @media screen and (max-width: 414px) {
    .p-post-archive-art a {
      display: flex;
      justify-content: space-between; } }
  .p-post-archive-art a.is-hover:hover .p-post-archive-art__figure img {
    -webkit-filter: grayscale(20%) brightness(110%);
    -moz-filter: grayscale(20%) brightness(110%);
    -ms-filter: grayscale(20%) brightness(110%);
    -o-filter: grayscale(20%) brightness(110%);
    filter: grayscale(20%) brightness(110%); }
  .p-post-archive-art a.is-hover:hover .p-post-archive-art__ttl {
    text-decoration: underline; }

.p-post-archive-art .p-post-archive-art__figure {
  position: relative;
  overflow: hidden;
  text-align: center;
  background-image: url("../img/common/noimg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 415px) {
    .p-post-archive-art .p-post-archive-art__figure {
      margin-bottom: 16px; } }
  @media screen and (max-width: 414px) {
    .p-post-archive-art .p-post-archive-art__figure {
      width: 40%; } }
  .p-post-archive-art .p-post-archive-art__figure::after {
    content: '';
    display: block;
    padding-top: 75%; }
  .p-post-archive-art .p-post-archive-art__figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;" !important;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1); }

@media screen and (max-width: 414px) {
  .p-post-archive-art div {
    width: 55%; } }

.p-post-archive-art .p-post-archive-art__ttl {
  margin-bottom: 1em; }
  @media screen and (min-width: 769px) {
    .p-post-archive-art .p-post-archive-art__ttl {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .p-post-archive-art .p-post-archive-art__ttl {
      font-size: 13px;
      font-size: 1.3rem; } }
  @media screen and (max-width: 414px) {
    .p-post-archive-art .p-post-archive-art__ttl {
      font-size: 12px;
      font-size: 1.2rem; } }

@media screen and (min-width: 769px) {
  .p-post-archive-art time {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) {
  .p-post-archive-art time {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 414px) {
  .p-post-archive-art time {
    font-size: 11px;
    font-size: 1.1rem; } }

/* ===== new ==== */
.p-post-new {
  position: relative;
  background-color: #000000;
  border-radius: 50%;
  color: #fff;
  position: absolute;
  top: -12px;
  left: -12px;
  z-index: 2; }
  @media screen and (min-width: 769px) {
    .p-post-new {
      width: 80px;
      height: 80px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-post-new {
      width: 60px;
      height: 60px; } }
  @media screen and (max-width: 667px) {
    .p-post-new {
      width: 46px;
      height: 46px; } }
  .p-post-new span {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    letter-spacing: 0.14em; }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-post-new span {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media screen and (max-width: 667px) {
      .p-post-new span {
        font-size: 10px;
        font-size: 1.0rem; } }

/* ----------------------------------------
 p-post-pager
---------------------------------------- */
.p-post-pager {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 414px) {
    .p-post-pager {
      margin-top: 50px; } }
  .p-post-pager li {
    max-width: 200px;
    width: 49%; }
    @media screen and (min-width: 769px) {
      .p-post-pager li {
        margin: 0 10px; } }
    @media screen and (max-width: 768px) {
      .p-post-pager li {
        margin: 0 5px; } }
  .p-post-pager a {
    display: block;
    width: 100%;
    height: 100%;
    border: solid 1px #000000;
    text-align: center;
    padding: 17px 0; }
    .p-post-pager a.is-hover:hover {
      background-color: #000000;
      color: #fff; }

/* ----------------------------------------
 p-post-sidebar
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-post-sidebar {
    width: 23%; } }

@media screen and (min-width: 769px) {
  .p-post-sidebar__items:not(:last-of-type) {
    margin-bottom: 100px; } }

@media screen and (max-width: 768px) {
  .p-post-sidebar__items:not(:last-of-type) {
    margin-bottom: 60px; } }

.p-post-sidebar__items h2 {
  font-weight: bold;
  border-bottom: solid 1px #c4c4c4;
  line-height: 1;
  padding: 0 12px 17px; }

.p-post-sidebar__items a {
  display: block; }
  .p-post-sidebar__items a.is-hover:hover {
    text-decoration: underline; }

/* ===== category ===== */
.p-post-sidebar__cat-list,
.p-post-sidebar__cat-list ul {
  padding-left: 10px;
  padding-right: 10px; }

.p-post-sidebar__cat-list > li {
  margin-top: 20px; }
  @media screen and (min-width: 769px) {
    .p-post-sidebar__cat-list > li > a {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .p-post-sidebar__cat-list > li > a {
      font-size: 13px;
      font-size: 1.3rem; } }
  .p-post-sidebar__cat-list > li ul {
    margin-top: 20px; }
    .p-post-sidebar__cat-list > li ul li {
      display: flex;
      align-items: center; }
      .p-post-sidebar__cat-list > li ul li:not(:last-of-type) {
        margin-bottom: 14px; }
      .p-post-sidebar__cat-list > li ul li::before {
        content: '-';
        display: block;
        margin-right: 4px; }
    @media screen and (min-width: 769px) {
      .p-post-sidebar__cat-list > li ul a {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media screen and (max-width: 768px) {
      .p-post-sidebar__cat-list > li ul a {
        font-size: 12px;
        font-size: 1.2rem; } }

/* ===== p-post-sidebar__items__list ===== */
.p-post-sidebar__items__list li {
  transition: opacity 1200ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .p-post-sidebar__items__list li:nth-of-type(n+13):not(.is-visible) {
    height: 0;
    opacity: 0;
    visibility: hidden;
    margin: 0;
    overflow: hidden; }

.p-post-sidebar__items__list a {
  border-bottom: solid 1px #c4c4c4; }
  @media screen and (min-width: 769px) {
    .p-post-sidebar__items__list a {
      padding: 19px 10px; } }
  @media screen and (max-width: 768px) {
    .p-post-sidebar__items__list a {
      padding: 15px 10px; } }
  .p-post-sidebar__items__list a.is-hover:hover {
    background-color: #f7f7f7; }

.p-post-sidebar__items__list-more {
  margin-top: 5px;
  padding: 0 10px; }
  .p-post-sidebar__items__list-more.is-hidden {
    display: none; }

/* ----------------------------------------
 p-post-article
---------------------------------------- */
.p-post-article__new {
  display: inline-block;
  background-color: #000000;
  color: #fff;
  font-size: 10px;
  font-size: 1.0rem;
  line-height: 1;
  letter-spacing: .2em;
  text-align: center;
  padding: 5px 11px; }
  @media screen and (min-width: 769px) {
    .p-post-article__new {
      margin-bottom: 10px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__new {
      margin-bottom: 15px; } }

.p-post-article__h {
  margin-bottom: 12px; }
  @media screen and (min-width: 769px) {
    .p-post-article__h {
      font-size: 24px;
      font-size: 2.4rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-post-article__h {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 667px) {
    .p-post-article__h {
      font-size: 16px;
      font-size: 1.6rem; } }

.p-post-article__time {
  line-height: 1;
  border-bottom: solid 1px #c4c4c4; }
  @media screen and (min-width: 668px) {
    .p-post-article__time {
      font-size: 12px;
      font-size: 1.2rem;
      padding-bottom: 28px;
      margin-bottom: 25px; } }
  @media screen and (max-width: 667px) {
    .p-post-article__time {
      padding-bottom: 20px;
      margin-bottom: 20px; } }

.p-post-article__content {
  margin-bottom: 46px; }
  .p-post-article__content b, .p-post-article__content strong {
    font-weight: bold; }
  .p-post-article__content a {
    color: #06C;
    text-decoration: underline; }
  .p-post-article__content a:visited {
    color: #800080; }
  .p-post-article__content address {
    display: block;
    font-style: italic; }
  .p-post-article__content blockquote {
    display: block;
    margin: 1em 40px; }
  .p-post-article__content caption {
    display: table-caption;
    zoom: 1;
    text-align: center; }
  .p-post-article__content cite {
    font-style: italic; }
  .p-post-article__content code {
    font-family: monospace;
    font-size: 10pt; }
  .p-post-article__content em {
    font-style: italic; }
  .p-post-article__content h1, .p-post-article__content h2, .p-post-article__content h3, .p-post-article__content h4, .p-post-article__content h5, .p-post-article__content h6 {
    display: block;
    font-weight: bold; }
  .p-post-article__content h1 {
    font-size: 2em;
    margin: 0.67em 0; }
  .p-post-article__content h2 {
    font-size: 1.5em;
    margin: 0.83em 0; }
  .p-post-article__content h3 {
    font-size: 1.17em;
    margin: 1em 0; }
  .p-post-article__content h4 {
    font-size: 1em;
    margin: 1.33em 0; }
  .p-post-article__content h5 {
    font-size: 0.83em;
    margin: 1.67em 0; }
  .p-post-article__content h6 {
    font-size: 0.67em;
    margin: 2.33em 0; }
  .p-post-article__content i {
    font-style: italic; }
  .p-post-article__content pre {
    display: block;
    font-family: monospace;
    font-size: 10pt;
    margin: 1em 0;
    white-space: pre; }
  .p-post-article__content rp {
    font-size: 6pt; }
  .p-post-article__content var {
    font-style: italic; }
  .p-post-article__content p, .p-post-article__content figure {
    margin-bottom: 1em; }
  @media screen and (min-width: 769px) {
    .p-post-article__content div, .p-post-article__content p, .p-post-article__content span, .p-post-article__content iframe, .p-post-article__content blockquote, .p-post-article__content pre, .p-post-article__content abbr, .p-post-article__content address, .p-post-article__content cite, .p-post-article__content code, .p-post-article__content em, .p-post-article__content img, .p-post-article__content ins, .p-post-article__content kbd, .p-post-article__content q, .p-post-article__content small, .p-post-article__content strong, .p-post-article__content sub, .p-post-article__content sup, .p-post-article__content var, .p-post-article__content b, .p-post-article__content i, .p-post-article__content dl, .p-post-article__content dt, .p-post-article__content dd, .p-post-article__content ol, .p-post-article__content ul, .p-post-article__content li, .p-post-article__content fieldset, .p-post-article__content figcaption, .p-post-article__content figure, .p-post-article__content time, .p-post-article__content tr, .p-post-article__content td, .p-post-article__content th, .p-post-article__content tbody, .p-post-article__content tfoot, .p-post-article__content thead {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .p-post-article__content div, .p-post-article__content p, .p-post-article__content span, .p-post-article__content iframe, .p-post-article__content blockquote, .p-post-article__content pre, .p-post-article__content abbr, .p-post-article__content address, .p-post-article__content cite, .p-post-article__content code, .p-post-article__content em, .p-post-article__content img, .p-post-article__content ins, .p-post-article__content kbd, .p-post-article__content q, .p-post-article__content small, .p-post-article__content strong, .p-post-article__content sub, .p-post-article__content sup, .p-post-article__content var, .p-post-article__content b, .p-post-article__content i, .p-post-article__content dl, .p-post-article__content dt, .p-post-article__content dd, .p-post-article__content ol, .p-post-article__content ul, .p-post-article__content li, .p-post-article__content fieldset, .p-post-article__content figcaption, .p-post-article__content figure, .p-post-article__content time, .p-post-article__content tr, .p-post-article__content td, .p-post-article__content th, .p-post-article__content tbody, .p-post-article__content tfoot, .p-post-article__content thead {
      font-size: 13px;
      font-size: 1.3rem; } }
  @media screen and (max-width: 667px) {
    .p-post-article__content div, .p-post-article__content p, .p-post-article__content span, .p-post-article__content iframe, .p-post-article__content blockquote, .p-post-article__content pre, .p-post-article__content abbr, .p-post-article__content address, .p-post-article__content cite, .p-post-article__content code, .p-post-article__content em, .p-post-article__content img, .p-post-article__content ins, .p-post-article__content kbd, .p-post-article__content q, .p-post-article__content small, .p-post-article__content strong, .p-post-article__content sub, .p-post-article__content sup, .p-post-article__content var, .p-post-article__content b, .p-post-article__content i, .p-post-article__content dl, .p-post-article__content dt, .p-post-article__content dd, .p-post-article__content ol, .p-post-article__content ul, .p-post-article__content li, .p-post-article__content fieldset, .p-post-article__content figcaption, .p-post-article__content figure, .p-post-article__content time, .p-post-article__content tr, .p-post-article__content td, .p-post-article__content th, .p-post-article__content tbody, .p-post-article__content tfoot, .p-post-article__content thead {
      font-size: 12px;
      font-size: 1.2rem; } }

/* ========== share ========== */
.p-post-article__share {
  background-color: #f7f7f7;
  margin-bottom: 30px; }
  @media screen and (min-width: 769px) {
    .p-post-article__share {
      padding: 30px 27px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__share {
      padding: 20px 5%; } }

.p-post-article__share__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
  @media screen and (min-width: 769px) {
    .p-post-article__share__content {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__share__content {
      margin-bottom: 20px; } }
  .p-post-article__share__content .p-post-article__share__figure {
    position: relative;
    width: 30.87248%;
    background-image: url("../img/common/noimg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    .p-post-article__share__content .p-post-article__share__figure::after {
      content: '';
      display: block;
      padding-top: 75%; }
    .p-post-article__share__content .p-post-article__share__figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover;" !important;
      position: absolute;
      top: 0;
      left: 0; }
  .p-post-article__share__content p {
    width: 64.59732%; }
    @media screen and (min-width: 769px) {
      .p-post-article__share__content p {
        font-size: 18px;
        font-size: 1.8rem; } }

.p-post-article__share__list {
  display: flex; }
  @media screen and (min-width: 769px) {
    .p-post-article__share__list {
      justify-content: space-between; } }
  @media screen and (max-width: 768px) {
    .p-post-article__share__list {
      justify-content: center; } }
  @media screen and (min-width: 769px) {
    .p-post-article__share__list li {
      max-width: 185px;
      width: 32%; } }
  @media screen and (max-width: 768px) {
    .p-post-article__share__list li {
      width: 40px;
      height: 40px;
      margin: 0 5px; } }
  .p-post-article__share__list a {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    color: #fff;
    font-weight: 400;
    padding: 11px 5px; }
    @media screen and (min-width: 769px) {
      .p-post-article__share__list a {
        display: flex;
        align-items: center;
        justify-content: center; } }
    @media screen and (min-width: 668px) {
      .p-post-article__share__list a {
        font-size: 11px;
        font-size: 1.1rem; } }
    @media screen and (min-width: 1280px) {
      .p-post-article__share__list a {
        font-size: 13px;
        font-size: 1.3rem; } }
    @media screen and (max-width: 768px) {
      .p-post-article__share__list a {
        display: block; } }
    @media screen and (max-width: 667px) {
      .p-post-article__share__list a {
        font-size: 12px;
        font-size: 1.2rem; } }
    .p-post-article__share__list a::before {
      content: '';
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      margin-right: 3px;
      width: 20px;
      height: 19px; }
      @media screen and (max-width: 768px) {
        .p-post-article__share__list a::before {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); } }
    @media screen and (max-width: 768px) {
      .p-post-article__share__list a span {
        display: block;
        opacity: 0;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        position: relative;
        text-align: left; } }

.p-post-article__share__facebook a {
  background-color: #4267b2; }
  .p-post-article__share__facebook a::before {
    background-image: url("../img/common/share_facebook.svg"); }

.p-post-article__share__twitter a {
  background-color: #1da1f2; }
  .p-post-article__share__twitter a::before {
    background-image: url("../img/common/share_twitter.svg"); }

.p-post-article__share__line a {
  background-color: #00b900; }
  .p-post-article__share__line a::before {
    background-image: url("../img/common/share_line.svg"); }

/* ========== address ========== */
.p-post-article__address {
  border: solid 1px #c4c4c4;
  display: flex; }
  @media screen and (min-width: 769px) {
    .p-post-article__address {
      padding: 28px 27px 20px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__address {
      padding: 20px 5%; } }
  .p-post-article__address figure {
    position: relative;
    border-radius: 50%;
    overflow: hidden; }
    @media screen and (min-width: 769px) {
      .p-post-article__address figure {
        margin-right: 30px; } }
    @media screen and (min-width: 668px) {
      .p-post-article__address figure {
        width: 80px;
        height: 80px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-post-article__address figure {
        margin-right: 20px; } }
    @media screen and (max-width: 667px) {
      .p-post-article__address figure {
        width: 70px;
        height: 70px;
        margin-right: 14px; } }
    .p-post-article__address figure img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover;" !important;
      position: absolute;
      top: 0;
      left: 0; }
  .p-post-article__address div {
    flex: 1; }
    .p-post-article__address div p {
      line-height: 1; }

.p-post-article__address__h {
  margin-top: 3px; }
  @media screen and (min-width: 769px) {
    .p-post-article__address__h {
      margin-bottom: 25px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__address__h {
      margin-bottom: 15px; } }
  @media screen and (max-width: 667px) {
    .p-post-article__address__h {
      font-size: 12px;
      font-size: 1.2rem; } }

.p-post-article__address__name a {
  text-decoration: underline; }
  @media screen and (min-width: 769px) {
    .p-post-article__address__name a {
      font-size: 18px;
      font-size: 1.8rem;
      margin-right: 25px; } }
  @media screen and (max-width: 768px) {
    .p-post-article__address__name a {
      margin-right: 1em;
      font-size: 14px;
      font-size: 1.4rem; } }

@media screen and (min-width: 668px) {
  .p-post-article__address__name span {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 667px) {
  .p-post-article__address__name span {
    font-size: 11px;
    font-size: 1.1rem; } }

/* ========== p-post-single__btn ========== */
.p-post-single__btn {
  max-width: 200px;
  width: 100%;
  margin: 0 auto;
  line-height: 1; }
  @media screen and (min-width: 769px) {
    .p-post-single__btn {
      margin-top: 50px; } }
  @media screen and (max-width: 768px) {
    .p-post-single__btn {
      margin-top: 30px; } }
  .p-post-single__btn a {
    display: block;
    width: 100%;
    height: 100%;
    border: solid 1px #000000;
    text-align: center;
    padding: 17px 0; }
    .p-post-single__btn a.is-hover:hover {
      background-color: #000000;
      color: #fff; }

[data-pjax_page="is-page-print"] #l-wrapper {
  overflow: visible; }

/* ----------------------------------------
 p-print-page-ttl
---------------------------------------- */
.p-print-page-ttl .l-page-ttl__figure {
  background-image: url("../img/print/page_ttl.jpg"); }

/* ----------------------------------------
 p-print-intro
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-print-intro {
    padding: 148px 0 186px; } }

@media screen and (max-width: 768px) {
  .p-print-intro {
    padding: 70px 0 90px; } }

.p-print-intro .l-page-intro {
  max-width: 100%; }

.p-print-intro__txt {
  text-align: center;
  line-height: 2.61111; }
  @media screen and (min-width: 769px) {
    .p-print-intro__txt {
      font-size: 18px;
      font-size: 1.8rem; } }

/* ----------------------------------------
 p-print-confidence
---------------------------------------- */
.p-print-confidence {
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .p-print-confidence {
      padding: 90px 0 200px; } }
  @media screen and (max-width: 768px) {
    .p-print-confidence {
      padding: 60px 0 110px; } }
  .p-print-confidence h2, .p-print-confidence h3, .p-print-confidence h4, .p-print-confidence h5, .p-print-confidence p, .p-print-confidence a {
    color: #221714; }
  .p-print-confidence h2 {
    line-height: 1.75;
    text-align: center;
    font-weight: 500; }
    @media screen and (min-width: 769px) {
      .p-print-confidence h2 {
        font-size: 32px;
        font-size: 3.2rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-confidence h2 {
        font-size: 26px;
        font-size: 2.6rem; } }
    @media screen and (max-width: 667px) {
      .p-print-confidence h2 {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 320px) {
      .p-print-confidence h2 {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-print-confidence h2 {
        margin-bottom: 88px; } }
    @media screen and (max-width: 768px) {
      .p-print-confidence h2 {
        margin-bottom: 60px; } }

/* ========== article ========== */
@media screen and (min-width: 769px) {
  .p-print-confidence__art:not(:last-of-type) {
    margin-bottom: 200px; } }

@media screen and (max-width: 768px) {
  .p-print-confidence__art:not(:last-of-type) {
    margin-bottom: 100px; } }

@media screen and (min-width: 769px) {
  .p-print-confidence__art:nth-of-type(2n) .p-print-confidence__art__inr {
    flex-direction: row-reverse; } }

@media screen and (min-width: 769px) {
  .p-print-confidence__art .p-print-confidence__art__inr {
    display: flex;
    align-items: center;
    justify-content: space-between; } }

@media screen and (min-width: 769px) {
  .p-print-confidence__art__txt {
    width: 45.76271%; } }

@media screen and (max-width: 768px) {
  .p-print-confidence__art__txt {
    margin-bottom: 20px; } }

.p-print-confidence__art__txt h3 {
  font-weight: bold;
  line-height: 1.75; }
  @media screen and (min-width: 668px) {
    .p-print-confidence__art__txt h3 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-print-confidence__art__txt h3 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-print-confidence__art__txt h3 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-print-confidence__art__txt h3 {
      margin-bottom: 35px; } }
  @media screen and (max-width: 768px) {
    .p-print-confidence__art__txt h3 {
      margin-bottom: 15px; } }

.p-print-confidence__art__txt p {
  text-align: justify; }

@media screen and (min-width: 769px) {
  .p-print-confidence__art__txt .p-print-banner_01 {
    margin-top: 44px; } }

@media screen and (max-width: 768px) {
  .p-print-confidence__art__txt .p-print-banner_01 {
    margin-top: 25px; } }

@media screen and (min-width: 769px) {
  .p-print-confidence__art__figure {
    width: 49.74576%; } }

/* ========== p-print-confidence__voice ==========*/
.p-print-confidence__voice {
  max-width: 1000px;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .p-print-confidence__voice {
      margin: 94px auto 0; } }
  @media screen and (max-width: 768px) {
    .p-print-confidence__voice {
      margin: 40px auto 0; } }
  .p-print-confidence__voice h3 {
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .p-print-confidence__voice h3 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-confidence__voice h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-print-confidence__voice h3 {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-print-confidence__voice h3 {
        margin-bottom: 25px; } }
    @media screen and (max-width: 768px) {
      .p-print-confidence__voice h3 {
        margin-bottom: 15px; } }
  @media screen and (min-width: 769px) {
    .p-print-confidence__voice ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .p-print-confidence__voice li {
    background-color: #fff; }
    @media screen and (min-width: 769px) {
      .p-print-confidence__voice li {
        width: 48.6%;
        padding: 20px 20px; }
        .p-print-confidence__voice li:nth-last-of-type(n+3) {
          margin-bottom: 30px; } }
    @media screen and (max-width: 768px) {
      .p-print-confidence__voice li {
        padding: 15px 5%; }
        .p-print-confidence__voice li:not(:last-of-type) {
          margin-bottom: 20px; } }

.p-print-confidence__voice__copy {
  font-weight: bold; }
  .p-print-confidence__voice__copy span {
    font-weight: normal; }

@media screen and (min-width: 769px) {
  .p-print-confidence__voice__txt {
    margin-top: 15px; } }

@media screen and (max-width: 768px) {
  .p-print-confidence__voice__txt {
    margin-top: 10px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.75; } }

/* ----------------------------------------
 p-print-print
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-print-print {
    padding: 176px 0 0;
    margin-bottom: 185px; } }

@media screen and (max-width: 768px) {
  .p-print-print {
    padding: 110px 0 0;
    margin-bottom: 135px; } }

.p-print-print h2 {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  letter-spacing: .15em; }
  @media screen and (min-width: 769px) {
    .p-print-print h2 {
      font-size: 60px;
      font-size: 6.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-print-print h2 {
      font-size: 50px;
      font-size: 5.0rem; } }
  @media screen and (max-width: 667px) {
    .p-print-print h2 {
      font-size: 30px;
      font-size: 3.0rem; } }

@media screen and (min-width: 769px) {
  .p-print-print .c-list-nav {
    padding: 50px 0 100px; } }

@media screen and (max-width: 768px) {
  .p-print-print .c-list-nav {
    padding: 25px 0 50px; } }

/* ========== .p-print-print__content ========== */
.p-print-print__content {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 769px) {
    .p-print-print__content {
      padding: 82px 0 88px; } }
  @media screen and (max-width: 768px) {
    .p-print-print__content {
      padding: 50px 0 60px; } }

.p-print-print__content__inr {
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
  background-color: #fff; }
  .p-print-print__content__inr h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #fff; }
    @media screen and (min-width: 769px) {
      .p-print-print__content__inr h3 {
        font-size: 20px;
        font-size: 2.0rem;
        height: 77px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-print__content__inr h3 {
        font-size: 18px;
        font-size: 1.8rem;
        height: 65px; } }
    @media screen and (max-width: 667px) {
      .p-print-print__content__inr h3 {
        font-size: 15px;
        font-size: 1.5rem;
        height: 50px; } }
    .p-print-print__content__inr h3::before {
      content: '';
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (min-width: 668px) {
        .p-print-print__content__inr h3::before {
          width: 21px;
          height: 22px;
          margin-right: 10px; } }
      @media screen and (max-width: 667px) {
        .p-print-print__content__inr h3::before {
          width: 14.7px;
          height: 15.4px;
          margin-right: 7px; } }

@media screen and (min-width: 769px) {
  .p-print-print__content__txt {
    padding: 50px 100px 50px; } }

@media screen and (max-width: 768px) {
  .p-print-print__content__txt {
    padding: 30px 4% 50px; } }

@media screen and (min-width: 769px) {
  .p-print-print__content__items:not(:last-of-type) {
    margin-bottom: 100px; } }

@media screen and (max-width: 768px) {
  .p-print-print__content__items:not(:last-of-type) {
    margin-bottom: 70px; } }

.p-print-print__content__items h4 {
  border-top: solid 1px #787878;
  border-bottom: solid 1px #787878;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-print-print__content__items h4 {
      font-size: 18px;
      font-size: 1.8rem;
      padding: 15px 0;
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .p-print-print__content__items h4 {
      font-size: 14px;
      font-size: 1.4rem;
      padding: 8px 0;
      margin-bottom: 18px; } }

.p-print-print__content__items__p {
  line-height: 1.64286; }
  @media screen and (min-width: 769px) {
    .p-print-print__content__items__p {
      margin-bottom: 5px; } }
  @media screen and (max-width: 768px) {
    .p-print-print__content__items__p {
      margin-bottom: 10px; } }
  @media screen and (min-width: 769px) {
    .p-print-print__content__items__p {
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  .p-print-print__content__items__p span {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .p-print-print__content__items__p span {
        margin-top: 5px; } }
    .p-print-print__content__items__p span::before {
      content: '';
      width: 4px;
      height: 4px;
      border-top: solid 1px #000000;
      border-right: solid 1px #000000;
      transform: rotate(45deg);
      margin-top: 2px;
      margin-right: 5px; }
    .p-print-print__content__items__p span a {
      text-decoration: underline; }
  .p-print-print__content__items__p ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px; }
    @media screen and (min-width: 769px) {
      .p-print-print__content__items__p ul {
        width: 388px; } }
    @media screen and (max-width: 768px) {
      .p-print-print__content__items__p ul {
        max-width: 388px; } }
    .p-print-print__content__items__p ul li {
      width: 48.71134%; }

/* ========== p-print-print__table ========== */
.p-print-print__table {
  width: 100%; }
  .p-print-print__table tbody,
  .p-print-print__table thead {
    width: 100%; }
  .p-print-print__table thead td,
  .p-print-print__table th {
    background-color: #787878;
    color: #fff; }
  .p-print-print__table th, .p-print-print__table td {
    vertical-align: middle;
    border: solid 1px #e4e4e4;
    text-align: center;
    line-height: 1.6875; }
    @media screen and (min-width: 769px) {
      .p-print-print__table th, .p-print-print__table td {
        font-size: 16px;
        font-size: 1.6rem;
        padding: 9px 0; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-print__table th, .p-print-print__table td {
        font-size: 13px;
        font-size: 1.3rem;
        padding: 8px 0; } }
    @media screen and (max-width: 667px) {
      .p-print-print__table th, .p-print-print__table td {
        font-size: 10px;
        font-size: 1.0rem;
        padding: 6px 0; } }
    @media screen and (max-width: 320px) {
      .p-print-print__table th, .p-print-print__table td {
        font-size: 9px;
        font-size: 0.9rem;
        padding: 5px 0; } }
    @media screen and (min-width: 769px) {
      .p-print-print__table th span, .p-print-print__table td span {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-print__table th span, .p-print-print__table td span {
        font-size: 11px;
        font-size: 1.1rem; } }
    @media screen and (max-width: 667px) {
      .p-print-print__table th span, .p-print-print__table td span {
        font-size: 8px;
        font-size: 0.8rem; } }
    @media screen and (max-width: 320px) {
      .p-print-print__table th span, .p-print-print__table td span {
        font-size: 7px;
        font-size: 0.7rem; } }
  .p-print-print__table:not(.p-print-print__table--fixed) thead td,
  .p-print-print__table:not(.p-print-print__table--fixed) tbody th {
    width: 87px; }
  .p-print-print__table:not(.p-print-print__table--fixed) thead th,
  .p-print-print__table:not(.p-print-print__table--fixed) tbody td {
    width: 128px; }

.p-print-print__table--fixed {
  table-layout: fixed; }

.p-print-print__table-samll {
  text-align: right;
  line-height: 1;
  margin-top: 6px; }
  @media screen and (min-width: 668px) {
    .p-print-print__table-samll small {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 667px) {
    .p-print-print__table-samll small {
      font-size: 10px;
      font-size: 1.0rem; } }

/* ========== p-print-pritn__banner ========== */
.p-print-pritn__banner {
  margin: 40px auto 0; }

/* ========== p-print-print__content__btn ========== */
.p-print-print__content__btn {
  background-image: repeating-linear-gradient(45deg, #fff, #fff 11px, #f7f7f7 0, #f7f7f7 20px); }
  @media screen and (min-width: 769px) {
    .p-print-print__content__btn {
      padding: 40px 10px 50px; } }
  @media screen and (max-width: 768px) {
    .p-print-print__content__btn {
      padding: 25px 5% 30px; } }
  .p-print-print__content__btn p {
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 668px) {
      .p-print-print__content__btn p {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-print__content__btn p {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-print-print__content__btn p {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-print-print__content__btn p {
        margin-bottom: 21px; } }
    @media screen and (max-width: 768px) {
      .p-print-print__content__btn p {
        margin-bottom: 20px; } }

.p-print-print__content__btn-list {
  max-width: 650px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 668px) {
    .p-print-print__content__btn-list {
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  .p-print-print__content__btn-list a {
    display: block;
    width: 100%;
    height: 100%; }

.p-print-print__content__btn-list--one {
  max-width: 280px; }
  .p-print-print__content__btn-list--one li {
    max-width: 100%;
    width: 100%; }

.p-print-print__content__btn__01 {
  max-width: 430px; }
  @media screen and (min-width: 668px) {
    .p-print-print__content__btn__01 {
      width: 66.15385%; } }
  @media screen and (max-width: 667px) {
    .p-print-print__content__btn__01 {
      width: 100%;
      margin: 0 auto 10px; } }

@media screen and (min-width: 668px) {
  .p-print-print__content__btn__02 {
    max-width: 200px;
    width: 30.76923%; } }

@media screen and (max-width: 667px) {
  .p-print-print__content__btn__02 {
    max-width: 430px;
    width: 100%;
    margin: 0 auto; } }

.p-print-print__content__btn__02 a {
  background-color: #fff;
  border: solid 1px #787878;
  text-align: center;
  font-weight: bold;
  line-height: 1.6875; }
  @media screen and (min-width: 769px) {
    .p-print-print__content__btn__02 a {
      font-size: 16px;
      font-size: 1.6rem;
      padding: 35px 0; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-print-print__content__btn__02 a {
      font-size: 14px;
      font-size: 1.4rem;
      padding: 35px 0; } }
  @media screen and (max-width: 667px) {
    .p-print-print__content__btn__02 a {
      font-size: 14px;
      font-size: 1.4rem;
      padding: 15px 0; } }
  .p-print-print__content__btn__02 a.is-hover:hover {
    background-color: #000000;
    color: #fff; }

/* ----------------------------------------
 #p-print-film p-print-print
---------------------------------------- */
#p-print-film {
  background-image: url("../img/print/print_01_bg.jpg"); }
  #p-print-film h3 {
    background-color: #81a0a0; }
    #p-print-film h3::before {
      background-image: url("../img/print/icon_01.svg"); }

/* ----------------------------------------
 #p-print-digital p-print-print
---------------------------------------- */
#p-print-digital {
  background-image: url("../img/print/print_02_bg.jpg"); }
  #p-print-digital h3 {
    background-color: #e9a581; }
    #p-print-digital h3::before {
      background-image: url("../img/print/icon_02.svg"); }

/* ----------------------------------------
 p-print-banner_01
---------------------------------------- */
.p-print-banner_01 {
  max-width: 431px; }

.p-print-banner_02 {
  max-width: 430px; }

/* ----------------------------------------
 p-print-samle
---------------------------------------- */
.p-print-samle {
  max-width: 1052px;
  width: 90%;
  margin: 0 auto;
  background-color: #fff; }
  @media screen and (min-width: 769px) {
    .p-print-samle {
      padding: 100px 93px 30px; } }
  @media screen and (max-width: 768px) {
    .p-print-samle {
      padding: 50px 5% 20px; } }
  .p-print-samle h2 {
    line-height: 1.75;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 769px) {
      .p-print-samle h2 {
        font-size: 32px;
        font-size: 3.2rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-samle h2 {
        font-size: 26px;
        font-size: 2.6rem; } }
    @media screen and (max-width: 667px) {
      .p-print-samle h2 {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 320px) {
      .p-print-samle h2 {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-print-samle h2 {
        margin-bottom: 73px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-samle h2 {
        margin-bottom: 50px; } }
    @media screen and (max-width: 667px) {
      .p-print-samle h2 {
        margin-bottom: 30px; } }
  .p-print-samle .js-lbox-close {
    top: 0;
    height: 100%;
    padding: 30px 0; }
    .p-print-samle .js-lbox-close a {
      height: 22px;
      position: -webkit-sticky;
      position: sticky;
      top: 30px; }

@media screen and (min-width: 769px) {
  .p-print-samle__dl {
    margin-bottom: 90px; } }

@media screen and (max-width: 768px) {
  .p-print-samle__dl {
    margin-bottom: 60px; } }

.p-print-samle__dl dt {
  font-weight: bold; }
  @media screen and (min-width: 668px) {
    .p-print-samle__dl dt {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-print-samle__dl dt {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-print-samle__dl dt {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-print-samle__dl dt {
      margin-bottom: 23px; } }
  @media screen and (max-width: 768px) {
    .p-print-samle__dl dt {
      margin-bottom: 14px; } }

@media screen and (min-width: 769px) {
  .p-print-samle__dl p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 21px; } }

@media screen and (max-width: 768px) {
  .p-print-samle__dl p {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 16px; } }

.p-print-samle__list {
  display: flex;
  flex-wrap: wrap; }
  .p-print-samle__list li {
    margin-bottom: 25px; }
    @media screen and (min-width: 415px) {
      .p-print-samle__list li {
        width: 23.25581%; }
        .p-print-samle__list li:not(:nth-of-type(4n)) {
          margin-right: 2.32558%; } }
    @media screen and (max-width: 414px) {
      .p-print-samle__list li {
        width: 48%; }
        .p-print-samle__list li:not(:nth-of-type(2n)) {
          margin-right: 4%; } }
  .p-print-samle__list figcaption {
    margin-top: 10px; }
    @media screen and (min-width: 769px) {
      .p-print-samle__list figcaption {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-print-samle__list figcaption {
        font-size: 13px;
        font-size: 1.3rem; } }
    @media screen and (max-width: 667px) {
      .p-print-samle__list figcaption {
        font-size: 12px;
        font-size: 1.2rem; } }
    .p-print-samle__list figcaption span {
      display: block;
      margin-top: 3px;
      color: #000000;
      line-height: 1.75; }
      @media screen and (min-width: 769px) {
        .p-print-samle__list figcaption span {
          font-size: 12px;
          font-size: 1.2rem; } }
      @media screen and (max-width: 768px) {
        .p-print-samle__list figcaption span {
          font-size: 10px;
          font-size: 1.0rem; } }

/* ----------------------------------------
 p-print-size
---------------------------------------- */
.p-print-size {
  max-width: 594px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
  background-color: #fff; }

/* -----------------------------------------
 privacy
----------------------------------------- */
.p-privacy__content p, .p-privacy__content li, .p-privacy__content address, .p-privacy__content dd {
  line-height: 1.92857; }
  @media screen and (min-width: 668px) {
    .p-privacy__content p, .p-privacy__content li, .p-privacy__content address, .p-privacy__content dd {
      font-size: 13px;
      font-size: 1.3rem; } }
  @media screen and (max-width: 667px) {
    .p-privacy__content p, .p-privacy__content li, .p-privacy__content address, .p-privacy__content dd {
      font-size: 10px;
      font-size: 1.0rem; } }
  @media screen and (max-width: 320px) {
    .p-privacy__content p, .p-privacy__content li, .p-privacy__content address, .p-privacy__content dd {
      font-size: 9px;
      font-size: 0.9rem; } }

.p-privacy__dl {
  margin-top: 30px; }
  .p-privacy__dl dt {
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .p-privacy__dl dt {
        font-size: 17px;
        font-size: 1.7rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-privacy__dl dt {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media screen and (max-width: 667px) {
      .p-privacy__dl dt {
        font-size: 13px;
        font-size: 1.3rem; } }

/* ----------------------------------------
 p-school-page-ttl
---------------------------------------- */
.p-school-page-ttl .l-page-ttl__figure {
  background-image: url("../img/school/page_ttl.jpg"); }

/* ----------------------------------------
 p-school-offering
---------------------------------------- */
.p-school-offering {
  display: flex;
  align-items: flex-start;
  border-bottom: solid 1px #000000;
  margin-top: 35px;
  padding-bottom: 15px; }
  .p-school-offering p {
    line-height: 1; }

.p-school-offering__ttl {
  border-right: solid 1px #000000;
  padding-right: 1em;
  margin-right: 1em; }

.p-school-offering__art {
  flex: 1; }
  .p-school-offering__art a {
    display: inline-block;
    text-decoration: underline;
    line-height: 1.5;
    margin-top: -.25em; }

/* ----------------------------------------
 p-school-sec
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-school-sec {
    margin-bottom: 100px; } }

@media screen and (max-width: 768px) {
  .p-school-sec {
    margin-bottom: 70px; } }

@media screen and (min-width: 769px) {
  .p-school-intro {
    padding: 135px 0; } }

@media screen and (max-width: 768px) {
  .p-school-intro {
    padding: 70px 0 80px; } }

.p-school-intro .l-page-intro {
  max-width: 100%; }

.p-school-intro__txt {
  text-align: center;
  line-height: 2.61111; }
  @media screen and (min-width: 769px) {
    .p-school-intro__txt {
      font-size: 18px;
      font-size: 1.8rem; } }

/* ----------------------------------------
 p-school-sec__art
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-school-sec__art {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    .p-school-sec__art:nth-of-type(2n-1) {
      flex-direction: row-reverse; } }

@media screen and (min-width: 769px) {
  .p-school-sec__art:not(:last-of-type) {
    margin-bottom: 200px; } }

@media screen and (max-width: 768px) {
  .p-school-sec__art:not(:last-of-type) {
    margin-bottom: 100px; } }

@media screen and (min-width: 769px) {
  .p-school-sec__art__txt {
    width: 45.76271%; } }

@media screen and (max-width: 768px) {
  .p-school-sec__art__txt {
    margin-bottom: 20px; } }

.p-school-sec__art__txt h3 {
  font-weight: bold;
  line-height: 1.75; }
  @media screen and (min-width: 668px) {
    .p-school-sec__art__txt h3 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-school-sec__art__txt h3 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-school-sec__art__txt h3 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-school-sec__art__txt h3 {
      margin-bottom: 35px; } }
  @media screen and (max-width: 768px) {
    .p-school-sec__art__txt h3 {
      margin-bottom: 15px; } }

.p-school-sec__art__txt p {
  text-align: justify; }

@media screen and (min-width: 769px) {
  .p-school-sec__art__figure {
    width: 49.74576%; } }

/* ----------------------------------------
 p-school-blog
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-school-blog {
    margin-bottom: 205px; } }

@media screen and (max-width: 768px) {
  .p-school-blog {
    margin-bottom: 80px; } }

.p-school-blog h2 {
  font-weight: bold;
  line-height: 1; }
  @media screen and (min-width: 668px) {
    .p-school-blog h2 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-school-blog h2 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-school-blog h2 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-school-blog h2 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) {
    .p-school-blog h2 {
      margin-bottom: 20px; } }

.p-school-blog .p-post-archive-list {
  justify-content: flex-start; }

@media screen and (min-width: 769px) {
  .p-school-blog .p-post-archive-art {
    width: 30%;
    margin-bottom: 0; }
    .p-school-blog .p-post-archive-art:not(:nth-of-type(3)) {
      margin-right: 5%; } }

/* -----------------------------------------
 p-school-company
----------------------------------------- */
.p-school-company {
  border: solid 1px #000000; }
  @media screen and (min-width: 769px) {
    .p-school-company {
      margin-bottom: 100px;
      padding: 43px 50px 44px; } }
  @media screen and (max-width: 768px) {
    .p-school-company {
      margin-bottom: 70px;
      padding: 35px 5%; } }
  .p-school-company h2 {
    text-align: center;
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .p-school-company h2 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-school-company h2 {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-school-company h2 {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-school-company h2 {
        margin-bottom: 45px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-school-company h2 {
        margin-bottom: 30px; } }
    @media screen and (max-width: 667px) {
      .p-school-company h2 {
        margin-bottom: 25px; } }
  @media screen and (min-width: 769px) {
    .p-school-company figure {
      margin-bottom: 43px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-school-company figure {
      margin-bottom: 28px; } }
  @media screen and (max-width: 667px) {
    .p-school-company figure {
      margin-bottom: 22px; } }

/* ----------------------------------------
 p-schoolentry__art
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-schoolentry__art {
    margin-bottom: 110px; } }

@media screen and (max-width: 768px) {
  .p-schoolentry__art {
    margin-bottom: 70px; } }

.p-schoolentry__art .p-post-article__content {
  margin-bottom: 30px; }
  .p-schoolentry__art .p-post-article__content p {
    margin: 0; }

/* ----------------------------------------
 p-service-page-ttl
---------------------------------------- */
.p-s-business-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/business/business_page_ttl.jpg"); }

/* ----------------------------------------
 p-s-business-category
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-business-category {
    padding-top: 140px;
    margin-bottom: 162px; } }

@media screen and (max-width: 768px) {
  .p-s-business-category {
    padding-top: 70px;
    margin-bottom: 120px; } }

.p-s-business-category__h {
  line-height: 1.75;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-s-business-category__h {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-business-category__h {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 667px) {
    .p-s-business-category__h {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 320px) {
    .p-s-business-category__h {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-s-business-category__h {
      margin-bottom: 132px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-business-category__h {
      margin-bottom: 70px; } }
  @media screen and (max-width: 667px) {
    .p-s-business-category__h {
      margin-bottom: 50px; } }
  @media screen and (max-width: 320px) {
    .p-s-business-category__h {
      margin-bottom: 40px; } }

/* ========== p-s-business-category__list ========== */
.p-s-business-category__list {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .p-s-business-category__list {
      margin-bottom: 38px; } }
  @media screen and (max-width: 768px) {
    .p-s-business-category__list {
      margin-bottom: 40px; } }

@media screen and (min-width: 769px) {
  .p-s-business-category__list__items:nth-last-of-type(n+4) {
    width: 50%; }
  .p-s-business-category__list__items:not(:nth-last-of-type(n+4)) {
    width: 33.333333%;
    margin-top: 96px; }
  .p-s-business-category__list__items:nth-of-type(1), .p-s-business-category__list__items:nth-of-type(3), .p-s-business-category__list__items:nth-of-type(4) {
    border-right: solid 1px #fff; } }

@media screen and (max-width: 768px) {
  .p-s-business-category__list__items:not(:last-of-type) {
    margin-bottom: 50px; } }

@media screen and (min-width: 769px) {
  .p-s-business-category__list__items figure {
    margin-bottom: 43px; } }

@media screen and (max-width: 768px) {
  .p-s-business-category__list__items figure {
    margin-bottom: 20px; } }

@media screen and (min-width: 769px) {
  .p-s-business-category__list__items div {
    padding: 0 30px; } }

@media screen and (max-width: 768px) {
  .p-s-business-category__list__items div {
    padding: 0 2.5%; } }

.p-s-business-category__list__items h3 {
  font-weight: bold; }
  @media screen and (min-width: 668px) {
    .p-s-business-category__list__items h3 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-business-category__list__items h3 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-s-business-category__list__items h3 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-s-business-category__list__items h3 {
      margin-bottom: 18px; } }
  @media screen and (max-width: 768px) {
    .p-s-business-category__list__items h3 {
      margin-bottom: 10px; } }
  @media screen and (max-width: 320px) {
    .p-s-business-category__list__items h3 {
      font-size: 14px;
      font-size: 1.4rem; } }

@media screen and (min-width: 769px) {
  .p-s-business-category__p {
    padding-left: 30px; } }

@media screen and (max-width: 768px) {
  .p-s-business-category__p {
    padding-left: 2.5%; } }

.p-s-business-category__p a {
  text-decoration: underline; }

/* ----------------------------------------
 p-s-business-flow
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-business-flow {
    margin-bottom: 187px; } }

@media screen and (max-width: 768px) {
  .p-s-business-flow {
    margin-bottom: 100px; } }

.p-s-business-flow h2 {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  letter-spacing: .15em; }
  @media screen and (min-width: 769px) {
    .p-s-business-flow h2 {
      font-size: 60px;
      font-size: 6.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-business-flow h2 {
      font-size: 50px;
      font-size: 5.0rem; } }
  @media screen and (max-width: 667px) {
    .p-s-business-flow h2 {
      font-size: 30px;
      font-size: 3.0rem; } }
  @media screen and (min-width: 769px) {
    .p-s-business-flow h2 {
      margin-bottom: 62px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-business-flow h2 {
      margin-bottom: 40px; } }
  @media screen and (max-width: 667px) {
    .p-s-business-flow h2 {
      margin-bottom: 25px; } }

.p-s-business-flow__ol {
  counter-reset: number; }
  @media screen and (min-width: 769px) {
    .p-s-business-flow__ol {
      display: flex;
      justify-content: space-between; } }

.p-s-business-flow__li {
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .p-s-business-flow__li {
      width: 30.59322%;
      padding: 30px 30px 27px; } }
  @media screen and (max-width: 768px) {
    .p-s-business-flow__li {
      padding: 30px 5%; }
      .p-s-business-flow__li:not(:last-of-type) {
        margin-bottom: 20px; } }
  .p-s-business-flow__li::before {
    content: counter(number);
    counter-increment: number;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #221714;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    font-weight: 300;
    color: #fff; }
    @media screen and (min-width: 769px) {
      .p-s-business-flow__li::before {
        font-size: 30px;
        font-size: 3.0rem;
        width: 50px;
        height: 50px;
        margin: 0 auto 24px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-business-flow__li::before {
        font-size: 26px;
        font-size: 2.6rem;
        width: 45px;
        height: 45px;
        margin: 0 auto 25px; } }
    @media screen and (max-width: 667px) {
      .p-s-business-flow__li::before {
        font-size: 20px;
        font-size: 2.0rem;
        width: 40px;
        height: 40px;
        margin: 0 auto 20px; } }
  .p-s-business-flow__li h3 {
    text-align: center;
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .p-s-business-flow__li h3 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-business-flow__li h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-s-business-flow__li h3 {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-s-business-flow__li h3 {
        margin-bottom: 18px; } }
    @media screen and (max-width: 768px) {
      .p-s-business-flow__li h3 {
        margin-bottom: 12px; } }
  .p-s-business-flow__li small {
    display: block;
    line-height: 1.92857; }
    @media screen and (min-width: 769px) {
      .p-s-business-flow__li small {
        margin-top: 17px; } }
    @media screen and (max-width: 768px) {
      .p-s-business-flow__li small {
        margin-top: 10px; } }

/* ----------------------------------------
 p-s-business-gallery
---------------------------------------- */
@media screen and (min-width: 769px) {
  #p-s-business-gallery {
    margin-bottom: 194px; } }

@media screen and (max-width: 768px) {
  #p-s-business-gallery {
    margin-bottom: 110px; } }

/* ----------------------------------------
 p-service-page-ttl
---------------------------------------- */
.p-s-family-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/family_page_ttl.jpg"); }

.p-s-baby-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/baby_page_ttl.jpg"); }

.p-s-shichigosan-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/shichigosan_page_ttl.jpg"); }

.p-s-hatachi-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/hatachi_page_ttl.jpg"); }

.p-s-bridal-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/bridal_page_ttl.jpg"); }

.p-s-various-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/character/various_page_ttl.jpg"); }

/* ----------------------------------------
 p-s-character-pagenavi
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-character-pagenavi {
    padding: 85px 0 100px; } }

@media screen and (max-width: 768px) {
  .p-s-character-pagenavi {
    padding: 55px 0 70px; } }

/* ----------------------------------------
 p-s-character-sec
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-character-sec:not(:last-of-type) {
    margin-bottom: 190px; } }

@media screen and (max-width: 768px) {
  .p-s-character-sec:not(:last-of-type) {
    margin-bottom: 110px; } }

.p-s-character-sec__h {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #c4c4c4;
  font-size: 14px;
  font-size: 1.4rem; }
  @media screen and (min-width: 769px) {
    .p-s-character-sec__h {
      margin-bottom: 32px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-sec__h {
      margin-bottom: 20px; } }
  .p-s-character-sec__h::before, .p-s-character-sec__h::after {
    content: '';
    display: block;
    width: 36px;
    height: 1px;
    background-color: #c4c4c4; }
  .p-s-character-sec__h span {
    margin: 0 12px; }

.p-s-character-intro--01 {
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .p-s-character-intro--01 {
      margin-bottom: 100px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-intro--01 {
      margin-bottom: 80px; } }

@media screen and (min-width: 769px) {
  .p-s-character-intro--02 {
    padding: 195px 0 140px; } }

@media screen and (max-width: 768px) {
  .p-s-character-intro--02 {
    padding: 70px 0 100px; } }

/* ----------------------------------------
 p-s-character-gallery
---------------------------------------- */
.p-s-character-gallery {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto; }
  .p-s-character-gallery h2 {
    text-align: center;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    letter-spacing: .15em;
    font-weight: 300; }
    @media screen and (min-width: 769px) {
      .p-s-character-gallery h2 {
        font-size: 60px;
        font-size: 6.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-character-gallery h2 {
        font-size: 50px;
        font-size: 5.0rem; } }
    @media screen and (max-width: 667px) {
      .p-s-character-gallery h2 {
        font-size: 30px;
        font-size: 3.0rem; } }
    @media screen and (min-width: 769px) {
      .p-s-character-gallery h2 {
        margin-bottom: 74px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-character-gallery h2 {
        margin-bottom: 40px; } }
    @media screen and (max-width: 667px) {
      .p-s-character-gallery h2 {
        margin-bottom: 25px; } }
  @media screen and (min-width: 769px) {
    .p-s-character-gallery .js-filter-slider {
      padding: 0 30px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-gallery .js-filter-slider {
      padding: 0 5%; } }
  .p-s-character-gallery .js-filter-slider__content {
    padding-top: 66.667%; }

.p-s-character-gallery__more {
  max-width: 418px;
  width: 80%;
  position: relative;
  z-index: 3; }
  @media screen and (min-width: 769px) {
    .p-s-character-gallery__more {
      margin: -55px 0 0 auto; } }
  @media screen and (max-width: 768px) {
    .p-s-character-gallery__more {
      margin: -20px 0 0 auto; } }
  .p-s-character-gallery__more a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #000000;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .03em;
    font-weight: 200;
    letter-spacing: 0.2em; }
    @media screen and (min-width: 769px) {
      .p-s-character-gallery__more a {
        font-size: 24px;
        font-size: 2.4rem;
        padding: 31px 0; } }
    @media screen and (max-width: 768px) {
      .p-s-character-gallery__more a {
        font-size: 16px;
        font-size: 1.6rem;
        padding: 18px 0; } }
    .p-s-character-gallery__more a::after {
      content: '';
      display: block;
      background-image: url("../img/common/more_icon.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (min-width: 769px) {
        .p-s-character-gallery__more a::after {
          width: 9px;
          height: 13px;
          margin-left: 22px; } }
      @media screen and (max-width: 768px) {
        .p-s-character-gallery__more a::after {
          width: 6.3px;
          height: 9.1px;
          margin-left: 10px; } }

/* ----------------------------------------
 p-s-character-price
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-character-price {
    margin: 220px auto; } }

@media screen and (max-width: 768px) {
  .p-s-character-price {
    margin: 100px auto 130px; } }

.p-s-character-price h2 {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  letter-spacing: .15em;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    .p-s-character-price h2 {
      font-size: 60px;
      font-size: 6.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-price h2 {
      font-size: 50px;
      font-size: 5.0rem; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price h2 {
      font-size: 30px;
      font-size: 3.0rem; } }
  @media screen and (min-width: 769px) {
    .p-s-character-price h2 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-price h2 {
      margin-bottom: 25px; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price h2 {
      margin-bottom: 20px; } }

/* ========== p-s-character-price__art ========== */
@media screen and (min-width: 769px) {
  .p-s-character-price__art-our {
    display: flex;
    justify-content: space-between; } }

.p-s-character-price__art {
  position: relative;
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .p-s-character-price__art {
      width: 48%;
      padding: 30px 40px 40px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-price__art {
      max-width: 480px;
      width: 100%;
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-price__art {
      padding: 30px 5% 40px; }
      .p-s-character-price__art:not(:last-of-type) {
        margin-bottom: 30px; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price__art {
      padding: 30px 5% 30px; }
      .p-s-character-price__art:not(:last-of-type) {
        margin-bottom: 25px; } }

.p-s-character-price__art__plan {
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-s-character-price__art__plan {
      font-size: 12px;
      font-size: 1.2rem;
      margin-bottom: 12px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-price__art__plan {
      font-size: 11px;
      font-size: 1.1rem;
      margin-bottom: 10px; } }

.p-s-character-price__art__ttl {
  text-align: center;
  line-height: 1.5; }
  @media screen and (min-width: 769px) {
    .p-s-character-price__art__ttl {
      font-size: 18px;
      font-size: 1.8rem;
      margin-bottom: 36px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-price__art__ttl {
      font-size: 15px;
      font-size: 1.5rem;
      margin-bottom: 28px; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price__art__ttl {
      font-size: 14px;
      font-size: 1.4rem;
      margin-bottom: 20px; } }

.p-s-character-price__art__detail {
  background-color: #fff;
  margin-top: 20px; }
  @media screen and (min-width: 668px) {
    .p-s-character-price__art__detail {
      padding: 0 20px 7px; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price__art__detail {
      padding: 5px 5% 3px; } }
  .p-s-character-price__art__detail dl {
    width: 100%; }
    .p-s-character-price__art__detail dl:not(:last-of-type) {
      border-bottom: dotted 1px #000000; }
    @media screen and (min-width: 769px) {
      .p-s-character-price__art__detail dl {
        padding: 13px 0; } }
    @media screen and (min-width: 668px) {
      .p-s-character-price__art__detail dl {
        display: table; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-character-price__art__detail dl {
        padding: 10px 0; } }
    @media screen and (max-width: 667px) {
      .p-s-character-price__art__detail dl {
        padding: 8px 0; } }
  @media screen and (min-width: 668px) {
    .p-s-character-price__art__detail dt, .p-s-character-price__art__detail dd {
      display: table-cell;
      vertical-align: text-top; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price__art__detail dt, .p-s-character-price__art__detail dd, .p-s-character-price__art__detail li span {
      line-height: 1.41667; } }
  .p-s-character-price__art__detail dt {
    font-size: 12px;
    font-size: 1.2rem;
    color: #646464; }
    @media screen and (min-width: 668px) {
      .p-s-character-price__art__detail dt {
        width: 70px;
        text-align: right;
        line-height: 1.41667; } }
    @media screen and (max-width: 667px) {
      .p-s-character-price__art__detail dt {
        margin-bottom: 5px; } }
  @media screen and (min-width: 668px) {
    .p-s-character-price__art__detail dd {
      padding-right: 15px;
      padding-left: 28px;
      line-height: 1.92857; } }
  .p-s-character-price__art__detail li span {
    display: inline-block; }
    @media screen and (min-width: 668px) {
      .p-s-character-price__art__detail li span {
        line-height: 1.92857; } }

.p-s-character-price__w-01 {
  width: 5.5em; }

.p-s-character-price__w-02 {
  width: 12.5em; }

/* ======お気に入り ======*/
.is-recommended::before {
  content: '\304A\3059\3059\3081';
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000000;
  border-radius: 50%;
  color: #fff;
  position: absolute; }
  @media screen and (min-width: 769px) {
    .is-recommended::before {
      width: 100px;
      height: 100px;
      font-size: 16px;
      font-size: 1.6rem;
      top: -26px;
      left: -20px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .is-recommended::before {
      width: 80px;
      height: 80px;
      font-size: 13px;
      font-size: 1.3rem;
      top: -20px;
      left: -14px; } }
  @media screen and (max-width: 667px) {
    .is-recommended::before {
      width: 60px;
      height: 60px;
      font-size: 10px;
      font-size: 1.0rem;
      top: -16px;
      left: -10px; } }

/* ========== p-s-character-price__attention ========== */
@media screen and (min-width: 769px) {
  .p-s-character-price__attention {
    margin-top: 23px;
    margin-bottom: 44px; } }

@media screen and (max-width: 768px) {
  .p-s-character-price__attention {
    margin-top: 15px;
    margin-bottom: 30px; } }

.p-s-character-price__attention li {
  line-height: 1.92857; }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-price__attention li {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media screen and (max-width: 667px) {
    .p-s-character-price__attention li {
      font-size: 10px;
      font-size: 1.0rem; } }

/* ========== p-s-character-price__btn ========== */
@media screen and (min-width: 769px) {
  .p-s-character-price__btn a {
    padding: 43px 0; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-s-character-price__btn a {
    padding: 30px 0; } }

@media screen and (max-width: 667px) {
  .p-s-character-price__btn a {
    padding: 30px 0; } }

/* ========== 準備中 ========== */
.p-s-character-price__txt {
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-s-character-price__txt {
      margin: 32px 0 60px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-price__txt {
      margin: 25px 0; } }

/* ========== p-s-character-price__content ========== */
@media screen and (min-width: 769px) {
  .p-s-character-price__content {
    margin-top: 60px; } }

@media screen and (max-width: 768px) {
  .p-s-character-price__content {
    margin-top: 30px; } }

/* =====  ===== */
.p-s-character-price__list {
  border-top: solid 1px #000000; }
  .p-s-character-price__list li {
    border-bottom: solid 1px #000000; }
    @media screen and (min-width: 769px) {
      .p-s-character-price__list li {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 22px 30px; } }
    @media screen and (max-width: 768px) {
      .p-s-character-price__list li {
        padding: 15px 5%; } }
  @media screen and (max-width: 768px) {
    .p-s-character-price__list p {
      line-height: 1.7; } }

@media screen and (min-width: 769px) {
  .p-s-character-price__list__price {
    width: 25.53191%; } }

@media screen and (max-width: 768px) {
  .p-s-character-price__list__price {
    margin-top: 10px;
    padding-top: 10px;
    border-top: solid 1px #efefef; } }

.p-s-character-price__small {
  margin-top: 13px; }
  .p-s-character-price__small small {
    line-height: 1.92857; }

/* ----------------------------------------
 p-s-character-service
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-character-service {
    margin-top: 200px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service {
    margin-top: 120px; } }

.p-s-character-service__content {
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__content {
      padding: 50px 50px;
      display: flex;
      align-items: flex-start;
      justify-content: space-between; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__content {
      padding: 45px 2.5%; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__txt {
    width: 36.66667%; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__txt {
    margin-bottom: 20px; } }

.p-s-character-service__txt h2 {
  font-weight: bold; }
  @media screen and (min-width: 668px) {
    .p-s-character-service__txt h2 {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-s-character-service__txt h2 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-s-character-service__txt h2 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 668px) {
    .p-s-character-service__txt h2 {
      margin-bottom: 20px; } }
  @media screen and (max-width: 667px) {
    .p-s-character-service__txt h2 {
      margin-bottom: 10px; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__figure {
    width: 51.66667%; } }

/* ========== ========== */
.p-s-character-service__list {
  margin-top: 18px; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__list dt {
      font-size: 15px;
      font-size: 1.5rem;
      margin-bottom: 8px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__list dt {
      font-size: 14px;
      font-size: 1.4rem;
      margin-bottom: 5px; } }
  .p-s-character-service__list ul {
    display: flex;
    justify-content: space-between; }
  .p-s-character-service__list li {
    width: 30.90909%; }
    .p-s-character-service__list li a {
      display: block;
      width: 100%;
      height: 100%;
      text-align: center;
      border: solid 1px #000000;
      padding: 4.5px 0;
      font-size: 12px;
      font-size: 1.2rem; }
      .p-s-character-service__list li a.is-hover:hover {
        background-color: #000000;
        color: #fff; }

/* ========== p-s-character-service__lbox ========== */
.p-s-character-service__lbox {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  background-color: #fff;
  color: #000000; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__lbox {
      padding: 90px 70px 65px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__lbox {
      padding: 50px 5% 35px; } }
  .p-s-character-service__lbox h3 {
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 769px) {
      .p-s-character-service__lbox h3 {
        font-size: 32px;
        font-size: 3.2rem;
        margin-bottom: 42px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-s-character-service__lbox h3 {
        font-size: 26px;
        font-size: 2.6rem;
        margin-bottom: 36px; } }
    @media screen and (max-width: 667px) {
      .p-s-character-service__lbox h3 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 26px; } }

/* ===== p-s-character-service__table ===== */
@media screen and (min-width: 769px) {
  .p-s-character-service__table-content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__table-content .p-s-character-service__table-wrapper {
    width: 49%; }
    .p-s-character-service__table-content .p-s-character-service__table-wrapper:nth-last-of-type(n+2) {
      margin: 0 0 60px; }
    .p-s-character-service__table-content .p-s-character-service__table-wrapper:not(:nth-last-of-type(n+2)) {
      margin: 0; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__table-content .p-s-character-service__table-wrapper:not(:last-of-type) {
    margin-bottom: 30px; } }

.p-s-character-service__table-wrapper {
  max-width: 380px;
  width: 100%;
  margin: 0 auto; }

.p-s-character-service__table,
.p-s-character-service__table tbody,
.p-s-character-service__table thead {
  width: 100%; }

.p-s-character-service__table, .p-s-character-service__table tr, .p-s-character-service__table caption {
  border-bottom: solid 1px #000000; }

@media screen and (min-width: 769px) {
  .p-s-character-service__table td, .p-s-character-service__table th, .p-s-character-service__table caption {
    font-size: 14px;
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-s-character-service__table td, .p-s-character-service__table th, .p-s-character-service__table caption {
    font-size: 13px;
    font-size: 1.3rem; } }

@media screen and (max-width: 667px) {
  .p-s-character-service__table td, .p-s-character-service__table th, .p-s-character-service__table caption {
    font-size: 11px;
    font-size: 1.1rem; } }

.p-s-character-service__table td, .p-s-character-service__table th {
  text-align: right; }

.p-s-character-service__table caption {
  background-color: #efefef;
  padding: 17.5px 0; }

@media screen and (min-width: 769px) {
  .p-s-character-service__table thead th:last-of-type {
    padding-right: 25px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__table thead th:last-of-type {
    padding-right: 10px; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__table tbody th:first-of-type {
    padding-left: 25px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__table tbody th:first-of-type {
    padding-left: 10px; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__table tbody td:last-of-type {
    padding-right: 25px;
    padding-left: 25px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__table tbody td:last-of-type {
    padding-right: 10px;
    padding-left: 10px; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__table th, .p-s-character-service__table td {
    padding-top: 11.5px;
    padding-bottom: 11.5px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__table th, .p-s-character-service__table td {
    padding-top: 6px;
    padding-bottom: 6px; } }

.p-s-character-service__table--no-thead tbody {
  border-top: solid 1px #000000; }

.p-s-character-service__table--no-thead .p-s-character-service__table-small {
  text-align: left; }

.p-s-character-service__table-small {
  text-align: right;
  line-height: 1;
  margin-top: 6px; }
  .p-s-character-service__table-small small {
    line-height: 1.5; }
    @media screen and (min-width: 668px) {
      .p-s-character-service__table-small small:not(:first-of-type) {
        margin-top: 8px; } }
    @media screen and (max-width: 667px) {
      .p-s-character-service__table-small small:not(:first-of-type) {
        margin-top: 3px; } }
    @media screen and (min-width: 668px) {
      .p-s-character-service__table-small small {
        display: inline-block;
        font-size: 14px;
        font-size: 1.4rem;
        margin-left: 1em; } }
    @media screen and (max-width: 667px) {
      .p-s-character-service__table-small small {
        display: block;
        font-size: 11px;
        font-size: 1.1rem; } }

/* ===== p-s-character-service__lbox__detail ===== */
.p-s-character-service__lbox__detail {
  background-color: #efefef; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__lbox__detail {
      padding: 25px 30px 30px;
      margin-top: 50px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__lbox__detail {
      padding: 25px 5% 30px;
      margin-top: 30px; } }

@media screen and (min-width: 769px) {
  .p-s-character-service__lbox__detail__dl:not(:last-of-type) {
    margin-bottom: 14px; } }

@media screen and (max-width: 768px) {
  .p-s-character-service__lbox__detail__dl:not(:last-of-type) {
    margin-bottom: 20px; } }

.p-s-character-service__lbox__detail__dl dt {
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__lbox__detail__dl dt {
      margin-bottom: 9px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__lbox__detail__dl dt {
      margin-bottom: 6px; } }

.p-s-character-service__lbox__detail__dl dd {
  line-height: 1.5; }

.p-s-character-service__detail-icon::before {
  content: '●'; }

.p-s-character-service__lbox__detail__list {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .p-s-character-service__lbox__detail__list {
      margin-top: 13px;
      margin-right: -30px;
      margin-bottom: -14px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-service__lbox__detail__list {
      margin-right: -20px;
      margin-bottom: -10px; } }
  .p-s-character-service__lbox__detail__list li {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (min-width: 769px) {
      .p-s-character-service__lbox__detail__list li {
        width: 134px;
        margin-right: 30px;
        margin-bottom: 14px; } }
    @media screen and (max-width: 768px) {
      .p-s-character-service__lbox__detail__list li {
        width: 120px;
        margin-right: 20px;
        margin-bottom: 10px; } }

/* ----------------------------------------
 p-s-character-list-sec
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-s-character-list-wrapper {
    margin-top: 56px;
    margin-bottom: 180px; } }

@media screen and (max-width: 768px) {
  .p-s-character-list-wrapper {
    margin-top: 20px;
    margin-bottom: 110px; } }

.p-s-character-list-sec {
  border-bottom: solid 1px #000000; }
  .p-s-character-list-sec:nth-of-type(1) {
    border-top: solid 1px #000000; }
  @media screen and (min-width: 769px) {
    .p-s-character-list-sec {
      padding: 64px 0 100px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-list-sec {
      padding: 50px 0 60px; } }

.p-s-character-list-sec__photo {
  display: flex; }
  @media screen and (min-width: 769px) {
    .p-s-character-list-sec__photo {
      margin-top: 93px; } }
  @media screen and (max-width: 768px) {
    .p-s-character-list-sec__photo {
      margin-top: 30px; } }
  .p-s-character-list-sec__photo li {
    width: 29%; }
    .p-s-character-list-sec__photo li:not(:nth-of-type(3n)) {
      margin-right: 6.5%; }

/* ----------------------------------------
 p-service-page-ttl
---------------------------------------- */
.p-service-page-ttl .l-page-ttl__figure {
  background-image: url("../img/service/page_ttl.jpg"); }

/* ----------------------------------------
 p-service-page-ttl
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-service-intro {
    padding: 185px 0 175px; } }

@media screen and (max-width: 768px) {
  .p-service-intro {
    padding: 70px 0 100px; } }

/* ----------------------------------------
 p-service-studio
---------------------------------------- */
.p-service-studio {
  background-color: #f7f7f7; }
  @media screen and (min-width: 769px) {
    .p-service-studio {
      padding: 70px 0 104px;
      margin-bottom: 205px; } }
  @media screen and (max-width: 768px) {
    .p-service-studio {
      padding: 50px 0 60px;
      margin-bottom: 90px; } }

.p-service-studio__copy {
  line-height: 1.75;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-service-studio__copy {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-service-studio__copy {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 667px) {
    .p-service-studio__copy {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 320px) {
    .p-service-studio__copy {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-service-studio__copy {
      margin-bottom: 73px; } }
  @media screen and (max-width: 768px) {
    .p-service-studio__copy {
      margin-bottom: 30px; } }

@media screen and (min-width: 668px) {
  .p-service-studio__figure {
    margin-bottom: 78px; } }

@media screen and (max-width: 667px) {
  .p-service-studio__figure {
    margin-bottom: 30px; } }

.p-service-studio__contents {
  max-width: 570px;
  width: 100%;
  margin: 0 auto; }
  .p-service-studio__contents h2 {
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .p-service-studio__contents h2 {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 20px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-service-studio__contents h2 {
        font-size: 20px;
        font-size: 2.0rem;
        margin-bottom: 18px; } }
    @media screen and (max-width: 667px) {
      .p-service-studio__contents h2 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 10px; } }

/* ----------------------------------------
 p-service-sec
---------------------------------------- */
.p-service-sec h2 {
  text-align: center;
  line-height: 1.75;
  font-weight: 500; }
  @media screen and (min-width: 769px) {
    .p-service-sec h2 {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-service-sec h2 {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 667px) {
    .p-service-sec h2 {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 320px) {
    .p-service-sec h2 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-service-sec h2 {
      margin-bottom: 34px; } }
  @media screen and (max-width: 768px) {
    .p-service-sec h2 {
      margin-bottom: 20px; } }

.p-service-sec__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 667px) {
    .p-service-sec__list li {
      width: 49%; } }
  .p-service-sec__list a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: underline; }
    @media screen and (max-width: 667px) {
      .p-service-sec__list a {
        font-size: 12px;
        font-size: 1.2rem; } }
    .p-service-sec__list a.is-hover:hover img {
      transform: scale(1.05) rotate(0.0001deg);
      -webkit-filter: brightness(107%);
              filter: brightness(107%); }
  .p-service-sec__list figure {
    overflow: hidden; }
    .p-service-sec__list figure img {
      -webkit-filter: brightness(100%);
              filter: brightness(100%);
      transition: transform 1700ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-filter 1000ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 1700ms cubic-bezier(0.215, 0.61, 0.355, 1), filter 1000ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: transform 1700ms cubic-bezier(0.215, 0.61, 0.355, 1), filter 1000ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-filter 1000ms cubic-bezier(0.215, 0.61, 0.355, 1); }

@media screen and (min-width: 668px) {
  .p-service-sec__list__l {
    width: 49.53125%; } }

@media screen and (min-width: 668px) {
  .p-service-sec__list__s {
    width: 32.8125%; } }

@media screen and (min-width: 668px) {
  .p-service-sec__list__caption {
    padding: 0 10px; } }

@media screen and (max-width: 667px) {
  .p-service-sec__list__caption {
    padding: 0 5px; } }

/* ----------------------------------------
 p-service-detail
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-service-detail {
    margin-bottom: 265px; } }

@media screen and (max-width: 768px) {
  .p-service-detail {
    margin-bottom: 120px; } }

@media screen and (min-width: 668px) {
  .p-service-detail .p-service-sec__list li:nth-last-of-type(n+4) {
    margin-bottom: 100px; } }

@media screen and (max-width: 667px) {
  .p-service-detail .p-service-sec__list li {
    margin-bottom: 40px; } }

@media screen and (min-width: 769px) {
  .p-service-detail .p-service-sec__list figure {
    margin-bottom: 30px; } }

@media screen and (max-width: 768px) {
  .p-service-detail .p-service-sec__list figure {
    margin-bottom: 15px; } }

.p-service-detail__p {
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-service-detail__p {
      margin-bottom: 100px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-service-detail__p {
      margin-bottom: 70px; } }
  @media screen and (max-width: 667px) {
    .p-service-detail__p {
      margin-bottom: 50px; } }

/* ----------------------------------------
 .p-service-ad
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-service-ad {
    margin-bottom: 200px; } }

@media screen and (max-width: 768px) and (min-width: 668px) {
  .p-service-ad {
    margin-bottom: 170px; } }

@media screen and (max-width: 667px) {
  .p-service-ad {
    margin-bottom: 130px; } }

@media screen and (min-width: 769px) {
  .p-service-ad .p-service-sec__list {
    margin-bottom: 100px; } }

@media screen and (max-width: 768px) {
  .p-service-ad .p-service-sec__list {
    margin-bottom: 40px; } }

@media screen and (min-width: 668px) {
  .p-service-ad .p-service-sec__list li {
    margin-bottom: 10px; } }

@media screen and (max-width: 667px) {
  .p-service-ad .p-service-sec__list li {
    margin-bottom: 5px; } }

.p-service-ad__p {
  max-width: 400px;
  width: 100%;
  text-align: center;
  line-height: 1.71429; }
  @media screen and (min-width: 769px) {
    .p-service-ad__p {
      margin: 0 auto 92px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-service-ad__p {
      margin: 0 auto 70px; } }
  @media screen and (max-width: 667px) {
    .p-service-ad__p {
      margin: 0 auto 50px;
      padding: 0 5%; } }

.p-service-ad__btn {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 668px) {
    .p-service-ad__btn a {
      padding: 31px 0; } }
  @media screen and (max-width: 667px) {
    .p-service-ad__btn a {
      padding: 14px 0; } }

/* ----------------------------------------
 p-service-staff
---------------------------------------- */
.p-service-staff {
  border: solid 1px #000000; }
  @media screen and (min-width: 769px) {
    .p-service-staff {
      padding: 88px 100px 100px;
      margin-bottom: 190px; } }
  @media screen and (max-width: 768px) {
    .p-service-staff {
      padding: 50px 5% 65px;
      margin-bottom: 120px; } }
  .p-service-staff h2 {
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .p-service-staff h2 {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 95px; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-service-staff h2 {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 50px; } }
    @media screen and (max-width: 667px) {
      .p-service-staff h2 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 40px; } }

@media screen and (min-width: 668px) {
  .p-service-staff__items {
    display: flex;
    align-items: center;
    justify-content: space-between; } }

@media screen and (min-width: 668px) {
  .p-service-staff__items:not(:last-of-type) {
    margin-bottom: 100px; } }

@media screen and (max-width: 667px) {
  .p-service-staff__items:not(:last-of-type) {
    margin-bottom: 60px; } }

@media screen and (min-width: 769px) {
  .p-service-staff__figure {
    width: 50%; } }

@media screen and (max-width: 768px) {
  .p-service-staff__figure {
    margin-bottom: 10px; } }

@media screen and (min-width: 769px) {
  .p-service-staff__txt {
    width: 43.75%; } }

@media screen and (min-width: 769px) {
  .p-service-staff__title {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 5px; } }

@media screen and (max-width: 768px) {
  .p-service-staff__title {
    font-size: 10px;
    font-size: 1.0rem;
    margin-bottom: 3px; } }

@media screen and (min-width: 769px) {
  .p-service-staff__name {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 21px; } }

@media screen and (max-width: 768px) {
  .p-service-staff__name {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px; } }

.p-service-staff__comment {
  line-height: 1.75; }
  @media screen and (min-width: 769px) {
    .p-service-staff__comment {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .p-service-staff__comment {
      font-size: 12px;
      font-size: 1.2rem; } }

/* -----------------------------------------
 sitemap
----------------------------------------- */
.p-sitemap__big {
  display: block; }
  @media screen and (min-width: 769px) {
    .p-sitemap__big {
      font-size: 24px;
      font-size: 2.4rem;
      padding: 29px 10px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-sitemap__big {
      font-size: 18px;
      font-size: 1.8rem;
      padding: 20px 10px; } }
  @media screen and (max-width: 667px) {
    .p-sitemap__big {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 15px 10px; } }
  .p-sitemap__big.is-hover:hover {
    background-color: #efefef; }

.p-sitemap__items {
  border-bottom: solid 1px #c4c4c4; }

.p-sitemap__child {
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .p-sitemap__child {
      margin-bottom: 20px; } }
  @media screen and (max-width: 768px) {
    .p-sitemap__child {
      margin-bottom: 10px; } }
  @media screen and (min-width: 769px) {
    .p-sitemap__child li {
      margin-bottom: 16px; } }
  @media screen and (max-width: 768px) {
    .p-sitemap__child li {
      margin-bottom: 8px; } }
  .p-sitemap__child li:not(:last-of-type) {
    display: flex;
    align-items: center; }
    .p-sitemap__child li:not(:last-of-type)::after {
      content: '|';
      display: block; }
      @media screen and (min-width: 668px) {
        .p-sitemap__child li:not(:last-of-type)::after {
          margin: 0 25px; } }
      @media screen and (max-width: 667px) {
        .p-sitemap__child li:not(:last-of-type)::after {
          margin: 0 15px; } }
  @media screen and (min-width: 769px) {
    .p-sitemap__child a {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-sitemap__child a {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media screen and (max-width: 667px) {
    .p-sitemap__child a {
      font-size: 11px;
      font-size: 1.1rem; } }

/* ----------------------------------------
 p-top-visual
---------------------------------------- */
#p-top-visual {
  position: relative;
  min-height: 500px; }
  @media screen and (min-width: 769px) {
    #p-top-visual {
      height: 100vh;
      padding: 0 50px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 768px) {
    #p-top-visual {
      max-height: 812px;
      padding: 0 5%;
      margin-bottom: 100px; } }

.p-top-visual__txt {
  display: flex;
  flex-direction: column;
  position: absolute;
  right: 0;
  z-index: 1; }
  @media screen and (min-width: 769px) {
    .p-top-visual__txt {
      align-items: center;
      justify-content: center;
      width: 50%;
      height: 100%;
      top: 0; } }
  @media screen and (max-width: 768px) {
    .p-top-visual__txt {
      align-items: flex-end;
      justify-content: flex-end;
      width: 100%;
      bottom: 40px;
      padding-right: 10%; } }

.p-top-visual__copy {
  text-align: justify;
  font-weight: 500;
  line-height: 1.72727;
  letter-spacing: 0.1em; }
  @media screen and (min-width: 769px) {
    .p-top-visual__copy {
      font-size: 33px;
      font-size: 3.3rem;
      margin-top: 2px; } }
  @media screen and (min-width: 1280px) {
    .p-top-visual__copy {
      font-size: 38px;
      font-size: 3.8rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-visual__copy {
      font-size: 30px;
      font-size: 3.0rem; } }
  @media screen and (max-width: 667px) {
    .p-top-visual__copy {
      font-size: 24px;
      font-size: 2.4rem;
      font-size: calc( 1.0rem + 3vw);
      margin-bottom: 20px; } }

.p-top-visual__scroll {
  text-align: center; }
  @media screen and (min-width: 769px) {
    .p-top-visual__scroll {
      width: 100%;
      position: absolute;
      right: 0;
      bottom: 7.13477%; } }
  @media screen and (max-width: 768px) {
    .p-top-visual__scroll img {
      height: 50px; } }

/* ========== figure ========== */
#p-top-visual__figure {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-will-change: transform;
  -moz-will-change: transform;
  -ms-will-change: transform;
  -o-will-change: transform;
  will-change: transform; }
  #p-top-visual__figure li {
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    @media screen and (min-width: 769px) {
      #p-top-visual__figure li {
        width: 74.83051%; } }
    @media screen and (max-width: 768px) {
      #p-top-visual__figure li {
        padding: 75px 0 80px; } }
  @media screen and (min-width: 769px) {
    #p-top-visual__figure img {
      -o-object-position: left center;
         object-position: left center;
      font-family: 'object-fit: contain; object-position: left center;' !important; } }
  @media screen and (max-width: 768px) {
    #p-top-visual__figure img {
      -o-object-position: center center;
         object-position: center center;
      font-family: 'object-fit: contain; object-position: center center;' !important; } }

/* ========== sns ========== */
@media screen and (min-width: 769px) {
  .p-top-visual__sns {
    width: 50px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; } }

@media screen and (max-width: 768px) {
  .p-top-visual__sns {
    display: none; } }

@media screen and (min-width: 769px) {
  .p-top-visual__sns-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; } }

.p-top-visual__sns__instagram a::before {
  content: '\f16d'; }

.p-top-visual__sns__facebook a::before {
  content: '\f39e'; }

/* ----------------------------------------
 p-top common
---------------------------------------- */
.p-top-btn {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
  line-height: 1; }
  .p-top-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #221714;
    text-align: center;
    color: #fff;
    font-weight: bold; }
    @media screen and (min-width: 668px) {
      .p-top-btn a {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-top-btn a {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 667px) {
      .p-top-btn a {
        font-size: 15px;
        font-size: 1.5rem; } }
    @media screen and (min-width: 769px) {
      .p-top-btn a {
        padding: 25px 0; } }
    @media screen and (max-width: 768px) and (min-width: 668px) {
      .p-top-btn a {
        padding: 20px 0; } }
    @media screen and (max-width: 667px) {
      .p-top-btn a {
        padding: 17px 0; } }
    .p-top-btn a::after {
      content: '';
      display: block;
      background-image: url("../img/common/more_icon.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (min-width: 769px) {
        .p-top-btn a::after {
          width: 9px;
          height: 13px;
          margin-left: 20px; } }
      @media screen and (max-width: 768px) {
        .p-top-btn a::after {
          width: 6.3px;
          height: 9.1px;
          margin-left: 10px; } }

/* ----------------------------------------
 p-top-service
---------------------------------------- */
@media screen and (min-width: 769px) {
  #p-top-service {
    margin-bottom: 160px; } }

@media screen and (max-width: 768px) {
  #p-top-service {
    margin-bottom: 120px; } }

@media screen and (min-width: 769px) {
  #p-top-service .l-page-intro {
    margin-bottom: 187px; } }

@media screen and (max-width: 768px) {
  #p-top-service .l-page-intro {
    margin-bottom: 140px; } }

@media screen and (min-width: 769px) {
  #p-top-service .l-page-intro__copy {
    text-align: center; } }

@media screen and (min-width: 769px) {
  .p-top-service__block {
    margin-bottom: 122px; } }

@media screen and (max-width: 768px) {
  .p-top-service__block {
    margin-bottom: 50px; } }

@media screen and (min-width: 769px) {
  .p-top-service__art {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .p-top-service__art:nth-of-type(2n) {
      flex-direction: row-reverse; } }

@media screen and (min-width: 769px) {
  .p-top-service__art:not(:last-of-type) {
    margin-bottom: 140px; } }

@media screen and (max-width: 768px) {
  .p-top-service__art:not(:last-of-type) {
    margin-bottom: 60px; } }

@media screen and (min-width: 769px) {
  .p-top-service__art__txt,
  .p-top-service__art__figure {
    width: 50%; } }

@media screen and (min-width: 769px) {
  .p-top-service__art__txt {
    padding: 0 5.9322%; } }

@media screen and (min-width: 1280px) {
  .p-top-service__art__txt {
    padding: 0 8.47458%; } }

@media screen and (max-width: 768px) {
  .p-top-service__art__txt {
    margin-bottom: 20px; } }

.p-top-service__art__h {
  font-weight: bold;
  letter-spacing: 0.025em; }
  @media screen and (min-width: 668px) {
    .p-top-service__art__h {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-service__art__h {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-top-service__art__h {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 769px) {
    .p-top-service__art__h {
      margin-bottom: 35px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-service__art__h {
      margin-bottom: 20px; } }
  @media screen and (max-width: 667px) {
    .p-top-service__art__h {
      margin-bottom: 15px; } }

.p-top-service__art__figure {
  position: relative; }

/* ----------------------------------------
 p-top-character
---------------------------------------- */
@media screen and (min-width: 769px) {
  #p-top-character {
    margin-bottom: 220px; } }

@media screen and (max-width: 768px) {
  #p-top-character {
    margin-bottom: 110px; } }

#p-top-character .l-page-intro {
  max-width: 620px; }
  @media screen and (min-width: 769px) {
    #p-top-character .l-page-intro {
      margin-bottom: 118px; } }
  @media screen and (max-width: 768px) {
    #p-top-character .l-page-intro {
      margin-bottom: 60px; } }

#p-top-character .l-page-intro__copy {
  text-align: left;
  letter-spacing: 0; }

.p-top-character__slider {
  background-image: url("../img/top/service_slider.jpg");
  background-repeat: repeat-x;
  -webkit-animation: infinite_slider_pc linear infinite;
          animation: infinite_slider_pc linear infinite; }
  @media screen and (min-width: 769px) {
    .p-top-character__slider {
      height: 560px;
      margin-bottom: 133px;
      background-size: 2490px;
      -webkit-animation-duration: 90000ms;
              animation-duration: 90000ms; } }
  @media screen and (max-width: 768px) {
    .p-top-character__slider {
      height: 280px;
      margin-bottom: 70px;
      background-size: 1245px;
      -webkit-animation-duration: 130000ms;
              animation-duration: 130000ms; } }

@-webkit-keyframes infinite_slider_pc {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2490px 0; } }

@keyframes infinite_slider_pc {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2490px 0; } }

@-webkit-keyframes infinite_slider_sp {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -1245px 0; } }

@keyframes infinite_slider_sp {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -1245px 0; } }

/* ----------------------------------------
 p-top-news
---------------------------------------- */
@media screen and (min-width: 769px) {
  .p-top-news {
    margin-bottom: 170px; } }

@media screen and (max-width: 768px) {
  .p-top-news {
    margin-bottom: 120px; } }

.p-top-news h2 {
  line-height: 1; }
  @media screen and (min-width: 769px) {
    .p-top-news h2 {
      min-width: 145px;
      font-size: 54px;
      font-size: 5.4rem;
      padding-right: 25px;
      margin-right: 40px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      border-right: solid 3px #000000; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-news h2 {
      font-size: 50px;
      font-size: 5.0rem;
      padding-bottom: 0px; } }
  @media screen and (max-width: 667px) {
    .p-top-news h2 {
      font-size: 30px;
      font-size: 3.0rem; } }
  @media screen and (max-width: 768px) {
    .p-top-news h2::after {
      content: '';
      display: block;
      width: 100px;
      height: 2px;
      background-color: #000000; } }
  @media screen and (max-width: 768px) and (max-width: 768px) and (min-width: 668px) {
    .p-top-news h2::after {
      margin: 15px 0 0; } }
  @media screen and (max-width: 768px) and (max-width: 667px) {
    .p-top-news h2::after {
      margin: 10px 0 0; } }

@media screen and (min-width: 769px) {
  .p-top-news__inr {
    display: flex;
    justify-content: space-between; } }

.p-top-news__content {
  padding: 10px 0; }
  @media screen and (min-width: 769px) {
    .p-top-news__content {
      flex: 1; } }

/* === p-top-news__list === */
.p-top-news__list__items a {
  display: flex;
  align-items: flex-start; }
  .p-top-news__list__items a.is-hover:hover {
    text-decoration: underline; }

.p-top-news__list__items time, .p-top-news__list__items span {
  line-height: 1.8; }
  @media screen and (max-width: 667px) {
    .p-top-news__list__items time, .p-top-news__list__items span {
      font-size: 12px;
      font-size: 1.2rem; } }

.p-top-news__list__items time {
  display: flex;
  align-items: center; }
  .p-top-news__list__items time::after {
    content: '・・・'; }

.p-top-news__list__items span {
  flex: 1; }

/* === p-top-news__more === */
.p-top-news__more {
  text-align: right; }
  .p-top-news__more a.is-hover:hover {
    text-decoration: underline; }

/* ----------------------------------------
 p-top-shop
---------------------------------------- */
#p-top-shop {
  padding-bottom: 50px;
  margin-top: -50px; }
  @media screen and (min-width: 769px) {
    #p-top-shop {
      margin-bottom: 200px; } }
  @media screen and (max-width: 768px) {
    #p-top-shop {
      margin-bottom: 130px; } }

.p-top-shop__h {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .03em;
  letter-spacing: .15em;
  font-weight: 300; }
  @media screen and (min-width: 769px) {
    .p-top-shop__h {
      font-size: 60px;
      font-size: 6.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-shop__h {
      font-size: 50px;
      font-size: 5.0rem; } }
  @media screen and (max-width: 667px) {
    .p-top-shop__h {
      font-size: 30px;
      font-size: 3.0rem; } }
  @media screen and (min-width: 769px) {
    .p-top-shop__h {
      margin-bottom: 74px; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-shop__h {
      margin-bottom: 40px; } }
  @media screen and (max-width: 667px) {
    .p-top-shop__h {
      margin-bottom: 30px; } }

/* ========== p-top-shop__content ========== */
.p-top-shop__content {
  max-width: 1170px;
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .p-top-shop__content {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin-bottom: 100px; } }
  @media screen and (max-width: 768px) {
    .p-top-shop__content {
      margin-bottom: 60px; } }

@media screen and (min-width: 769px) {
  .p-top-shop__content__txt {
    width: 355px; } }

@media screen and (min-width: 1280px) {
  .p-top-shop__content__txt {
    margin-left: 126px; } }

@media screen and (max-width: 768px) {
  .p-top-shop__content__txt {
    margin-bottom: 30px; } }

.p-top-shop__copy,
.p-top-shop__address dt {
  font-weight: bold; }
  @media screen and (min-width: 668px) {
    .p-top-shop__copy,
    .p-top-shop__address dt {
      font-size: 20px;
      font-size: 2.0rem; } }
  @media screen and (max-width: 768px) and (min-width: 668px) {
    .p-top-shop__copy,
    .p-top-shop__address dt {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media screen and (max-width: 667px) {
    .p-top-shop__copy,
    .p-top-shop__address dt {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media screen and (min-width: 668px) {
    .p-top-shop__copy,
    .p-top-shop__address dt {
      margin-bottom: 13px; } }
  @media screen and (max-width: 667px) {
    .p-top-shop__copy,
    .p-top-shop__address dt {
      margin-bottom: 8px; } }

@media screen and (max-width: 667px) {
  .p-top-shop__p,
  .p-top-shop__address dd {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (min-width: 769px) {
  .p-top-shop__address {
    margin-top: 34px; } }

@media screen and (max-width: 768px) {
  .p-top-shop__address {
    margin-top: 25px; } }

@media screen and (min-width: 769px) {
  .p-top-shop__content__figure {
    max-width: 587px;
    width: 50.17094%; } }

/* ========== p-top-shop__map ========== */
.p-top-shop__map {
  height: 250px; }

/* ----------------------------------------
 ie
---------------------------------------- */
body.ua-ie {
  font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }
