@charset "UTF-8";

/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */

/* ========================================================================== HTML5 display definitions ========================================================================== */

/** Correct `block` display not defined in IE 8/9. */

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

article {
  overflow: hidden;
}

/** Correct `inline-block` display not defined in IE 8/9. */

audio,
canvas,
video {
  display: inline-block;
}

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */

audio:not([controls]) {
  display: none;
  height: 0;
}

/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */

[hidden],
template {
  display: none;
}

/* ========================================================================== Base ========================================================================== */

/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/** Remove default margin. */

body {
  margin: 0;
}

/* ========================================================================== Links ========================================================================== */

/** Remove the gray background color from active links in IE 10. */

a {
  background: transparent;
}

/** Address `outline` inconsistency between Chrome and other browsers. */

a:focus {
  outline: thin dotted;
}

/** Improve readability when focused and also mouse hovered in all browsers. */

a:active,
a:hover {
  outline: 0;
}

/* ========================================================================== Typography ========================================================================== */

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/** Address styling not present in IE 8/9, Safari 5, and Chrome. */

abbr[title] {
  border-bottom: 1px dotted;
}

/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */

b,
strong,
.strong {
  font-weight: bold;
}

/** Address styling not present in Safari 5 and Chrome. */

dfn,
em,
.em {
  font-style: italic;
}

/** Address differences between Firefox and other browsers. */

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/* proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens) */

p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* Addresses margins set differently in IE6/7. */

pre {
  margin: 0;
}

/** Correct font family set oddly in Safari 5 and Chrome. */

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/** Improve readability of pre-formatted text in all browsers. */

pre {
  white-space: pre-wrap;
}

/** Set consistent quote types. */

q {
  quotes: "\201C""\201D""\2018""\2019";
}

/** Address inconsistent and variable font size in all browsers. */

q:before,
q:after {
  content: "";
  content: none;
}

small,
.small {
  font-size: 75%;
}

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ========================================================================== Lists ========================================================================== */

/* Addresses margins set differently in IE6/7. */

dl,
menu,
ol,
ul {
  margin: 0;
}

dd {
  margin: 0;
}

/* Addresses paddings set differently in IE6/7. */

menu {
  padding: 0 0 0 40px;
}

ol,
ul {
  padding: 0;
  list-style-type: none;
}

/* Corrects list images handled incorrectly in IE7. */

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* ========================================================================== Embedded content ========================================================================== */

/** Remove border when inside `a` element in IE 8/9. */

img {
  border: 0;
  max-width: 100%;
  display: block;
  height: auto;
}

/** Correct overflow displayed oddly in IE 9. */

svg:not(:root) {
  overflow: hidden;
}

/* ========================================================================== Figures ========================================================================== */

/** Address margin not present in IE 8/9 and Safari 5. */

figure {
  margin: 0;
}

/* ========================================================================== Forms ========================================================================== */

/** Define consistent border, margin, and padding. */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */

button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */

button,
input {
  line-height: normal;
}

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */

button,
select {
  text-transform: none;
}

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/** Re-set default cursor for disabled elements. */

button[disabled],
html input[disabled] {
  cursor: default;
}

/** 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/** Remove inner padding and border in Firefox 4+. */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */

textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ========================================================================== Tables ========================================================================== */

/** Remove most spacing between table cells. */

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

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.clearfix,
.cf,
.comment-respond {
  zoom: 1;
}

.clearfix:before,
.clearfix:after,
.cf:before,
.comment-respond:before,
.cf:after,
.comment-respond:after {
  content: "";
  display: table;
}

.clearfix:after,
.cf:after,
.comment-respond:after {
  clear: both;
}

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/

span.amp {
  font-family: Baskerville, "Goudy Old Style", Palatino, "Book Antiqua", serif !important;
  font-style: italic;
}

p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

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

/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/

/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/

.last-col {
  padding-right: 0 !important;
}

/* Portrait tablet to landscape */

/* Landscape to small desktop */

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: inline-block;
  height: auto;
  line-height: 3rem;
  padding: 6px 20px 6px 10px;
  font-size: 1em;
  color: #5c6b80;
  border-radius: 3px;
  vertical-align: middle;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  width: auto;
  max-width: 100%;
  font-family: "Vollkorn SC", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  background-color: #fff;
}

input[type="text"]:focus,
input[type="text"]:active,
input[type="password"]:focus,
input[type="password"]:active,
input[type="datetime"]:focus,
input[type="datetime"]:active,
input[type="datetime-local"]:focus,
input[type="datetime-local"]:active,
input[type="date"]:focus,
input[type="date"]:active,
input[type="month"]:focus,
input[type="month"]:active,
input[type="time"]:focus,
input[type="time"]:active,
input[type="week"]:focus,
input[type="week"]:active,
input[type="number"]:focus,
input[type="number"]:active,
input[type="email"]:focus,
input[type="email"]:active,
input[type="url"]:focus,
input[type="url"]:active,
input[type="search"]:focus,
input[type="search"]:active,
input[type="tel"]:focus,
input[type="tel"]:active,
input[type="color"]:focus,
input[type="color"]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: #fafafa;
  outline: none;
}

input[type="text"].error,
input[type="text"].is-invalid,
input[type="password"].error,
input[type="password"].is-invalid,
input[type="datetime"].error,
input[type="datetime"].is-invalid,
input[type="datetime-local"].error,
input[type="datetime-local"].is-invalid,
input[type="date"].error,
input[type="date"].is-invalid,
input[type="month"].error,
input[type="month"].is-invalid,
input[type="time"].error,
input[type="time"].is-invalid,
input[type="week"].error,
input[type="week"].is-invalid,
input[type="number"].error,
input[type="number"].is-invalid,
input[type="email"].error,
input[type="email"].is-invalid,
input[type="url"].error,
input[type="url"].is-invalid,
input[type="search"].error,
input[type="search"].is-invalid,
input[type="tel"].error,
input[type="tel"].is-invalid,
input[type="color"].error,
input[type="color"].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}

input[type="text"].success,
input[type="text"].is-valid,
input[type="password"].success,
input[type="password"].is-valid,
input[type="datetime"].success,
input[type="datetime"].is-valid,
input[type="datetime-local"].success,
input[type="datetime-local"].is-valid,
input[type="date"].success,
input[type="date"].is-valid,
input[type="month"].success,
input[type="month"].is-valid,
input[type="time"].success,
input[type="time"].is-valid,
input[type="week"].success,
input[type="week"].is-valid,
input[type="number"].success,
input[type="number"].is-valid,
input[type="email"].success,
input[type="email"].is-valid,
input[type="url"].success,
input[type="url"].is-valid,
input[type="search"].success,
input[type="search"].is-valid,
input[type="tel"].success,
input[type="tel"].is-valid,
input[type="color"].success,
input[type="color"].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}

input[type="text"][disabled],
input[type="text"].is-disabled,
input[type="password"][disabled],
input[type="password"].is-disabled,
input[type="datetime"][disabled],
input[type="datetime"].is-disabled,
input[type="datetime-local"][disabled],
input[type="datetime-local"].is-disabled,
input[type="date"][disabled],
input[type="date"].is-disabled,
input[type="month"][disabled],
input[type="month"].is-disabled,
input[type="time"][disabled],
input[type="time"].is-disabled,
input[type="week"][disabled],
input[type="week"].is-disabled,
input[type="number"][disabled],
input[type="number"].is-disabled,
input[type="email"][disabled],
input[type="email"].is-disabled,
input[type="url"][disabled],
input[type="url"].is-disabled,
input[type="search"][disabled],
input[type="search"].is-disabled,
input[type="tel"][disabled],
input[type="tel"].is-disabled,
input[type="color"][disabled],
input[type="color"].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}

input[type="text"][disabled]:focus,
input[type="text"][disabled]:active,
input[type="text"].is-disabled:focus,
input[type="text"].is-disabled:active,
input[type="password"][disabled]:focus,
input[type="password"][disabled]:active,
input[type="password"].is-disabled:focus,
input[type="password"].is-disabled:active,
input[type="datetime"][disabled]:focus,
input[type="datetime"][disabled]:active,
input[type="datetime"].is-disabled:focus,
input[type="datetime"].is-disabled:active,
input[type="datetime-local"][disabled]:focus,
input[type="datetime-local"][disabled]:active,
input[type="datetime-local"].is-disabled:focus,
input[type="datetime-local"].is-disabled:active,
input[type="date"][disabled]:focus,
input[type="date"][disabled]:active,
input[type="date"].is-disabled:focus,
input[type="date"].is-disabled:active,
input[type="month"][disabled]:focus,
input[type="month"][disabled]:active,
input[type="month"].is-disabled:focus,
input[type="month"].is-disabled:active,
input[type="time"][disabled]:focus,
input[type="time"][disabled]:active,
input[type="time"].is-disabled:focus,
input[type="time"].is-disabled:active,
input[type="week"][disabled]:focus,
input[type="week"][disabled]:active,
input[type="week"].is-disabled:focus,
input[type="week"].is-disabled:active,
input[type="number"][disabled]:focus,
input[type="number"][disabled]:active,
input[type="number"].is-disabled:focus,
input[type="number"].is-disabled:active,
input[type="email"][disabled]:focus,
input[type="email"][disabled]:active,
input[type="email"].is-disabled:focus,
input[type="email"].is-disabled:active,
input[type="url"][disabled]:focus,
input[type="url"][disabled]:active,
input[type="url"].is-disabled:focus,
input[type="url"].is-disabled:active,
input[type="search"][disabled]:focus,
input[type="search"][disabled]:active,
input[type="search"].is-disabled:focus,
input[type="search"].is-disabled:active,
input[type="tel"][disabled]:focus,
input[type="tel"][disabled]:active,
input[type="tel"].is-disabled:focus,
input[type="tel"].is-disabled:active,
input[type="color"][disabled]:focus,
input[type="color"][disabled]:active,
input[type="color"].is-disabled:focus,
input[type="color"].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

textarea {
  width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: block;
  margin: 30px auto 0;
  border: none;
  background: #699ad1;
  color: #fff;
  line-height: 2.5;
  font-size: 2rem;
  letter-spacing: 0.04em;
  border-radius: 10px;
  padding: 0 100px;
}

input[type="password"] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}

input.wpcf7-form-control.wpcf7-number.wpcf7-validates-as-number {
  width: 100px;
}

html,
body {
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 62.5%;
  line-height: 1.5;
  color: #333;
  background-color: #f0f0f0;
}

.wrap {
  max-width: 1320px;
  width: 96%;
  margin: 0 auto;
  position: relative;
}

.df,
.df-nomo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sp-only {
  display: none;
}

#container {
  position: relative;
}

p.right {
  text-align: right;
}

.center {
  text-align: center;
  font-size: 2rem;
}

.gray {
  background-color: #f0f0f0;
}

/*********************
LINK STYLES
*********************/

a,
a:visited {
  color: #333;
  text-decoration: none;
  /* on hover */
  /* on click */
  /* mobile tap color */
}

a:hover,
a:focus,
a:visited:hover,
a:visited:focus {
  color: #1c1c1c;
  text-decoration: underline;
}

