@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap');

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

/* Document
   ========================================================================== */

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

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
	margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
	display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
	margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr { /* 1 */
	overflow: visible;
	-webkit-box-sizing: content-box;
	box-sizing: content-box; /* 1 */
	height: 0; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
	background-color: transparent; /* 1 */
	-webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

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

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] { /* 1 */
	text-decoration: underline;
	text-decoration: underline dotted;
	border-bottom: none; /* 2 */
	-webkit-text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
	font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
	font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
	color: #000;
	background-color: #ff0;
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

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

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

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

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
	border-style: none;
}

/**
 * Hide the overflow in IE.
 */

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

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

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
	margin: 0 2px;
	padding: .35em .625em .75em;
	border: 1px solid #c0c0c0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend { /* 2 */
	display: table;
	-webkit-box-sizing: border-box;
	box-sizing: border-box; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
	color: inherit; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type='search'] { /* 1 */
	outline-offset: -2px;
	-webkit-appearance: textfield; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button { /* 1 */
	font: inherit;
	-webkit-appearance: button; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
	display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
	display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
	display: none;
}

/* ノーマライズ */

html {
	font-size: 62.5%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html * {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	overflow-x: hidden;
	color: #000;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* リセット関連 */

a {
	-webkit-transition: all .3s cubic-bezier(.165, .84, .44, 1);
	transition: all .3s cubic-bezier(.165, .84, .44, 1);
	text-decoration: none;
	color: #f57474;
}

a img,
a svg {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden; /* for chrome */
}

a:hover {
	color: #000;
}

a[href^='tel'] {
	pointer-events: none;
	color: #000;
}

p,
ul,
ul li {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none;
}

ol {
	margin: 0;
}

dl {
	margin: 0;
	padding: 0;
}

dl dt,
dl dd {
	margin: 0;
	padding: 0;
}

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

figure {
	margin: 0;
}

main,
section {
	display: block;
}

em,
cite,
dfn {
	font-style: normal;
}

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='number'],
input[type='url'],
input[type='password'],
input[type='search'],
textarea,
button,
html [type='submit'],
html [type='button'] {
	font-family: inherit;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type='checkbox'],
input[type='radio'],
label,
button {
	cursor: pointer;
}

button {
	padding: 0;
	-webkit-transition: all .3s cubic-bezier(.19, 1, .22, 1);
	transition: all .3s cubic-bezier(.19, 1, .22, 1);
	outline: none;
	background: none;
}

table {
	border-collapse: collapse;
}

/* 表示／非表示切り替え */

.visible-tablet {
	display: none;
}

.visible-sp {
	display: none !important;
}

/* 余白 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* clearfix */

.clearfix:after {
	display: block;
	clear: both;
	content: ' ';
}

/* 基本設定 */

/* a-blog cms */

.editWrap .inner {
	max-width: 1200px;
}

label {
	display: inline;
}

.acms-admin-btn-action-group {
	margin-right: 0;
	margin-left: 0;
}

/* a-blog cms 管理用 */

/* js */

/* Slider */

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

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

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

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

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

/* Slider */

.slick-loading .slick-list {
	background: #fff url('/img/common/ajax-loader.gif') center center no-repeat;
}

/* Icons */

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

/* Arrows */

.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	z-index: 1;
	top: 50%;
	display: block;
	width: 40px;
	height: 40px;
	padding: 0;
	cursor: pointer;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color: transparent;
	outline: none;
	background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .2;
}

.slick-prev:before,
.slick-next:before {
	font-family: 'icon';
	font-size: 14px;
	line-height: 1;
	padding: 20px 15px;
	opacity: 1;
	color: gray;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev {
	left: -40px;
}

[dir='rtl'] .slick-prev {
	right: 0;
	left: auto;
}

.slick-prev:before {
	content: '';
}

[dir='rtl'] .slick-prev:before {
	content: '';
}

.slick-next {
	right: -40px;
}

[dir='rtl'] .slick-next {
	right: auto;
	left: 0;
}

.slick-next:before {
	content: '';
}

[dir='rtl'] .slick-next:before {
	content: '';
}

/* Dots */

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

.slick-dots {
	position: absolute;
	z-index: 9;
	bottom: 10px;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	font-size: 6px;
	line-height: 10px;
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	content: '•';
	text-align: center;
	opacity: .2;
	color: white;
	border-radius: 10px;
	background-color: #fff;
}

.slick-dots li.slick-active button:before {
	opacity: 1;
	color: white;
}

.scroll-hint.is-right-scrollable {
	background: -webkit-linear-gradient(right, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
	background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
	background: -webkit-linear-gradient(left, rgba(0, 0, 0, .15) 0, transparent 16px, transparent), -webkit-linear-gradient(right, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
	background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, transparent 16px, transparent), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
}

.scroll-hint.is-left-scrollable {
	background: -webkit-linear-gradient(left, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
	background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, transparent 16px, transparent);
}

.scroll-hint-icon {
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 60px);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 120px;
	height: 80px;
	padding: 20px 10px 10px 10px;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	text-align: center;
	opacity: 0;
	border-radius: 5px;
	background: rgba(0, 0, 0, .7);
}

.scroll-hint-icon-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	pointer-events: none;
}

.scroll-hint-text {
	font-size: 10px;
	margin-top: 5px;
	color: #fff;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
	opacity: .8;
}

.scroll-hint-icon:before {
	display: inline-block;
	width: 40px;
	height: 40px;
	content: '';
	text-align: center;
	vertical-align: middle;
	color: #fff;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.scroll-hint-icon:after {
	position: absolute;
	top: 10px;
	left: 50%;
	display: block;
	width: 34px;
	height: 14px;
	margin-left: -20px;
	content: '';
	-webkit-transition-delay: 2.4s;
	transition-delay: 2.4s;
	opacity: 0;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
	background-repeat: no-repeat;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
	opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
	-webkit-animation: scroll-hint-appear 1.2s linear;
	animation: scroll-hint-appear 1.2s linear;
	-webkit-animation-iteration-count: 2;
	animation-iteration-count: 2;
}

.scroll-hint-icon-white {
	background-color: #fff;
	-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
	box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
	color: #000;
}

/* 共通 */

@font-face {
	font-family: 'icon';
	font-weight: normal;
	font-style: normal;
	src: url('../fonts/icon.ttf?l8m8rp') format('truetype'), url('../fonts/icon.woff?l8m8rp') format('woff'), url('../fonts/icon.svg?l8m8rp#icon') format('svg');
	font-display: block;
}

[class^='icon-'],
[class*=' icon-'] { /* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icon' !important;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-transform: none;
	speak: none; /* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down:before {
	content: '\e900';
}

.icon-arrow-right-circle:before {
	content: '\e901';
}

.icon-arrow-up:before {
	content: '\e902';
}

/* アイコンフォント */

/*@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root .acms-form-action {
        display: none !important;
	}
}*/

/* logo */

.corp-logo {
	font-size: 0;
	line-height: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 240px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.corp-logo a {
	display: inline-block;
}

.corp-logo img {
	width: 240px;
}

/* global-header */

.global-header {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	border-bottom: 5px solid #f57474;
	background: #fff;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.global-header + * {
	padding-top: 80px;
}

.global-header .corp-logo {
	margin-left: 40px;
}

/* global-nav */

.global-nav {
	font-weight: bold;
}

.global-nav .menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.global-nav .menu li:last-of-type a::after {
	content: none;
}

.global-nav a {
	font-size: 2rem;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 60px 25px;
	color: #000;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.global-nav a span {
	position: relative;
	z-index: 2;
}

.global-nav a:hover {
	color: #fff;
}

.global-nav a:hover::before {
	background-color: #f57474;
}

.global-nav a::before,
.global-nav a::after {
	position: absolute;
	content: '';
}

.global-nav a::before {
	z-index: 1;
	top: 0;
	left: -1px;
	width: calc(100% + 1px);
	height: calc(100% + 1px);
	-webkit-transition: all .3s cubic-bezier(.19, 1, .22, 1);
	transition: all .3s cubic-bezier(.19, 1, .22, 1);
}

.global-nav a::after {
	z-index: 0;
	top: 50%;
	right: 0;
	width: 1px;
	height: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: #ccc;
}

/* gnav-trg */

.gnav-trg {
	display: none;
}

.gnav-trg.active {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.gnav-trg.active .border:nth-of-type(1) {
	-webkit-transform: translate(50%) scale(0);
	transform: translate(50%) scale(0);
}

.gnav-trg.active .border:nth-of-type(2) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.gnav-trg.active .border:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	background-color: #f57474;
}

.gnav-trg.active .border:nth-of-type(3) {
	-webkit-transform: translate(-50%) scale(0);
	transform: translate(-50%) scale(0);
}

.gnav-trg span {
	display: block;
	margin: 4px auto 0;
}

.gnav-trg .border {
	width: 20px;
	height: 2px;
	-webkit-transition: all .5s cubic-bezier(.19, 1, .22, 1);
	transition: all .5s cubic-bezier(.19, 1, .22, 1);
	background-color: #f57474;
}

.gnav-trg .border:nth-of-type(1) {
	margin-top: 0;
}

.gnav-trg .border:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	content: '';
	border-radius: 4px;
}

/* global-footer */

.global-footer {
	margin-top: 60px;
}

.global-footer .footer-top {
	padding: 15px 0;
	background-color: #f4f4f4;
}

.global-footer .footer-top .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.global-footer .footer-nav {
	background: none;
}

.global-footer .footer-bottom {
	padding: 15px 0;
	text-align: center;
	color: #fff;
	background-color: #333;
}

.global-footer .copyright {
	font-size: 1.2rem;
	line-height: 1.4;
	display: block;
}

/* page-top */

.page-top {
	position: fixed;
	z-index: 999;
	right: -100px;
	bottom: 0;
	-webkit-transition: all .6s cubic-bezier(.165, .84, .44, 1);
	transition: all .6s cubic-bezier(.165, .84, .44, 1);
	text-align: center;
}

.page-top.active {
	right: 0;
}

.page-top a {
	font-size: 1.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 85px;
	height: 85px;
	color: #fff;
	background-color: #f57474;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.page-top i {
	font-size: 1.5em;
	display: block;
	margin-bottom: .25em;
}

/* mainContents */

/* inner */

.inner {
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 40px;
	padding-left: 40px;
}

.inner.small {
	max-width: 880px;
}

.inner.full {
	max-width: 100%;
}

/* ff-min */

.ff-min {
	font-family: 'Yu Mincho', 'YuMincho', serif;
}

.upper-case {
	text-transform: uppercase;
}

/* common-title */

.common-title {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0;
}

.common-title.xlarge {
	font-size: 4rem;
	line-height: 1.2;
}

.common-title.large {
	font-size: 3.4rem;
}

.common-title.middle {
	font-size: 2.8rem;
}

.common-title.small {
	font-size: 2.4rem;
}

.common-title.xsmall {
	font-size: 2rem;
}

.common-title.w-normal {
	font-weight: normal;
}

.common-title.bg-title {
	padding: 10px 15px;
	background: #f4f4f4;
}

/* btn */

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

.common-btn {
	font-size: 1.6rem;
	line-height: 1.2;
	position: relative;
	display: inline-block;
	padding: 10px 15px;
	text-align: center;
	word-break: break-all;
	color: #fff;
	border-radius: 4px;
	background-color: #4787c8;
}

.common-btn:hover {
	color: #fff;
	background-color: #366ba1;
}

.common-btn.large {
	font-size: 2.4rem;
	padding: 25px 40px;
}

.common-btn.middle {
	padding: 15px 20px;
}

.common-btn.small {
	font-size: 1.4rem;
	padding: 8px 10px;
}

.common-btn.block {
	display: block;
}

/* list */

.dot-list li {
	position: relative;
	padding-left: 25px;
}

.dot-list li::before {
	position: absolute;
	top: .7em;
	left: .5em;
	width: 8px;
	height: 8px;
	content: '';
	border-radius: 50%;
	background-color: #f57474;
}

.dot-list li:not(:first-child) {
	margin-top: .5em;
}

/* slick最初のスライド以外いったん非表示 */

.slide-wrap {
	-webkit-transition: opacity .1s linear;
	transition: opacity .1s linear;
	opacity: 0;
}

.slide-wrap.slick-initialized {
	opacity: 1;
}

/* page-header */

.page-header {
	margin-top: 40px;
	margin-bottom: 40px;
	padding-right: 40px;
	padding-left: 40px;
}

.page-header .page-title {
	font-size: 4rem;
	margin: 0;
}

/* 共通パーツ */

/* 固有ページ */

.home .global-header {
	position: relative;
	display: block;
	border-top: 5px solid #f57474;
	border-bottom: 0;
	background-color: #f4f4f4;
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .3);
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

.home .global-header + * {
	padding-top: 0;
}

.home .global-header.scrolled {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	opacity: 0;
}

.home .global-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition: all .5s cubic-bezier(.19, 1, .22, 1);
	transition: all .5s cubic-bezier(.19, 1, .22, 1);
	-webkit-transform: translateY(0);
	transform: translateY(0);
	border-top: none;
	border-bottom: 5px solid #f57474;
	background-color: #fff;
}

.home .global-header.fixed .corp-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.home .global-header.fixed::after {
	display: none;
}

.home .global-header.fixed .global-nav a {
	padding: 20px 50px 25px;
}

.home .global-header .corp-logo {
	display: none;
}

.home .global-header::after {
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	content: '';
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	background-color: #fff;
}

.home .global-header .global-nav .menu a::before {
	height: 100%;
}

.home .global-header .global-nav a {
	padding: 30px 60px 35px;
}

.home-header {
	position: relative;
}

.home-header .corp-logo {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: calc(50% + 40px);
	width: 100%;
	max-width: 1280px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.home-header .corp-logo img {
	width: 580px;
}

.home-slide {
	position: relative;
}

.home-slide::before {
	position: absolute;
	z-index: 9;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: url(../img/common/mesh_bg.png);
}

.home-slide .item {
	vertical-align: bottom;
}

.home-slide img {
	width: 100%;
}

.home-anchor-nav {
	margin-top: 20px;
	text-align: center;
}

.home-anchor-nav .menu {
	font-size: 1.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 40px;
	padding-left: 40px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.home-anchor-nav .item {
	width: calc((100% - 20px * 8) / 9);
}

.home-anchor-nav .item a {
	display: block;
	height: 100%;
	color: #000;
}

.home-anchor-nav .item a:hover {
	color: #f57474;
}

.home-anchor-nav .item a:hover i {
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
}

.home-anchor-nav .thumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	height: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
}

.home-anchor-nav .img {
	overflow: hidden;
}

.home-anchor-nav .img img {
	width: 100%;
}

.home-anchor-nav .name {
	font-size: 1.4rem;
	line-height: 1.3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	padding: 10px 0;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.home-anchor-nav i {
	font-size: 1rem;
	display: block;
	padding-top: 10px;
	-webkit-transition: all .2s cubic-bezier(.165, .84, .44, 1);
	transition: all .2s cubic-bezier(.165, .84, .44, 1);
	-webkit-transform: scale(.8);
	transform: scale(.8);
	color: #f57474;
}

.block-link-wrap {
	position: relative;
}

.block-link-wrap:hover img {
	z-index: -1;
	-webkit-transform: scale(1.02);
	transform: scale(1.02);
}

.block-link-wrap .block-img {
	overflow: hidden;
}

.block-link-wrap .block-img img {
	-webkit-transition: all 1s cubic-bezier(.165, .84, .44, 1);
	transition: all 1s cubic-bezier(.165, .84, .44, 1);
}

.block-link {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.home-block {
	margin-top: 20px;
}

.home-block + .home-block {
	margin-top: 10px;
}

.home-block .inner {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.home-block .item {
	position: relative;
	max-width: 560px;
	padding: 30px 80px 30px 40px;
	background-color: rgba(255, 255, 255, .8);
}

.home-block .catch {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	margin-top: .5em;
}

.home-block .address {
	margin-top: 1em;
}

.home-block i {
	font-size: 3rem;
	position: absolute;
	top: 50%;
	right: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.home-block .block-img img {
	width: 100%;
}

.home-col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 40px -40px 0 0;
}

.home-block-sub {
	width: calc((100% - 40px - 40px) / 2);
	margin-right: 40px;
}

.home-block-sub .common-title {
	margin-top: .5em;
}

.home-block-sub i {
	display: inline-block;
	margin-left: 10px;
	vertical-align: -2px;
}

.home-block-sub .address {
	margin-top: .25em;
}

/* トップページ */

.mission-section:first-of-type .common-title.large {
	margin-top: 0;
}

.mission-section .common-title.large {
	margin-top: 70px;
	margin-bottom: 30px;
}

.mission-section .common-title.large + .bg-title {
	margin-top: 0;
}

.mission-section .common-title.bg-title {
	margin-top: 50px;
	margin-bottom: 20px;
}

/* 使命と理念 */

.greeting-section .col2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row-reverse;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
}

.greeting-section .col2 .text {
	width: calc(100% - 285px);
}

.greeting-section .photo {
	width: 255px;
	margin: 5px 0 10px 30px;
}

.greeting-section .photo figcaption {
	font-size: 1.4rem;
	padding: 10px 15px;
	background: #f4f4f4;
}

.greeting-section .text {
	line-height: 2;
}

.greeting-section .text p {
	margin-bottom: 1.5em;
}

.greeting-section .text .name {
	font-weight: bold;
	line-height: 1.2;
	text-align: right;
}

.greeting-section .text .name img {
	margin-left: 5px;
	vertical-align: -5px;
}

/* 理事長挨拶 */

.product-mainimg-loop {
	-webkit-transition: opacity .3s linear;
	transition: opacity .3s linear;
	opacity: 0;
}

.product-mainimg-loop.slick-initialized {
	opacity: 1;
}

.product-mainimg-loop .item {
	margin-right: 1px;
}

.history-list {
	margin-top: 70px;
	background: url(../img/history/dot_bg.svg) 50% 0 repeat-y;
}

.history-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 50%;
	margin-left: auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between; /*&:last-of-type{
		.year-list{
			&::before{
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				transform: translateX(-50%);
				width: 10px;
				height: 100%;
				background-color: #fff;
			}
		}
	}*/
}

.history-block:nth-of-type(odd) {
	flex-direction: row-reverse;
	margin-left: 0;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
}

.history-block:nth-of-type(odd) .year-title,
.history-block:nth-of-type(odd) .year-list {
	padding-right: 60px;
	padding-left: 10px;
}

.history-block:nth-of-type(odd) .year-title::after {
	right: 0;
	left: auto;
	-webkit-transform: translate(50%, 50%);
	transform: translate(50%, 50%);
}

.history-block:nth-of-type(odd) .photo {
	margin-right: 20px;
	margin-left: 0;
}

.history-block:first-of-type .year-title::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 10px;
	height: 100%;
	content: '';
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	background-color: #fff;
}

.history-block .text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	width: calc(100% - 40% - 20px);
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
}

.history-block .year-title,
.history-block .year-list {
	position: relative;
	padding-right: 10px;
	padding-left: 60px;
}

.history-block .year-title {
	font-size: 2rem;
	line-height: .8;
	padding-top: 10px;
	color: #f57474;
	border-bottom: 1px solid #ccc;
}

.history-block .year-title em {
	font-size: 4.5rem;
}

.history-block .year-title::after {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 16px;
	height: 16px;
	content: '';
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	background: url(../img/history/year_point.svg) 0 0 no-repeat;
	background-size: contain;
}

.history-block .year-list {
	padding-top: .75em;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}

.history-block .year-list li + li {
	margin-top: .5em;
}

.history-block .photo {
	width: 40%;
	margin-left: 20px;
	text-align: center;
}

.history-block .photo img {
	padding: 10px;
	text-align: center;
	background-color: #fff;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.history-block .caption {
	font-size: 1.2rem;
	margin-top: 1em;
}

/* 沿革 */

.list .global-footer {
	position: relative;
	z-index: 10;
	margin-top: 0;
}

.list-wrap {
	position: relative;
	display: -ms-grid;
	display: grid;
	overflow-y: hidden;
	-ms-grid-rows: auto 1fr;
	-ms-grid-columns: 50% 50%;
	grid-template: 'list-header list-map' auto 'list-group list-map' 1fr / 50% 50%;
}

.list-wrap::before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	content: '';
	-webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, .16);
	box-shadow: 3px 0 6px rgba(0, 0, 0, .16);
}

