/******************************************************************
Site Name:aozora hoikuen
Author:Daiichi Printing Co.,ltd.
Stylesheet: Main Stylesheet
******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* 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; }

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

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

[hidden],
template {
    display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold; }

html {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/**
 * Remove default margin.
 */
body {
    margin: 0;
    -webkit-text-size-adjust: 100%;
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
    background: transparent; }

a:focus {
    outline: thin dotted; }

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

/* ==========================================================================
   Typography
   ========================================================================== */
h1 {
    margin: 0;
    padding: 0;
}

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

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

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

hr {
    -moz-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;
    -moz-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: 1em 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;
    display:block;
    vertical-align: bottom;
    margin: 0;
    padding: 0;
}

  /* Responsive images */
img {
    max-width: 100%;
    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;
}

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

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;
}

button,
select {
    text-transform: none;
}

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

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

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

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

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

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

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;
    -moz-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;
}
.clear {
    clear: both;
}
.clear hr {
    display: none;
}
/*
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-break: break-all;
    -ms-word-wrap: break-all;
    word-break: break-word;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
    -webkit-hyphenate-before: 2;
    -webkit-hyphenate-after: 3;
    hyphenate-lines: 3;
}

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

/*

/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
.alert-help, .alert-info, .alert-error, .alert-success {
    margin: 10px;
    padding: 5px 18px;
    border: 1px solid;
}

.alert-help {
    border-color: #e8dc59;
    background: #ebe16f;
}

.alert-info {
    border-color: #bfe4f4;
    background: #d5edf8;
}

.alert-error {
    border-color: #f8cdce;
    background: #fbe3e4;
}

.alert-success {
    border-color: #deeaae;
    background: #e6efc2;
}

/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.blue-btn, .comment-reply-link, #submit {
    display: inline-block;
    position: relative;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-decoration: none;
    color: white;
    font-size: 0.9em;
    font-size: 34px;
    line-height: 34px;
    font-weight: normal;
    padding: 0 24px;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.14s ease-in-out;
    transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
    color: white;
    text-decoration: none;
}
.blue-btn:active, .comment-reply-link:active, #submit:active {
    top: 1px;
}

.blue-btn, .comment-reply-link, #submit {
    background-color: #2980b9;
}
.blue-btn:hover, .comment-reply-link:hover, #submit:hover, .blue-btn:focus, .comment-reply-link:focus, #submit:focus {
    background-color: #2574a8;
}
.blue-btn:active, .comment-reply-link:active, #submit:active {
    background-color: #2472a4;
}

/*********************
INPUTS
*********************/
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: block;
    height: 40px;
    line-height: 40px;
    padding: 0 12px;
    margin-bottom: 14px;
    font-size: 1em;
    color: #5c6b80;
    border-radius: 3px;
    vertical-align: middle;
    box-shadow: none;
    border: 0;
    width: 100%;
    max-width: 400px;
    font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background-color: #eaedf2;
    -webkit-transition: background-color 0.24s ease-in-out;
    transition: background-color 0.24s ease-in-out;
}

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: #f7f8fa;
}

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: white;
    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: white;
    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;
}

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

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

select {
    -webkit-appearance: none;
    /* 1 */
    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;
}

/*********************
GENERAL STYLES
*********************/
body {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 100%;
    line-height: 1.5;
    color: #000;
    background-color: #fff;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

.center {
    margin: 0 auto;
    text-align: center;
}

p {
    margin: 0;
    padding: 0;
}
/* Font Styles
----------------------------------------------- */
.bold {
    font-weight: bold;
}

.f110percent {
    font-size: 110%;
}

.f120percent {
    font-size: 120%;
}

.f130percent {
    font-size: 130%;
}

.f140percent {
    font-size: 140%;
}

/* Web Font Styles
----------------------------------------------- */
.wf-roundedmplus1c { font-family: "M PLUS Rounded 1c"; }

/*********************
HIDDEN STYLES
*********************/
.hidden {
    display: none;
}

@media all and (max-width: 599px) {
  .sp-hidden {
    display: none;
  }
}

@media all and (min-width: 600px) {
  .sp-only {
    display: none;
  }
}

@media all and (min-width: 960px) {
  .pc-hidden {
    display: none;
  }
}

@media all and (max-width: 960px) {
  .pc-only {
    display: none;
  }
}

/*********************
IMAGE EFFECT
*********************/
.fade {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.fade:hover {
    opacity: 0.6;
    filter: alpha(opacity=40);
}

/*********************
Block Reveal Effects
*********************/
.block-revealer__element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    pointer-events: none;
    opacity: 0;
}

/*********************
WORD STYLES
*********************/
.wordBreakAll { word-break: break-all; }

/*********************
LAYOUT & GRID STYLES
*********************/
#container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
}

.wrap {
    width: auto;
    margin: 0 auto;
    padding: 0;
}

.wrap_blue {
    background: #f4f9fa;
}

#main {
    width: auto;
    margin: 0 auto;
    padding: 0;
}

/*********************
LINK STYLES
*********************/
a, a:visited {
    color: #333;
    /* on hover */
    /* on click */
    /* mobile tap color */ }
a:hover, a:focus, a:visited:hover, a:visited:focus {
    color: #333; }
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 {
    text-rendering: optimizelegibility;
    font-weight: 500;
    /*
    if you're going to use webfonts, be sure to check your weights
    http://css-tricks.com/watch-your-font-weight/
    */
    /* removing text decoration from all headline links */ }
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
    text-decoration: none; }

h1, .h1 {
    font-size: 2.5em;
    line-height: 1.333em;
}

.underpage_h1 {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    font-weight: normal;
    margin: 0 auto 20px;
    padding: 0;
    text-align: center;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .underpage_h1 {
    font-size: 26px;
  }
}
@media all and (min-width: 1280px) {
  .underpage_h1 {
    font-size: 30px;
  }
}
.underpage_h1::before {
    content: "";
    display: block;
    background-image: url('../images/heading_img1.png');
    background-size: auto;
    background-repeat: no-repeat;
    width: 350px;
    height: 65px;
    margin: 0 auto;
    padding: 0 0 75px;
}
.underpage_h1::after {
    content: "▼";
    display: block;
    text-align: center;
    font-size: 12px;
}







.underpage_h2 {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    font-weight: normal;
    margin: 0 auto 30px;
    padding: 0;
    text-align: center;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .underpage_h2 {
    font-size: 26px;
    margin: 0 auto 40px;
  }
}
@media all and (min-width: 1280px) {
  .underpage_h2 {
    font-size: 30px;
    margin: 0 auto 60px;
  }
}








h2, .h2 {
    font-size: 1.75em;
    line-height: 1.4em;
    margin-bottom: 0.375em;
}

.top_h2_1 {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 1em;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .top_h2_1 {
    font-size: 26px;
  }
}
@media all and (min-width: 1280px) {
  .top_h2_1 {
    font-size: 30px;
  }
}

.top_h2_2 {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 1em;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .top_h2_2 {
    font-size: 24px;
  }
}
@media all and (min-width: 1280px) {
  .top_h2_2 {
    font-size: 24px;
  }
}

.top_h2_3 {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 1em;
    text-align: center;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .top_h2_3 {
    font-size: 24px;
    text-align: left;
  }
}

.top_h2_3::after {
    content: "";
    display: inline-block;
    background-image: url('../images/icon/icon7.png');
    background-size: cover;
    background-repeat: no-repeat;
    width: 54px;
    height: 46px;
}

h3, .h3 {
    color: #212121;
    font-family: "M PLUS Rounded 1c";
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 1.5em;
    text-align: center;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  h3, .h3 {
    font-size: 22px;
  }
}
@media all and (min-width: 1280px) {
  h3, .h3 {
    font-size: 24px;
  }
}

h4, .h4 {
    font-size: 1.1em;
    font-weight: 700;
}

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

/*********************
HEADER STYLES
*********************/
.header {
    width: 100%;
    max-width: 1790px;
    height: 105px;
    margin: 10px auto 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 768px) and (max-width: 1280px) {
  .header {
    height: 85px;
    margin: 20px auto;
  }
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  .header {
    height: 85px;
    margin: 40px auto;
  }
}
@media all and (min-width: 1501px) {
  .header {
    height: 85px;
    margin: 40px auto;
  }
}

.header_inner {
    width: 100%;
    height: 85px;
    margin: 0 auto;
    padding: 0 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: space-between;
    transition: 0.3s ease-in-out;
}