a:link,
a:visited:link {
  /* this highlights links on iPhones/iPads. so it basically works like the :hover selector for mobile devices. */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
p {
  /*text-rendering: optimizelegibility;*/
  /*font-weight: 300;*/
  margin: 0;
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
p a {
  text-decoration: none;
}

h1,
.h1 {
  font-size: 2.5em;
  line-height: 1.333em;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h2,
.h2 {
  font-size: 1.75em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h3,
.h3 {
  font-size: 1.125em;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h4,
.h4 {
  font-size: 1.1em;
  /*font-weight: 300;*/
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h5,
.h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/*********************
HEADER STYLES
*********************/

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

#inner-header {
  width: 60%;
}

#logo {
  width: 23%;
}

/*********************
NAVIGATION STYLES
*********************/

.nav {
  border-bottom: 0;
  margin: 0;
  /* highlight current page */
  /* end current highlighters */
}

.nav li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 0.75em;
}

.nav li ul.sub-menu li a,
.nav li ul.children li a {
  padding-left: 30px;
}

/* end .nav */

/*********************
TOPPAGE
*********************/

.main {
  position: relative;
}

.main > img {
  position: relative;
}

.main .slick-track {
  padding: 0;
}

.slider-for li {
  position: relative;
}

.slider-for .ttl-wrap {
  position: absolute;
  width: auto;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
  padding: 50px;
}

.slider-for p.ttl {
  font-size: 5rem;
  font-weight: 500;
  color: #222;
  text-shadow: 2px 2px 0 #fff;
}

.slider-for p.sub {
  display: inline-block;
  font-size: 3rem;
  font-weight: 500;
  color: #db3030;
  margin-top: 30px;
  text-shadow: 2px 2px 0 #fff;
}

.slider-for img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.slider-for .period {
  position: absolute;
  bottom: 40px;
  right: 100px;
  border-radius: 50%;
  background: #2b58a5;
  color: #fff;
  height: 180px;
  width: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.slider-for .period h4 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.slider-for .period p {
  font-size: 1.4rem;
  margin: 0.3rem auto;
}

.sl {
  border-bottom: 10px solid #699ad1;
}

.sl ul.slider-top li {
  /*padding: 20px;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.sl ul.slider-top li:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #0000003d;
  z-index: 1;
  top: 0;
  left: 0;
}
.sl ul.slider-top li.slick-active.slick-center:after {
  display: none;
}

.sl ul.slider-top li img {
  /*margin-right: 20px;*/
  width: 100%;
  height: auto;
  /*-o-object-fit: cover;
  object-fit: cover;*/
  /* IE対策 */
  /*font-family: 'object-fit: cover;';*/
}
.sl ul.slider-top li p {
  width: 50%;
}
@media all and (-ms-high-contrast: none) {
  .sl ul.slider-top li img {
    /*width: 50%;*/
  }
  .sl ul.slider-top li p {
    /*width: 50%;*/
  }
}
@supports (-ms-ime-align: auto) {
  .sl ul.slider-top li img {
    /*width: 50%;*/
  }
  .sl ul.slider-top li p {
    /*width: 50%;*/
  }
}
.sl ul.slider-top li p {
  line-height: 1.625;
  font-size: 1.6rem;
}

/*.sl ul.slider-top li:nth-child(odd) {
  background: #f0f0f0;
}

.sl ul.slider-top li:nth-child(even) {
  background: #c7c7c7;
}*/

.sl .slick-track {
  padding: 0;
}

.sl .slick-dotted.slick-slider {
  margin: 0;
  border-bottom: 6px solid #699ad1;
}

.sl .slick-prev,
.sl .slick-next {
  top: 0;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  -webkit-transform: inherit;
  transform: inherit;
  border-radius: 0;
  margin: 0;
  width: 40px;
}

.sl .slick-next {
  right: 0;
  z-index: 9;
}

.sl .slick-next:before {
  content: "\f054";
  font-family: "Font Awesome 5 Free", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: 900;
}

.sl .slick-prev {
  left: 0;
  z-index: 9;
}

.sl .slick-prev::before {
  content: "\f053";
  font-family: "Font Awesome 5 Free", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: 900;
}

.sl .slick-prev:before,
.sl .slick-next:before {
  color: #fff;
}

.slick-track {
  padding: 5px 0;
}

.slick-dots {
  bottom: -5px;
  left: 36px;
  width: auto;
}

.slick-dots li {
  margin: 0 3px;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  background: #333;
}

.slick-dots li button:before {
  opacity: 1;
  color: #fff;
  opacity: 1;
  border: 4px solid #333;
  font-family: "slick";
  position: absolute;
  top: 0;
  left: 0;
  width: 9px;
  height: 9px;
  content: "";
  background: #fff;
  border-radius: 50%;
}

ul.sns {
  margin-top: 56px;
}

ul.sns li {
  margin: 0 auto 35px;
}

ul.sns li img {
  height: 30px;
  width: auto;
}

.center {
  text-align: center;
}

#main h2 {
  line-height: 1.625;
  font-size: 4.8rem;
  font-weight: normal;
  color: #699ad1;
  position: relative;
  display: inline-block;
  margin: 0 auto 20px;
  min-width: 300px;
  text-align: center;
}

#main h2 span {
  display: block;
  line-height: 1;
  font-size: 2.4rem;
  letter-spacing: 0.34em;
  color: #333;
}

#main h2:before,
#main h2:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: -10px;
  left: 0;
}

#main h2:after {
  background: #699ad1;
  right: 0;
  left: auto;
}

section {
  padding: 70px 0 60px;
}

a.btn {
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.08em;
  background: #699ad1;
  color: #fff;
  padding: 10px 30px 10px 0;
  display: table;
  border-radius: 5px;
  margin: 40px auto 0;
  font-weight: 300;
}
a.btn:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
}
a.btn:before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 19px;
  background: url(../images/top/arrow@2x.png) no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 14px;
}

#info {
  /*-webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);*/
  background: #fff;
}

#info h2:before,
#info h2:after {
  display: none;
}
.archive #info {
  -webkit-box-shadow: none;
  box-shadow: none;
}
ul.timeline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 2% -2%;
}

ul.timeline li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0 3%;
  border-right: 1px dotted #999;
}
ul.timeline li:last-child {
  border-right: 0;
}
ul.timeline li li {
  padding: 0;
  border-right: 0;
}
ul.timeline li img {
  margin-bottom: 2rem;
}

ul.timeline li .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

ul.timeline li .cat ul.post-categories li a {
  line-height: 1.4;
  background: #949494;
  font-size: 1.6rem;
  font-weight: 300;
}

ul.timeline li .cat p.date {
  background: #699ad1;
  color: #fff;
  line-height: 1.4;
  font-size: 1.6rem;
  padding: 0 6px;
  font-weight: 300;
}

ul.timeline li p {
  line-height: 1.66667;
  font-size: 1.8rem;
  font-weight: 300;
}

ul.timeline.news {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*-webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;*/
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

ul.timeline.news > li {
  width: 29%;
  -webkit-box-flex: inherit;
  -ms-flex: inherit;
  flex: inherit;
  border: 0;
}
ul.timeline.news p.date {
  font-size: 1.6rem;
  font-weight: 300;
}
ul.timeline.news li img {
  margin-bottom: 0;
}
ul.timeline.news li {
  margin-top: 30px;
}

ul.post-categories li {
  margin: 0;
  text-align: center;
}

ul.post-categories li a {
  background: #000;
  padding: 0 6px;
  color: #fff;
  line-height: 2.25;
  font-size: 1.6rem;
  display: block;
}

#reason {
  padding: 15% 0 30%;
  position: relative;
  min-width: 1100px;
}

#reason .wrap {
  z-index: 9;
}

#reason h2:after,
#reason h2:before {
  display: none;
}

#reason p.ttl {
  display: inline-block;
  background: #fff;
  padding: 4px;
  font-size: 2rem;
}

#reason:after {
  content: "";
  display: block;
  width: 48%;
  height: 80%;
  background: #699ad1;
  z-index: 0;
  position: absolute;
  top: 10%;
  left: 0;
}

#reason:before {
  content: "";
  display: block;
  width: 70%;
  height: 60%;
  background: url(../images/top/bg-line@2x.png);
  background-position: center;
  background-size: contain;
  z-index: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}

#reason .item {
  position: absolute;
  width: 30%;
  top: 0;
  right: 0;
  margin: auto;
  z-index: 9;
}

#reason .item + .item {
  top: auto;
  bottom: 0;
  left: 0;
  max-width: 480px;
}
#reason .wrap {
  max-width: 1440px;
}
#reason .wrap h2 {
  width: 100%;
}
#reason .wrap h2 img {
  width: 40%;
}

#reason .wrap .reason-inner img {
  width: 26%;
}

#reason .wrap {
  margin: 0 0 0 5%;
}

#reason .item img.resize-ie {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
@media all and (-ms-high-contrast: none) {
  #reason .item img.resize-ie {
    width: 100%;
  }
}
#reason .item img,
#reason .item h4 {
  margin-bottom: 2rem;
}

#reason .item h4 img {
  margin-top: -30px;
  margin-left: -40px;
  margin-bottom: -15px;
}

#reason .item p {
  background: #fff;
  line-height: 1.875;
  font-size: 1.6rem;
  margin-bottom: 4rem;
  padding: 0 10px;
  font-weight: 300;
}

.reason-inner {
  margin-top: 60px;
  color: #fff;
}

.reason-inner h3 {
  line-height: 1.5;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}

.reason-inner p {
  line-height: 1.88889;
  font-size: 1.8rem;
}

.reason-inner a.btn.white {
  background: #fff;
  color: #699ad1;
  margin-left: 0;
  font-size: 2rem;
}

.reason-inner a.btn.white:before {
  background-image: url(../images/top/arrow-b.png);
}

ul.fitness {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 -2%;
}

ul.fitness li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 2% 20px;
}

ul.fitness li img {
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  margin-bottom: 10px;
}

ul.fitness li h3 {
  line-height: 1.75;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  font-weight: 300;
  margin-bottom: 16px;
}

ul.fitness li h3:before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 23px;
  margin-right: 1rem;
}

ul.fitness li p {
  line-height: 1.875;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

#facility {
  position: relative;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  background: #E1EFF2;
}

#facility h2:after,
#facility h2:before {
  display: none;
}

#facility ul {
  margin: 24px auto 30px;
}

#facility ul li {
  background: #fff;
  padding: 15px;
  margin: 0 40px;
  -webkit-box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.3);
}

#facility .slick-prev,
#facility .slick-next {
  top: -120px;
  z-index: 999;
}

#facility .slick-prev {
  left: 20px;
  padding: 50px;
}

#facility .slick-prev:before {
  content: "prev";
  font-size: 12px;
  color: #699ad1;
  margin-left: 15px;
  letter-spacing: 2px;
}

#facility .slick-prev:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  border-left: 1px solid #699ad1;
  border-bottom: 1px solid #699ad1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  font-size: 1rem;
  margin-top: -26px;
}

#facility .slick-next {
  right: 70px;
  padding: 50px;
}

#facility .slick-next:before {
  content: "next";
  color: #699ad1;
  margin-right: 18px;
  font-size: 12px;
  letter-spacing: 2px;
}

#facility .slick-next:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  border-right: 1px solid #699ad1;
  border-bottom: 1px solid #699ad1;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  font-size: 1rem;
  margin-top: -26px;
}

.facility-inner {
  margin: 8px 0 5px;
  text-align: center;
}

.facility-inner p {
  line-height: 1.5;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}

.facility-inner p span {
  line-height: 1.3;
  font-size: 1.5rem;
  font-weight: 300;
}

#facility ul.slick-dots {
  left: 0;
  right: 0;
  bottom: -100px;
}

#facility ul.slick-dots li {
  padding: 0;
  background: none;
  margin: 0 4px;
  width: 10px;
  height: 10px;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#facility ul.slick-dots li button:before {
  border: none;
  content: "";
  border: 1px solid #aeaeae;
  background: #fff;
  border-radius: 50%;
}

#facility ul.slick-dots li.slick-active button:before {
  background: #aeaeae;
}

@media all and (-ms-high-contrast: none) {
  #facility ul li.slick-slide img {
    width: 100%;
  }
}

#join {
  background: #fff;
}

#main #join h2:before,
#main #join h2:after {
  display: none;
}

#join ul.join {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 30px auto;
}

#join ul.join li {
  width: 50%;
  margin-bottom: 0;
  border: none;
  padding: 30px 25px;
}