.list-header {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 40px 40px;
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: list-header;
}

.list-map {
	overflow: hidden;
	background: #e3faff;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	-ms-grid-column: 2;
	grid-area: list-map;
}

.list-nav {
	position: relative;
}

.list-nav .map-img { /*@include sp ($point-sp) {
			position: relative;
			height: 200px;
			overflow: hidden;
		}*/
}

.list-nav .map-img img {
	width: 100%; /*@include sp ($point-sp) {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%,-50%);
			}*/
}

.list-nav .map-point {
	position: absolute;
	text-align: center;
}

.list-nav .map-point:hover .marker {
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
}

.list-nav .map-point a {
	display: inline-block;
	color: #000;
}

.list-nav .marker {
	width: 2.2vw;
	max-width: 30px;
	-webkit-transition: all .3s cubic-bezier(.19, 1, .22, 1);
	transition: all .3s cubic-bezier(.19, 1, .22, 1);
}

.list-nav .caption {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3;
	display: block;
	margin-top: 1em;
}

.list-nav .muroran {
	z-index: 1;
	top: 25%;
	left: 38%;
}

.list-nav .muroran .marker {
	width: 3.6vw;
	max-width: 50px;
}

.list-nav .noboribetsu {
	top: 25%;
	left: 44%;
}

