@charset 'UTF-8';
/*==========================================================================

   mixin

===========================================================================*/
/*!
 * ress.css • v2.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&display=swap');
@import url('//cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css');
@import url('//use.fontawesome.com/releases/v5.10.1/css/all.css');
html {
	box-sizing: border-box;
	/* Prevent adjustments of font size after orientation changes in iOS */
	word-break: break-word;
	-moz-tab-size: 4;
	     tab-size: 4;

	-webkit-text-size-adjust: 100%;
}

*,
::before,
::after {
	/* Set `background-repeat: no-repeat` to all elements and pseudo elements */
	box-sizing: inherit;
	background-repeat: no-repeat;
}

::before,
::after {
	/* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
	text-decoration: inherit;
}

* {
	/* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
	overflow: visible;
	/* Show the overflow in Edge and IE */
	height: 0;
	/* Add the correct box sizing in Firefox */
}

details,
main {
	display: block;
	/* Render the `main` element consistently in IE. */
}

summary {
	display: list-item;
	/* Add the correct display in all browsers */
}

small {
	font-size: 80%;
	/* Set font-size to 80% in `small` elements */
}

[hidden] {
	display: none;
	/* Add the correct display in IE */
}

abbr[title] {
	border-bottom: none;
	/* Remove the bottom border in Chrome 57 */
	/* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
	text-decoration: underline;
	text-decoration: underline dotted;
}

a {
	background-color: transparent;
	/* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
	outline-width: 0;
	/* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	/* Specify the font family of code elements */
}

pre {
	font-size: 1em;
	/* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
	font-weight: bolder;
	/* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
	position: relative;
	vertical-align: baseline;
	font-size: 75%;
	line-height: 0;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
	border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
	cursor: default;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto;
	/* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type='search'] {
	/* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px;
	-webkit-appearance: textfield;
}

[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
	/* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
	overflow: auto;
	/* Internet Explorer 11+ */
	resize: vertical;
	/* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
	font: inherit;
	/* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold;
	/* Restore the font weight unset by the previous rule */
}