#join ul.join li:nth-child(1) {
  border-right: 1px solid #c7c7c7;
  border-bottom: 1px solid #c7c7c7;
}

#join ul.join li:nth-child(2) h3:before {
  background-image: url(../images/top/img_13@2x.png);
}

#join ul.join li:nth-child(3) h3:before {
  background-image: url(../images/top/img_14@2x.png);
}

#join ul.join li:nth-child(4) {
  border-left: 1px solid #c7c7c7;
  border-top: 1px solid #c7c7c7;
}

#join ul.join li:nth-child(4) h3:before {
  background-image: url(../images/top/img_15@2x.png);
}

#join ul.join li h3 {
  position: relative;
  line-height: 1.5;
  font-size: 2.4rem;
  letter-spacing: 0.18em;
  margin-bottom: 20px;
  font-weight: 400;
}

#join ul.join li h3 span {
  display: block;
  line-height: 1;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  font-family: "Vollkorn SC", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
}

#join ul.join li p {
  line-height: 2;
  font-size: 1.8rem;
  font-weight: 300;
}

/******************************************************************
PAGE NAVI STYLES
******************************************************************/

.pagination,
.wp-prev-next {
  margin: 1.5em 0;
}

.pagination {
  text-align: center;
}

.pagination ul {
  display: inline-block;
  background-color: #fff;
  white-space: nowrap;
  padding: 0;
  clear: both;
  border-radius: 3px;
}

.pagination li {
  padding: 0;
  margin: 0;
  float: left;
  display: inline;
  overflow: hidden;
  border-right: 1px solid #f0f0f0;
}

.pagination a,
.pagination span {
  margin: 0;
  text-decoration: none;
  padding: 0;
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  padding: 0.75em;
  min-width: 1em;
  display: block;
  color: #699ad1;
}

.pagination a:hover,
.pagination a:focus,
.pagination span:hover,
.pagination span:focus {
  background-color: #699ad1;
  color: #fff;
}

.pagination .current {
  cursor: default;
  color: #5c6b80;
}

.pagination .current:hover,
.pagination .current:focus {
  background-color: #fff;
  color: #5c6b80;
}

/* end .bones_page_navi */

/* fallback previous & next links */

.wp-prev-next .prev-link {
  float: left;
}

.wp-prev-next .next-link {
  float: right;
}

/* end .wp-prev-next */

/******************************************************************
COMMENT STYLES
******************************************************************/

/* h3 comment title */

#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
  /* number of comments span */
}

.commentlist {
  margin: 0;
  list-style-type: none;
}

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
  /* vcard */
  /* end .commentlist .vcard */
  /* end children */
  /* general comment classes */
}

.comment .comment-author {
  padding: 7px;
  border: 0;
}

.comment .vcard {
  margin-left: 50px;
}

.comment .vcard cite.fn {
  font-weight: 700;
  font-style: normal;
}

.comment .vcard time {
  display: block;
  font-size: 0.9em;
  font-style: italic;
}

.comment .vcard time a {
  color: #9fa6b4;
  text-decoration: none;
}

.comment .vcard time a:hover {
  text-decoration: underline;
}

.comment .vcard .avatar {
  position: absolute;
  left: 16px;
  border-radius: 50%;
}

.comment:last-child {
  margin-bottom: 0;
}

.comment .children {
  margin: 0;
  /* variations */
  /* change number for different depth */
}

.comment[class*="depth-"] {
  margin-top: 1.1em;
}

.comment.depth-1 {
  margin-left: 0;
  margin-top: 0;
}

.comment:not(.depth-1) {
  margin-top: 0;
  margin-left: 7px;
  padding: 7px;
}

.comment.odd {
  background-color: #fff;
}

.comment.even {
  background: #f8f9fa;
}

/* comment meta */

/* comment content */

.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em;
}

/* end .commentlist .comment_content */

/* comment reply link */

.comment-reply-link {
  font-size: 0.9em;
  float: right;
}

/* end .commentlist .comment-reply-link */

/* edit comment link */

.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em;
}

/******************************************************************
COMMENT FORM STYLES
******************************************************************/

.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa;
}

#reply-title {
  margin: 0;
}

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0;
}

.logged-in-as a {
  color: #5c6b80;
}

.comment-form-comment {
  margin: 1.5em 0 0.75em;
}

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em;
}

/* comment submit button */

#submit {
  float: right;
  font-size: 1em;
}

/* comment form title */

#comment-form-title {
  margin: 0 0 1.1em;
}

/* cancel comment reply link */

/* logged in comments */

/* allowed tags */

#allowed_tags {
  margin: 1.5em 10px 0.7335em 0;
}

/* no comments */

.nocomments {
  margin: 0 20px 1.1em;
}

/*********************
SIDEBARS & ASIDES
*********************/

.widget ul li {
  /* deep nesting */
}

.no-widgets {
  background-color: #fff;
  padding: 1.5em;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-bottom: 1.5em;
}

/*********************
FOOTER STYLES
*********************/

ul.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

ul.menu li {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.footer {
  background-color: #fff;
  position: relative;
}

.footer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
}

.footer-inner.sp-only {
  display: none;
}

.footer-inner img {
  width: 50%;
}

.footer-inner .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.footer-inner .item > img {
  width: 80%;
  margin-bottom: 2rem;
}

.footer-inner .item + .item {
  background: #4a77b9;
}

.footer-inner ul.sns {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.footer-inner ul.sns li {
  margin-bottom: 0;
}

.footer-inner ul.sns li + li {
  margin-left: 20px;
}

.footer-inner ul.menu {
  display: block;
  margin-top: -3rem;
}

.footer-inner ul.menu li {
  text-indent: -4rem;
  margin-bottom: 1rem;
}

.footer-inner ul.menu li a {
  color: #fff;
  font-weight: 333;
  line-height: 2;
}

.footer-inner ul.menu li a:before {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 15px;
  margin-right: 1rem;
  background: url(../images/top/arrow-b.png) no-repeat;
  background-size: contain;
  background-position: center;
}

.information-top {
  position: relative;
  text-align: center;
  background: url(../images/top/ftr-bg@2x.png);
  background-size: contain;
  background-color: #4a77b9;
}

.information-top:after {
  content: "";
  display: block;
  width: 33px;
  height: 33px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 0;
  bottom: -80px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 0;
}

.information-top a {
  line-height: 1.72222;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  font-weight: normal;
  padding: 100px 0 120px;
  display: block;
  color: #fff;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  z-index: 9;
  position: relative;
}

.join-left,
.join-right {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.join-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.join-right img {
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}

.join-left {
  padding: 50px 60px;
}

.join-left h2 {
  font-family: "Vollkorn SC", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  line-height: 1.5;
  font-size: 4.8rem;
  letter-spacing: 0.08em;
  color: #699ad1;
  position: relative;
  display: inline-block;
}

.join-left h2:before,
.join-left h2:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #c7c7c7;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.join-left h2:after {
  background: #699ad1;
  right: 0;
  left: auto;
}

.join-left p {
  line-height: 1.65;
  font-size: 2rem;
}

.join-left p.ttl {
  line-height: 1.2;
  font-size: 2rem;
  letter-spacing: 0.34em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.join-left p.ttl:after {
  content: "";
  display: block;
  width: 141px;
  height: 25px;
  background-size: contain;
  background-position: center;
}

.join-left ul {
  /*margin: 60px 0 20px;*/
}

.join-left ul li {
  border-bottom: 1px dotted #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem 0;
  position: relative;
}

.join-left ul li h4 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  line-height: 1.65;
  font-size: 2rem;
  font-weight: 400;
}

.join-left ul li p {
  -webkit-box-flex: 4;
  -ms-flex: 4;
  flex: 4;
  line-height: 1.65;
  font-size: 2rem;
  letter-spacing: 0;
  font-weight: 400;
}

.join-left ul li a {
  line-height: 1.08333;
  font-size: 3.6rem;
  display: block;
}

.join-left ul li a.googlemap {
  position: absolute;
  bottom: 10px;
  right: 0;
  background: #fff;
  color: #333;
  line-height: 2;
  font-size: 1.3rem;
  font-weight: normal;
  padding: 0 10px;
  border: 1px solid #666;
  border-radius: 4px;
}

.join-left ul li a.googlemap:before {
  content: "\f3c5";
  font-family: "Font Awesome 5 Free", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: 900;
  margin-right: 0.5rem;
}

.totop {
  position: relative;
  text-align: center;
  padding: 70px 0 60px;
  background: #fff;
}

.totop img {
  margin: auto;
}

.totop a {
  font-family: "Vollkorn SC", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  line-height: 1.38889;
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  position: relative;
  width: 100%;
  display: block;
  color: #699ad1;
}

.totop a:before,
.totop a:after {
  content: "";
  display: block;
  width: 33%;
  height: 2px;
  background: url(../images/top/totop-l.png) no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.totop a:before {
  left: 10%;
}

.totop a:after {
  right: 10%;
  background-image: url(../images/top/totop-r.png);
}

.totop p {
  line-height: 2;
  font-size: 1.4rem;
  font-weight: 300;
  margin-top: 0.5rem;
}

.footer-bottom {
  background: #2b58a5;
  width: 50%;
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  line-height: 2.16667;
  font-size: 1.3rem;
  text-align: center;
  padding: 10px 0;
}

/*********************
PAGE
*********************/

body.page-template-default {
  background: #fff;
}

.header-page {
  background: #fff;
  border-bottom: 1px solid #ddd;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3) !important;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3) !important;
  z-index: 10000 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-page.fixed #logo img {
  /*height: 40px;*/
  /*width: auto;*/
}

.header-page #inner-header ul.menu {
  width: auto;
}

.header-page #inner-header ul.menu li a {
  color: #333;
  font-weight: 400;
  text-align: center !important;
  display: block;
}

.header-page #logo {
  width: 120px;
  text-align: center;
  margin-left: 20px;
}

.header-page #logo a {
  display: block;
  font-size: 0;
}

.header-page #logo img {
  display: inline;
  /*max-height: 40px;*/
  vertical-align: middle;
}

.header-page #logo img a {
  color: #fff;
}

.header-page ul.hdr-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 0;
}

.header-page ul.hdr-btn li {
  height: 110px;
  width: 100px;
  background: #699ad1;
  position: relative;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-page ul.hdr-btn li a {
  line-height: 1.2;
  font-size: 1.5rem;
  color: #fff;
}

.header-page ul.hdr-btn li:nth-child(2) {
  background: #2b58a5;
}

.header-page ul.hdr-btn li:after {
  margin-top: 8px;
  content: "";
  display: block;
  height: 12px;
  width: 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.breadcrumb {
  background: #ededed;
  padding: 10px 0;
}

.breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.breadcrumb ul li {
  line-height: 2.30769;
  font-size: 1.3rem;
}

.breadcrumb ul li a {
  text-decoration: underline;
}

.breadcrumb ul li + li:before {
  content: ">";
  margin: 0 1rem;
}

.breadcrumb img {
  width: 141px;
  position: absolute;
  top: 0;
  right: 0;
}

.sec {
  padding: 40px 0 50px;
}

.page {
  font-size: 1.4rem;
}

.page > header {
  position: relative;
  min-height: 180px;
  background: #699ad1;
}

.page > header .wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page > header h1 {
  color: #fff;
  line-height: 1.86111;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  /*font-weight: 300;*/
}

.page > header img {
  border-bottom: 10px solid #699ad1;
  width: 100%;
}

.page section {
  padding-top: 40px;
}

.df-item1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

#main .page h2 {
  text-align: left;
  font-weight: normal;
  line-height: 1.77778;
  font-size: 3.6rem;
  font-weight: 300;
  padding: 0 18px;
  display: inline-block;
  margin-left: 0;
}

#main .page h2:before {
  background: #c7c7c7;
}

