/* # =================================================================
#	normalize
# ================================================================= */

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

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

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: inherit;
	margin: 0;
	padding: 0;
}

html {
	overflow-y: scroll; /* All browsers without overlaying scrollbars */
	-webkit-text-size-adjust: 100%; /* iOS 8+ */
}

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

/**
 * Remove the margin in all browsers.
 */

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

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

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

hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 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
   ========================================================================== */

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

a {
	background-color: transparent;
}

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

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

/**
 * 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 size in all browsers.
 */

small {
	font-size: 80%;
}

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

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

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

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

img {
	border-style: none;
}

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

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

button,
input,
optgroup,
select,
textarea { /* 2 */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0;
}

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * 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 {
	border-style: none;
	padding: 0;
}

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

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 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 */
	color: inherit; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

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

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'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

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

[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 {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

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

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

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

summary {
	display: list-item;
}

/* Misc
   ========================================================================== */

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

template {
	display: none;
}

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

[hidden] {
	display: none;
}

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

input {
	border-radius: 0;
}

[type='number'] {
	width: auto; /* Firefox 36+ */
}

[type='search'] {
	-webkit-appearance: textfield; /* Safari 8+ */
}

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

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 */
}

/* 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 {
	border-style: 0;
	padding: 0;
}

/* 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 */
}

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

/* Remove the default button styling in all browsers */

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none;
	color: inherit;
}

/* 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;
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge and IE */
}

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

/* Correct the text style of placeholders in Chrome, Edge, and Safari */

::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.54;
}

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

/* # =================================================================
#	base
# ================================================================= */

html {
	font-size: 62.5%;
}

body {
	color: #222;
	font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
	font-size: 1.8rem;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

a {
	color: inherit;
	outline: none;
	text-decoration: none;
}

button {
	cursor: pointer;
	outline: none;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

ul li {
	list-style-type: none;
}

input {
	cursor: pointer;
	outline: none;
}

input:placeholder-shown {
	color: #333;
}

input::-webkit-input-placeholder {
	color: #333;
}

input:-moz-placeholder {
	color: #333;
	opacity: 1;
}

input::-moz-placeholder {
	color: #333;
	opacity: 1;
}

input:-ms-input-placeholder {
	color: #333;
}

/* 汎用
------------------------- */

/* 表示/非表示 */

.for_sp {
	display: none;
}

/* 英字 */

.ff-en {
	font-family: 'Times New Roman', Times, serif;
}

/* 游ゴシック */

.ff-yugo {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}

/* clear */

.clearfix::after {
	display: block;
	clear: both;
	content: '';
	height: 0;
	visibility: hidden;
}

/* # =================================================================
#	layout
# ================================================================= */

/* 基本のレイアウト幅
------------------------- */

.inner {
	margin: 0 auto;
	max-width: 1080px;
	padding: 0 40px;
}

/* カラム
------------------------- */

.col_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.col-1-2 {
	width: 50%;
}

/* # =================================================================
#	btn
# ================================================================= */

.btn_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-left: -18px;
	width: calc(100% + 18px);
}

.btn_col {
	background-color: #fff;
	border-radius: 5px;
	margin: 0 18px;
}

.btn {
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
}

.btn a {
	display: block;
	background-color: #eb6ea5;
	border-radius: 5px;
	min-width: 265px;
	padding: 28.5px 0;
	text-align: center;
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}

.btn a span {
	position: relative;
	padding-right: 22px;
}

.btn a span::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background-image: url(../images/icon_link.png);
	background-repeat: no-repeat;
	background-size: 14.5px;
	content: '';
	height: 14.5px;
	margin: auto;
	width: 14.5px;
}

.btn.btn-orange a {
	background-color: #ffad43;
}

html:not(.sp) .btn a:hover {
	opacity: 0.6;
}

.btn.off a {
	position: relative;
	background-color: #bbb;
	pointer-events: none;
}

.btn.off a::before {
	position: absolute;
	top: .8em;
	left: 0;
	width: 100%;
	font-size: 2rem;
	line-height: 1;
	text-align: center;
	display: block;
	content: "現在制作中";
}

.btn.off a span {
	position: relative;
	top: .5em;
}