#logo {
    width: 260px;
    height: 57px;
    margin: 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 768px) and (max-width: 1280px) {
  #logo {
    width: 360px;
    height: 79px;
  }
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  #logo {
    width: 360px;
    height: 79px;
  }
}
@media all and (min-width: 1501px) {
  #logo {
    width: 385px;
    height: 85px;
  }
}

/*********************
MAINNAVI STYLES
*********************/
.menu {
    width: 100%;
    max-width: 870px;
    height: 4rem;
    border-radius: 30px;
    padding: 0 55px;
    overflow: hidden;
    display: none;
}

@media all and (min-width: 1280px) {
    .menu {
        display: block;
        background: #fff;
    }
}

.menu ol {
    width: 100%;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
}

.menu > ol {
    padding: 0;
    display: flex;
    justify-content: space-between;
    gap: 1rem; /* メニュー間のスペース */
}

.menu > ol > .menu-item {
    flex: none; /* 内容に応じた幅にする */
    padding: 0.75rem 0.5rem; /* 内側の余白を調整 */
    position: relative;
    line-height: 2.5rem;
    text-align: center;
}

/* 中央に縦の仕切り線を表示 */
.menu > ol > .menu-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.0rem;
    transform: translateY(-50%);
    width: 1px;
    height: 1.5rem;
    background-color: #bcbcbc;
}

.menu > ol > .menu-item .dot-indicator {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    bottom: 10px;
    left: calc(50% - 2px);
    background: #e83912;
    will-change: transform;
    transform: scale(0);
    transition: transform 0.2s ease;
}

.menu > ol > .menu-item:hover .dot-indicator {
    transform: scale(1);
}

.menu-item a {
    color: #036eb8;
    font-size: 16px;
    font-weight: bold;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
    transition: 0.3s ease-in-out;
}

@media all and (min-width: 1366px) {
  .menu-item a {
    font-size: 16px;
  }
}

.menu-item a:hover {
    color: #e83912;
}

* {
    box-sizing: border-box;
}

*:before, *:after {
    box-sizing: inherit;
}

a {
    text-decoration: none;
}