#main .page #facility h2 {
  margin-left: auto;
  text-align: center;
}

.page p {
  line-height: 1.5;
  font-size: 2rem;
  /*font-weight: 300;*/
}

.page p + p {
  margin-top: 1rem;
}

/*********************
BEGINNER
*********************/

.be01-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.be01 p {
  margin-top: 4rem;
}

.be01-inner .df-item1 + .df-item1 img {
  -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.be01-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 60px;
  margin-top: 50px;
}

.be01-list .step-item {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #8e9eab;
  /* fallback for old browsers */
  background: -webkit-gradient(linear, right top, left top, from(#fff), to(#f0f0f0));
  background: linear-gradient(to left, #fff, #f0f0f0);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}

.be01-list .step-item + .step-item {
  margin-left: 30px;
}

.be01-list .step-item:first-child {
  -webkit-box-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.be01-list .step-item:first-child:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 12px solid #c7c7c7;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -20px;
}

.be01-list .step-item:nth-child(2):after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 12px solid #c7c7c7;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -20px;
}

.be01-list .step-item img.step {
  position: absolute;
  left: -20px;
  top: -20px;
}

.be01-list .step-item .step-inner {
  padding: 50px 30px 30px;
}

.be01-list .step-item .step-inner + .step-inner {
  border-left: 2px dotted #c7c7c7;
}

.be01-list .step-item .step-inner h3 {
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
  font-weight: 300;
  text-align: center;
}

.be01-list .step-item .step-inner p {
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 1px;
}

#main .be02 h2 {
  color: #fff;
}

#main .be02 h2:after {
  background: #2b58a5;
}

.be02 {
  position: relative;
  background: #699ad1;
  color: #fff;
}

.be02 p.cap {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
}

.be02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
}

.be02 ul li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-bottom: 20px;
}

.be02 ul li:last-child h4:before,
.be02 ul li:last-child h4:after {
  display: none;
}

.be02 ul li:last-child p:before {
  display: none;
}

.be02 ul li img {
  height: 258px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.be02 ul li p {
  color: #fff;
  line-height: 1.875;
  font-size: 1.6rem;
  padding: 20px;
  position: relative;
}

.be02 ul li p:after {
  content: "";
  display: block;
  width: 3px;
  height: 120px;
  background: #fff;
  position: absolute;
  right: -4px;
  top: 5px;
}

.be02 ul li:nth-child(1) p:before {
  content: "";
  display: block;
  width: 3px;
  height: 120px;
  background: #fff;
  position: absolute;
  left: -4px;
  top: 5px;
}

.be02 ul li h4 {
  line-height: 2.58333;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  padding: 15px 15px 0;
  position: relative;
  text-align: center;
}

.be02 ul li h4:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -15px;
  z-index: 99;
  margin: auto;
}

.be02 ul li h4:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: -6px;
  z-index: 99;
  margin: auto;
}

#main .page .be03 h2,
#main .page .be04 h2 {
  text-align: center;
  margin: auto;
  line-height: 1.45;
  margin-bottom: 2rem;
}

#main .page .be03 h2:after,
#main .page .be03 h2:before {
  display: none;
}

#main .page .be04 h2 {
  background: #699ad1;
  color: #fff;
}

#main .page .be04 h2:after,
#main .page .be04 h2:before {
  display: none;
}

.be03 {
  position: relative;
}

.be03 p {
  margin: 0 auto 40px;
  text-align: center;
}

.be03-ul ul.fitness li {
  margin: 0 auto 20px;
  padding: 10px;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}

.be03-ul ul.fitness li + li {
  margin-left: 30px;
}

.be03-ul ul.fitness li img {
  -webkit-box-shadow: none;
  box-shadow: none;
  margin: auto;
  width: 100%;
}

.be03-ul ul.fitness li h3,
.be03-ul ul.fitness li p {
  margin: 0;
  text-align: center;
}

.be03-ul ul.fitness li h3 {
  font-weight: normal;
  color: #699ad1;
  padding: 10px 20px 6px;
}

.be03-ul ul.fitness li p {
  text-align: center;
  padding: 0 20px 20px;
}

.be03-ul ul.fitness li a {
  border: 1px solid #333;
  line-height: 1.57143;
  font-size: 1.4rem;
  border-radius: 5px;
  text-align: center;
  display: block;
  margin: 15px 20px;
  position: relative;
}

.be03-ul ul.fitness li a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.page section.be04 {
  padding-top: 30px;
}

.be04 {
  position: relative;
  text-align: center;
}

.be04 p.mini {
  font-size: 1.5rem;
}

.be04 .df-nomo {
  margin-top: 14px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.be04 .item {
  width: 30%;
  margin: 0 5% 30px;
  border-radius: 6px;
  padding: 18px;
}

.be04 .item img {
  margin: 0 auto;
  width: 100%;
  border-radius: 20px;
}

.be04 .item h4 {
  line-height: 1.2;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  font-weight: 300;
  color: #699ad1;
  margin: 0 auto 2.2rem;
  text-align: center;
}

.be04 .item p {
  line-height: 1.875;
  font-size: 1.6rem;
}

.be04-inner {
  margin-top: 30px;
  position: relative;
  background: #f0f0f0;
  border: 10px solid #699ad1;
  padding: 40px;
  -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.be04-inner .center {
  margin-bottom: 1.5rem;
}

.be04-inner h3 {
  line-height: 1.72222;
  font-size: 3.6rem;
  background: #699ad1;
  color: #fff;
  margin: auto;
  display: inline-block;
  padding: 0 8px;
}

.white-wrap {
  text-align: left;
  margin-top: 4rem;
}

.white-wrap .wrap {
  /* padding: 0 4%; */
}

.white-wrap p {
  line-height: 1.6;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

.white-wrap p + p {
  margin-top: 0;
}

.white-wrap p span {
  margin-left: 0.5rem;
  line-height: 3.25;
  font-size: 1.6rem;
}

.white-wrap .white-btm {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 2px dotted #333;
}

.white-wrap .white-btm p {
  line-height: 2.25;
  font-size: 1.6rem;
  letter-spacing: 0em;
}

.page section.be05 {
  background: #699ad1;
  padding-top: 0;
  padding-bottom: 0;
  color: #fff;
}

.be05-left {
  padding: 0 30px 0 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.be05-right {
  -webkit-box-flex: 1.6;
  -ms-flex: 1.6;
  flex: 1.6;
}

.be05-left h3 {
  line-height: 1.5;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 300;
  position: relative;
  margin-bottom: 40px;
}

.be05-left h3:before,
.be05-left h3:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: -20px;
  left: 0;
}

.be05-left h3:after {
  background: #2b58a5;
  right: 0;
  left: auto;
}

.be05-left h4 {
  line-height: 1.75;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  color: #fff;
}

.be05-left p {
  color: #fff;
  line-height: 1.88889;
  font-size: 1.8rem;
}

.be06 .df-nomo {
  margin-bottom: 60px;
}

.be06-left {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 30px;
}

.be06-left img {
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}

.be06-right {
  -webkit-box-flex: 1.5;
  -ms-flex: 1.5;
  flex: 1.5;
  background: #8e9eab;
  /* fallback for old browsers */
  background: -webkit-gradient(linear, right top, left top, from(#fff), to(#f0f0f0));
  background: linear-gradient(to left, #fff, #f0f0f0);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  position: relative;
  padding: 30px 40px;
}

.be06-right h3 {
  position: relative;
  line-height: 1.2;
  font-size: 3rem;
  letter-spacing: 0.18em;
  background: #699ad1;
  color: #fff;
  padding: 10px 30px;
  margin: -30px -40px 20px;
}

.be06-right h3 img {
  display: inline;
  vertical-align: bottom;
}

.be06-right p.cap {
  position: relative;
  color: #699ad1;
  line-height: 1.6;
  font-size: 2.4rem;
}

.be06-btm {
  margin-top: 30px;
}

.be06-btm p {
  line-height: 2;
  font-size: 1.8rem;
  color: #699ad1;
}

.be06-btm p + p {
  border-top: 2px solid #699ad1;
  margin-top: 0;
  color: #333;
}

/*********************
FITNESS
*********************/

.page-fitness #facility {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding-top: 0;
}

.page-fitness #facility.fit03 ul p {
  font-size: 1.6rem;
}

.page-fitness #facility.fit03 ul p + p {
  font-size: 2rem;
  margin-top: 0.5rem;
}

.page section.fit00 {
  padding-bottom: 0;
}

.fit00 ul.fitness {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
}

.fit00 ul.fitness li {
  margin: 0;
  background: #eeeeee;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.fit00 ul.fitness li:nth-child(2) {
  background: #e5e5e5;
}

.fit00 ul.fitness h3 {
  text-align: center;
  position: relative;
}

.fit00 ul.fitness h3 span {
  display: block;
  color: #699ad1;
  font-size: 1.6rem;
  font-family: "Vollkorn SC", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
}

.fit00 ul.fitness h3:before,
.fit00 ul.fitness h3:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #c7c7c7;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.fit00 ul.fitness h3:after {
  background: #699ad1;
  right: 0;
  left: auto;
}

.fit00 ul.fitness a {
  border: 1px solid #333;
  text-align: center;
  display: block;
  border-radius: 4px;
  padding: 2px 0;
  font-size: 1.2rem;
  background: #fff;
  position: relative;
  margin: auto auto 1rem;
  width: 100%;
}

.fit00 ul.fitness a:after {
  content: ">";
  position: absolute;
  right: 5rem;
}

#main .page .be04.fit01 h2 {
  position: relative;
  display: inline-block;
}

#main .page .be04.fit01 .be04-hdr p {
  color: #fff;
  font-size: 1.6rem;
}

.be04.fit01 {
  background: #699ad1;
}

.be04.fit01 .df-nomo {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: left;
}

.be04.fit01 .df-nomo img {
  width: 100%;
  margin-bottom: 20px;
}

.be04.fit01 .item {
  background: #fff;
  margin: 0 2% 30px;
  -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.be04.fit01 h3 {
  text-align: center;
  color: #699ad1;
  line-height: 1.66667;
  font-size: 2.4rem;
  margin-bottom: 1rem;
}

.be04.fit01 h3:before {
  content: "";
  display: inline-block;
  width: 27px;
  height: 40px;
  background: url(../images/fitness/img@2x.png) no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 1rem;
  margin-bottom: -12px;
}

.be04.fit01 a {
  width: 80%;
  margin: auto;
  display: block;
  position: relative;
  line-height: 1.52632;
  font-size: 3.8rem;
  letter-spacing: 0.1em;
  background: #f0f0f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10px 0;
  border-radius: 10px;
}

.be04.fit01 a:before {
  content: "";
  display: inline-block;
  width: 61px;
  height: 61px;
  background: url(../images/fitness/img_14.png) no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 1rem;
}

.be04.fit01 a:after {
  background: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "\f0da";
  display: block;
  font-family: "Font Awesome 5 Free", "Yu Gothic", YuGothic, Meiryo, "M+ 1p", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: 900;
  width: 30px;
  height: 30px;
  padding-left: 6px;
  text-align: center;
  color: #fff;
  font-size: 20px;
  position: absolute;
  border-radius: 50%;
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
}

#main .page .fit02 h2 {
  margin: 0 auto;
  color: #fff;
  background: #699ad1;
  text-align: center;
}

#main .page .fit02 h2:after,
#main .page .fit02 h2:before {
  display: none;
}

.fit02-border {
  border: 6px solid #699ad1;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
  padding: 40px 40px 0;
}

.fit02 {
  margin: 50px auto 60px;
}

.fit02 h2,
.fit02 p {
  text-align: center;
}

.fit02 p.mini {
  margin-top: 1rem;
  font-size: 1.5rem;
}