.list-nav .sapporo {
	top: 15.5%;
	left: 46%;
}

.list-group {
	position: relative;
	z-index: 1;
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: list-group;
}

.list-area + .list-area {
	margin-top: 150px;
}

.area-title {
	font-size: 1.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px 60px;
	color: #fff;
	background-color: #f57474;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.area-title .icon {
	margin-right: 10px;
}

.list-place {
	margin-bottom: 90px;
	padding: 0 60px;
}

.place-img {
	margin-right: -60px;
	margin-left: -60px;
}

.place-img img {
	width: 100%;
}

.place-title {
	font-size: 2.6rem;
	margin-top: 1em;
}

.place-table {
	width: 100%;
	margin-top: 1em;
}

.place-table th,
.place-table td {
	padding: 5px 0;
	vertical-align: top;
}

.place-table th {
	width: 5em;
	text-align: left;
}

/* 母恋一覧 */

@media screen and (max-width: 1400px) {

.home-anchor-nav .name {
	font-size: 1vw;
}

}

@media screen and (max-width: 1200px) {

.global-nav a {
	font-size: 1.8rem;
	padding: 20px 50px 25px;
}

}

@media screen and (max-width: 960px) {

.visible-tablet {
	display: block !important;
}

.corp-logo img {
	width: 100%;
	max-width: 200px;
}

.global-nav a {
	padding: 15px 20px 20px;
}

.home .global-header.fixed .global-nav a {
	padding: 15px 20px 20px;
}

.home-header .corp-logo img {
	max-width: 350px;
}

.home-anchor-nav .menu {
	font-size: 1.2rem;
	width: 1200px;
	padding-right: 20px;
	padding-left: 20px;
}

.home-anchor-nav .name {
	font-size: 1.2rem;
}

.history-block .year-title {
	font-size: 1.6rem;
}

.history-block .year-title em {
	font-size: 3rem;
}

.place-table .url {
	min-width: inherit;
}

}