button {
	overflow: visible;
	/* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
	text-transform: none;
	/* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
	color: inherit;
	cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
	/* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
	border-style: none;
	background-color: transparent;
}

/* Style select like a standard input */
select {
	/* Firefox 36+ */
	-webkit-appearance: none;

	   -moz-appearance: none;
	/* Chrome 41+ */
}

select::-ms-expand {
	display: none;
	/* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentColor;
	/* Internet Explorer 11+ */
}

legend {
	/* Correct the color inheritance from `fieldset` elements in IE */
	display: table;
	/* Correct the text wrapping in Edge and IE */
	max-width: 100%;
	/* Correct the text wrapping in Edge and IE */
	max-width: 100%;
	border: 0;
	/* Correct the text wrapping in Edge and IE */
	white-space: normal;
	/* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit;
	/* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
	color: inherit;
	font: inherit;
	/* Correct the inability to style clickable types in iOS and Safari */
	-webkit-appearance: button;
	/* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
	border-style: none;
	/* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
	vertical-align: baseline;
}

svg:not([fill]) {
	fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
	[hidden~='screen'] {
		display: inherit;
	}
	[hidden~='screen']:not(:active):not(:focus):not(:target) {
		position: absolute !important;
		clip: rect(0 0 0 0) !important;
	}
}

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
	cursor: default;
}

/* webfont */
/* Slider */
.slick-slider {
	display: block;
	box-sizing: border-box;
	position: relative;
	-webkit-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 {
	display: block;
	overflow: hidden;
	position: relative;
	margin: 0;
	padding: 0;
}

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

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

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

.slick-track {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	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;
}

/*
 * Container style
 */
.ps {
	overflow: hidden !important;

	overflow-anchor: none;
	-ms-overflow-style: none;
	    touch-action: auto;
	-ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
	display: none;
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'bottom' or 'top' for ps__rail-x */
	bottom: 0;
	height: 15px;
	-webkit-transition: background-color .2s linear, opacity .2s linear;
	        transition: background-color .2s linear, opacity .2s linear;
	opacity: 0;
}

.ps__rail-y {
	display: none;
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'right' or 'left' for ps__rail-y */
	right: 0;
	width: 15px;
	-webkit-transition: background-color .2s linear, opacity .2s linear;
	        transition: background-color .2s linear, opacity .2s linear;
	opacity: 0;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
	display: block;
	background-color: transparent;
}

.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
	opacity: .6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
	background-color: #eee;
	opacity: .9;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'bottom' for ps__thumb-x */
	bottom: 2px;
	height: 6px;
	border-radius: 6px;
	background-color: #aaa;
	-webkit-transition: background-color .2s linear, height .2s ease-in-out;
	        transition: background-color .2s linear, height .2s ease-in-out;
}

.ps__thumb-y {
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'right' for ps__thumb-y */
	right: 2px;
	width: 6px;
	border-radius: 6px;
	background-color: #aaa;
	-webkit-transition: background-color .2s linear, width .2s ease-in-out;
	        transition: background-color .2s linear, width .2s ease-in-out;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
	height: 11px;
	background-color: #999;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
	width: 11px;
	background-color: #999;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
	.ps {
		overflow: auto !important;
	}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.ps {
		overflow: auto !important;
	}
}

/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
html {
	min-height: 100%;
}

html.is-menuopen {
	overflow: hidden;
	width: 100%;
	height: 100%;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	width: 100%;
	height: 100%;
}

/*--------------------------------------------------------------------------
   head
---------------------------------------------------------------------------*/
head {
	font-family: 'pc';
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	head {
		font-family: 'sp';
	}
}

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body {
	display: -ms-flexbox;
	display: flex;
	min-width: 1080px;
	min-height: 100vh;
	background-color: #eee7dd;
	color: #000;
	font-family: 'YakuHanJP', 'Noto Serif JP', 'Yu Mincho', YuMincho, 游明朝, YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', HG明朝E, 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	    flex-direction: column;

	-ms-flex-direction: column;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.os-mac body {
	font-weight: 400;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	body {
		width: 100%;
		min-width: 320px;
		height: auto;
		font-size: 12px;
		line-height: 1.5;
	}
}

/*--------------------------------------------------------------------------
   a
---------------------------------------------------------------------------*/
a {
	color: inherit;
	outline: none;

	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a:link,
a:visited {
	text-decoration: none;
}

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
* {
	word-wrap: break-word;
	outline: none;
}

img {
	vertical-align: top;
}

ul,
ol {
	list-style: none;
}

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

/* Placeholder
-----------------------------------------------*/
::-webkit-input-placeholder {
	color: rgba(255, 255, 255, .6);
}

::-moz-placeholder {
	color: rgba(255, 255, 255, .8);
}

:-ms-input-placeholder {
	color: rgba(255, 255, 255, .6);
}

:-moz-placeholder {
	color: rgba(255, 255, 255, .6);
}

/*--------------------------------------------------------------------------
   selection
---------------------------------------------------------------------------*/

::selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	vertical-align: middle;
	white-space: normal;
	-webkit-appearance: none;

	   -moz-appearance: none;
	        appearance: none;
}

/* Remove the stupid outer glow in Webkit */
input:focus,
select:focus,
textarea:focus {
	outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
	box-sizing: content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
	box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
	width: 13px;
	height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
	-webkit-box-sizing: content-box;
	-webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
	display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type='reset'],
input[type='button'],
input[type='submit'] {
	/* Fix IE7 display bug */
	overflow: visible;
	width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
	padding: 0;
	border: 0;
	background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
	/* Turn off scroll bars in IE unless needed */
	overflow: auto;
	/* Move the label to the top */
	vertical-align: top;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
	/* Move the label to the top */
	vertical-align: top;
}

/*--------------------------------------------------------------------------
   l-page
---------------------------------------------------------------------------*/
.l-page-wrapper {
	overflow: hidden;
}

.is-loading .l-page-wrapper {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.l-page {
	display: -ms-flexbox;
	display: flex;
	position: relative;
	min-height: 100vh;
	    flex-direction: column;

	-ms-flex-direction: column;
}

.l-page__main {
	padding-top: 225px;
	letter-spacing: .06em;
}

.l-page__footer {
	margin-top: auto;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.l-page-wrapper {
		overflow: hidden;
		width: 100%;
		height: 100%;
	}
	.l-page {
		overflow-x: hidden;
		overflow-y: auto;
		width: 100%;
		height: 100%;

		-webkit-overflow-scrolling: touch;
	}
	.l-page__main {
		padding-top: 75px;
	}
	.is-loading .l-page {
		overflow-y: hidden;
	}
}

/*--------------------------------------------------------------------------
   l-wrap
---------------------------------------------------------------------------*/
.l-wrap {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.l-wrap {
		width: auto;
		padding: 0 50px;
	}
}

/*--------------------------------------------------------------------------
   l-grid
---------------------------------------------------------------------------*/
.l-grid {
	box-sizing: border-box;
}

.l-grid::after {
	display: table;
	clear: both;
	content: '';
}

.l-grid__item {
	display: block;
	box-sizing: inherit;
	float: left;
}

.l-grid__item--1of2 {
	width: 50%;
}

.l-grid__item--1of3 {
	width: 33.33333333%;
}

.l-grid__item--1of4 {
	width: 25%;
}

.l-grid__item--1of5 {
	width: 20%;
}

.l-grid__item--1of6 {
	width: 16.66666666%;
}

/*--------------------------------------------------------------------------
   l-grid
---------------------------------------------------------------------------*/
.l-inline-grid {
	box-sizing: border-box;
	white-space: nowrap;
}

.l-inline-grid__item {
	display: inline-block;
	box-sizing: inherit;
}

.l-inline-grid__item--1of2 {
	width: 50%;
}

.l-inline-grid__item--1of3 {
	width: 33.33333333%;
}

.l-inline-grid__item--1of4 {
	width: 25%;
}

.l-inline-grid__item--1of5 {
	width: 20%;
}

.l-inline-grid__item--1of6 {
	width: 16.66666666%;
}

/*--------------------------------------------------------------------------
   l-flex-grid
---------------------------------------------------------------------------*/
.l-flex-grid {
	display: -ms-flexbox;
	display: flex;
	box-sizing: border-box;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.l-flex-grid__item {
	box-sizing: inherit;
}

.l-flex-grid__item--full {
	width: 100%;
}

.l-flex-grid__item--1of2 {
	width: 50%;
}

.l-flex-grid__item--1of3 {
	width: 33.33333333%;
}

.l-flex-grid__item--1of4 {
	width: 25%;
}

.l-flex-grid__item--1of5 {
	width: 20%;
}

.l-flex-grid__item--1of6 {
	width: 16.66666666%;
}

/*--------------------------------------------------------------------------
   c-btn
---------------------------------------------------------------------------*/
.c-btn {
	display: inline-block;
	position: relative;
	padding-left: 30px;
	border-bottom: 1px solid #96928b;
	font-size: 16px;
}

@media only screen and (max-width: 767px) {
	.c-btn {
		font-size: 13px;
	}
}

.c-btn::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 25px;
	height: 8px;
	background: url('../img/common/ico_arrow_link.svg') no-repeat;
	content: '';
	transform: translateY(-50%);
}

.c-btn a {
	display: inline-block;
	padding: 5px;
	transition: .3s;
}

.mode-pc .c-btn a:hover {
	background: rgba(255, 255, 255, .5);
}

/*--------------------------------------------------------------------------
   c-ico
---------------------------------------------------------------------------*/
.c-ico-pdf {
	position: relative;
}

.c-ico-pdf::before {
	position: absolute;
	top: 50%;
	right: -38px;
	width: 25px;
	height: 32px;
	background: url('../../assets/img/common/ico_pdf.svg') no-repeat;
	background-size: contain;
	content: '';
	transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
	.c-ico-pdf::before {
		right: -31px;
		width: 18px;
		height: 22px;
	}
}

/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   form
---------------------------------------------------------------------------*/
input,
button,
select,
textarea {
	border-radius: 0;
	-webkit-appearance: none;

	    -ms-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}

form input,
form textarea {
	border: 0;
}

input[type=checkbox],
input[type=radio] {
	position: absolute;
	opacity: 0;
}

.c-input {
	box-sizing: border-box;
	width: 100%;
	height: 35px;
	padding: 0 10px;
	background-color: #f9f6f1;
	font-size: 14px;
}

@media only screen and (max-width: 767px) {
	.c-input {
		height: 40px;
		padding: 5px 15px;
		font-size: 13px;
	}
}

.c-input--time {
	width: 120px;
}

.c-textarea {
	overflow: auto;
	box-sizing: border-box;
	width: 100%;
	max-height: 175px;
	padding: 10px 15px;
	background-color: #f9f6f1;
}

@media only screen and (max-width: 767px) {
	.c-textarea {
		max-height: 300px;
		padding: 10px 12px;
	}
}

/* checkbox */
.c-checkbox {
	position: absolute;
	visibility: hidden;
}

.c-checkbox + label {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	padding-left: 38px;
	vertical-align: middle;
	font-weight: 700;
	cursor: pointer;
}

@media only screen and (max-width: 767px) {
	.c-checkbox + label {
		padding-left: 28px;
	}
}

.c-checkbox + label::before {
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #1e1e1e;
	border-radius: 4px;
	background: #fff;
	content: '';
}

@media only screen and (max-width: 767px) {
	.c-checkbox + label::before {
		top: 0;
		width: 20px;
		height: 20px;
	}
}

.c-checkbox + label::after {
	display: block;
	position: absolute;
	top: 3px;
	left: 7px;
	width: 10px;
	height: 18px;
	border-right: 4px solid #1e1e1e;
	border-bottom: 4px solid #1e1e1e;
	content: '';
	transform: rotate(45deg);
	opacity: 0;
}

@media only screen and (max-width: 767px) {
	.c-checkbox + label::after {
		top: 2px;
		left: 6px;
		width: 8px;
		height: 14px;
	}
}

.c-checkbox:checked + label::after {
	opacity: 1;
}

/* select */
.c-select {
	box-sizing: border-box;
	position: relative;
	width: 56px;
	height: 24px;
	border: 1px solid #707070;
	border-radius: 6px;
	background-color: #fff;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.c-select {
		width: 46px;
	}
}

.c-select::after {
	position: absolute;
	top: calc(50% - 2px);
	right: 8px;
	width: 14px;
	height: 6px;
	background: url('../../assets/img/common/ico_arrow_accordion.svg') no-repeat;
	background-size: 14px 6px;
	content: '';
	pointer-events: none;
}

@media only screen and (max-width: 767px) {
	.c-select::after {
		top: calc(50% - 1px);
		right: 4px;
		width: 12px;
		height: 4px;
		background: url('../../assets/img/common/ico_arrow_accordion.svg') no-repeat;
		background-size: 12px 4px;
	}
}

.c-select select {
	width: 100%;
	height: 100%;
	padding-left: 10px;
	vertical-align: inherit;
	font-weight: 500;
	cursor: pointer;
}

@media only screen and (max-width: 767px) {
	.c-select select {
		padding-left: 8px;
	}
}

/*--------------------------------------------------------------------------
   m-page-heading
---------------------------------------------------------------------------*/
.m-page-heading {
	padding-top: 55px;
}

@media only screen and (max-width: 767px) {
	.m-page-heading {
		padding-top: 35px;
	}
}

.m-page-heading__hdg {
	text-align: center;
	font-size: 19px;
}

@media only screen and (max-width: 767px) {
	.m-page-heading__hdg {
		font-size: 14px;
	}
}

.m-page-heading__txt {
	margin-top: 20px;
	line-height: 2.4;
}

@media only screen and (max-width: 767px) {
	.m-page-heading__txt {
		margin-top: 15px;
		font-size: 11px;
		line-height: 2.5;
	}
}

.m-page-heading__txt sup {
	position: relative;
	top: -1em;
	font-size: 8px;
}

/*--------------------------------------------------------------------------
   m-contents-nav
---------------------------------------------------------------------------*/
.m-contents-nav {
	display: -ms-flexbox;
	display: flex;
	margin-top: 90px;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media only screen and (max-width: 767px) {
	.m-contents-nav {
		margin-top: 45px;
	}
}

.m-contents-nav__item {
	width: 176px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.m-contents-nav__item {
		width: 47%;
		margin-bottom: 15px;
	}
}

.m-contents-nav__item a {
	display: block;
	padding: 20px 0;
	border: 1px solid #bfbbb3;
	transition: .3s;
}

@media only screen and (max-width: 767px) {
	.m-contents-nav__item a {
		display: -ms-flexbox;
		display: flex;
		height: 68px;

		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.mode-pc .m-contents-nav__item a:hover {
	border-color: rgba(255, 255, 255, .5);
	background: rgba(255, 255, 255, .5);
}

.m-contents-nav__item--wide {
	width: 100%;
	margin-top: 30px;
}

@media only screen and (max-width: 767px) {
	.m-contents-nav__item--wide {
		margin-top: 0;
	}
}

/*--------------------------------------------------------------------------
   m-legal
---------------------------------------------------------------------------*/
.m-legal {
	margin-top: 55px;
}

@media only screen and (max-width: 767px) {
	.m-legal {
		margin-top: 35px;
	}
}

.m-legal__hdg {
	font-weight: 400;
}

@media only screen and (max-width: 767px) {
	.m-legal__hdg {
		font-size: 12px;
	}
}

.m-legal__txt,
.m-legal__list {
	margin-top: 15px;
	line-height: 2.4;
}

@media only screen and (max-width: 767px) {
	.m-legal__txt,
	.m-legal__list {
		font-size: 11px;
		line-height: 2.5;
	}
}

.m-legal__txt + .m-legal__hdg,
.m-legal__list + .m-legal__hdg {
	margin-top: 40px;
}

@media only screen and (max-width: 767px) {
	.m-legal__txt + .m-legal__hdg,
	.m-legal__list + .m-legal__hdg {
		margin-top: 30px;
	}
}

.m-legal__item {
	margin-left: 1em;
	padding-left: .6em;
	list-style-type: decimal;
}

@media only screen and (max-width: 767px) {
	.m-legal__item {
		padding-left: 0;
	}
}

/*--------------------------------------------------------------------------
   m-error
---------------------------------------------------------------------------*/
.m-error {
	max-width: 600px;
	margin: 40px auto;
	padding: 20px 35px;
	border: 1px solid #fb4040;
	background-color: rgba(255, 228, 228, .4);
	color: #fb4040;
}

@media only screen and (max-width: 767px) {
	.m-error {
		padding: 10px 20px;
	}
}

.m-error__alert {
	margin-bottom: .5em;
	font-size: 18px;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.m-error__alert {
		font-size: 12px;
	}
}

.m-error__txt {
	margin: 10px 0 0 15px;
	line-height: 1.8;
}

@media only screen and (max-width: 767px) {
	.m-error__txt {
		font-size: 10px;
	}
}

.m-error__txt li {
	margin-top: 5px;
	list-style: disc;
}

/*--------------------------------------------------------------------------
   cf
---------------------------------------------------------------------------*/
.cf {
	*zoom: 1;
}

.cf:after {
	display: table;
	clear: both;
	content: '';
}

/**
 *
 *  LOADER
 *
 */
/*--------------------------------------------------------------------------
   loader
---------------------------------------------------------------------------*/
#Loader {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100%;
	height: 100%;
	background: white;
}

#Loader #progress {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 3px;
	background: #000;
}

/* trans
-------------------------------------------*/
#Loader {
	transition: all 1s ease;
}

/* anima
-------------------------------------------*/
.load-complete #Loader {
	opacity: 0;
}

/*--------------------------------------------------------------------------
   SHOW / HIDE
---------------------------------------------------------------------------*/
/*
 show / hide
 -- レスポンシブ用 表示/非表示
*/
.mi-pc {
	display: block;
}

img.mi-pc {
	display: inline;
}

.mi-sp {
	display: none;
}

/* media query -> sp
========================================*/
@media only screen and (max-width: 767px) {
	.mi-pc,
	img.mi-pc {
		display: none;
	}
	.mi-sp {
		display: block;
	}
	img.mi-sp {
		display: inline;
	}
}

/*--------------------------------------------------------------------------
   TEXT
---------------------------------------------------------------------------*/
/*
 note
 -- 改行時、一文字目に余白を持たせる
*/
.mi-note,
.mi-list-note li {
	padding-left: 1em;
	text-indent: -1em;
}

/*--------------------------------------------------------------------------
   IMAGE
---------------------------------------------------------------------------*/
/*
 max
 -- 横幅に合わせて画像を最大化
*/
.mi-img-max {
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------------------------
   LAYOUT
---------------------------------------------------------------------------*/
/*
 center
 -- 中央配置
*/
.mi-t-center {
	text-align: center;
}

/*--------------------------------------------------------------------------
   HOVER
---------------------------------------------------------------------------*/
/*
 hov01
 -- 透過
*/
/* setting */
/* core */
.mi-hov01 {
	transition: all .2s ease-in-out;
}

.mi-hov01:hover {
	opacity: .7;
}

.mi-hov01-all > * {
	transition: all .2s ease-in-out;
}

.mi-hov01-all > *:hover {
	opacity: .7;
}

/*==========================================================================

   keyframes

===========================================================================*/
/*--------------------------------------------------------------------------
   .g-header
---------------------------------------------------------------------------*/
.g-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	min-width: 1080px;
	height: 225px;
	background-color: #eee7dd;
	transition: box-shadow .6s;
}

@media only screen and (max-width: 767px) {
	.g-header {
		min-width: 320px;
		height: 76px;
	}
}

.g-header.is-fixed {
	position: fixed;
	height: 195px;
	box-shadow: 0 0 15px rgba(0, 0, 0, .05);
	transform: translateY(-70px);
	/*
		.g-header__inner {
			padding-top: 35px;

			@include mq-sp {
				padding-top: 0;
			}
		}

		.g-header__lang {
			top: 38px;

			@include mq-sp {
				top: inherit;
			}
    }
    */
}

@media only screen and (max-width: 767px) {
	.g-header.is-fixed {
		height: 76px;
		transform: translateY(0);
	}
}

.g-header__inner {
	position: relative;
	max-width: 1080px;
	margin: 0 auto;
	padding-top: 85px;
}

@media only screen and (max-width: 767px) {
	.g-header__inner {
		padding-top: 0;
	}
}

.g-header__logo {
	position: relative;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.g-header__logo {
		z-index: 3;
		padding: 30px 0 0 40px;
	}
	.g-header__logo img {
		width: 178px;
	}
}

.g-header__logo a {
	display: inline-block;
}

.g-header__menubtn {
	display: none;
}

@media only screen and (max-width: 767px) {
	.g-header__menubtn {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 999;
		width: 84px;
		height: 76px;
		cursor: pointer;
	}
	.g-header__menubtn .lines {
		display: block;
		position: absolute;
		top: 30px;
		left: 30px;
		width: 23px;
		height: 16px;
		margin: 0;
		padding: 0;
		box-shadow: none;
		border: none;
		border-radius: none;
		text-indent: -9999px;
		font-size: 0;
		-webkit-appearance: none;

		   -moz-appearance: none;
		        appearance: none;
	}
	.g-header__menubtn .lines span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #909090;
		transition: all .4s;
	}
	.g-header__menubtn .lines span:nth-of-type(1) {
		top: 0;
		animation: menu-bar01 .75s forwards;
	}
	.g-header__menubtn .lines span:nth-of-type(2) {
		top: 7px;
		transition: all .25s linear;
		opacity: 1;
	}
	.g-header__menubtn .lines span:nth-of-type(3) {
		bottom: 0;
		animation: menu-bar02 .75s forwards;
	}
	.g-header__menubtn .lines:focus {
		outline: none;
	}
}

@media only screen and (max-width: 767px) {
	.g-header__wrap {
		display: block;
		overflow-y: scroll;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		padding: 110px 50px 40px;
		background-color: #f6f3ee;
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
	}
}

.g-header__gnav {
	margin-top: 35px;
}

@media only screen and (max-width: 767px) {
	.g-header__gnav {
		margin-top: 0;
	}
}

.g-header__lang {
	position: absolute;
	top: 88px;
	right: 0;
	width: 150px;
	padding: 0 8px;
	border: 1px solid rgba(35, 24, 21, .25);
}

@media only screen and (max-width: 767px) {
	.g-header__lang {
		position: relative;
		top: inherit;
		right: inherit;
		width: auto;
		padding: 2px 8px 4px;
		font-size: 12px;
	}
}

.g-header__lang::after {
	position: absolute;
	top: 5px;
	right: 10px;
	color: #96928b;
	font-family: 'Osaka-mono', 'MS Gothic', 'monospace';
	font-size: 12px;
	content: '>';
	transform: rotate(90deg);
}

@media only screen and (max-width: 767px) {
	.g-header__lang::after {
		top: 6px;
		right: 10px;
		font-size: 10px;
	}
}

.g-header__lang-select {
	width: 100%;
}

/* gnav */
.g-header .gnav {
	display: -ms-flexbox;
	display: flex;
}

@media only screen and (max-width: 767px) {
	.g-header .gnav {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.g-header .gnav__item {
	position: relative;
	margin-right: 18px;
	padding-right: 18px;
	font-size: 15px;
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item {
		margin: 0 0 14px 0;
		padding-right: 0;
		border-right: 0;
		text-align: center;
		font-size: 12px;
	}
	.g-header .gnav__item:first-of-type {
		display: none;
	}
}

.g-header .gnav__item::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 14px;
	background-color: #3e3a39;
	content: '';
	transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item::after {
		content: none;
	}
}

.g-header .gnav__item a {
	display: block;
	position: relative;
	padding: 2px 5px;
	transition: .3s;
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item a {
		padding: 0;
	}
}

.mode-pc .g-header .gnav__item a:hover {
	background-color: rgba(255, 255, 255, .5);
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item--about,
	.g-header .gnav__item--reason {
		width: 100%;
		border-bottom: 1px solid #ccc;
		font-size: 14px;
	}
	.g-header .gnav__item--about a,
	.g-header .gnav__item--reason a {
		padding: 20px 10px 20px 120px;
	}
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item--about a {
		background: url('../../assets/img/index/contents_img_01.png') no-repeat 30px 20%;
		background-size: 80px auto;
	}
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item--reason {
		margin-bottom: 36px;
	}
	.g-header .gnav__item--reason a {
		background: url('../../assets/img/index/contents_img_02.png') no-repeat 38px 45%;
		background-size: 60px auto;
	}
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item--research,
	.g-header .gnav__item--oem,
	.g-header .gnav__item--brand,
	.g-header .gnav__item--company {
		width: 48%;
		border: 1px solid #ccc;
	}
	.g-header .gnav__item--research a,
	.g-header .gnav__item--oem a,
	.g-header .gnav__item--brand a,
	.g-header .gnav__item--company a {
		display: -ms-flexbox;
		display: flex;
		height: 68px;
		padding: 20px 10px;

		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.g-header .gnav__item--contact {
	margin-right: 0;
	padding-right: 0;
}

@media only screen and (max-width: 767px) {
	.g-header .gnav__item--contact {
		width: 100%;
		border: 1px solid #ccc;
	}
	.g-header .gnav__item--contact a {
		display: -ms-flexbox;
		display: flex;
		height: 68px;
		padding: 20px 10px;

		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.g-header .gnav__item--contact::after {
	content: none;
}

/*menu open*/
@media only screen and (max-width: 767px) {
	.is-menuopen .g-header .g-header__menubtn .lines span:nth-of-type(1) {
		transform: translateY(7px) rotate(-45deg);
	}
	.is-menuopen .g-header .g-header__menubtn .lines span:nth-of-type(2) {
		opacity: 0;
	}
	.is-menuopen .g-header .g-header__menubtn .lines span:nth-of-type(3) {
		transform: translateY(-7px) rotate(45deg);
	}
	.is-menuopen .g-header .g-header__wrap {
		visibility: visible;
		transition-timing-function: liner;
		transition-duration: .4s;
		transition-property: all;
		pointer-events: all;
		opacity: 1;
	}
}

/*--------------------------------------------------------------------------
   .g-footer
---------------------------------------------------------------------------*/
.g-footer {
	margin-top: 120px;
}

@media only screen and (max-width: 767px) {
	.g-footer {
		margin-top: 56px;
		background-color: #fff;
	}
}

.g-footer__inner {
	display: -ms-flexbox;
	display: flex;
	width: 100vw;
	min-width: 1080px;
	padding: 40px 75px;
	    flex-direction: row-reverse;

	-ms-flex-direction: row-reverse;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media only screen and (max-width: 767px) {
	.g-footer__inner {
		display: block;
		min-width: 320px;
		padding: 30px 46px;
	}
}

.g-footer__body {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-pack: end;
	justify-content: flex-end;
}

@media only screen and (max-width: 767px) {
	.g-footer__body {
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.g-footer__aside {
	display: -ms-flexbox;
	display: flex;
}

@media only screen and (max-width: 767px) {
	.g-footer__aside {
		display: block;
	}
}

.g-footer__aside a {
	display: block;
}

.mode-pc .g-footer__aside a:hover {
	text-decoration: underline;
}

.g-footer__aside-item {
	margin-left: 20px;
	font-size: 15px;
}

@media only screen and (max-width: 767px) {
	.g-footer__aside-item {
		margin: 0 0 9px;
		font-size: 11px;
	}
}

.g-footer__sns {
	display: -ms-flexbox;
	display: flex;
	margin-left: 30px;
}

.g-footer__sns-item {
	margin-left: 10px;
}

@media only screen and (max-width: 767px) {
	.g-footer__sns-item img {
		width: 36px;
		height: 36px;
	}
}

.g-footer__sns-item a {
	display: block;
	transition: .2s;
}

.mode-pc .g-footer__sns-item a:hover {
	opacity: .6;
}

@keyframes t_bounce {
	5% {
		transform: scale(1.2, .8);
	}
	10% {
		transform: scale(.8, 1.2) translateY(-2px);
	}
	15% {
		transform: scale(1, 1);
	}
}

.g-footer__copy {
	font-size: 15px;
	letter-spacing: .1em;
}

@media only screen and (max-width: 767px) {
	.g-footer__copy {
		margin-top: 8px;
		font-size: 10px;
	}
}