.fit02 .fit02-inner {
  margin: 1rem auto;
  background: #fff;
  padding: 30px;
}

.fit02 .fit02-inner p {
  color: #fff;
  text-align: left;
  line-height: 1.375;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

.fit02 .fit02-inner .col2 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-radius: 20px;
}

.fit02 .fit02-inner .col2 p {
  line-height: 1;
  font-size: 5.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  font-weight: bold;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px 0;
}

.fit02 .fit02-inner .col2 p span {
  line-height: 1;
  font-size: 2.4rem;
  font-weight: 300;
}

.fit02 .fit02-inner .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
  border-radius: 20px;
  padding: 10px 20px;
}

.fit02 .fit02-inner .item:nth-child(1) {
  background: #e5357e;
}

.fit02 .fit02-inner .item:nth-child(1) .col2 {
  background: #f9d7e5;
}

.fit02 .fit02-inner .item:nth-child(1) .col2 p {
  color: #e5357e;
}

.fit02 .fit02-inner .item:nth-child(2) {
  background: #5ac12f;
}

.fit02 .fit02-inner .item:nth-child(2) .col2 {
  background: #eff9e9;
}

.fit02 .fit02-inner .item:nth-child(2) .col2 p {
  color: #5ac12f;
}

.fit02 .fit02-inner .item:nth-child(3) {
  background: #0a51a0;
}

.fit02 .fit02-inner .item:nth-child(3) .col2 {
  background: #e6edf6;
}

.fit02 .fit02-inner .item:nth-child(3) .col2 p {
  color: #0a51a0;
}

.fit02 .fit02-inner .item:nth-child(4) {
  background: #f58130;
  margin: 0;
}

.fit02 .fit02-inner .item:nth-child(4) .col2 {
  background: #fde6d3;
}

.fit02 .fit02-inner .item:nth-child(4) .col2 p {
  color: #f58130;
}

.fit02 .fit02-inner h3 {
  line-height: 1.46341;
  font-size: 4.1rem;
  letter-spacing: 0.08em;
}

.fit02 .fit02-inner h3:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 38px;
  background: url(../images/fitness/img_13.png) no-repeat;
  background-size: contain;
  background-position: center;
  margin: 0 1.5rem;
}

#facility.fit03 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#facility.fit03 ul li {
  width: 32%;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#facility.fit03 ul li + li {
  margin-left: 1%;
}

#facility.fit03 ul li img {
  width: 100%;
  -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

#facility.fit03 ul p {
  font-size: 1.4rem;
}

#facility.fit03 ul p.facility_ttl {
  font-size: 2rem;
  color: #fff;
  background: #699ad1;
  margin-bottom: 20px;
}

.col1 {
  -webkit-box-flex: 1.3;
  -ms-flex: 1.3;
  flex: 1.3;
  color: #fff;
  margin-right: 1rem;
}

.col12 {
  -webkit-box-flex: 1.5;
  -ms-flex: 1.5;
  flex: 1.5;
  color: #fff;
  margin-left: 1rem;
}

.col12 img {
  width: 100%;
}

/*********************
KIDS
*********************/

.kids01 {
  text-align: center;
}

.kids01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 60%;
  margin: 60px auto;
}

.kids01 ul li {
  width: 48%;
  border: 2px solid #333;
  line-height: 2;
  font-size: 2.4rem;
  border-radius: 10px;
  margin: 0 auto 30px;
  position: relative;
}

.kids01 ul li:after {
  content: ">";
  position: absolute;
  right: 4rem;
}

#main .page .kids01-inner h2 {
  color: #fff;
  width: 100%;
}

#main .page .kids01-inner h2:before {
  background: #fff;
}

#main .page .kids01-inner h2:after {
  background: #2b58a5;
}

.kids01-inner {
  background: #699ad1;
  color: #fff;
  padding: 40px 0;
  text-align: left;
}

.kids01-inner .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.kids01-inner .item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.kids01-inner .item + .item {
  margin-left: 30px;
}

.kids01-inner .item + .item img {
  width: 100%;
}

.kids01-inner h4 {
  line-height: 1.66667;
  font-size: 2.4rem;
  font-weight: normal;
  margin: 30px auto;
}

#main .page .be04.kids02 h2 {
  background: none;
  color: #699ad1;
  min-width: 300px;
  text-align: center;
}

#main .page .be04.kids02 h2:before,
#main .page .be04.kids02 h2:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #c7c7c7;
  position: absolute;
  bottom: -10px;
  left: 0;
}

#main .page .be04.kids02 h2:after {
  background: #699ad1;
  right: 0;
  left: auto;
}

.kids02 .whitebg {
  width: 90%;
  background: #fff;
  padding: 30px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.kids02 .item {
  position: relative;
  padding-bottom: 10px;
  margin: 0 0 60px;
  width: 46%;
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
}

.kids02 .item .kids02-inner {
  padding: 20px 0;
}

.kids02 .item .kids02-inner > p {
  line-height: 1.45455;
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  text-align: left;
}

.kids02 .item:before {
  content: "";
  display: block;
  position: absolute;
  width: 65px;
  height: 65px;
  background: url(../images/kids/img_19.jpg) no-repeat;
  background-size: contain;
  background-position: center;
  top: -30px;
  left: -30px;
}

.kids02 .item:nth-child(2):before {
  background-image: url(../images/kids/img_110.jpg);
}

.kids02 .item:nth-child(3):before {
  background-image: url(../images/kids/img_111.jpg);
}

.kids02 .item:nth-child(4):before {
  background-image: url(../images/kids/img_112.jpg);
}

.be04 .kids02-ttl {
  margin-bottom: 20px;
}

.be04 .kids02-ttl p {
  background: #333;
  padding: 5px;
  border-radius: 8px;
  color: #fff;
  text-align: center;
  line-height: 1;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  margin-right: 1rem;
  word-break: keep-all;
}

.be04 .kids02-ttl h3 {
  line-height: 1.66667;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  color: #699ad1;
}

section.be04.kids03 {
  padding: 60px 60px 0;
  background: #f4f4f4;
  border: 6px solid #699ad1;
  margin-bottom: 72px;
}

.kids03-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 90%;
  margin: 48px auto;
}

.kids03-item .item {
  -webkit-box-flex: 1.6;
  -ms-flex: 1.6;
  flex: 1.6;
  margin: 0 auto;
  padding: 0;
}

.kids03-item .kids03-inner {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0;
  text-align: left;
  margin-left: 30px;
}

.kids03-item .kids03-inner h3 {
  line-height: 1.25;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  position: relative;
  margin: 20px auto 40px;
}

.kids03-item .kids03-inner h3:before,
.kids03-item .kids03-inner h3:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.kids03-item .kids03-inner h3:after {
  background: #699ad1;
  right: 0;
  left: auto;
}

.kids03-item .kids03-inner h3 span {
  color: #699ad1;
  display: block;
  line-height: 1.11111;
  font-size: 1.8rem;
}

.kids03-item .kids03-inner h4 {
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.16em;
  background: #fff;
  display: inline-block;
  padding: 0 16px;
}

.kids03-item .kids03-inner p {
  line-height: 2;
  font-size: 1.8rem;
}

.kids03-item table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  table-layout: fixed;
  margin-top: 20px;
}

.kids03-item table tr:nth-child(1) {
  background: #699ad1;
  color: #fff;
}

.kids03-item table td {
  border: 1px solid #333;
  padding: 3px;
}

#main .page .kids04 h2 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.kids04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 90%;
  margin: 40px auto 0;
}

.kids04 ul li {
  width: 48%;
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
  background: #f0f0f0;
  margin: 20px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.kids04 ul li > img {
  -o-object-fit: cover;
  object-fit: cover;
}

.kids04 ul .li-inner {
  padding: 10px 30px;
}

.kids04 ul p {
  line-height: 1.875;
  font-size: 1.6rem;
}

.kids04 h4 {
  background: #fff;
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg);
  padding: 0 2px;
  line-height: 1.89474;
  font-size: 1.9rem;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
  max-width: 300px;
}

.kids04 h4.margin {
  margin-top: -30px;
}

/*********************
RESERVATION
*********************/

#main .page .re01 {
  text-align: center;
  padding: 60px 0;
}

#main .page .re01 h2 {
  background: none;
  color: #699ad1;
  margin: 0 auto 30px;
  border-bottom: 2px dashed #231815;
  text-align: center;
  width: 100%;
}

#main .page .re01 h2:after,
#main .page .re01 h2:before {
  display: none;
}

#main .page .re02 h2 {
  color: #fff;
  margin: auto;
}

#main .page .re02 h2:before,
#main .page .re02 h2:after {
  display: none;
}

.re02 {
  background: #699ad1;
  color: #fff;
  text-align: center;
}

.re02 h2 {
  margin: auto;
  color: #fff;
}

.re02-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 30px auto 0;
  text-align: left;
}

.re02-inner p {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #2b58a5;
  color: #fff;
  line-height: 2;
  font-size: 1.5rem;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #699ad1;
  border-right: none;
}

.re02-inner ul {
  -webkit-box-flex: 4;
  -ms-flex: 4;
  flex: 4;
}

.re02-inner ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.re02-inner ul li:first-child h4 {
  border-bottom: none;
}

.re02-inner ul li:first-child p {
  border-bottom: none;
}

.re02-inner ul li h4 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  line-height: 2;
  font-size: 1.5rem;
  background: #2b58a5;
  color: #fff;
  padding: 10px;
  border: 1px solid #699ad1;
}

.re02-inner ul li p {
  -webkit-box-flex: 3;
  -ms-flex: 3;
  flex: 3;
  line-height: 2;
  font-size: 1.5rem;
  background: #fff;
  color: #333;
  text-align: left;
  border: 1px solid #333;
  border-left: none;
  display: block;
}

.page section.re03 {
  padding: 0;
}

.re03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  background: #e0e0df;
}

.re03 .re03-inner {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 60px;
  position: relative;
}

.re03 .re03-inner:first-child {
  background: #e0e0df;
}

.re03 .re03-inner:nth-child(2) {
  background: #eeeeee;
}

.re03 h3 {
  line-height: 2.06667;
  font-size: 3rem;
  letter-spacing: 0.1em;
  display: inline-block;
  vertical-align: sub;
  color: #2b58a5;
}

.re03 p {
  line-height: 1.63158;
  font-size: 1.9rem;
}

.re03 p.ryokin {
  line-height: 2.125;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  background: #fff;
  border: 2px solid #2b58a5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  margin-left: 2rem;
  color: #2b58a5;
  padding-right: 4px;
}

.re03 p.ryokin:before {
  content: "料金";
  background: #2b58a5;
  color: #fff;
  display: inline-block;
  padding: 0 5px;
  margin-right: 5px;
}

.re03 ul {
  margin-top: 50px;
}

.re03 ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border: 2px solid #2b58a5;
  padding: 30px 20px;
  margin-bottom: 70px;
  position: relative;
  background: #fff;
}

.re03 ul li:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 30px solid #2b58a5;
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  margin: auto;
}

.re03 ul li:last-child {
  margin-bottom: 0;
}

.re03 ul li:last-child:after {
  display: none;
}

.re03 ul .item-left {
  margin-right: 80px;
}

.re03 ul .item-left img {
  max-width: 94px;
}