@keyframes enter {
    from {
        opacity: 0;
        transform: scaleY(0.98) translateY(10px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/*********************
MAINVISUAL STYLES
*********************/
/* toppage
----------------------------------------------- */
.mainVisual_top {
    width: 100%;
    height: calc(100vh - 165px - 80px); /* ビューポートの高さから165pxと80pxを引く */
    min-height: 700px;
    margin: 0 auto;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    transition: 0.3s ease-in-out;
}

/* 1500px以下で80% */
@media all and (max-width: 1500px) {
  .mainVisual_top {
    height: 90%;
    min-height: unset; /* 最低高さを解除するか、適切に調整 */
  }
}

/* 1280px以下で60% */
@media all and (max-width: 1280px) {
  .mainVisual_top {
    height: 80%;
    min-height: unset; /* 最低高さを解除するか、適切に調整 */
  }
}

/* 1024px以下で60% */
@media all and (max-width: 1023px) {
  .mainVisual_top {
    display: block;
  }
}


.mainVisual_top_left {
    width: 440px; /* 固定幅 */
    transition: 0.3s ease-in-out;
}

/* 1500px以下で80% */
@media all and (max-width: 1500px) {
  .mainVisual_top_left {
    width: calc(440px * 0.8); /* 352px */

  }
}

/* 1280px以下で60% */
@media all and (max-width: 1280px) {
  .mainVisual_top_left {
    width: calc(440px * 0.7); /* 264px */

  }
}

/* 1024px以下でdisplay:none */
@media all and (max-width: 1023px) {
  .mainVisual_top_left {
    display: none;

  }
}

.mainVisual_top_right {
    flex: 1; /* 残りの幅をすべて使用 */
    border-radius: 30px 0 0 30px;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

/* 1024px以下で横幅100% */
@media all and (max-width: 1023px) {
  .mainVisual_top_right {
    width: 100%;
    border-radius: 0;
  }
}



.mainVisual_top_right_inner {
    width: 100%;
    height: calc(100vh - 165px - 80px); /* ビューポートの高さから165pxと80pxを引く */
    min-height: 700px;
    background: url("../images/main_visual/main_visual1.jpg") center center no-repeat;
    background-size: cover;
    margin: 0;
    padding: 0;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

/* 1500px以下で80% */
@media all and (max-width: 1500px) {
  .mainVisual_top_right_inner {
    height: 90%;
    min-height: 560px;
  }
}

/* 1280px以下で60% */
@media all and (max-width: 1280px) {
  .mainVisual_top_right_inner {
    height: 80%;
    min-height: 500px;
  }
}

/* 600px以下で60% */
@media all and (max-width: 600px) {
  .mainVisual_top_right_inner {
    height: 70%;
    min-height: 420px;
  }
}

.mainVisual_top_left_inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}


.mainVisual_top_left_item1 {
    flex: 1;
}

.mainVisual_top_left_item2 {
    flex: 1;
    font-family: "M PLUS Rounded 1c";
    font-size: 24px;
    writing-mode: vertical-rl; /* 右から左の縦書き */
    text-orientation: mixed;   /* 日本語の自然な縦表示に */
    line-height: 2;            /* 行間を少し広めにすると見やすい */
    margin: 0 auto;
    padding: 20px 20px 0 0;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  .mainVisual_top_left_item2 {
    font-size: 26px;
  }
}
@media all and (min-width: 1501px) {
  .mainVisual_top_left_item2 {
    font-size: 30px;
  }
}

.mainVisual_top_left_item3 {
    flex: 1;
}

/* 初期状態 */
.icon1 {
    width: 62px;
    height: 64px;
    margin: 180px 0 0 60px;
    transition: 0.3s ease-in-out;
}

.icon2 {
    width: 46px;
    height: 58px;
    margin: 60px 0 0 80px;
    transition: 0.3s ease-in-out;
}

.icon3 {
    width: 62px;
    height: 80px;
    margin: 40px 0 0 30px;
    transition: 0.3s ease-in-out;
}

.icon4 {
    width: 50px;
    height: 62px;
    margin: 50px 0 0 30px;
    transition: 0.3s ease-in-out;
}

.icon5 {
    width: 64px;
    height: 40px;
    margin: 50px 0 0 10px;
    transition: 0.3s ease-in-out;
}

.icon6 {
    width: 39px;
    height: 52px;
    margin: 0 0 0 30px;
    transition: 0.3s ease-in-out;
}

/* メディアクエリ: 1500px以下のとき */
@media screen and (max-width: 1500px) {
  .icon1 {
    width: calc(62px * 0.8);
    height: calc(64px * 0.8);
    margin: calc(180px * 0.8) 0 0 calc(60px * 0.8);
  }

  .icon2 {
    width: calc(46px * 0.8);
    height: calc(58px * 0.8);
    margin: calc(60px * 0.8) 0 0 calc(80px * 0.8);
  }

  .icon3 {
    width: calc(62px * 0.8);
    height: calc(80px * 0.8);
    margin: calc(40px * 0.8) 0 0 calc(30px * 0.8);
  }

  .icon4 {
    width: calc(50px * 0.8);
    height: calc(62px * 0.8);
    margin: calc(50px * 0.8) 0 0 calc(30px * 0.8);
  }

  .icon5 {
    width: calc(64px * 0.8);
    height: calc(40px * 0.8);
    margin: calc(50px * 0.8) 0 0 calc(10px * 0.8);
  }

  .icon6 {
    width: calc(39px * 0.8);
    height: calc(52px * 0.8);
    margin: calc(10px * 0.8) 0 0 calc(30px * 0.8);
  }
}

/* メディアクエリ: 1280px以下のとき */
@media screen and (max-width: 1280px) {
  .icon1 {
    width: calc(62px * 0.7);
    height: calc(64px * 0.7);
    margin: calc(180px * 0.7) 0 0 calc(60px * 0.7);
  }

  .icon2 {
    width: calc(46px * 0.7);
    height: calc(58px * 0.7);
    margin: calc(60px * 0.7) 0 0 calc(80px * 0.7);
  }

  .icon3 {
    width: calc(62px * 0.7);
    height: calc(80px * 0.7);
    margin: calc(40px * 0.7) 0 0 calc(30px * 0.7);
  }

  .icon4 {
    width: calc(50px * 0.7);
    height: calc(62px * 0.7);
    margin: calc(50px * 0.7) 0 0 calc(30px * 0.7);
  }

  .icon5 {
    width: calc(64px * 0.7);
    height: calc(40px * 0.7);
    margin: calc(50px * 0.7) 0 0 calc(10px * 0.7);
  }

  .icon6 {
    width: calc(39px * 0.7);
    height: calc(52px * 0.7);
    margin: calc(10px * 0.7) 0 0 calc(30px * 0.7);
  }
}


.illust1 {
    width: 194px;
    height: 214px;
    margin: -170px 0 0 0;
    transition: 0.3s ease-in-out;
}

.chara1 {
    width: 108px;
    height: 126px;
    margin: -80px 0 0 50px;
    transition: 0.3s ease-in-out;
}

.chara2 {
    width: 96px;
    height: 148px;
    margin: -110px 0 0 20px;
    transition: 0.3s ease-in-out;
}

.chara3 {
    width: 123px;
    height: 142px;
    margin: -95px 0 0 20px;
    transition: 0.3s ease-in-out;
}


/* 1500px以下で80% */
@media all and (max-width: 1500px) {
  .illust1 {
    width: calc(194px * 0.8);
    height: calc(214px * 0.8);
    margin: calc(-150px * 0.8) 0 0 0;
  }

  .chara1 {
    width: calc(108px * 0.8);
    height: calc(126px * 0.8);
    margin: calc(-50px * 0.8) 0 0 calc(50px * 0.8);
  }

  .chara2 {
    width: calc(96px * 0.8);
    height: calc(148px * 0.8);
    margin: calc(-70px * 0.8) 0 0 calc(20px * 0.8);
  }

  .chara3 {
    width: calc(123px * 0.8);
    height: calc(142px * 0.8);
    margin: calc(-55px * 0.8) 0 0 calc(20px * 0.8);
  }
}

/* 1280px以下で60% */
@media all and (max-width: 1280px) {
  .illust1 {
    width: calc(194px * 0.6);
    height: calc(214px * 0.6);
    margin: calc(-150px * 0.6) 0 0 0;
  }

  .chara1 {
    width: calc(108px * 0.6);
    height: calc(126px * 0.6);
    margin: calc(-50px * 0.6) 0 0 calc(50px * 0.6);
  }

  .chara2 {
    width: calc(96px * 0.6);
    height: calc(148px * 0.6);
    margin: calc(-70px * 0.6) 0 0 calc(20px * 0.6);
  }

  .chara3 {
    width: calc(123px * 0.6);
    height: calc(142px * 0.6);
    margin: calc(-55px * 0.6) 0 0 calc(20px * 0.6);
  }
}

/* 1024px以下で50% */
@media all and (max-width: 1024px) {
  .illust1 {
    width: calc(194px * 0.5);
    height: calc(214px * 0.5);
    margin: calc(-150px * 0.5) 0 0 0;
  }

  .chara1 {
    width: calc(108px * 0.5);
    height: calc(126px * 0.5);
    margin: calc(-50px * 0.5) 0 0 calc(50px * 0.5);
  }

  .chara2 {
    width: calc(96px * 0.5);
    height: calc(148px * 0.5);
    margin: calc(-70px * 0.5) 0 0 calc(20px * 0.5);
  }

  .chara3 {
    width: calc(123px * 0.5);
    height: calc(142px * 0.5);
    margin: calc(-55px * 0.5) 0 0 calc(20px * 0.5);
  }
}







.mainVisual_bottom {
    width: 100%;
    display: block;
    margin: 0 auto;
    padding: 0 20px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .mainVisual_bottom {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row-reverse;
    padding: 0 0 0 20px;
  }
}

.mainVisual_bottom_left {
    width: 100%;
    margin: 55px auto 0;
    display: none;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 421px) and (max-width: 1023px) {
  .mainVisual_bottom_left {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media all and (min-width: 1024px) {
  .mainVisual_bottom_left {
    margin: 0;
    width: 50%; /*1050/1920*/
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}

.mainVisual_bottom_right {
    width: 100%;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .mainVisual_bottom_right {
    width: 54.6875%; /*870/1920*/
  }
}

.mainVisual_bottom_txtItem {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    width: 100%;
    margin: 0;
    transform: translateY(-50%);
    padding: 0.875em 0 0.875em 50px;
    border-radius: 30px;
    background: #036eb8;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    border-right: 3px solid #fff;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1280px) {
  .mainVisual_bottom_txtItem {
    font-size: 14px;
    padding: 0.875em 0 0.875em 60px;
    border-radius: 30px 0 0 30px;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    border-right: none;
  }
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  .mainVisual_bottom_txtItem {
    font-size: 16px;
    padding: 0.875em 0 0.875em 60px;
    border-radius: 30px 0 0 30px;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    border-right: none;
  }
}
@media all and (min-width: 1501px) {
  .mainVisual_bottom_txtItem {
    font-size: 18px;
    padding: 0.875em 0 0.875em 70px;
    border-radius: 30px 0 0 30px;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    border-right: none;
  }
}

/*********************
COMMON STYLE
*********************/
/* wrap
----------------------------------------------- */
.container_main {
    width: 100%;
    height: auto;
    background: url("../images/bg1.png") center top no-repeat;
    background-size: auto;
    margin: 0;
    transition: 0.3s ease-in-out;
}

.common_wrap1 {
    color: #444;
    font-size: 16px;
    letter-spacing: 0.0625em;
    line-height: 1.7;
    width: 100%;
    margin: 0;
    padding: 0;
}

.common_wrap1 a:link {
    color: #036eb8;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.common_wrap1 a:visited {
    color: #036eb8;
    text-decoration: none;
}
.common_wrap1 a:hover {
    color: #4badf0;
    text-decoration: none;
}
.common_wrap1 a:active {
    color: #036eb8;
    text-decoration: none;
}

.bg_white {
    background: #fff;
}

.bg_yellow {
    background: #f2c14b;
}

.bg_green {
    background: #6abfa2;
}

.bg_red {
    background: #ed633e;
}

.bg_blue {
    background: #84bae5;
}

.bg_white {
    background: #fff;
}

.bg_lemon {
    background: #fdffdc;
}

.inner_guide1_illust {
    width: 100%;
    max-width: 424px;
    margin: 80px auto 0;
    padding: 0;
}




/* inner
----------------------------------------------- */
.inner830 {
    width: 100%;
    max-width: 870px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner1210 {
    width: 100%;
    max-width: 1210px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner1024 {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_radius30 {
    width: 100%;
    margin: 0 auto;
    padding: 70px 30px;
    border-radius: 30px;
    background: #fff;
}

.inner_radius30_2 {
    width: 100%;
    margin: 0 auto;
    padding: 70px 30px;
    border-radius: 30px;
    border: 5px solid #036eb8;
    background: #fff;
}

/* padding
----------------------------------------------- */
.pt0 {
    padding-top: 0 !important;
}

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

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

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

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

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

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

.pb0 {
    padding-bottom: 0 !important;
}

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

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

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

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

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

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

.ptb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

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

.ptb15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

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

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

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

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

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

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

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

.ptb90 {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

.ptb100 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

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

.plr15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

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


/* margin
----------------------------------------------- */
.mtb10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

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

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

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

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

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

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

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

.mtb90 {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
}

.mtb100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
}

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

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

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

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

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

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

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

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

.mt90 {
    margin-top: 90px !important;
}

.mt100 {
    margin-top: 100px !important;
}

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

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

.mb30 {
    margin-bottom: 30px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}

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

.mb60 {
    margin-bottom: 60px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}

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

.mb90 {
    margin-bottom: 90px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

/* flexbox
----------------------------------------------- */
.flex_reverse {
    flex-direction: row-reverse;
}

/* position
----------------------------------------------- */
.position_absolute {
    position: absolute;
}

.position_relative {
    position: relative;
}

.position_fixed {
    position: fixed;
}

/* radius
----------------------------------------------- */
.radius30 {
    border-radius: 30px;
}


/*********************
TOP PAGE
*********************/
.wave1 {
    width: 100%;
}
@media all and (min-width: 768px) {
  .wave1 {
    width: 100%;
    background: url('../images/bg1.svg');
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center top;
  }
}

.wave2 {
    width: 100%;
    background: url('../images/bg2.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}
@media all and (min-width: 768px) {
  .wave2 {
    width: 100%;
    background: url('../images/bg2.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
  }
}

.wave3 {
    width: 100%;
}
@media all and (min-width: 768px) {
  .wave3 {
    width: 100%;
    background: url('../images/bg3.png');
    background-size: auto;
    background-repeat: repeat-x;
    background-position: center top;
  }
}

.wave4 {
    width: 100%;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 768px) and (max-width: 1280px) {
  .wave4 {
    width: 100%;
    background: url('../images/bg4.png');
    background-size: auto;
    background-repeat: repeat-x;
    background-position: center -50px;
  }
}
@media all and (min-width: 1281px) {
  .wave4 {
    width: 100%;
    background: url('../images/bg4.png');
    background-size: auto;
    background-repeat: repeat-x;
    background-position: center top;
  }
}

.top_content1 {
    width: 100%;
    max-width: 1290px;
    margin: 60px auto 0;
    padding: 0 20px;
}

.top_content1 p {
    color: #111;
    font-size: 16px;
    letter-spacing: 0.03125em;
    line-height: 2;
}

.top_content1_inner {
    width: 100%;
    max-width: 1290px;
    margin: 0 auto;
    display: block;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .top_content1_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.top_content1_inner_left {
    width: 100%;
    margin: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .top_content1_inner_left {
    width: 42.6356%; /*550/820*/
    max-width: 550px;
  }
}

.top_content1_inner_right {
    width: 100%;
    max-width: 600px;
    margin: 50px auto 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .top_content1_inner_right {
    width: 51.9379%; /*670/820*/
    max-width: 670px;
    margin: 0;
  }
}


.top_content2 {
    width: 100%;
    margin: 60px auto 0;
    padding: 0;
}

.top_content2_top {
    width: 100%;
    max-width: 1650px;
    margin: 0 auto;
    padding: 0 20px;
}

.top_content2_top_inner {
    width: 100%;
    max-width: 820px;
    margin: 0 0 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    transition: 0.3s ease-in-out;
}

.top_content2_img1 {
    width: 30%;
    max-width: 216px;
    margin: 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .top_content2_img1 {
    width: 26.3414%; /*216/820*/
  }
}

.top_content2_img2 {
    width: 60%;
    max-width: 430px;
    margin: 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .top_content2_img2 {
    width: 52.4390%; /*430/820*/
  }
}

.top_content2_bottom {
    width: 100%;
}

.top_content2_illust {
    width: 70%;
    max-width: 652px;
    margin: 20px auto 0;
    padding: 0;
}
@media all and (min-width: 1024px) {
  .top_content2_illust {
    width: 100%;
  }
}



.top_content3 {
    width: 100%;
    max-width: 1320px;
    margin: 60px auto;
    padding: 0 20px;
}

.top_content3_inner {
    display: block;
    margin: 0;
    padding: 20px 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .top_content3_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

.top_content3_itemGroup {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .top_content3_itemGroup {
    width: 30%; /*384/1280*/
    max-width: 384px;
    margin: 0;
    padding: 0;
  }
}

.top_content3_itemGroup_img {
    width: 100%; /*384/1280*/
    max-width: 384px;
    margin: 0 auto;
    padding: 0;
}


.top_content3_itemGroup p {
    color: #111;
    font-size: 16px;
    letter-spacing: 0.03125em;
    line-height: 2;
    margin: 0;
    padding: 0 10px;
}



.top_content4 {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.top_content4_inner {
    width: 100%;
    max-width: 930px;
    margin: 0 auto;
    padding: 140px 0;
    display: block;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .top_content4_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.top_content4_inner_left {
    width: 100%;
    max-width: 322px;
    margin: 0 auto;
    padding: 0;
}
@media all and (min-width: 720px) {
  .top_content4_inner_left {
    width: 36.1797%; /*322/890*/
    max-width: 322px;
  }
}

.top_content4_inner_right {
    width: 100%;
}
@media all and (min-width: 720px) {
  .top_content4_inner_right {
    width: 53.9325%; /*480/890*/
    max-width: 480px;
  }
}

.top_content4_inner_right p {
    color: #111;
    font-size: 16px;
    letter-spacing: 0.03125em;
    line-height: 2;
    margin: 0;
    padding: 0;
}


.top_content5 {
    width: 100%;
    margin: 0 auto;
    padding: 90px 20px;
}

.top_content5_inner {
    width: 100%;
    max-width: 834px;
    margin: 60px auto 0;
    padding: 0;
    display: block;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .top_content5_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.top_content5_inner_left {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .top_content5_inner_left {
    width: 46.0431%; /*384/834*/
    max-width: 384px;
    margin: 0;
  }
}

.top_content5_inner_right {
    width: 100%;
    max-width: 240px;
    margin: 30px auto 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .top_content5_inner_right {
    width: 46.0431%; /*384/834*/
    max-width: 384px;
    margin: 0;
  }
}

/*********************
MAINVISUAL (UNDERPAGES)
*********************/
.mainVisual_common {
    width: 100%;
    height: 406px;
    margin: 0 auto;
    padding: 0 0 0 144px;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

@media all and (max-width: 1500px) {
  .mainVisual_common {
    height: 360px;
    padding: 0 0 0 144px;
  }
}

@media all and (max-width: 1280px) {
  .mainVisual_common {
    height: 320px;
    padding: 0 0 0 144px;
  }
}

@media all and (max-width: 720px) {
  .mainVisual_common {
    height: 320px;
    padding: 0;
  }
}

@media all and (max-width: 600px) {
  .mainVisual_common {
    height: 240px;
    padding: 0;
  }
}

.mainVisual_about {
    width: 100%;
    height: 100%;
    background: url("../images/main_visual/main_visual_about.jpg") center top no-repeat;
    background-size: cover;
    border-radius: 30px 0 0 30px;
    transition: 0.3s ease-in-out;
}
@media all and (max-width: 720px) {
  .mainVisual_about {
    border-radius: 0;
  }
}

.mainVisual_guide {
    width: 100%;
    height: 100%;
    background: url("../images/main_visual/main_visual_guide.jpg") center top no-repeat;
    background-size: cover;
    border-radius: 30px 0 0 30px;
    transition: 0.3s ease-in-out;
}
@media all and (max-width: 720px) {
  .mainVisual_guide {
    border-radius: 0;
  }
}

.mainVisual_business {
    width: 100%;
    height: 100%;
    background: url("../images/main_visual/main_visual_business.jpg") center top no-repeat;
    background-size: cover;
    border-radius: 30px 0 0 30px;
    transition: 0.3s ease-in-out;
}
@media all and (max-width: 720px) {
  .mainVisual_business {
    border-radius: 0;
  }
}

/*********************
ABOUT PAGE
*********************/
.inner_about1 {
    width: 100%;
    max-width: 1466px;
    margin: 0 auto;
    padding: 70px 20px;
}

.about1_itemGroup1 {
    width: 100%;
    max-width: 1426px;
    margin: 0 auto;
    padding: 0;
    display: block;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .about1_itemGroup1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.about1_itemGroup1_left {
    width: 100%%;
    letter-spacing: 0.0625em;
    line-height: 1.7;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .about1_itemGroup1_left {
    width: 52.3442%; /*748/1426*/
    max-width: 748px;
    padding: 0 40px 0 0;
  }
}

.about1_itemGroup1_right {
    width: 100%;
    max-width: 468px;
    margin: 0 auto;
    padding: 0 0 20% 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 960px) {
  .about1_itemGroup1_right {
    width: 51.8934%; /*740/1426*/
    max-width: 740px;
    margin: 0;
  }
}


.about1_itemGroup1_box {
    aspect-ratio: 630 / 436; /* 元画像の幅÷高さで指定 */
    max-width: 630px;
    position: relative;
    transition: 0.3s ease-in-out;
}

.about1_itemGroup1_img1 {
    width: 85.5978%; /*630/736*/
    max-width: 630px;
    position: absolute;
    transition: 0.3s ease-in-out;

}

.about1_itemGroup1_img2 {
    width: 59.7826%; /*440/736*/
    max-width: 440px;
    position: absolute;
    top: 75%;
    right: 0;
    transform: translateY(-5%);
    transition: 0.3s ease-in-out;
}

.txt_list1 li {
    margin-bottom: 10px;
    padding: 0 0 10px 25px;
    position: relative;
    line-height: 1.5;
}

/* highlighted クラスが付いている li にだけ ◎ を表示する */
.txt_list1 li.highlighted::before {
    content: "◎";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 16px;
    font-weight: bold;
    line-height: inherit;
}

.inner_about2 {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about2 p {
    width: 100%;
    margin: 0;
    padding: 30px 10px 0;
}

.inner_about3 {
    width: 100%;
    max-width: 728px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about3 p {
    width: 100%;
    margin: 0;
    padding: 0 10px 20px;
}

.inner_about4 {
    width: 100%;
    max-width: 1268px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about4 .txt1 {
    width: 100%;
    max-width: 728px;
    margin: 0 auto 20px;
    padding: 0 10px 20px;
    display: block;
}

.inner_about4_box {
    width: 100%;
    max-width: 1228px;
    display: block;
    position: relative;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .inner_about4_box {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.inner_about4_itemGroup1 {
    width: 21.9869%; /*270/1228*/
    max-width: 270px;
    position: relative;
    z-index: 2;
    display: none;
}
@media all and (min-width: 1024px) {
  .inner_about4_itemGroup1 {
    display: block;
    justify-content: space-between;
  }
}

.inner_about4_itemGroup2 {
    width: 100%;
    max-width: 688px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
}
@media all and (min-width: 1024px) {
  .inner_about4_itemGroup2 {
    width: 56.0260%; /*688/1228*/
  }
}

.inner_about4_itemGroup3 {
    width: 21.9869%; /*270/1228*/
    max-width: 270px;
    position: relative;
    z-index: 2;
    display: none;
}
@media all and (min-width: 1024px) {
  .inner_about4_itemGroup3 {
    display: block;
    justify-content: space-between;
  }
}

.inner_about4_item1 {
    position: absolute;
    top: 2%;
    right: -5%;
}

.inner_about4_item2 {
    position: absolute;
    bottom: 10%;
    right: -5%;
}

.inner_about4_item3 {
    position: absolute;
    top: 5%;
    left: -6%;
}

.inner_about4_item4 {
    position: absolute;
    bottom: 15%;
    left: 2%;
}


.inner_about4_box2 {
    width: 100%;
    max-width: 1228px;
    display: none;
    margin: 0 0 30px 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 1023px) {
  .inner_about4_box2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}
@media all and (min-width: 1024px) {
  .inner_about4_box2 {
    display: none;
  }
}

.inner_about4_box2item {
    margin: 0;
    padding: 0 10px;
}

.inner_about5 {
    width: 100%;
    max-width: 1476px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about5 .txt1 {
    width: 100%;
    max-width: 680px;
    margin: 0 auto 20px;
    padding: 0 10px 20px;
    display: block;
}

.inner_about5_inner {
    width: 100%;
    max-width: 554px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 34px; /* アイテム間隔 */
    margin: 0 auto;
    padding: 0;
    transition: 0.3s ease-in-out;
    box-sizing: border-box;
}
@media all and (min-width: 720px) and (max-width: 1279px) {
  .inner_about5_inner {
    max-width: 848px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 34px; /* アイテム間隔 */
  }
}
@media all and (min-width: 1280px) {
  .inner_about5_inner {
    max-width: 1436px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 34px; /* アイテム間隔 */
  }
}

.inner_about5_item {
    width: calc((100% - 34px) / 2); /* 34px × 2 gaps for 3 items */
    max-width: none;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 1279px) {
  .inner_about5_item {
    width: calc((100% - 68px) / 3); /* 34px × 2 gaps for 3 items */
    max-width: none;
  }
}
@media all and (min-width: 1280px) {
  .inner_about5_item {
    width: calc((100% - 136px) / 5); /* 34px × 4 gaps for 5 items */
    max-width: none;
  }
}

.inner_about5_txt {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 0.5em 0 0;
    padding: 0;
    line-height: 1.5;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .inner_about5_txt {
    margin: 1em 0 0;
  }
}

.inner_about5_illust {
    width: 100%;
    max-width: 480px;
    margin: 80px auto 0;
    padding: 0;
}

.inner_about6 {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about6 {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_about6 table, td, th {
    padding: 20px !important;
}



.googlemap1 {
    position: relative;
    width: 100%;
    height: 0;
    margin: 30px 0 0;
    padding-top: 34.78%; /* 1150:400 の比率 */
    border-radius: 30px;
    overflow: hidden;
}
.googlemap1 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*********************
GUIDE PAGE
*********************/
.explanation_txt1 {
    width: 100%;
    max-width: 640px;
    margin: 40px auto 0;
    padding: 20px;
    border: 1px dotted #ccc;
    border-radius: 20px;
}

.inner_guide1 {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    padding: 70px 20px;
}

.price_group {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 0;
    transition: 0.3s ease-in-out;
    box-sizing: border-box;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 1023px) {
  .price_group {
    max-width: 670px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 32px; /* アイテム間隔 */
  }
}
@media all and (min-width: 1024px) {
  .price_group {
    max-width: 1320px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 32px; /* アイテム間隔 */
  }
}


.price_item {
    width: 100%;
    max-width: 320px;
    transition: 0.3s ease-in-out;
    border-radius: 30px;
    overflow: hidden;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 40px;
    transition: 0.3s ease-in-out;
}
.price_item:last-child {
    margin-bottom: 0;
}
@media all and (min-width: 720px) and (max-width: 1023px) {
  .price_item {
    width: calc((100% - 32px) / 2); /* 32px × 1 gaps for 2 items */
    margin: 0;
  }
}
@media all and (min-width: 1024px) {
  .price_item {
    width: calc((100% - 96px) / 4); /* 32px × 3 gaps for 4 items */
    margin: 0;
  }
}

.price_item_title {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    margin: 0;
    padding: 15px 10px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1280px) {
  .price_item_title {
    font-size: 24px;
    padding: 20px 10px;
  }
}

.price_item_block {
    background: #fbf8ef;
    border-bottom: 1px solid #eae5d7;
    margin: 0;
    padding: 25px 20px;
    transition: 0.3s ease-in-out;
}
.price_item_block:last-child {
    background: #fbf8ef;
    border-bottom: none;
}

.price_item_data {
    color: #212121;
    font-size: 14px;
    font-weight: bold;
    border: 1px solid #333;
    border-radius: 20px;
    margin: 0;
    padding: 5px 20px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1280px) {
  .price_item_data {
    font-size: 16px;
  }
}

.price_item_price {
    color: #212121;
    font-size: 22px;
    font-weight: bold;
    margin: 5px 0 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1280px) {
  .price_item_price {
    font-size: 24px;
  }
}

.guide_txtBox1 {
    width: 100%;
    margin: 0 auto;
    padding: 10px 20px;
    border: 1px solid #036eb8;
}

.guide_txtBox2 {
    width: 100%;
    max-width: 660px;
    margin: 40px auto 0;
    padding: 10px 20px;
    border: 1px solid #036eb8;
}

.inner_guide2 {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 70px 20px;
}

.inner_guide2_itemGroup1 {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0;
    display: block;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .inner_guide2_itemGroup1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
  }
}

.inner_guide2_itemGroup_txt {
    width: 100%;
    max-width: 730px;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .inner_guide2_itemGroup_txt {
    width: 58.8709%; /*730/1240*/
    max-width: 730px;
  }
}


.inner_guide2_itemGroup_img {
    width: 100%;
    max-width: 460px;
    margin: 40px auto 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .inner_guide2_itemGroup_img {
    width: 37.0967%; /*460/1240*/
    margin: 0;
  }
}

.inner_guide2_itemGroup_txt h3 {
    color: #212121;
    font-family: "M PLUS Rounded 1c";
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 1.5em;
    text-align: center;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) and (max-width: 1023px) {
  .inner_guide2_itemGroup_txt h3 {
    font-size: 22px;
    text-align: left;
  }
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .inner_guide2_itemGroup_txt h3 {
    font-size: 22px;
    text-align: left;
  }
}
@media all and (min-width: 1280px) {
  .inner_guide2_itemGroup_txt h3 {
    font-size: 24px;
    text-align: left;
  }
}


.inner_guide3 {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 70px 20px;
}

/*********************
BUSINESS PAGE
*********************/
.inner_business_illust1 {
    width: 100%;
    max-width: 496px;
    margin: 0 auto;
    padding: 0;
}

.inner_business_illust2 {
    width: 100%;
    max-width: 656px;
    margin: 20px auto;
    padding: 0 20px;
}

.inner_business_itemGroup1 {
    width: 100%;
    max-width: 650px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
    transition: 0.3s ease-in-out;
}

.inner_business_item1 {
    width: 24.3076%; /*158/650*/
    max-width: 158px;
}

.inner_business_item2 {
    width: 73.8461%; /*480/650*/
    max-width: 480px;
    border: 1px solid #c2c2c2;
    border-radius: 20px;
    margin: 0;
    padding: 20px;
}




.table-area {
    width: 100%;
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

table.sp-table {
    width: 90%;
    min-width: 900px;
    margin: 0;
}

table.sp-table td,
table.sp-table th {
    font-size: 16px;
    padding: 0.5em;
    box-sizing: border-box;
}

table.sp-table th {
    color: #333;
}


/*--PC--*/
@media screen and (min-width: 1025px){
    .table-area {overflow-x: auto;}
    table.sp-table {width: 100%;}
}

.scroll-hint {
    font-size: 12px;
    color: #666;
    padding: 0.5em;
    text-align: right;
    white-space: nowrap;
    display: block;
}
@media all and (min-width: 900px) {
  .scroll-hint {
    display: none;
  }
}


/*********************
RECRUIT PAGE
*********************/
.recruit_block_wrap {
    margin: 0 auto 60px;
    padding: 30px 30px 60px;
}


.recruit_block_wrap h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) {
  .recruit_block_wrap h3 {
    font-size: 26px;
  }
}

.recruit_list_box_wrap {
    margin: 40px 0 0;
    border-top: 1px solid #e5e5e5;
}


.recruit_list_box_inner {
    border-bottom: 1px solid #e5e5e5;
    padding: 18px 0;
    text-align: left;
    line-height: 2;
}
@media all and (min-width: 601px) {
  .recruit_list_box_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    border-bottom: 1px solid #e5e5e5;
    padding: 18px 0;
    text-align: left;
    line-height: 2;
  }
}

.recruit_list_box_inner_center {
    width: 100%;
    padding: 0;
    color: #dd242e;
    font-size: 18px;
    font-weight: 600;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 601px) and (max-width: 768px) {
  .recruit_list_box_inner_center {
    padding: 0 20px 0 20px;
  }
}
@media all and (min-width: 769px) {
  .recruit_list_box_inner_center {
    padding: 0 20px 0 80px;
  }
}

.recruit_list_box_inner_left {
    width: 100%;
    padding: 0;
    color: #036eb8;
    font-weight: 600;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 601px) and (max-width: 768px) {
  .recruit_list_box_inner_left {
    width: 20%;
    padding: 0 20px 0 20px;
  }
}
@media all and (min-width: 769px) {
  .recruit_list_box_inner_left {
    width: 30%;
    padding: 0 20px 0 80px;
  }
}

.recruit_list_box_inner_right {
    width: 100%;
    color: #333;
}

@media all and (min-width: 601px) and (max-width: 768px) {
  .recruit_list_box_inner_right {
    width: 80%;
  }
}
@media all and (min-width: 769px) {
  .recruit_list_box_inner_right {
    width: 70%;
  }
}

/*********************
MAIL FORM
*********************/
.cform th {
    font-size: 16px;
    width: 30%;
    padding: 10px 0 10px 15px;
    font-weight: 500;
    background: #fff !important;
    text-align: left;
}

.cform td {
    font-size: 16px;
    line-height: 1.5;
    padding: 10px;
    background: #fff !important;
}

.cform {
    width: 100%;
    margin: 0 auto;
}

.cform [type=submit] {
    display: inline-block;
    font-size: 20px;
    padding: 10px 30px;
    text-decoration: none;
    background: #ff8f00;
    color: #fff;
    border-bottom: solid 4px #b17C00;
    border-radius: 3px;
}

.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
    width: 100%;
}

.required-srt {
    font-size: 12px;
    letter-spacing: 0.125em;
    padding: 5px;
    background: #e53935;
    color: #fff;
    border-radius: 2px;
    margin-right: 10px;
    vertical-align: middle;
}

@media only screen and (max-width:767px) {
    .cform th,
    .cform td {
        width: 100%;
        display: block;
        border-top: none;
    }
}

.submit-btn input {
    font-size: 18px;
    font-weight: 600;
    background: #e53935;
    width: 60%;
    max-width: 550px;
    min-width: 220px;
    margin: 30px auto;
    display: block;
    border: 1px #e53935 solid;
    text-align: center;
    padding: 20px;
    color: #fff;
    transition: all 0.4s ease;
}
.submit-btn input:hover {
    background: #fff;
    color: #e53935;
}

.back-btn input {
    font-size: 18px;
    font-weight: 600;
    background: #009688;
    width: 60%;
    max-width: 550px;
    min-width: 220px;
    margin: 30px auto;
    display: block;
    border: 1px #009688 solid;
    text-align: center;
    padding: 20px;
    color: #fff;
    transition: all 0.4s ease;
}

.back-btn input:hover {
    background: #fff;
    color: #009688;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
    width: 40%;
    margin: 0 5px;
    font-size:14px !important;
    float: left;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
    float: left;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-month {
    float: right;
}

/*********************
CONTECT PAGE
*********************/
.contactContents_txtBox {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 20px;
    padding: 0;
}

.contactPhone {
    color: #e8340c;
    font-size: 22px;
    padding: 20px 0;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .contactPhone {
    font-size: 24px;
  }
}
@media all and (min-width: 1280px) {
  .contactPhone {
    font-size: 26px;
  }
}




/*********************
CONTECT PAGE
*********************/
.blog_content {
    width: 100%;
    max-width: 1320px;
    margin: 60px auto;
    padding: 0 20px;
}

.blog_content_inner {
    width: 100%;
    max-width: 384px;
    display: block;
    margin: 0 auto;
    padding: 20px 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .blog_content_inner {
    width: 100%;
    max-width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

.blog_content_inner::before {
}
@media all and (min-width: 720px) {
  .blog_content_inner::before {
    content:"";
    display: block;
    width:30%;
    height: 0px;
    order:1;
  }
}
.blog_content_inner::after {
}
@media all and (min-width: 720px) {
  .blog_content_inner::after {
    content:"";
    display: block;
    width:30%;
    height: 0px;
  }
}

.blog_content_itemGroup {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .blog_content_itemGroup {
    width: 30%; /*384/1280*/
    max-width: 384px;
    margin: 0 0 30px;
    padding: 0;
  }
}

.blog_content_itemGroup_img {
    width: 100%; /*384/1280*/
    max-width: 384px;
    margin: 0 auto;
    padding: 0;
}


.blog_content_itemGroup p {
    color: #111;
    font-size: 16px;
    letter-spacing: 0.03125em;
    line-height: 2;
    margin: 0;
    padding: 0 10px;
}

.blog_content_itemGroup img {
    border-radius: 30px;
}

.newsTopics_dataTime {
    font-size: 14px;
    padding: 16px 16px 0;
}

.newsTopics_title {
    font-weight: bold;
    padding: 5px 16px 0;
}

.newsTopics_Category {
    font-size: 15px;
    padding: 5px 16px 0;
}

.ul1 {
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 60px 0 0;
    transition: 0.3s ease-in-out;
}

/* button27*/
.button27 {
  text-align: center;
}

.button27 a {
    display: inline-block;
    position: relative;
    padding: 1em 1em 1em 30px;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    transition: 0.3s;
}

.button27 a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    border: 3px solid #aaaaaa;
    border-radius: 50vh;
    transition: 0.3s;
}

.button27 a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%) rotate(45deg);
    width: 3px;
    height: 3px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    transition: 0.3s;
}

.button27 a:hover {
    text-decoration: underline;
}

.button27 a:hover::before {
    background-color: #e8340c;
}

.button27 a:hover::after {
    border-top: 1px solid #f2f2f2;
    border-right: 1px solid #f2f2f2;
}

.button27current {}
.button27current a::before {
    background-color: #036eb8;
}
.button27current a::after {
    border-top: 1px solid #f2f2f2;
    border-right: 1px solid #f2f2f2;
}



/* single page
----------------------------------------------- */
.news_single_wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.news_single_inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 140px 20px 100px 20px;
}
@media all and (min-width: 601px) {
  .news_single_inner {
    padding: 200px 20px 100px 20px;
  }
}

.news_single_inner h1 {
    color: #38322d;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
    line-height: 1.5;
    width: 100%;
    font-size: 18px;
    margin: 0.5em 0 0 0;
    padding: 0 0 10px 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) and (max-width: 1023px) {
  .news_single_inner h1 {
    font-size: 20px;
  }
}
@media all and (min-width: 1024px) {
  .news_single_inner h1 {
    font-size: 24px;
  }
}

.singlepage_content {
    color: #333;
    font-size: 16px;
    margin: 0 auto;
    padding: 0;
    border-top: 1px dotted #c3c3c3;
    border-bottom: 1px dotted #c3c3c3;
    line-height: 2;
}

.singlepage_content_inner {
    padding: 20px 0;
}

.single_entry-meta {
    color: #666;
    font-size: 14px;
    margin: 10px auto 0;
    padding: 0 0 20px;
    text-align: left;
    transition: all .2s ease-in;
}

.singlePageNavi_wrap {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 100px;
    padding: 0;
}

.singlePageNavi_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    justify-content: center;
    justify-content: space-between;
    text-align: center;
    padding: 0;
}

.singlePageNavi_item {
    font-family: 'Roboto', sans-serif;
    font-size: 16px !important;
    width: 33.3333%;
    min-width: 100px;
}

.singlePageNavi_item a {
    color: #38322d !important;
    text-decoration: none;
    transition: all .2s ease-in;
}
.singlePageNavi_item a:visited {
    color: #38322d !important;
    text-decoration: none;
}
.singlePageNavi_item a:hover {
    color: #ff001e !important;
    text-decoration: none;
}
.singlePageNavi_item a:active {
    color: #38322d !important;
    text-decoration: none;
}
/*********************
NAVIGATION STYLES
*********************/
/*
all navs have a .nav class applied via
the wp_menu function; this is so we can
easily write one group of styles for
the navs on the site so our css is cleaner
and more scalable.
*/
.nav {
    border-bottom: 0;
    margin: 0;
    /* end .menu li */
    /* highlight current page */
    /* end current highlighters */ }
.nav li {
    /*
    so you really have to rethink your dropdowns for mobile.
    you don't want to have it expand too much because the
    screen is so small. How you manage your menu should
    depend on the project. Here's some great info on it:
    http://www.alistapart.com/articles/organizing-mobile/
    */ }
.nav li a {
    display: block;
    color: white;
    text-decoration: none;
    padding: 0.75em;
    /*
    remember this is for mobile ONLY, so there's no need
    to even declare hover styles here, you can do it in
    the style.scss file where it's relevant. We want to
    keep this file as small as possible!
    */
}
.nav li ul.sub-menu li a,
.nav li ul.children li a {
    padding-left: 30px;
}

/* end .nav */
/*********************
POSTS & CONTENT STYLES
*********************/
#content {
    margin: 0;
    padding: 0;
}

.hentry {}
.hentry header {
    padding: 0; }

.hentry footer {}

.hentry footer p {
    margin: 0;
}

/* end .hentry */
.single-title,
.page-title,
.entry-title {
    margin: 0; }

/* want to style individual post classes? Booya! */
/* post by id (i.e. post-3) */
/* general post style */
/* general article on a page style */
/* general style on an attatchment */
/* sticky post style */
/* hentry class */
/* style by category (i.e. category-videos) */
/* style by tag (i.e. tag-news) */
/* post meta */
.byline {
    color: #9fa6b4;
    margin: 0;
}

/* entry content */
.entry-content {
    padding: 0;
    /*
    image alignment on a screen this size may be
    a bit difficult. It's set to start aligning
    and floating images at the next breakpoint,
    but it's up to you. Feel free to change it up.
    */
}

.entry-content p {
    margin: 0;
}

.entry-content table {
    border: 1px solid #eaedf2;
    width: 100%;
}
.entry-content table caption {
    margin: 0;
    font-size: 0.75em;
    color: #9fa6b4;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.entry-content tr {
    border-bottom: 1px solid #eaedf2;
}
.entry-content tr:nth-child(even) {
    background-color: #f8f9fa;
}
.entry-content td {
    padding: 7px;
    border-right: 1px solid #eaedf2;
}
.entry-content td:last-child {
    border-right: 0;
}
.entry-content th {
    background-color: #f8f9fa;
    border-bottom: 1px solid #eaedf2;
    border-right: 1px solid #eaedf2;
}
.entry-content th:last-child {
    border-right: 0;
}
.entry-content blockquote {
    margin: 0 0 1.5em 0.75em;
    padding: 0 0 0 0.75em;
    border-left: 3px solid #2980b9;
    font-style: italic;
    color: #9fa6b4;
}
.entry-content dd {
    margin-left: 0;
    font-size: 0.9em;
    color: #787878;
    margin-bottom: 1.5em;
}
.entry-content img {
    margin: 0;
    max-width: 100%;
    height: auto;
}
.entry-content .size-auto,
.entry-content .size-full,
.entry-content .size-large,
.entry-content .size-medium,
.entry-content .size-thumbnail {
    max-width: 100%;
    height: auto;
}
.entry-content pre {
    background: #323944;
    color: #f8f9fa;
    font-size: 0.9em;
    padding: 1.5em;
    margin: 0 0 1.5em;
    border-radius: 3px;
}

/* end .entry-content */
.wp-caption {
    max-width: 100%;
    background: #eee;
    padding: 5px;
    /* images inside wp-caption */
}
.wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%;
}
.wp-caption p.wp-caption-text {
    font-size: 0.85em;
    margin: 4px 0 7px;
    text-align: center;
}

/* end .wp-caption */
/* image gallery styles */
/* end .gallery */
/* gallery caption styles */
.tags {
    margin: 0;
}



/******************************************************************
PAGE NAVI STYLES
******************************************************************/
.pagination,
.wp-prev-next {
    margin: 1.5em 0;
}

.pagination {
    text-align: center;
}
.pagination ul {
    display: inline-block;
    background-color: white;
    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 #eaedf2;
}
.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: #2980b9;
}
.pagination a:hover, .pagination a:focus, .pagination span:hover, .pagination span:focus {
    background-color: #2980b9;
    color: white;
}
.pagination .current {
    cursor: default;
    color: #5c6b80;
}
.pagination .current:hover, .pagination .current:focus {
    background-color: white;
    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;
    ist-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: white;
}
.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 {
    margin: 0;
    padding: 0;
}

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

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

/*********************
FOOTER STYLES
*********************/
.footer_top {
    width: 100%;
    height: 280px;
    background: url("../images/bg_footer.jpg") center top no-repeat;
    background-size: cover;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 768px) and (max-width: 1280px) {
  .footer_top {
    height: 340px;
  }
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  .footer_top {
    height: 380px;
  }
}
@media all and (min-width: 1501px) {
  .footer_top {
    height: 438px;
  }
}

.footer_content {
    width: 100%;
    margin: 0 auto;
}

.footer_content_inner {
    margin: 0 auto;
    padding: 40px 20px 60px;
}


.footer_content_inner p {
    color: #036eb8;
    font-family: "M PLUS Rounded 1c";
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 1em;
    transform:rotateZ(0.03deg);
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  .footer_content_inner p {
    font-size: 22px;
  }
}
@media all and (min-width: 1280px) {
  .footer_content_inner p {
    font-size: 24px;
  }
}

.footer {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #0663ac;
}
.footer a:link {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.footer a:visited {
    color: #fff;
    text-decoration: none;
}
.footer a:hover {
    color: #6e8fcc;
    text-decoration: none;
}
.footer a:active {
    color: #fff;
    text-decoration: none;
}

.footer_inner {
    color: #fff;
    width: 100%;
    max-width: 1340px;
    margin: 0 auto;
    padding: 80px 20px;
}






.footer_inner_top {
    display: block;
    margin: 0 auto;
    padding: 0 0 50px;
    border-bottom: 1px solid #5aaff1;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) {
  .footer_inner_top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}

.footer_logo {
    width: 260px;
    height: 57px;
    margin: 0 auto;
    padding: 0;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) and (max-width: 767px) {
  .footer_logo {
    width: 260px;
    height: 57px;
    margin: 0;
  }
}
@media all and (min-width: 768px) and (max-width: 1280px) {
  .footer_logo {
    width: 360px;
    height: 79px;
    margin: 0;
  }
}
@media all and (min-width: 1281px) and (max-width: 1500px) {
  .footer_logo {
    width: 360px;
    height: 79px;
    margin: 0;
  }
}
@media all and (min-width: 1501px) {
  .footer_logo {
    width: 385px;
    height: 85px;
    margin: 0;
  }
}

.footer_address {
    margin: 0 auto 0 0;
    padding: 10px 0 0;
    line-height: 2;
    text-align: center;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) and (max-width: 1023px) {
  .footer_address {
    padding: 0 0 0 50px;
    text-align: left;
  }
}
@media all and (min-width: 1024px) {
  .footer_address {
    padding: 0 0 0 100px;
    text-align: left;

  }
}



.footerNavi {
    display: none;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 720px) {
  .footerNavi {
    font-size: 16px;
    font-weight: bold;
    display: inline;
    margin: 50px auto 0;
    padding: 0 20px 50px;
    border-bottom: 1px solid #5aaff1;
    list-style: none;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
  }
}

.footerNavi li {
    margin: 0;
    padding: 0;
}
.footerNavi li a:link {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.footerNavi li a:visited {
    color: #fff;
    text-decoration: none;
}
.footerNavi li a:hover {
    color: #6e8fcc;
    text-decoration: none;
}
.footerNavi li a:active {
    color: #fff;
    text-decoration: none;
}

.footerNavi li .button {
    padding: 0 15px;
}



.footer_inner_bottom {
    margin: 50px auto 0;
    padding: 0 20px;
}


.footerBottomNavi {
    font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0.0625em;
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
}

.footerBottomNavi li {
    font-size: 14px;
    margin: 0;
    padding: 0;
}
.footerBottomNavi li a:link {
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.footerBottomNavi li a:visited {
    color: #fff;
    text-decoration: none;
}
.footerBottomNavi li a:hover {
    color: #6e8fcc;
    text-decoration: none;
}
.footerBottomNavi li a:active {
    color: #fff;
    text-decoration: none;
}

.footerBottomNavi li .button {
    padding: 0 10px;
}

.footerBottomNavi li+ li .button {
    border-left: 1px solid #fff;
    margin: 0;
}

.footer_banner {
    width: 100%;
    max-width: 260px;
    margin: 60px auto 0;
    padding: 0;
}

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

/*********************
PARTS
*********************/
.btn002-04 {
    width: 100%;
    max-width: 360px;
    height: 60px;
    margin: 50px auto 0;
    padding: 0 25px;
    position: relative;
    text-decoration: none;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center; /* 中央寄せ */
    border-radius: 9999px;
    color: #036eb8;
    background-color: #fff;
    border: 1px solid #036eb8;
    transition: all 0.3s ease;
    font-weight: bold;
}
@media all and (min-width: 960px) {
  .btn002-04 {
    max-width: 270px;
    margin: 50px 0 0;
  }
}


/* テキストを中央にするために矢印を絶対配置 */
.btn002-04 .arrow {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    background-color: #036eb8;
    border-radius: 40px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.btn002-04 .arrow span {
    position: relative;
    right: 2px;
    width: 16px;
    height: 6px;
    border-bottom: 1px solid #fff;
    border-right: 2px solid #fff;
    transform: skew(45deg);
    transition: all 0.3s ease;
}

.btn002-04:hover {
    color: #fff;
    background-color: #036eb8;
}

.btn002-04:hover .arrow {
    background-color: #fff;
}

.btn002-04:hover .arrow span {
    border-color: #036eb8;
}

/* テキストカラー */
.btn002-04 .btn-text {
  color: #036eb8;
  transition: color 0.3s ease;
}

/* ホバー時にテキストカラー変更 */
.btn002-04:hover .btn-text {
  color: #fff;
}










.btn002-05 {
    width: 100%;
    max-width: 360px;
    height: 60px;
    margin: 60px auto 0;
    padding: 0 25px;
    position: relative;
    text-decoration: none;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center; /* 中央寄せ */
    border-radius: 9999px;
    color: #036eb8;
    background-color: #fff;
    border: 1px solid #036eb8;
    transition: all 0.3s ease;
    font-weight: bold;
}

/* テキストを中央にするために矢印を絶対配置 */
.btn002-05 .arrow {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    background-color: #036eb8;
    border-radius: 40px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.btn002-05 .arrow span {
    position: relative;
    right: 2px;
    width: 16px;
    height: 6px;
    border-bottom: 1px solid #fff;
    border-right: 2px solid #fff;
    transform: skew(45deg);
    transition: all 0.3s ease;
}

.btn002-05:hover {
    color: #fff;
    background-color: #036eb8;
}

.btn002-05:hover .arrow {
    background-color: #fff;
}

.btn002-05:hover .arrow span {
    border-color: #036eb8;
}

/* テキストカラー */
.btn002-05 .btn-text {
  color: #036eb8;
  transition: color 0.3s ease;
}

/* ホバー時にテキストカラー変更 */
.btn002-05:hover .btn-text {
  color: #fff;
}





/* btn1 */
a.btn1 {
    display: flex;
    align-items: center;
    max-width: 420px;
    margin: 0 auto;
    padding: 1.3rem 2rem;
    border: 1px solid #ff2c2c;
    background: #fff;
    text-decoration: none;
    transition: 0.3s;
}
a.btn1:hover {
    background-color: #ff2c2c;
}
a.btn1:hover .btn_text {
    color: #fff;
}

a.btn1 .btn_text {
    display: block;
    flex-grow: 1;
    color: #ff2c2c;
    font-weight: bold;
    position: relative;
    text-align: center;
    padding-right: 15px;
    font-size: 16px;
}
a.btn1 .btn_text:hover::after,
a.btn1:hover .btn_text::after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
a.btn1 .btn_text::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid #ff2c2c;
    border-right: 3px solid #ff2c2c;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    transition: 0.3s;
}
@media (max-width: 1200px) {
  a.btn1 .btn_text {
    font-size: 16px;
    padding-right: 20px;
  }
  a.btn1 .btn_text::after {
    width: 12px;
    height: 12px;
  }
}
@media (max-width: 736px) {
  a.btn1 .btn_text {
    font-size: 16px;
    padding-right: 20px;
  }
  a.btn1 .btn_text::after {
    width: 10px;
    height: 10px;
  }
}




.icon-list1 li {
  position: relative;
  padding-left: 1.8em;
  padding-bottom: 0.875em;
  line-height: 1.5;
}

.icon-list1 li::before {
  content: '\e837';
  font-family: 'Material Icons';
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 20px;
  color: #036eb8;
  line-height: 1;
}





.icon-list2 li {
  position: relative;
  padding-left: 1.8em;
  padding-bottom: 0.875em;
  line-height: 1.5;
}

.icon-list2 li::before {
  content: '\e835';
  font-family: 'Material Icons';
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 20px;
  color: #036eb8;
  line-height: 1;
}





.icon-list3 li {
  position: relative;
  padding-left: 1.8em;
  padding-bottom: 0.875em;
  line-height: 1.5;
}

.icon-list3 li::before {
  content: '\e834';
  font-family: 'Material Icons';
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 20px;
  color: #036eb8;
  line-height: 1;
}




.icon-list4 li {
  position: relative;
  padding-left: 1.8em;
  padding-bottom: 0.875em;
  line-height: 1.5;
}

.icon-list4 li::before {
  content: '\e2c4';
  font-family: 'Material Icons';
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 20px;
  color: #036eb8;
  line-height: 1;
}





.icon-list5 li {
  position: relative;
  padding-left: 1.8em;
  padding-bottom: 0.875em;
  line-height: 1.5;
}

.icon-list5 li::before {
  content: '\e2e6';
  font-family: 'Material Icons';
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 20px;
  color: #036eb8;
  line-height: 1;
}




.hr1box {
    width: 100%;
    max-width: 788px;
    height: 30px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden;
}

.hr1box .hr1 {
    width: 100%;
    max-width: 360px;
    height: 30px;
    background: url("../images/hr_img1.png") center top no-repeat;
    background-size: cover;
    margin: 0 auto;
    transition: 0.3s ease-in-out;
}
@media all and (min-width: 600px) and (max-width: 799px) {
  .hr1box .hr1 {
    max-width: 536px;
  }
}
@media all and (min-width: 800px) {
  .hr1box .hr1 {
    max-width: 748px;
  }
}

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

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

/******************************************************************
ANIMATE ADD STYLES
******************************************************************/

/* ---- fadeInUp2 ---- */
@-webkit-keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3%, 0);
    transform: translate3d(0, 3%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3%, 0);
    transform: translate3d(0, 3%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp2 {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2;
}



/* ---- fadeInDown2 ---- */
@-webkit-keyframes fadeInDown2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown2 {
  -webkit-animation-name: fadeInDown2;
  animation-name: fadeInDown2;
}



/* ---- fadeInRight2 ---- */
@-webkit-keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight2 {
  -webkit-animation-name: fadeInRight2;
  animation-name: fadeInRight2;
}



/* ---- fadeInLeft2 ---- */
@-webkit-keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft2 {
  -webkit-animation-name: fadeInLeft2;
  animation-name: fadeInLeft2;
}

/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@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;
    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; } }