@media screen and (max-width: 768px) {

a[href^='tel'] {
	text-decoration: underline;
	pointer-events: auto;
	color: #f57474;
}

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

.visible-sp {
	display: block !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.slick-prev {
	left: 0;
}

.slick-next {
	right: 0;
}

.global-header {
	position: relative;
	z-index: 1000;
	top: auto;
	left: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px 0;
	border-bottom: 0;
	border-bottom: 1px solid #ccc;
}

.global-header + * {
	padding-top: 0;
}

.global-header .corp-logo {
	z-index: 20;
	margin-left: 15px;
}

.global-header .global-nav {
	position: fixed;
	z-index: 10;
	top: 5px;
	right: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.global-header .menu {
	position: absolute;
	top: 0;
	right: 0;
	display: none;
	width: 100%;
	padding-top: 65px;
	-webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
	transition: all .4s cubic-bezier(.165, .84, .44, 1);
	opacity: 0;
	background-color: #fff;
	-webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, .3);
	box-shadow: 0 5px 6px rgba(0, 0, 0, .3);
}

.global-header .menu.active {
	top: -5px;
	display: block;
	opacity: 1;
}

.global-header .menu a {
	border-top: 1px solid #ccc;
}

.global-header .menu a:hover {
	background-color: #f57474;
}

.global-header .menu a::before,
.global-header .menu a::after {
	content: none;
}

.global-nav a {
	font-size: 1.6rem;
	padding: 20px;
}

.gnav-trg {
	position: relative;
	z-index: 1001;
	display: block;
	width: 45px;
	height: 45px;
	margin: 0 10px 0 auto;
	border: 2px solid #f57474 !important;
	border-radius: 50% !important;
	background-color: #fff;
	-webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, .3);
	box-shadow: 0 5px 6px rgba(0, 0, 0, .3);
}

.global-footer .footer-top {
	padding: 20px 0 0;
}

.global-footer .footer-top .inner {
	display: block;
}

.global-footer .corp-logo {
	margin: auto;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.global-footer .footer-nav {
	margin-top: 20px;
}

.global-footer .menu {
	margin: 0 -20px;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.global-footer .menu li {
	width: 50%;
	border-top: 1px solid #ccc;
}

.global-footer .menu li a {
	padding: 15px;
}

.global-footer .menu li a::after {
	height: 100%;
}

.global-footer .menu li:nth-of-type(even) a::after {
	content: none;
}

.global-footer .copyright {
	font-size: 1rem;
}

.page-top {
	bottom: 0;
}

.page-top a {
	font-size: 1.2rem;
	width: 60px;
	height: 60px;
}

.page-top i {
	font-size: 1em;
}

.inner {
	padding-right: 20px;
	padding-left: 20px;
}

.inner.sp-full {
	padding-right: 0;
	padding-left: 0;
}

.common-title.xlarge {
	font-size: 3rem;
}

.common-title.large {
	font-size: 2.4rem;
}

.common-title.middle {
	font-size: 2rem;
}

.common-title.small {
	font-size: 1.8rem;
}

.common-title.xsmall {
	font-size: 1.6rem;
}

.common-title.bg-title {
	padding: 5px 10px;
}

.common-btn.large {
	font-size: 2rem;
	padding: 15px 25px;
}

.page-header {
	margin-top: 30px;
	margin-bottom: 30px;
	padding-right: 20px;
	padding-left: 20px;
}

.page-header .page-title {
	font-size: 3rem;
}

.home .global-header {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	border-top: 0;
	background: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.home .global-header::after {
	content: none;
}

.home .global-header .global-nav .menu {
	top: -5px;
	padding-top: 65px;
}

.home .global-header .global-nav a {
	padding: 20px;
}

.home-header {
	height: 480px;
}

.home-header .corp-logo {
	top: auto;
	bottom: 0;
	left: 0;
	padding: 0 20px 30px;
	-webkit-transform: none;
	transform: none;
}

.home-header .corp-logo img {
	width: auto;
	margin: 0 auto;
	padding: 0 10px;
}

.home-slide {
	height: 100%;
}

.home-slide::before {
	height: 200px;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(50%, white));
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 50%);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 50%);
}

.home-slide .slick-list,
.home-slide .slick-list div {
	height: 100%;
}

.home-slide .item {
	position: relative;
	overflow: hidden;
	height: 100%;
}

.home-slide img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	max-width: inherit;
	height: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.block-tel {
	position: relative;
	z-index: 3;
}

.home-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	flex-direction: column-reverse;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
}