.re03 ul .item-right {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.re03 ul .item-right .item {
  margin-bottom: 1rem;
  width: 100%;
}

.re03 ul .item-right img{
  width: 100%;
}

.re03 ul .item-right h4 {
  line-height: 1.47368;
  font-size: 1.9rem;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  color: #2b58a5;
}

.re03 ul .item-right p {
  line-height: 1.5625;
  font-size: 1.6rem;
}

.re03 ul .item-right p + img{
  margin-top: 1rem;
}

.re03 .df-nomo .item-right img {
  width: 180px;
}

.re03 .df-nomo .item-other{
  position: relative;
  max-width: 180px;
  height: 100%;
}

.re03 .df-nomo .item-other p{
  position: absolute;
  bottom: 0;
}

.re03 img + img {
  margin-left: 20px;
}

.re03 a {
  border: 1px solid #2b58a5;
  line-height: 2;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  border-radius: 16px;
  display: block;
  position: relative;
  margin: 1rem 2rem 0 0;
}

.re03 a:after {
  content: "→";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
}

.page section.re04 {
  padding: 60px 0 40px;
  background: #e3569a;
}

.re04 {
  background: #e3569a;
  color: #fff;
  position: relative;
}

.re04 h4 {
  line-height: 1.33333;
  font-size: 2.7rem;
  letter-spacing: 0.1em;
  font-weight: 300;
  margin-bottom: 2rem;
}

.re04:after {
  content: "";
  width: 0;
  height: 0;
  border-left: none;
  border-right: 30px solid transparent;
  border-top: 30px solid #eee;
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
}

.re04:before {
  content: "";
  width: 0;
  height: 0;
  border-right: none;
  border-left: 30px solid transparent;
  border-top: 30px solid #e0e0df;
  display: block;
  position: absolute;
  right: 50%;
  top: 0;
}

.re04-inner {
  position: absolute;
  bottom: -40px;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.re04-inner img {
  height: 252px;
  width: auto;
}

.re04-inner p {
  background: #fff;
  color: #e3569a;
  border-radius: 50%;
  width: 170px;
  height: 170px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  text-align: center;
}

.re04-inner p span {
  display: block;
  line-height: 1.3;
  font-size: 2.5rem;
}

section.re05.wrap{
  padding-top: 60px;
  padding-bottom: 30px;
}

#main .page .re05 h2 {
  background: none;
  margin: 0 auto 30px;
  text-align: center;
  display: block;
}

#main .page .re05 h2:before,
#main .page .re05 h2:after{
  display: none;
}

#main .page .re05 h2 img{
  margin: auto;
}

.contact-wrap {
  background: #e6e6e6;
  border-bottom: 1px solid #666666;
  line-height: 2.5;
  font-size: 2rem;
  margin: 30px auto 50px;
}

.contact-row {
  border: 1px solid #666666;
  border-bottom: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.contact-row .contact-h {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.contact-row .contact-h span {
  color: #D71819;
}

.contact-row .contact-d {
  -webkit-box-flex: 3;
  -ms-flex: 3;
  flex: 3;
  padding: 10px;
}

.page .contact-wrap p + p {
  margin: 0;
}

.page .contact-btm {
  border: 10px solid #999999;
  padding: 50px;
  text-align: center;
}

.page .contact-btm p {
  line-height: 1.11111;
  font-size: 1.8rem;
}

.page .contact-btm p + p {
  margin-top: 30px;
}

.page .contact-btm p a {
  color: #0071bc;
  text-decoration: underline;
}

/*********************
FAQ
*********************/
section.faq01 {
  padding-top: 100px;
}

.faq01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.faq01 ul li {
  width: 30%;
  margin: 10px 1.5%;
  line-height: 2.30769;
  font-size: 1.3rem;
  border: 3px solid #668fc2;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  position: relative;
}

.faq01 ul li:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 3px solid #668fc2;
  border-right: 3px solid #668fc2;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: -4px;
  bottom: 0;
  right: 20px;
  margin: auto;
}

.faq01 ul li a {
  color: #668fc2;
  font-size: 1.6rem;
}

.faq02 h3 {
  text-align: center;
  line-height: 1.27778;
  font-size: 3.6rem;
  margin-bottom: 40px;
}

.faq02 h3:after {
  content: "";
  display: block;
  width: 78px;
  height: 6px;
  background: #668fc2;
  border-radius: 3px;
  margin: 20px auto 0;
}

.faq-item {
  background: #f0f0f0;
  padding: 15px 50px 20px;
  border-radius: 20px;
  margin-bottom: 30px;
}

.ques {
  font-weight: bold;
  display: block;
  line-height: 1.58824;
  font-size: 1.7rem;
  position: relative;
  color: #668fc2;
}

.ques:before {
  content: "Q.";
  margin-right: 1rem;
  line-height: 2.28571;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.ques:after {
  background: #b3b3b3;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "\f0d8";
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  font-size: 20px;
  position: absolute;
  border-radius: 50%;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(540deg);
  transform: rotate(540deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: "Font Awesome 5 Free", sans-serif;
}

.acd-check:checked + .ques:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.ans {
  height: 0;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  visibility: hidden;
}

.ans p {
  line-height: 1.58824;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
}

.acd-check {
  display: none;
}

.acd-check:checked + .ques + .ans {
  height: auto;
  opacity: 1;
  visibility: visible;
  padding: 2rem 0;
  margin-top: 1rem;
  border-top: 2px solid #fff;
}

/*********************
PRIVACY
*********************/

.page section.entry-inner {
  padding: 7% 0;
}

.page section.entry-inner h3 {
  margin: 3rem 0 2rem;
  line-height: 1.39394;
  font-size: 3.3rem;
  letter-spacing: 0.1em;
  background: #f0f0f0;
  border: 1px solid #333;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #0a66a0;
}

.page section.entry-inner h3:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 30px;
  background: #0a66a0;
  margin-right: 1rem;
}

.page section.entry-inner ul {
  list-style: disc;
  line-height: 2;
  font-size: 1.8rem;
  margin-left: 2rem;
}

.page-privacy p.margin {
  margin-top: 40px;
}

.page-privacy .b-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/*********************
ACCESS
*********************/

#main .page #join h2 {
  margin: 0 auto 20px;
  text-align: center;
}

/*********************
ENTRY
*********************/

.page section.en03 {
  padding-bottom: 0;
}

.page.page-entry > header h1 {
  color: #699ad1;
}

.page-entry h3 {
  line-height: 1.27778;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
  text-align: center;
  border-bottom: 2px dashed #333;
  padding-bottom: 20px;
  margin-bottom: 20px;
  color: #699ad1;
}

.page-entry .be04 h3 {
  color: #fff;
  border-bottom: none;
  padding: 0;
}

.en01-inner {
  margin-top: 50px;
  background: #699ad1;
  color: #fff;
}

.en01-inner h4 {
  padding: 40px 0 20px;
  margin-left: 40px;
  line-height: 1.39394;
  font-size: 3.3rem;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
}

.en01-inner h4:before,
.en01-inner h4:after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 10px;
  left: 0;
}

.en01-inner h4:after {
  background: #2b58a5;
  right: 0;
  left: auto;
}

.en01-inner img {
  display: inline-block;
  margin: -25px 0 -10px;
}

.en01-inner .en01-btm {
  padding: 0 40px 30px;
}

.en01-inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 20px auto 0;
}

.en01-inner ul li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
  background: #8e9eab;
  /* fallback for old browsers */
  background: -webkit-gradient(linear, right top, left top, from(#fff), to(#f0f0f0));
  background: linear-gradient(to left, #fff, #f0f0f0);
  color: #333;
}

.en01-inner ul li + li {
  margin-left: 20px;
}

.en01-inner ul li h5:before {
  content: "";
  display: inline-block;
  background: url(../images/entry/img_03@2x.png) no-repeat;
  width: 40px;
  height: 30px;
  background-position: center;
  background-size: contain;
  margin: 0 0.5rem -3px 0;
}

.en01-inner ul li:nth-child(2) h5:before {
  background-image: url(../images/entry/img_04@2x.png);
}

.en01-inner ul li:nth-child(3) h5:before {
  background-image: url(../images/entry/img_05@2x.png);
}

.en01-inner ul li h5 {
  color: #699ad1;
  line-height: 1.76923;
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  padding-top: 10px;
}

.en01-inner ul li p {
  padding: 30px 0;
  line-height: 1.54545;
  font-size: 2.5rem;
}

.page-entry .en02 h3,
.page-entry .en04 h3 {
  border: none;
}

.page-entry .en02 h3:before {
  content: "";
  display: inline-block;
  width: 48px;
  height: 48px;
  background: url(../images/entry/img_19@2x.png) no-repeat;
  background-size: contain;
  background-position: center;
  margin-bottom: -12px;
  margin-right: 1rem;
}

.en02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 30px;
}

.en02 ul li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #699ad1;
  position: relative;
  border: 1px solid #333;
}

.en02 ul li + li {
  margin-left: 50px;
}

.en02 ul li:before {
  content: "";
  display: block;
  width: 63px;
  height: 63px;
  background: url(../images/entry/img_13@2x.png) no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -30px;
  left: -30px;
}

.en02 ul li:nth-child(2):before {
  background-image: url(../images/entry/img_14@2x.png);
}

.en02 ul li:nth-child(3):before {
  background-image: url(../images/entry/img_15@2x.png);
}

.en02 ul li:nth-child(4):before {
  background-image: url(../images/entry/img_16@2x.png);
}

.en02 ul li:after {
  content: "";
  display: block;
  width: 21px;
  height: 60px;
  background: url(../images/entry/img_18@2x.png) no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -38px;
  margin: auto;
}

.en02 ul li:nth-child(4)::after {
  display: none;
}

.en02 img {
  padding: 20px;
  width: 100%;
  background: #f2f2f2;
}

.en02 p {
  color: #fff;
  line-height: 1.14286;
  font-size: 2.1rem;
  padding: 16px 10px;
  text-align: center;
  position: relative;
}

.en02 p span{
  display: block;
  font-size: 1.6rem;
}

.en02 p:before{
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: #699ad1;
  transform: rotate(45deg);
  position: absolute;
  top: -9px;
  left: 0;
  right: 0;
  margin: auto;
}

.en03-inner {
  margin-top: 30px;
  border: 1px solid #666;
}

.en03-inner h4 {
  background: #f2f2f2;
  border-bottom: 1px solid #666;
  color: #0076cf;
  padding: 10px 40px;
  line-height: 1.42857;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}

.en03-inner img {
  display: inline-block;
  margin: -25px 0 -10px;
}

.en03-inner .en03-btm {
  background: #fff;
  padding: 20px 40px;
}

.en03-inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 20px auto 0;
}

.en03-inner ul li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 6px solid #0076cf;
  text-align: center;
  padding: 10px;
  position: relative;
}

.en03-inner ul li + li {
  margin-left: 30px;
}

.en03-inner ul li:after {
  content: "";
  display: block;
  width: 10px;
  height: 30px;
  background: url(../images/entry/right_sm.png) no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -26px;
  margin: auto;
}

.en03-inner ul li:nth-child(4)::after {
  display: none;
}

.en03-inner ul li h5 {
  line-height: 1.16667;
  font-size: 3.6rem;
  letter-spacing: 0.04em;
  color: #0076cf;
}

.en03-inner ul li p {
  line-height: 1.41176;
  font-size: 1.7rem;
  color: #0076cf;
}