.nav_btns .btn.off a::before {
	top: .6em;
	font-size: 1.2rem;
}

/* # =================================================================
#	headline
# ================================================================= */

/* セクション見出し
------------------------- */

.h_l1 {
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.h_l1 span {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 8px;
}

/* サブ見出し
------------------------- */

.h_sub {
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

/* # =================================================================
#	animation
# ================================================================= */

/* スクロール アニメーション
------------------------- */

.js-scroll {
	opacity: 0;
	-webkit-transition: opacity 1.2s;
	transition: opacity 1.2s;
}

.js-scroll.show {
	opacity: 1;
}

.delay-0 {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.delay-02 {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.delay-04 {
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}

.delay-06 {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}

/* # =================================================================
#	main visual
# ================================================================= */

.mv {
	position: relative;
	background-image: url(../images/bg_main.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 650px;
	padding: 75px 20px 0;
	width: 100%;
}

.mv_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 75px;
	width: 100%;
}

.mv_set > {
	display: block;
}

.mv_col {
	margin: 0 16.5px;
}

.mv_img {
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

.mv_h {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
}

.mv_btns {
	position: absolute;
	right: 0;
	bottom: 70px;
	left: 0;
	margin: auto;
	width: 100%;
}

/* # =================================================================
#	concept
# ================================================================= */

.concept {
	background-image: url(../images/bg_concept.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 4.58vw 0 5.83vw;
}

.concept_h {
	margin-bottom: 10px;
}

.concept_lead {
	font-size: 2rem;
	line-height: 1.7;
	margin-bottom: 28px;
	text-align: center;
}

.concept_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 32px;
	margin-left: -6px;
	width: calc(100% + 12px);
}

.concept_col {
	position: relative;
	height: 240px;
	margin: 0 6px 12px;
	width: 240px;
}

.concept_col::after {
	position: absolute;
	background-repeat: no-repeat;
	content: '';
}

.concept_col:nth-child(1)::after {
	top: 9px;
	left: -30px;
	background-image: url(../images/bg_circle_01.png);
	height: 248px;
	width: 262px;
}

.concept_col:nth-child(2)::after {
	top: 11px;
	left: 26px;
	background-image: url(../images/bg_circle_02.png);
	height: 246px;
	width: 219px;
}

.concept_col:nth-child(3)::after {
	top: 21px;
	left: 12px;
	background-image: url(../images/bg_circle_03.png);
	height: 237px;
	width: 229px;
}

.concept_col:nth-child(4)::after {
	top: 13px;
	left: 42px;
	background-image: url(../images/bg_circle_04.png);
	height: 240px;
	width: 215px;
}

.concept_item {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	z-index: 1;
}

.concept_item > {
	display: block;
}

.concept_col_box dt {
	background-color: #f8991d;
	border-radius: 50%;
	color: #fff;
	font-size: 2rem;
	height: 40px;
	line-height: 40px;
	margin: 0 auto 14px;
	text-align: center;
	width: 40px;
}

.concept_col_box dd {
	color: #f8991d;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.concept_txt {
	font-size: 3rem;
	line-height: 1.4;
	text-align: center;
}

/* # =================================================================
#	feature
# ================================================================= */

.feature {
	margin-top: -5.38vw;
}

.feature_head {
	background-image: url(../images/bg_feature.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 11vw 0 8vw;
}

.feature_h {
	margin-bottom: 40px;
}

.feature_item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

.feature_item > {
	display: block;
}

.feature_item:nth-child(odd) .feature_item_info {
	padding-right: 2.7vw;
}

.feature_item:nth-child(even) .feature_item_img {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
}

.feature_item:nth-child(even) .feature_item_info {
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
	padding-left: 2.7vw;
}

.feature_item:nth-child(1) .feature_item_h img {
	width: 380px;
}

.feature_item:nth-child(2) .feature_item_h img {
	width: 415px;
}

.feature_item:nth-child(3) .feature_item_h img {
	width: 320px;
}

.feature_item_col {
	width: 50%;
}

.feature_item_img {
	padding: 0 2.7vw;
}

.feature_item_img_inner {
	position: relative;
}

.feature_item_img_inner::before,
.feature_item_img_inner::after {
	position: absolute;
	border: solid 1px #fff;
	border-radius: 50%;
	content: '';
	height: 105%;
	width: 105%;
}

.feature_item_img_inner::before {
	top: -1%;
	left: -3%;
}

.feature_item_img_inner::after {
	top: -3%;
	left: -1.4%;
}

.feature_item_img_inner img {
	width: 100%;
}

.feature_item_h {
	margin-bottom: 12px;
}

.feature_bottom {
	background-image: url(../images/bg_feature_btm.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 5.24vw 0 10.41vw;
}

.feature_bottom .col_set {
	margin-bottom: 20px;
}

.feature_bottom .col_set .col-1-2:not(.feature_img) {
	padding: 2.2vw;
}

.feature_sub_h {
	margin-bottom: 8.68vw;
}

.feature_position {
	background-color: #fff;
}

.feature_position dl dt {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 10px;
}

.feature_position dl dd {
	font-size: 1.6rem;
	line-height: 1.6;
}

.feature_box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	background-color: #fff;
	border-radius: 5px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.feature_box p {
	font-size: 1.6rem;
	line-height: 1.6;
}

.feature_box p + p {
	margin-top: 2em;
}

.feature_bottom_txt {
	font-size: 1.7rem;
}

.feature_img {
	border-radius: 5px;
	padding: 0;
}

/* # =================================================================
#	voice
# ================================================================= */

.voice {
	background-image: url(../images/bg_voice.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: -8vw;
	overflow: hidden;
	padding: 12vw 0 6vw;
}

.voice_h {
	margin-bottom: 6.94vw;
}

.voice_elm {
	position: relative;
	margin-bottom: 35px;
}

.voice_elm_bg {
	position: absolute;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.voice_elm-01 .voice_elm_bg {
	background-image: url(../images/bg_voice_elm_01.png);
}

.voice_elm-01 .voice_elm_box {
	padding-top: 7vw;
	padding-bottom: 7vw;
}

.voice_elm-02 .voice_elm_bg {
	background-image: url(../images/bg_voice_elm_02.png);
}

.voice_elm-02 .voice_elm_box {
	padding-top: 5.5vw;
	padding-bottom: 5.5vw;
}

.voice_elm-03 .voice_elm_bg {
	background-image: url(../images/bg_voice_elm_03.png);
}

.voice_elm-03 .voice_elm_box {
	padding-top: 5vw;
	padding-bottom: 5vw;
}

.voice_elm-04 .voice_elm_bg {
	background-image: url(../images/bg_voice_elm_04.png);
}

.voice_elm-04 .voice_elm_box {
	padding-top: 7vw;
	padding-bottom: 7vw;
}

.voice_elm_box {
	position: relative;
	padding-right: 12vw;
	padding-left: 12vw;
	z-index: 1;
}

.voice_sub_h {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 15px;
}

.voice_txt {
	font-size: 1.6rem;
	margin-bottom: 22px;
}

.voice_customer {
	font-weight: bold;
	line-height: 1;
}

/* # =================================================================
#	タイカの枕で、素敵な朝を。
# ================================================================= */

.morning {
	background-image: url(../images/bg_morning.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 677px;
}

.morning .inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
}

.morning .inner > {
	display: block;
}

.morning_h {
	margin-bottom: 30px;
}

/* # =================================================================
#	lineup
# ================================================================= */

.lineup {
	padding: 6.59vw 0 6.94vw;
}

.lineup_h {
	margin-bottom: 36px;
}

.lineup_pillow {
	margin-bottom: 46px;
	text-align: center;
}

.lineup_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 55px;
	width: 100%;
}

.lineup_col {
	width: calc(50% - 28px);
}

.lineup_col figure img {
	width: 100%;
}

.lineup_col figure figcaption {
	font-size: 1.8rem;
	line-height: 1.8;
	margin-top: 26px;
}

.lineup_col figure figcaption span {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5px;
}

.lineup_sub_h {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 30px;
}

.lineup_block {
	margin-bottom: 70px;
}

.lineup_table {
	margin-bottom: 45px;
}

.lineup_table table {
	border-collapse: collapse;
	border-spacing: 0;
	border-top: solid 1px #e6e6e6;
	table-layout: fixed;
	width: 100%;
}

.lineup_table table tr th,
.lineup_table table tr td {
	border-bottom: solid 1px #e6e6e6;
	border-right: solid 1px #e6e6e6;
	font-size: 1.8rem;
	line-height: 1.4;
	padding: 15px 5px;
	text-align: center;
}

.lineup_table table tr th {
	background-color: #f9f9f9;
	border-left: solid 1px #e6e6e6;
	width: 190px;
}

.lineup_desc_inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
}

.lineup_desc_inner > {
	display: block;
}

.lineup_desc_col {
	width: 50%;
}

.lineup_material {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.lineup_material + .lineup_material {
	margin-top: 10px;
}

.lineup_material dt,
.lineup_material dd {
	font-size: 1.6rem;
	line-height: 1.4;
}

.lineup_material dt {
	position: relative;
	width: 130px;
}

.lineup_material dt::after {
	position: absolute;
	top: 0;
	right: 0;
	content: '：';
}

.lineup_material dd {
	margin-left: 0.5em;
	width: calc(100% - 130px);
}

.lineup_material dd p + p {
	margin-top: 8px;
}

.lineup_color_set {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

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

.lineup_color > {
	display: block;
}

.lineup_color + .lineup_color {
	margin-left: 30px;
}

.lineup_color dd {
	font-size: 1.6rem;
	line-height: 1;
	margin-left: 10px;
}

.lineup_care {
	padding-bottom: 50px;
}

.lineup_care ul {
	margin-bottom: 20px;
}

.lineup_care ul li {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.6;
	margin-top: 3px;
	padding-left: 1em;
}

.lineup_care ul li::before {
	position: absolute;
	top: 0.8em;
	left: 0.5em;
	display: block;
	background-color: #999;
	border-radius: 50%;
	content: '';
	height: 4px;
	margin: -2px 0 0 -2px;
	width: 4px;
}

.lineup_care_h {
	font-weight: bold;
	line-height: 1.4;
}

/* # =================================================================
#	header
# ================================================================= */

.header {
	position: fixed;
	top: 0;
	left: 0;
	padding-top: 30px;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	width: 100%;
	z-index: 100;
}

.header_wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0 2.4vw;
	width: 100%;
}

.header_wrap > {
	display: block;
}

.header.fixed {
	background-color: #fff;
	padding-bottom: 15px;
	padding-top: 15px;
}

/* ロゴ
------------------------- */

.header_logo a {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}

html:not(.sp) .header_logo a:hover {
	opacity: 0.6;
}

/* # =================================================================
#	nav
# ================================================================= */

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

.nav > {
	display: block;
}

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

.nav_menu > {
	display: block;
}

.nav_menu li {
	font-family: 'Times New Roman', Times, serif;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	margin-right: 40px;
}

.nav_menu li a {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}

html:not(.sp) .nav_menu li a:hover {
	opacity: 0.6;
}

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

.nav_btns > {
	display: block;
}

.nav_btns .btn {
	font-size: 1.6rem;
}

.nav_btns .btn a {
	min-width: 140px;
	padding: 11.5px 0;
}

.nav_btns .btn + .btn {
	margin-left: 20px;
}

/* # =================================================================
#	main
# ================================================================= */

/* # =================================================================
#	footer
# ================================================================= */

.footer_head {
	background-color: #f9f4f1;
	padding: 5.55vw 0 3.19vw;
}

.footer_h {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 20px;
	text-align: center;
}

.footer_h span {
	color: #45acbb;
}

.footer_logo {
	margin-bottom: 28px;
	text-align: center;
}

.footer_txt {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 30px;
	text-align: center;
}

.footer_nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.footer_nav > {
	display: block;
}

.footer_nav li {
	font-size: 2rem;
	line-height: 1.4;
	margin: 0 15px;
}

.footer_nav li a {
	border-bottom: solid 1px #222;
	line-height: 1;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

html:not(.sp) .footer_nav li a:hover {
	border-bottom: solid 1px #45acbb;
	color: #45acbb;
}

.footer_bottom {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #e4c9b8;
	height: 50px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

.footer_bottom > {
	display: block;
}

.footer_bottom p {
	color: #8a6d5b;
	font-size: 1.2rem;
	line-height: 1;
}

@media only screen and (min-width: 1440px) {

.concept {
	padding: 65px 0 84px;
}

.feature {
	margin-top: -84px;
}

.feature_head {
	padding: 160px 0 116px;
}

.feature_bottom {
	padding: 75px 0 150px;
}

.feature_bottom .col_set .col-1-2:not(.feature_img) {
	padding: 32px 30px;
}

.feature_sub_h {
	margin-bottom: 125px;
}

.voice {
	margin-top: -116px;
	padding: 180px 0 85px;
}

.voice_h {
	margin-bottom: 100px;
}

.voice_elm-01 .voice_elm_box {
	padding-top: 110px;
	padding-bottom: 110px;
}

.voice_elm-02 .voice_elm_box {
	padding-top: 90px;
	padding-bottom: 95px;
}

.voice_elm-03 .voice_elm_box {
	padding-top: 90px;
	padding-bottom: 95px;
}

.voice_elm-04 .voice_elm_box {
	padding-top: 90px;
	padding-bottom: 95px;
}

.voice_elm_box {
	padding-right: 100px;
	padding-left: 100px;
}

.lineup {
	padding: 95px 0 100px;
}

.header_wrap {
	padding: 0 35px;
}

.footer_head {
	padding: 80px 0 46px;
}

}

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

.morning {
	background-position: top right;
}

.header_wrap {
	padding: 0 20px;
}

.header_logo a img {
	width: 160px;
}

.nav_menu li {
	font-size: 1.4rem;
	margin-right: 20px;
}

.nav_btns .btn {
	font-size: 1.4rem;
}

.nav_btns .btn a {
	min-width: 110px;
}

.nav_btns .btn + .btn {
	margin-left: 10px;
}

}

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

.voice_set {
	width: calc(100% + 80px);
	margin-left: -40px;
}

.voice_elm_box {
	padding-right: 16vw;
	padding-left: 16vw;
}

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

body {
	font-size: 1.5rem;
}

.for_pc {
	display: none;
}

.for_sp {
	display: block;
}

.inner {
	padding: 0 20px;
}

.btn_set:not(.mv_btns) {
	display: block;
	margin-left: 0;
	width: 100%;
}

.btn_set:not(.mv_btns) .btn_col {
	margin: 0 0 15px;
	width: 50vw;
}

.btn_set:not(.mv_btns) .btn_col.btn {
	font-size: 1.4rem;
}

.btn_set:not(.mv_btns) .btn_col.btn a {
	min-width: 185px;
	padding: 23px 0;
}

.btn.off a::before {
  top: .8em;
  font-size: 1.5rem;
}

.h_l1 {
	font-size: 2.4rem;
	line-height: 1.2;
}

.h_l1 span {
	font-size: 1.5rem;
	margin-bottom: 10px;
}

.h_l1 {
	font-size: 2.2rem;
}

.h_sub {
	font-size: 2.7rem;
	text-align: left;
}

.mv {
	height: 100vh;
	padding-top: 65px;
}

.mv_set {
	position: relative;
	top: 50%;
	display: block;
	margin-top: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.mv_col {
	margin: 0 auto;
}

.mv_col img {
	width: 100%;
}

.mv_img {
	max-width: 607px;
	width: 90.5970149253%;
}

.mv_h {
	margin-bottom: 27.5px;
	max-width: 638px;
	width: 95.223880597%;
}

.mv_btns {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 100;
}

.mv_btns .btn {
	font-size: 1.7rem;
	margin: 0;
	width: 50%;
}

.mv_btns .btn a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 0;
	height: 65px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	min-width: 100%;
	padding: 0;
}

.mv_btns .btn a > {
	display: block;
}

.concept {
	position: relative;
	background-image: url(../images/bg_concept_sp.png);
	background-position: bottom center;
	padding: 57px 0 50px;
}

.concept::before {
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(../images/bg_concept_b_sp.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	content: '';
	height: 100%;
	width: 100%;
}

.concept_h {
	margin-bottom: 17.5px;
}

.concept_lead {
	font-size: 1.3rem;
	margin-bottom: 20px;
	text-align: left;
}

.concept_set {
	margin-left: 0;
	width: 100%;
}

.concept_col {
	height: 100%;
	margin: 0 4.5px 9px;
	width: calc(50% - 9px);
}

.concept_col::before {
	display: block;
	content: '';
	padding-top: 100%;
}

.concept_col::after {
	background-size: contain;
}

.concept_col:nth-child(1)::after {
	top: 5.5px;
	left: -9.5px;
	height: 100%;
	width: 100%;
}

.concept_col:nth-child(2)::after {
	top: 7px;
	left: 16px;
	height: 100%;
	width: 100%;
}

.concept_col:nth-child(3)::after {
	top: 14px;
	left: 11px;
	height: 100%;
	width: 100%;
}

.concept_col:nth-child(4)::after {
	top: 8.5px;
	left: 18px;
	height: 100%;
	width: 100%;
}

.concept_item {
	position: absolute;
	top: 0;
	left: 0;
}

.concept_col_box dt {
	font-size: 1.3rem;
	height: 27px;
	line-height: 27px;
	margin-bottom: 10px;
	width: 27px;
}

.concept_col_box dd {
	font-size: 1.5rem;
}

.concept_txt {
	font-size: 2rem;
	line-height: 1.5;
}

.feature {
	position: relative;
	margin-top: 0;
	z-index: 1;
}

.feature_head {
	background-image: url(../images/bg_feature_sp.png);
	background-position: top 30px center;
	padding: 40px 0 0;
}

.feature_item_set {
	padding-bottom: 15px;
}

.feature_item {
	display: block;
	margin-bottom: 40px;
}

.feature_item:nth-child(odd) .feature_item_info {
	padding-right: 0;
}

.feature_item:nth-child(even) .feature_item_info {
	padding-left: 0;
}

.feature_item:nth-child(1) .feature_item_h img {
	width: 222px;
}

.feature_item:nth-child(2) .feature_item_h img {
	width: 246px;
}

.feature_item:nth-child(3) .feature_item_h img {
	width: 189px;
}

.feature_item_col {
	width: 100%;
}

.feature_item_img {
	margin-bottom: 30px;
	padding: 0 8vw;
}

.feature_item_info p {
	font-size: 1.3rem;
	line-height: 1.8;
}

.feature_item_h {
	margin-bottom: 10px;
}

.feature_bottom {
	background-image: url(../images/bg_feature_btm_sp.png);
	background-position: bottom center;
	padding: 85px 0 75px;
}

.feature_bottom .col_set {
	display: block;
	margin-bottom: 25px;
}

.feature_bottom .col_set .col-1-2:not(.feature_img) {
	padding: 0;
}

.feature_bottom .col_set .col-1-2 {
	width: 100%;
}

.feature_bottom .col_set .col-1-2.feature_box {
	padding: 20px;
}

.feature_bottom .col_set .col-1-2 p {
	font-size: 1.3rem;
	line-height: 1.8;
}

.feature_sub_h {
	margin-bottom: 77px;
	text-align: center;
}

.feature_sub_h span {
	display: inline-block;
}

.feature_position {
	margin-top: 20px;
}

.feature_position dl {
	padding: 20px;
}

.feature_position dl dd {
	font-size: 1.3rem;
	line-height: 1.8;
}

.feature_box {
	border-radius: 0;
}

.feature_bottom_txt {
	font-size: 1.3rem;
	line-height: 1.8;
	padding: 0 20px;
}

.voice {
	background-image: url(../images/bg_voice_sp.png);
	background-position: bottom center;
	margin-top: -14vw;
	padding: 80px 0 40px;
}

.voice_h {
	margin-bottom: 25px;
}

.voice_set {
	width: calc(100% + 40px);
	margin-left: -20px;
}

.voice_elm {
	margin-bottom: 23px;
}

.voice_elm-01 .voice_elm_bg {
  background-image: url(../images/bg_voice_elm_01_sp.png);
}

.voice_elm-01 .voice_elm_box {
  padding-top: 60px;
  padding-bottom: 60px;
}

.voice_elm-02 .voice_elm_bg {
  background-image: url(../images/bg_voice_elm_02_sp.png);
}

.voice_elm-02 .voice_elm_box {
  padding-top: 60px;
  padding-bottom: 60px;
}

.voice_elm-03 .voice_elm_bg {
  background-image: url(../images/bg_voice_elm_03_sp.png);
}

.voice_elm-03 .voice_elm_box {
  padding-top: 60px;
  padding-bottom: 60px;
}

.voice_elm-04 .voice_elm_bg {
  background-image: url(../images/bg_voice_elm_04_sp.png);
}

.voice_elm-04 .voice_elm_box {
  padding-top: 60px;
  padding-bottom: 60px;
}

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

.voice_sub_h {
	font-size: 1.9rem;
	line-height: 1.3;
	margin-bottom: 10px;
}

.voice_txt {
	font-size: 1.4rem;
	line-height: 1.6;
	margin-bottom: 10px;
}

.voice_customer {
	font-size: 1.7rem;
}

.morning {
	background-image: url(../images/bg_morning_sp.jpg);
	height: 113.6vw;
}

.morning_box {
	margin: 0 27px;
}

.morning_h {
	margin-bottom: 15px;
}

.lineup {
	padding: 35px 0 10px;
}

.lineup .btn_set {
	display: none;
}

.lineup_h {
	margin-bottom: 16px;
}

.lineup_pillow {
	margin-bottom: 27.5px;
}

.lineup_set {
	display: block;
	margin-bottom: 0;
	padding-bottom: 12px;
}

.lineup_col {
	margin-bottom: 26px;
	width: 100%;
}

.lineup_col figure figcaption {
	font-size: 1.3rem;
	line-height: 1.4;
	margin-top: 12px;
}

.lineup_col figure figcaption span {
	font-size: 1.5rem;
}

.lineup_sub_h {
	font-size: 2rem;
	margin-bottom: 16px;
}

.lineup_block {
	margin-bottom: 30px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.lineup_block_inner {
	width: 200%;
}

.lineup_table {
	margin-bottom: 15px;
}

.lineup_table table tr th,
.lineup_table table tr td {
	font-size: 1.2rem;
	padding: 9px 5px;
}

.lineup_table table tr th {
	width: 122px;
}

.lineup_material + .lineup_material {
	margin-top: 5px;
}

.lineup_material dt,
.lineup_material dd {
	font-size: 1.4rem;
}

.lineup_material dt {
	width: 110px;
}

.lineup_material dd {
	width: calc(100% - 110px);
}

.lineup_material dd p + p {
	margin-top: 4px;
}

.lineup_color {
	width: 33.3333%;
}

.lineup_color + .lineup_color {
	margin-left: 15px;
}

.lineup_color dt img {
	width: 40px;
}

.lineup_color dd {
	font-size: 1.2rem;
	margin-left: 5px;
}

.lineup_care {
	padding-bottom: 10px;
}

.lineup_care ul {
	margin-bottom: 10px;
}

.lineup_care ul li {
	font-size: 1.5rem;
	line-height: 1.4;
	margin-top: 2px;
}

.header {
	position: absolute;
	padding-top: 25px;
}

.header.fixed {
	background-color: transparent;
	padding-bottom: 0;
	padding-top: 25px;
}

.header_wrap {
	display: block;
	padding: 0 20px;
}

.header_logo a {
	display: block;
	margin: 0 auto;
	max-width: 292px;
	width: 87.1641791044%;
}

.header_logo a img {
	width: 100%;
}

.nav {
	display: none;
}

.footer {
	margin-bottom: 64px;
}

.footer_head {
	padding: 50px 0 45px;
}

.footer_h {
	font-size: 2.6rem;
	margin-bottom: 15px;
}

.footer_logo {
	margin: 0 auto 20px;
	width: 71.0447761194%;
}

.footer_logo img {
	width: 100%;
}

.footer_txt {
	font-size: 1.5rem;
	margin-bottom: 18px;
	margin-left: 15px;
	margin-right: 15px;
	text-align: left;
}

.footer_nav li {
	font-size: 1.5rem;
	margin: 0 10px;
}

.footer_bottom {
	padding: 0 20px;
}

}

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

.mv_btns .btn {
	font-size: 1.5rem;
}

.concept_txt {
	font-size: 1.8rem;
}

.lineup_desc_col + .lineup_desc_col {
	padding-left: 15px;
}

.footer_bottom p {
	font-size: 1rem;
}

}