.home-block + .home-block {
	margin-top: 0;
}

.home-block .inner {
	position: static;
	-webkit-transform: none;
	transform: none;
}

.home-block .item {
	max-width: 100%;
	padding: 20px 40px 20px 0;
}

.home-block .catch {
	font-size: 1.4rem;
}

.home-block i {
	font-size: 2.5rem;
	right: 0;
}

.home-col {
	display: block;
	margin: 20px 0 0;
}

.home-block-sub {
	width: auto;
	margin: 0 0 40px;
}

.mission-section .common-title.large {
	margin-top: 40px;
	margin-bottom: 10px;
}

.mission-section .common-title.bg-title {
	margin-top: 30px;
}

.greeting-section .col2 {
	display: block;
}

.greeting-section .col2 .text {
	width: auto;
}

.greeting-section .photo {
	margin: 0 auto 20px;
}

.greeting-section .text p {
	margin-bottom: 1em;
}

.greeting-section .text .name {
	line-height: 1.4;
}

.history-list {
	margin-top: 30px;
	background-position: 19px 0;
}

.history-block {
	display: block;
	width: auto;
}

.history-block + .history-block {
	margin-top: 40px;
}

.history-block:nth-of-type(odd) {
	flex-direction: row;
	margin-left: auto;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
}