.en04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.en04 ul li {
  border: 1px solid #333;
  background: #f2f2f2;
  padding: 20px 20px 30px;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.en04 ul li + li {
  margin-left: 30px;
}

.en04 ul li h5:before {
  content: "1";
  color: #fff;
  background: #000;
  font-weight: bold;
  line-height: 5rem;
  font-size: 3.6rem;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  display: block;
  text-align: center;
  margin: auto;
}

.en04 ul li:nth-child(2) h5:before {
  content: "2";
}

.en04 ul li:nth-child(3) h5:before {
  content: "3";
}

.en04 h5 {
  line-height: 1.64286;
  font-size: 2.8rem;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
}

.page-schedule h3 {
  color: #2b58a5;
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 2px solid #2b58a5;
  margin: 2rem auto;
}

.mptt-shortcode-wrapper .mptt-navigation-tabs li a {
  display: block;
  background: #c7c7c7;
  color: #8e9eab;
  padding: 0 10px;
  border-radius: 10px;
}

.mptt-shortcode-wrapper .mptt-navigation-tabs li.active a {
  background: #2b58a5;
  color: #fff;
}

/*********************
PAGE
*********************/

.article-header.entry-header {
  text-align: center;
}

.article-header.entry-header img {
  margin: 0 auto 2rem;
}

.article-header.entry-header h1 {
  font-size: 3rem;
}

.entry-content {
  width: 70%;
  margin: 30px auto;
}

.entry-content p {
  line-height: 1.66667;
  font-size: 1.8rem;
}

.single p {
  font-size: 1.6rem;
  text-align: left;
  font-weight: 300;
  margin: 15px;
}
.single h3 {
  color: #222;
  display: block;
  width: 100%;
  background: #fff;
  padding: 20px;
  font-size: 3rem;
}
.single .thumb {
  padding: 30px;
  text-align: center;
}
.single .thumb img {
  margin: 0 auto;
}

@media (min-width: 1030px) {
  .d-all {
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .d-1of2 {
    padding-right: 0.75em;
    width: 50%;
  }

  .d-1of3 {
    padding-right: 0.75em;
    width: 33.33%;
  }

  .d-2of3 {
    padding-right: 0.75em;
    width: 66.66%;
  }

  .d-1of4 {
    padding-right: 0.75em;
    width: 25%;
  }

  .d-3of4 {
    padding-right: 0.75em;
    width: 75%;
  }

  .d-1of5 {
    padding-right: 0.75em;
    width: 20%;
  }

  .d-2of5 {
    padding-right: 0.75em;
    width: 40%;
  }

  .d-3of5 {
    padding-right: 0.75em;
    width: 60%;
  }

  .d-4of5 {
    padding-right: 0.75em;
    width: 80%;
  }

  .d-1of6 {
    padding-right: 0.75em;
    width: 16.6666666667%;
  }

  .d-1of7 {
    padding-right: 0.75em;
    width: 14.2857142857%;
  }

  .d-2of7 {
    padding-right: 0.75em;
    width: 28.5714286%;
  }

  .d-3of7 {
    padding-right: 0.75em;
    width: 42.8571429%;
  }

  .d-4of7 {
    padding-right: 0.75em;
    width: 57.1428572%;
  }

  .d-5of7 {
    padding-right: 0.75em;
    width: 71.4285715%;
  }

  .d-6of7 {
    padding-right: 0.75em;
    width: 85.7142857%;
  }

  .d-1of8 {
    padding-right: 0.75em;
    width: 12.5%;
  }

  .d-1of9 {
    padding-right: 0.75em;
    width: 11.1111111111%;
  }

  .d-1of10 {
    padding-right: 0.75em;
    width: 10%;
  }

  .d-1of11 {
    padding-right: 0.75em;
    width: 9.09090909091%;
  }

  .d-1of12 {
    padding-right: 0.75em;
    width: 8.33%;
  }
}

@media only screen and (max-width: 768px) {
  /*********************
MAIN
*********************/

  .wrap {
    width: 90%;
  }

  .sp-only {
    display: initial;
  }

  .pc-only {
    display: none !important;
  }

  .df-nomo {
    display: initial;
  }

  ul.timeline,
  #fitness ul,
  #facility ul,
  #join ul.join,
  .footer-inner,
  .information,
  .join-left p.ttl,
  .be01-inner,
  .be01-list,
  .be02 ul,
  ul.fitness {
    display: block;
  }

  a.btn {
    padding: 8px 20px 8px 0;
    text-align: center;
    font-size: 1.8rem;
  }

  .page section {
    padding: 30px 0 60px;
  }

  /*********************
HEADER
*********************/

  .header-top .wrap {
    padding-top: 30px;
  }

  .header-top #logo img {
    width: 100px;
    height: auto;
    margin-left: 30px;
  }

  .header-top.fixed .wrap {
    padding-top: 0;
  }

  .header-top.fixed #nav-open {
    top: 12px;
    right: 5%;
  }

  .header-top.fixed #logo img {
    height: auto;
    width: 100%;
    max-height: none;
  }

  .header-top.fixed .wrap {
    width: 90%;
  }

  .header-page {
    padding: 3vw;
    top: 0;
    z-index: 999;
    width: 100%;
  }

  .header-page #logo {
    width: 120px;
  }

  .header-page #logo img {
    margin-left: 0;
    height: auto;
    width: 100%;
    max-height: none;
  }

  .header-page #nav-open {
    top: 30px;
    right: 5%;
  }

  .header-page.fixed #nav-open {
    top: 12px;
  }

  .header-page.fixed {
    padding: 20px 5%;
  }

  .header-page.fixed #logo img {
    height: auto;
    width: 100%;
    max-height: none;
  }
  .header-page #logo {
    width: 120px;
  }
  #nav-drawer {
    position: relative;
  }

  .nav-unshown {
    display: none;
  }

  #nav-open {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #nav-open span {
    height: 3px;
    width: 20px;
    border-radius: 3px;
    background: #333;
    display: block;
    cursor: pointer;
    margin-bottom: 5px;
  }

  #nav-open span:last-child {
    margin: 0;
  }

  #nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: 80%;
    max-width: 330px;
    height: 100%;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
    padding: 30px;
  }

  #nav-content ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1rem;
    border-bottom: 1px solid #ddd;
  }

  #nav-content ul li a {
    display: block;
    line-height: 2;
    font-size: 1.8rem;
    text-decoration: none;
  }

  #nav-content ul li:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-right: 0;
  }

  #nav-input:checked ~ #nav-close {
    display: block;
    /*カバーを表示*/
    opacity: 0.5;
  }

  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /*中身を表示（右へスライド）*/
    -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
    box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  }

  /*********************
TOP
*********************/

  #main h2 {
    width: auto;
    line-height: 1;
    font-size: 3rem;
  }

  #main h2 span {
    line-height: 2;
    font-size: 1.8rem;
  }

  .main-inner {
    bottom: 30px;
  }

  .main-right img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 188px;
  }

  .slider-for .ttl-wrap {
    top: 30px;
    left: 30px;
  }

  .slider-for p.ttl {
    font-size: 2rem;
  }

  .slider-for p.sub {
    font-size: 1.5rem;
  }

  .slider-for .period {
    bottom: 10px;
    right: 10px;
    height: 100px;
    width: 100px;
  }

  .slider-for .period h4,
  .slider-for .period p {
    margin: auto;
  }

  .sl .slick-prev,
  .sl .slick-next {
    width: 30px;
  }

  .sl ul.slider-top li {
    /*padding: 10px;*/
    display: inline-block;
  }

  .sl ul.slider-top li img {
    display: block;
    width: 100%;
    height: auto;
  }

  .sl ul.slider-top li p {
    display: block;
    font-size: 1rem;
    width: 100%;
  }

  .sl ul.slider-top {
    /*display: none;*/
  }

  ul.slider-for img {
    /*height: 30vh;*/
    width: 100%;
/*    -o-object-fit: cover;
    object-fit: cover;
    object-position: top left;*/
  }
  ul.hdr-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
  }

  ul.hdr-btn li {
    width: 80px;
    height: 80px;
    margin: 0;
  }

  ul.hdr-btn li a {
    line-height: 1.28571;
    font-size: 1.4rem;
  }

  ul.hdr-btn li:after {
    width: 17px;
    height: 15px;
  }

  ul.hdr-btn li:nth-child(1) {
    margin: 10px 0 0;
  }

  ul.hdr-btn li + li {
    margin-top: 10px;
  }

  section {
    padding: 40px 0;
  }

  #news {
    background: url(../images/news_bg) top center repeat #f4f6f8;
  }

  #info h2 {
    padding: 0 16px;
  }

  .info-inner {
    margin-top: -38px;
  }
  ul.timeline li {
    border: 0;
  }
  ul.timeline li p {
    line-height: 1.875;
    font-size: 1.6rem;
  }

  ul.timeline li .cat p.date {
    font-size: 1.6rem;
  }

  ul.timeline li .cat:after {
    margin: 14px 0 8px;
  }

  ul.timeline.news > li {
    width: 100%;
  }

  .info-inner {
    padding: 50px 20px;
  }

  #reason {
    min-width: 300px;
    padding: 60px 0 0;
    background: #699ad1;
  }

  #reason .wrap h2 img,
  #reason .wrap .reason-inner img {
    width: 100%;
  }

  #reason:after,
  #reason::before {
    display: none;
  }

  #reason .item {
    position: relative;
    width: 100%;
    padding: 5% 10%;
    background: url(../images/top/bg-line@2x.png);
    background-position: center;
    background-color: #f0f0f0;
    padding-bottom: 30px;
  }

  #reason h2 {
    font-size: 5rem;
  }

  #reason h2 span {
    padding: 0;
  }

  #reason h2 span {
    margin-top: 10px;
  }

  .reason-inner {
    padding: 0 0 60px;
    width: 100%;
    margin-top: 30px;
  }

  .reason-inner h3 {
    line-height: 1.84;
    font-size: 2.5rem;
  }

  .reason-inner p {
    line-height: 1.875;
    font-size: 1.6rem;
  }

  .reason-inner h3:after {
    margin: 14px 0;
  }

  .whiteborder {
    padding: 24px;
  }

  #facility ul li {
    width: auto;
    margin: 0;
  }

  #facility .slick-prev,
  #facility .slick-next {
    top: auto;
    bottom: -140px;
  }

  #facility .slick-prev {
    left: 10px;
  }

  #facility .slick-next {
    right: 30px;
  }

  #facility .slick-next:before {
    margin-left: -15px;
  }

  #facility .slick-prev:after,
  #facility .slick-next:after {
    width: 26px;
    height: 26px;
    margin-top: -19px;
  }

  #facility ul.slick-dots {
    bottom: -117px;
  }

  .slick-dots li button:before {
    width: 9px;
    height: 9px;
  }

  .facility-inner p {
    line-height: 1.5;
    font-size: 2rem;
  }

  .facility-inner p span {
    line-height: 1.5;
    font-size: 1.6rem;
  }

  #join {
    padding-bottom: 30px;
  }

  #join ul.join li {
    width: auto;
    margin-bottom: 30px;
  }

  #join ul.join li {
    border-right: none !important;
    border-left: none !important;
    border-top: none !important;
    border-bottom: 1px solid #c7c7c7;
  }

  .join-left {
    margin: auto;
    padding: 5%;
  }

  .join-left h2 {
    line-height: 1.5;
    font-size: 2.8rem;
    width: auto;
  }

  .join-left ul {
    margin-top: 26px;
  }

  .join-left ul li {
    padding: 30px 20px 20px;
  }

  #join ul.join li h3 {
    line-height: 2;
    font-size: 2rem;
  }

  #join ul.join li p {
    line-height: 2;
    font-size: 1.6rem;
  }

  .join-left p.ttl {
    line-height: 1;
    font-size: 2rem;
    margin: 3rem 0 0;
  }

  .join-left p.ttl:after {
    margin: 10px auto 0;
  }

  .join-left ul li a.googlemap {
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 14px 0 0;
  }

  .join-left ul li {
    padding: 0;
  }

  .join-left ul li h4 {
    line-height: 2.5;
    font-size: 1.6rem;
  }

  .join-left ul li p {
    -webkit-box-flex: 3;
    -ms-flex: 3;
    flex: 3;
    line-height: 2.5;
    font-size: 1.6rem;
  }

  .join-left p {
    line-height: 1.625;
    font-size: 1.6rem;
    letter-spacing: 0em;
  }

  .join-right {
    margin-top: 3rem;
  }

  /*********************
PAGE BEGINNER
*********************/

  .breadcrumb img {
    display: none;
  }

  .page > header img {
    width: 160%;
    max-width: initial;
    margin: 0 -50%;
  }

  .page > header h1 {
    font-size: 1.6rem;
  }

  #main .page h2 {
    font-size: 2.6rem;
    width: auto;
  }

  .df-item1 {
    margin-bottom: 30px;
  }

  .be01-list {
    margin-right: 20px;
    margin-left: 20px;
  }

  .be01-list .step-item .step-inner {
    padding: 50px 18px;
  }

  .be01-list .step-item .step-inner h3 {
    line-height: 2;
    margin: 0;
  }

  .be01-list .step-item:first-child:after,
  .be01-list .step-item:nth-child(2):after {
    display: none;
  }

  .be01-list .step-item {
    display: block;
  }

  .be01-list .step-item + .step-item {
    margin: 50px auto 0;
  }

  .be01-list .step-item .step-inner + .step-inner {
    border-top: 2px dotted #000;
    border-left: none;
  }

  .be02 p.cap {
    position: relative;
    width: auto;
  }

  .be02 ul li h4 {
    text-align: left;
  }

  .be02 ul li h4:before {
    right: 15px;
  }

  .be02 ul li h4:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    right: 22px;
    top: -5px;
  }

  .be02 ul li p {
    padding: 0;
  }

  .be02 ul li p:after,
  .be03:before,
  .be03:after,
  .be04:before,
  .be04:after,
  .be02 ul li:nth-child(1) p:before {
    display: none;
  }

  .be03-hdr:before,
  .be03-hdr:after,
  .be04-hdr:before,
  .be04-hdr:after {
    position: relative;
    right: 0;
    left: 0;
    margin: 20px auto;
  }

  .be03-ul ul.fitness li h3 {
    font-size: 1.8rem;
    padding-bottom: 0;
  }

  .be03-ul ul.fitness li + li {
    margin: 30px auto;
  }

  .be04 .item {
    width: auto;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
  }

  .be04-inner h3 {
    font-size: 2.6rem;
    padding: 0 20px;
  }

  .be04-inner {
    padding: 30px 10px;
  }

  .white-wrap {
    padding: 30px 0px;
    width: 100%;
    margin: 10px auto 0;
  }

  .white-wrap p {
    line-height: 1.6;
    font-size: 2rem;
    margin-bottom: 3rem;
  }

  .white-wrap p span {
    display: block;
    line-height: 2;
  }

  .be05 .be05-left {
    padding: 20px;
  }

  .be05 .be05-left h3 {
    font-size: 2.6rem;
  }

  .be05 .be05-left h4 {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }

  .page section.be06 {
    padding-bottom: 30px;
  }

  .be06-left {
    margin: 0 0 30px;
  }

  .be06-righ {
    margin-bottom: 60px;
  }

  .be06-right p.cap {
    position: relative;
    top: 0;
  }

  /*********************
FITNESS
*********************/

  .fit00 ul.fitness {
    display: block;
  }

  .be04.fit01 h3 {
    font-size: 2rem;
  }

  .be04.fit01 .item {
    margin: 30px 2%;
  }

  .fit01 a {
    width: 100%;
    padding: 20px;
    font-size: 2rem;
  }

  .fit01 a:before {
    width: 30px;
    height: 30px;
  }

  .fit01 a:after {
    display: none;
  }

  .fit02,
  .fit02 .fit02-inner {
    padding: 10px;
  }

  .fit02 .fit02-inner .item {
    display: block;
    padding: 20px 10px;
  }

  .fit02 .fit02-inner h3 {
    font-size: 2.1rem;
    margin-bottom: 1rem;
  }

  .fit02 .fit02-inner h3:before {
    width: 14px;
    height: 22px;
  }

  .col1,
  .col12 {
    margin-right: 0;
    margin-left: 0;
  }

  .fit02 .fit02-inner .col2 {
    margin: 12px auto;
  }
  .fit02 .fit02-inner .col2 p {
    font-size: 3.7rem;
    padding: 10px 0;
  }

  .fit02-border {
    padding: 20px 3%;
  }

  #facility.fit03 ul {
    display: block;
    margin: 0 auto;
  }

  #facility.fit03 ul li {
    width: 100%;
    padding: 5%;
  }

  /*********************
KIDS
*********************/

  .kids01 ul {
    width: 90%;
  }

  .kids01 ul li {
    font-size: 1.6rem;
  }

  .kids01 ul li:after {
    right: 1rem;
  }

  .kids01-inner .wrap,
  .kids04 ul {
    display: block;
  }

  .kids01-inner .item + .item {
    margin: 30px 0 0;
  }

  .kids04 ul {
    width: 100%;
  }

  .kids04 ul li {
    width: 100%;
    background: #699ad1;
  }

  .kids04 ul .li-inner {
    background: #f0f0f0;
    padding: 10px 20px;
  }

  .kids04 ul li > img {
    height: 100px;
  }

  .kids04 ul li > img.full {
    height: auto;
    width: 100%;
  }

  .page section.be04.kids02 {
    padding-top: 0;
  }

  .kids02 .whitebg {
    width: 100%;
    padding: 10px;
  }

  .kids02 .item,
  .kids03-item {
    display: block;
  }

  .kids03-item {
    width: 100%;
  }

  .kids03-item .kids03-inner h4 {
    margin-top: 30px;
  }

  .kids02 .item .kids02-inner {
    padding: 10px;
  }

  .kids02 .item:before {
    left: -10px;
  }

  .kids02 .item img,
  .kids02 .item .kids02-inner,
  .kids03-item img,
  .kids03-item .kids03-inner {
    width: 100%;
  }

  .be04 .kids02-ttl p span {
    font-size: 2.8rem;
  }

  .kids02 .item .kids02-inner > p,
  .kids03-item .kids03-inner h4,
  .kids03-item .kids03-inner p {
    font-size: 1.8rem;
  }

  .be04 .kids02-ttl h3,
  .kids03-item .kids03-inner h3 {
    font-size: 2rem;
  }

  .kids02 .item img,
  .kids02 .item .kids02-inner,
  .kids03-item img,
  .kids03-item .kids03-inner {
    margin: 0;
  }

  .kids03-inner table {
    font-size: 14px;
    table-layout: auto;
  }

  section.be04.kids03 {
    padding: 30px 10px 0;
  }

  /*********************
RESERVATION
*********************/

  .re03 {
    display: block;
  }

  .re03 h3,
  .re03 p.ryokin {
    display: block;
  }

  .re03 p.ryokin {
    margin: 0 0 1rem;
  }

  .re03 .re03-inner {
    padding: 4%;
  }

  .re03 ul .item-left img {
    max-width: 60px;
  }

  .re03 img + img {
    margin-left: 0;
  }

  .page section.re04 {
    padding: 30px;
  }

  .re04:before,
  .re04:after {
    display: none;
  }

  .re04-inner {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    bottom: -30px;
  }

  .re04-inner p {
    margin-left: 100px;
    width: 130px;
    height: 130px;
    font-size: 1.5rem;
  }

  .re04-inner p span {
    font-size: 1.5rem;
  }

  .re04-inner img {
    width: auto;
    height: auto;
  }

  .contact-wrap {
    font-size: 1.8rem;
  }

  .contact-row {
    display: block;
  }

  .contact-row .contact-h {
    padding-bottom: 0;
  }

  .page .contact-btm {
    padding: 30px;
  }

  /*********************
FAQ
*********************/

  section.faq01 {
    padding-top: 60px;
  }

  .faq01 ul {
    display: block;
  }

  .faq01 ul li {
    width: auto;
  }

  .faq02 h3 {
    font-size: 2.6rem;
  }

  .faq-item {
    padding: 15px;
  }

  .ques {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .ques:before {
    display: block;
  }

  .ques:after {
    right: -30px;
  }

  .acd-check:checked + .ques + .ans {
    padding: 2rem 0 1rem;
  }

  /*********************
PRIVACY
*********************/

  .page section.entry-inner h3 {
    font-size: 2.3rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  /*********************
FOOTER
*********************/

  .information-top {
    margin-bottom: 60px;
  }
  .totop a:before,
  .totop a:after {
    width: 17%;
  }

  .information-top a {
    font-size: 2.6rem;
    padding: 40px 0;
  }

  .information-top:after {
    width: 20px;
    height: 20px;
    bottom: -100px;
  }

  iframe {
    height: 340px;
  }

  .totop {
    padding: 40px 0;
  }

  .totop a {
    line-height: 1.5;
    font-size: 2rem;
  }

  .totop:before,
  .totop:after {
    width: 20%;
    top: 50px;
  }

  .totop:before {
    left: 5%;
  }

  .totop:after {
    right: 5%;
  }

  .footer:before {
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 25px solid #fff;
    top: -24px;
  }

  .footer-inner.sp-only {
    display: block;
  }

  .footer-inner img {
    width: 80%;
  }

  .footer-inner ul.sns {
    position: relative;
    right: 0;
    left: 0;
    bottom: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .footer-inner ul.sns li {
    margin: 0;
  }

  .footer-inner ul.menu li {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    margin-left: 6rem;
  }

  .footer-inner .item {
    padding: 15% 5%;
    background: #4a77b9;
    display: block;
  }

  .footer-inner .item img {
    margin: auto;
  }

  .footer-inner .item + .item {
    background: #699ad1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .footer-bottom {
    line-height: 2;
    font-size: 1.3rem;
    position: relative;
    width: 100%;
  }

  .entry-content {
    width: 100%;
  }

  /*********************
ENTRY
*********************/

  .page-entry h3 {
    font-size: 2.6rem;
  }

  .en01-inner h4,
  .en03-inner h4 {
    font-size: 2.3rem;
  }

  .en01-inner h4 {
    margin-left: 20px;
  }

  .page-entry .en02 h3:before {
    display: block;
    margin: 0 auto 20px;
  }

  .en01-inner img {
    display: block;
    margin: 0;
  }

  .en01-inner .en01-btm {
    padding: 20px;
  }

  .en01-inner ul,
  .en02 ul,
  .en03-inner ul,
  .en04 ul {
    display: block;
  }

  .en04 ul li + li,
  .en03-inner ul li + li,
  .en01-inner ul li + li {
    margin: 20px auto 0;
  }

  .en02 ul li,
  .en02 ul li + li {
    margin: 40px 20px;
  }

  .en01-inner ul li p {
    font-size: 1.9rem;
  }

  .en02 ul li:after,
  .en03-inner ul li:after {
    display: none;
  }
}

@media (max-width: 767px) {
  .m-all {
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .m-1of2 {
    padding-right: 0.75em;
    width: 50%;
  }

  .m-1of3 {
    padding-right: 0.75em;
    width: 33.33%;
  }

  .m-2of3 {
    padding-right: 0.75em;
    width: 66.66%;
  }

  .m-1of4 {
    padding-right: 0.75em;
    width: 25%;
  }

  .m-3of4 {
    padding-right: 0.75em;
    width: 75%;
  }
}

@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }

  .t-1of2 {
    padding-right: 0.75em;
    width: 50%;
  }

  .t-1of3 {
    padding-right: 0.75em;
    width: 33.33%;
  }

  .t-2of3 {
    padding-right: 0.75em;
    width: 66.66%;
  }

  .t-1of4 {
    padding-right: 0.75em;
    width: 25%;
  }

  .t-3of4 {
    padding-right: 0.75em;
    width: 75%;
  }

  .t-1of5 {
    padding-right: 0.75em;
    width: 20%;
  }

  .t-2of5 {
    padding-right: 0.75em;
    width: 40%;
  }

  .t-3of5 {
    padding-right: 0.75em;
    width: 60%;
  }

  .t-4of5 {
    padding-right: 0.75em;
    width: 80%;
  }
}

@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

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

  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }

  a,
  a:visited {
    color: #444 !important;
    text-decoration: underline;
  }

  a:after,
  a:visited:after {
    content: " (" attr(href) ")";
  }

  a abbr[title]:after,
  a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}