.history-block:nth-of-type(odd) .year-title,
.history-block:nth-of-type(odd) .year-list {
	padding-right: 10px;
	padding-left: 20px;
}

.history-block:nth-of-type(odd) .year-title::after {
	right: auto;
	left: 0;
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
}

.history-block:nth-of-type(odd) .photo {
	margin-right: 0;
	margin-left: 20px;
}

.history-block:first-of-type .year-title::before {
	right: auto;
	left: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.history-block .text {
	width: 100%;
}

.history-block .year-title,
.history-block .year-list {
	padding-left: 20px;
}

.history-block .photo {
	width: 100%;
	margin-top: 20px;
}

.list-wrap {
	display: block;
}

.list-wrap::before {
	content: none;
}

.list-header {
	padding: 0 20px;
}

.list-map {
	background: url(../img/list/map_bg.png) 0 0 repeat #e3faff;
	background-size: 300px;
}

.list-nav .marker {
	width: 15px;
}

.list-nav .caption {
	font-size: 1.2rem;
	margin-top: .25em;
}

.list-nav .muroran {
	top: 60%;
}

.list-nav .muroran .marker {
	width: 20px;
}

.list-nav .noboribetsu {
	top: 54%;
	left: 44%;
}

.list-nav .sapporo {
	top: 19%;
}

.list-area + .list-area {
	margin-top: 80px;
}

.area-title {
	padding: 10px 20px;
}

.list-place {
	margin-bottom: 40px;
	padding: 0 20px;
}

.place-img {
	margin-right: -20px;
	margin-left: -20px;
}

.place-title {
	font-size: 2rem;
}

}

@-webkit-keyframes scroll-hint-appear {

0% {
	-webkit-transform: translateX(40px);
	transform: translateX(40px);
	opacity: 0;
}

10% {
	opacity: 1;
}

50%,100% {
	-webkit-transform: translateX(-40px);
	transform: translateX(-40px);
	opacity: 0;
}

}

@keyframes scroll-hint-appear {

0% {
	-webkit-transform: translateX(40px);
	transform: translateX(40px);
	opacity: 0;
}

10% {
	opacity: 1;
}

50%,100% {
	-webkit-transform: translateX(-40px);
	transform: translateX(-40px);
	opacity: 0;
}

}

