@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Jost:200,300,400,500|Oswald:400,500|Poppins:500,600,700|Noto+Serif+JP:400,600&display=swap&display=swap");

/* =============================================
AMBER PARTNERS INC.
Style Sheet
First Update 2025-02-26
Last  Update 2025-02-26
Created by Basic Plus Design Inc.
============================================= */

/* =============================================
#  Reboot
	 normalize | MIT License
============================================= */

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	font-family: sans-serif;
	line-height: 1.15;
}

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

body {
	background-color: #fff;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 400;
	height: 100%;
	letter-spacing: 0.025em;
	line-height: 2;
	margin: 0;
	text-align: left;
}

[tabindex="-1"]:focus:not(:focus-visible) {
	outline: 0 !important;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: 1em;
	margin-top: 0;
}

p {
	margin-bottom: 1em;
	margin-top: 0;
}

abbr[title],
abbr[data-original-title] {
	border-bottom: 0;
	cursor: help;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

address {
	font-style: normal;
	line-height: inherit;
	margin-bottom: 1rem;
}

ol,
ul,
dl {
	margin-bottom: 1rem;
	margin-top: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin-bottom: .5rem;
	margin-left: 0;
}

blockquote {
	margin: 0 0 1rem;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 12px;
	font-size: 1.2rem;
}

sub,
sup {
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

a {
	background-color: transparent;
	color: #000;
	text-decoration: none;
}

.mouse a:hover {
	color: #0db7d6;
	text-decoration: none;
}

.mouse a:focus {
	color: #0db7d6;
	text-decoration: none;
}

a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none;
}

.mouse a:not([href]):not([tabindex]):focus {
	color: inherit;
	text-decoration: none;
}

.touch a:not([href]):not([tabindex]):focus {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
	outline: 0;
}

pre,
code,
kbd,
samp {
	font-family: monospace, serif;
	font-size: 15px;
	font-size: 1.5rem;
}

pre {
	margin-bottom: 1rem;
	margin-top: 0;
	overflow: auto;
}

figure {
	margin: 0 0 1rem;
}

img {
	border-style: none;
	vertical-align: middle;
}

svg {
	overflow: hidden;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
}

caption {
	caption-side: bottom;
	color: #000;
	padding-bottom: 1em;
	padding-top: 1em;
	text-align: left;
}

th {
	text-align: inherit;
}

label {
	display: inline-block;
	margin-bottom: 0;
}

button {
	border-radius: 0;
}

button:focus {
	outline: 1px dotted;
	outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
	font-family: inherit;
	font-size: inheritpx;
	font-size: inherit/10rem;
	line-height: inherit;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

select {
	word-wrap: normal;
}

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

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
	cursor: pointer;
}

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

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

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
	-webkit-appearance: listbox;
}

textarea {
	overflow: auto;
	resize: vertical;
}

fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

legend {
	color: inherit;
	display: block;
	font-size: 23px;
	font-size: 2.3rem;
	line-height: inherit;
	margin-bottom: .5rem;
	max-width: 100%;
	padding: 0;
	white-space: normal;
	width: 100%;
}

progress {
	vertical-align: baseline;
}

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

[type="search"] {
	-webkit-appearance: none;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

output {
	display: inline-block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none !important;
}

::-moz-selection {
	background-color: rgba(118, 67, 133, 0.4);
}

::selection {
	background-color: rgba(118, 67, 133, 0.4);
}

/* =============================================
#  Foundation
============================================= */

/* ---------------------------------------------
	Base
--------------------------------------------- */

* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
}

html.fixed {
	overflow: hidden;
}

* > img {
	display: block;
	width: 100%;
}

.jp {
	font-family: "Noto Serif", serif;
}

p,
ul,
ol,
dl {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: .05em;
}

ul {
	list-style: none;
	padding-left: 0;
}

dt {
	font-weight: 400;
}

p + a {
	margin-top: 1em;
}

a {
	color: #000;
	-webkit-transition: opacity .2s ease;
	transition: opacity .2s ease;
}

a:hover {
	color: #0db7d6;
	cursor: pointer;
	opacity: 0.7;
}

/* =============================================
#  Layout
============================================= */

/* ---------------------------------------------
	Footer
--------------------------------------------- */

.l-footer {
	line-height: 1;
	width: 100%;
}

.l-footer__inner {
	margin: auto;
	max-width: 1280px;
	width: calc(100% - 80px);
}

.l-footer__top {
	background: #000;
}

.l-footer__top .l-footer__inner {
	color: #fff;
	padding: 60px 0 30px;
	text-align: center;
}

.l-footer__top__left img:nth-of-type(1) {
	margin: 0 auto 60px;
	max-width: 160px;
	width: 50%;
}

.l-footer__top__left img:nth-of-type(2) {
	display: none;
}

.l-footer__top__left a:hover img {
	opacity: 0.8;
}

.l-footer__top__left p span {
	display: inline-block;
}

.l-footer__top__left p:nth-of-type(1) {
	display: none;
}

.l-footer__top__left p:nth-of-type(2) {
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.2;
}

.l-footer__top__left ul {
	display: none;
}

.l-footer__top__left ul li {
	-webkit-background-size: auto 0.8em;
	-o-background-size: auto 0.8em;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: auto 0.8em;
	width: 5em;
}

.l-footer__top__left ul li:first-child {
	background-image: url("../images/ico/blog_w.svg");
}

.l-footer__top__left ul li:first-child:hover {
	background-image: url("../images/ico/blog_y.svg");
}

.l-footer__top__left ul li:last-child {
	background-image: url("../images/ico/insta_w.svg");
}

.l-footer__top__left ul li:last-child:hover {
	background-image: url("../images/ico/insta_y.svg");
}

.l-footer__top__left ul li a {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	padding-left: 1.3em;
}

.l-footer__top__left ul li:hover a {
	color: #eeaa1e;
}

.l-footer__top__nav {
	display: none;
}

.l-footer__top__nav li a {
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
}

.l-footer__top__nav li a:hover {
	color: #eeaa1e;
}

.l-footer__top__nav > li:nth-of-type(1) {
	width: 8em;
}

.l-footer__top__nav > li:nth-child(2) {
	width: 10em;
}

.l-footer__top__nav > li:nth-child(3) {
	width: 9em;
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(1),
.l-footer__top__nav > li:nth-child(3) li:nth-child(2),
.l-footer__top__nav > li:nth-child(3) li:nth-child(3) {
	margin-bottom: 2em;
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(2) {
	-webkit-background-size: auto 1em;
	-o-background-size: auto 1em;
	background-image: url(../images/ico/outlink_w.svg);
	background-position: left 5em center;
	background-repeat: no-repeat;
	background-size: auto 1em;
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(2):hover {
	background-image: url("../images/ico/outlink_y.svg");
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(4),
.l-footer__top__nav > li:nth-child(3) li:nth-child(5) {
	padding: 0.3em 0;
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(4) a,
.l-footer__top__nav > li:nth-child(3) li:nth-child(5) a {
	font-size: 11px;
	font-size: 1.1rem;
}

.l-footer__top__nav .sub {
	margin-top: 1.5em;
}

.l-footer__top__nav .sub li {
	padding: 0.25em 0 0.35em;
	width: 100%;
}

.l-footer__top__nav .sub li a {
	font-size: 11px;
	font-size: 1.1rem;
}

.l-footer__bottom {
	display: none;
}

.l-footer__bottom .l-footer__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.l-footer__bottom a,
.l-footer__bottom span {
	-webkit-background-size: auto 1.2em;
	-o-background-size: auto 1.2em;
	background-image: url(../images/ico/link.svg);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: auto 1.2em;
	font-size: 11px;
	font-size: 1.1rem;
	height: 1.5em;
	letter-spacing: 0;
	line-height: 1.5;
	padding-right: 1.5em;
}

.l-footer__bottom a:hover,
.l-footer__bottom span:hover {
	background-image: url("../images/ico/link_v.svg");
	color: #764385;
}

.l-footer__bottom span:hover {
	background-image: url("../images/ico/link.svg");
	color: #000;
}

/* ---------------------------------------------
	Header
--------------------------------------------- */

.l-header {
	background: #fff !important;
	height: 80px;
	position: fixed;
	top: 0;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	width: 100%;
	z-index: 10;
}

.l-header.fixed {
	height: 60px;
}

.l-header__inner {
	height: 80px;
	margin: auto;
	max-width: 1280px;
	padding-top: 15px;
	width: calc(100% - 40px);
}

.l-header.fixed .l-header__inner {
	height: 60px;
	padding-top: 10px;
}

.l-header__logo {
	display: block;
	height: 55px;
	left: 0;
	position: absolute;
	position: relative;
	top: 0;
	width: 196px;
	z-index: 0;
	z-index: 11;
}

.l-header__logo:hover {
	opacity: 0.7;
}

.l-header.fixed .l-header__logo {
	height: 40px;
	width: 142px;
	z-index: 10;
}

.fixed .l-header__logo {
	z-index: -1;
}

.l-header__logo a {
	cursor: pointer;
	display: block;
}

.l-header__logo a img {
	height: 100%;
}

/* ---------------------------------------------
	Main
--------------------------------------------- */

.l-wrapper {
	overflow: hidden;
	position: relative;
}

main {
	margin-top: 60px;
	min-height: 1500px;
}

section {
	background: #fff;
	padding: 80px 0;
	position: relative;
}

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

section.lgy {
	background: #f0f0f0;
}

section.thin {
	padding: 60px 0;
}

.l-container {
	margin: auto;
	max-width: 1280px;
	position: relative;
	width: calc(100% - 40px);
}

.l-container.wl * {
	color: #fff !important;
	text-align: left;
}

.l-container.wl a {
	margin-left: 0;
}

.l-content {
	margin: 60px auto;
	max-width: 800px;
	width: 100%;
}

/* =============================================
#  Object -- Component
============================================= */

/* ---------------------------------------------
	Area -- contact
--------------------------------------------- */

.c-area__contact {
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-image: url(../images/bg/contact_s.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	height: 320px;
	padding: 60px 0;
	width: 100%;
}

.c-area__contact div {
	-webkit-background-size: 40px auto;
	-o-background-size: 40px auto;
	background: #fff;
	background-image: url(../images/ico/mail.svg);
	background-position: center top 40px;
	background-repeat: no-repeat;
	background-size: 40px auto;
	height: 200px;
	margin: auto;
	max-width: 636px;
	padding: 80px 30px;
	position: relative;
	text-align: center;
	width: 80%;
}

.c-area__contact div a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.c-area__contact div h3 {
	font-size: 20px;
	font-size: 2rem;
	letter-spacing: 0.15em;
	line-height: 1.2;
	position: relative;
}

.c-area__contact div h3 span {
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}

.c-area__contact div h3 span::before {
	content: "\A";
	white-space: pre;
}

.c-area__contact div h3::before {
	background: #000;
	bottom: -40px;
	content: "";
	display: block;
	height: 1px;
	left: 30%;
	position: absolute;
	-webkit-transition: width 0.5s;
	transition: width 0.5s;
	width: 40%;
	z-index: 0;
}

.c-area__contact div h3::after {
	background: #000;
	bottom: -37px;
	content: "";
	display: block;
	height: 1px;
	left: calc(70% - 10px);
	position: absolute;
	-webkit-transform: rotate(40deg);
	transform: rotate(40deg);
	-webkit-transition: left 0.5s;
	transition: left 0.5s;
	width: 10px;
	z-index: 0;
}

.c-area__contact div:hover h3::before {
	width: 45%;
}

.c-area__contact div:hover h3::after {
	left: calc(75% - 10px);
}

/* ---------------------------------------------
	Area -- link
--------------------------------------------- */

.c-area__link {
	background: #764385;
	padding: 60px 0;
}

.c-area__link .l-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column wrap;
	flex-flow: column wrap;
}

.c-area__link .l-container div {
	-webkit-background-size: auto 53px;
	-o-background-size: auto 53px;
	background-color: #fff;
	background-position: right 15px center;
	background-repeat: no-repeat;
	background-size: auto 53px;
	height: 70px;
	line-height: 1;
	margin: 10px auto;
	padding: 15px;
	position: relative;
	width: 100%;
	z-index: 0;
}

.c-area__link .l-container div:nth-of-type(1) {
	background-image: url("../images/ico/staffblog.svg");
}

.c-area__link .l-container div:nth-of-type(2) {
	background-image: url("../images/ico/archive.svg");
}

.c-area__link .l-container div:nth-of-type(3) {
	background-image: url("../images/ico/staff.svg");
}

.c-area__link .l-container div:hover {
	background-color: rgba(255, 255, 255, 0.95);
	cursor: pointer;
	margin-left: -4px;
	margin-top: -4px;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	z-index: 1;
}

.c-area__link .l-container div:hover::after {
	background-color: transparent;
	border-bottom: 4px solid #000;
	border-right: 4px solid #000;
	bottom: -6px;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: -6px;
	width: 100%;
	z-index: 0;
}

.c-area__link .l-container div a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.c-area__link .l-container div a:hover {
	opacity: 1;
}

.c-area__link .l-container div h3 {
	color: #764385;
}

.c-area__link .l-container div h3 span {
	color: #000;
	font-size: 12px;
	font-size: 1.2rem;
}

.c-area__link .l-container div h3 span::before {
	content: "\A";
	white-space: pre;
}

/* ---------------------------------------------
	Button
--------------------------------------------- */

/* Button -- link
--------------------------------------------- */

.c-link {
	border: 2px solid #000;
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 40px;
	padding: .3em 1em;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: auto;
}

.c-link:hover {
	background: #764385;
	border-color: #764385;
	color: #fff;
	opacity: 1;
}

.c-link.w {
	border-color: #fff;
	border-width: 1px;
	color: #fff;
	text-align: center;
}

.c-link.w:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

.c-link.arrow {
	-webkit-background-size: 1.5em auto;
	-o-background-size: 1.5em auto;
	background-image: url(../images/ico/arrow.svg);
	background-position: right 2em center;
	background-repeat: no-repeat;
	background-size: 1.5em auto;
	display: block;
	margin: 60px auto 30px;
	max-width: 20em;
	padding-right: 3em;
	text-align: left;
	-webkit-transition: background-position .5s;
	transition: background-position .5s;
	width: 100%;
}

.c-link.arrow:hover {
	background-image: url("../images/ico/arrow_w.svg");
	background-position: right 1em center;
}

.c-link.arrow.w {
	background-image: url("../images/ico/arrow_w.svg");
	border: 1px solid #fff;
}

.c-link.arrow.w:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

/* ---------------------------------------------
	Form -- for mfp
--------------------------------------------- */

div#mfp_hidden {
	height: 1px;
	margin: 0px;
	overflow: hidden;
	padding: 0px;
	width: 1px;
}

table#mfp_confirm_table {
	border-bottom: 1px solid #ccc;
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 20px 0 40px;
	width: 100%;
}

table#mfp_confirm_table tr.mfp_colored {
	background-color: rgba(118, 67, 133, 0.1);
}

table#mfp_confirm_table tr.mfp_achroma {
	background-color: #fff;
}

table#mfp_confirm_table tr th {
	border-top: solid 1px #ccc;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 10px;
	text-align: left;
	white-space: nowrap;
	width: 200px;
}

table#mfp_confirm_table tr td {
	border-top: solid 1px #ccc;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5em;
	padding: 10px;
	text-align: left;
	word-break: break-all;
}

div#mfp_phase_confirm {
	clear: both;
}

div#mfp_phase_confirm h4 {
	background: #fff;
	font-size: 150%;
	padding: 0;
	text-align: center;
}

div#mfp_phase_confirm h4::before {
	background: #fff;
	clear: both;
	content: "";
	display: block;
	height: 50px;
	margin-top: -40px;
	position: relative;
	width: 100%;
	z-index: 100;
}

div#mfp_overlay {
	color: #000;
	display: none;
	height: 100%;
	position: absolute;
	z-index: 10001;
}

div#mfp_overlay_inner {
	background-color: #fff;
	border-radius: 5px;
	bottom: 0;
	-webkit-box-shadow: 0px 0px 10px #000;
	box-shadow: 0px 0px 10px #000;
	left: 0;
	margin: auto;
	max-width: 90%;
	padding: 15px;
	position: absolute;
	right: 0;
	top: 100px;
	width: 640px;
}

div#mfp_overlay_inner h4 {
	text-align: center;
}

div#mfp_overlay_background {
	background-color: #000;
	display: none;
	position: absolute;
	z-index: 10000;
}

div#mfp_loading {
	background-image: url(../cgi/mfp.statics/_images/mfp_loading.gif);
	display: none;
	height: 40px;
	position: absolute;
	width: 40px;
	z-index: 20001;
}

div#mfp_loading_screen {
	background-color: #000;
	display: none;
	opacity: 0.8;
	position: absolute;
	z-index: 20000;
}

.mfp_colored {
	background-color: #efeeef;
}

.mfp_achroma {
	background-color: #fff;
}

div.mfp_err {
	background: url(../cgi/mfp.statics/_images/mfp_error.gif) no-repeat 0 center/16px 15px;
	clear: both;
	color: #990000;
	display: none;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: normal;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 22px;
	text-align: left;
}

.mfp_parent_error {
	border: solid 2px #ffaf1f;
}

.problem {
	background-color: rgba(255, 175, 31, 0.1);
}

div#mfp_error {
	background-color: rbga(#ffaf1f, 0.1);
	border: solid 1px #ffaf1f;
	display: none;
	padding: 10px;
}

div#mfp_error p {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0px;
	padding: 0px;
	text-align: center;
}

div#mfp_error p strong {
	color: #990000;
	font-size: 18px;
	font-size: 1.8rem;
}

div#mfp_warning {
	background-color: #edd5de;
	border: solid 1px #ffaf1f;
	border-radius: 5px;
	display: none;
	padding: 10px;
}

div#mfp_warning p {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0px;
	padding: 0px;
	text-align: center;
}

div#mfp_warning p strong {
	color: #ffaf1f;
	font-size: 18px;
	font-size: 1.8rem;
}

button.mfp_prev {
	float: left;
	font-size: 14px;
	font-size: 1.4rem;
	margin: 10px;
	padding: 5px 10px;
}

button.mfp_next {
	float: right;
	font-size: 14px;
	font-size: 1.4rem;
	margin: 10px;
	padding: 5px 10px;
}

div.mfp_buttons {
	clear: both;
	padding: 10px;
	text-align: center;
}

div.mfp_buttons #mfp_button_send {
	background: #1e1e1e;
	border: 1px solid #1e1e1e;
	color: #fff;
	width: 8em;
}

div.mfp_buttons #mfp_button_cancel {
	background: #fff;
	border: 1px solid #1e1e1e;
	color: #1e1e1e;
	width: 8em;
}

.imagebutton {
	background: none;
	border: none;
	margin: 0px;
	outline: none;
	padding: 0px;
}

.mfp_element_file {
	background: #efeeef;
	border: solid 1px #ccc;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 5px #ccc inset;
	box-shadow: 0px 0px 5px #ccc inset;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 10px 10px;
	vertical-align: middle;
}

div.mfp_ok {
	background-color: #0c0;
	background-image: url(../cgi/mfp.statics/_images/mfp_header.png);
	background-size: 100% 100%;
	border: solid 1px #0c0;
	border-radius: 5px;
	color: #fff;
	display: none;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.5em;
	margin: 0px 2px;
	padding: 0px 5px;
}

div.prefcodeWrapper {
	position: relative;
}

div.prefcodeResult {
	background-color: #fff;
	border: solid 1px #ccc;
	-webkit-box-shadow: 0px 0px 5px #ccc;
	box-shadow: 0px 0px 5px #ccc;
	display: none;
	left: 0px;
	padding: 5px;
	position: absolute;
	top: 0px;
}

div.prefcodeResult div {
	cursor: pointer;
}

div.prefcodeResult div:hover {
	background-color: rgba(118, 67, 133, 0.5);
}

div.prefcodeResult div .prefcodeNext {
	background: #fff;
	text-align: center;
}

div.prefLoading {
	background: url(../cgi/mfp.statics/_images/mfp_zip_loading.gif) no-repeat center center;
	padding: 60px 100px;
}

.hidefield {
	height: 0px;
	overflow: hidden;
}

.showfield {
	height: auto;
	overflow: visible;
}

div#mfp_OperationCheck {
	display: inline-block;
}

div#mfp_OperationCheck div#mfp_OperationCheck_inner {
	display: none;
}

div#mfp_OperationCheck strong {
	background: rgba(255, 175, 31, 0.3);
	border-radius: 3px;
	color: #000;
	display: block;
	text-align: center;
}

div#mfp_OperationCheck * {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0px;
	padding: 0px;
}

div#mfp_OperationCheck p {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0;
	padding: 0px 5px;
}

div#mfp_OperationCheck p a {
	color: #0c0;
	text-decoration: none;
}

div#mfp_OperationCheck p a:hover {
	text-decoration: underline;
}

div#mfp_OperationCheck p button {
	background: none;
	border: none;
	color: #0c0;
	cursor: pointer;
}

div#mfp_OperationCheck ul li {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 12px;
	list-style: none;
	padding: 5px 10px;
	vertical-align: middle;
}

div#mfp_OperationCheck ul li label {
	text-decoration: underline;
}

/* ---------------------------------------------
	Form -- original style
--------------------------------------------- */

form {
	margin: 20px auto 60px;
	width: 100%;
}

form input {
	background: transparent;
	border: 1px solid #ccc;
	border-radius: 0;
	font-size: 14px;
	font-size: 1.4rem;
	height: 3em;
	margin-bottom: 20px;
	outline: none;
	padding: 1em 2em;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 100%;
}

form input:focus {
	background: #fff;
	border: 1px solid #ccc;
	-webkit-box-shadow: 0 0 7px #ccc;
	box-shadow: 0 0 7px #ccc;
}

form input[type=radio] {
	height: 1em;
	line-height: 1.5;
	margin-left: 3em;
	width: 1.5em;
}

form input[type=radio]:first-of-type {
	margin-left: 0;
}

form input[type=radio]:checked {
	color: #764385;
}

form input[type="tel"] {
	width: 20em;
}

form label {
	display: inline-block;
	padding-right: 1em;
}

form textarea {
	background: transparent;
	border: 1px solid #ccc;
	border-radius: 0;
	font-size: 14px;
	font-size: 1.4rem;
	height: calc(8em + 20px) !important;
	line-height: 1.6;
	margin-bottom: 20px;
	margin-left: 0;
	outline: none;
	padding: 1em 2em 0;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 100% !important;
}

form textarea:focus {
	background: #fff;
	border: 1px solid #ccc;
	-webkit-box-shadow: 0 0 7px #ccc;
	box-shadow: 0 0 7px #ccc;
}

form ::-webkit-input-placeholder {
	color: #aaa;
}

form ::-moz-placeholder {
	color: #aaa;
}

form :-ms-input-placeholder {
	color: #aaa;
}

form ::-ms-input-placeholder {
	color: #aaa;
}

form ::placeholder {
	color: #aaa;
}

form button {
	border: 2px solid #1e1e1e;
	border-radius: 0;
	color: #000;
	cursor: pointer;
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: .2em;
	margin: 80px auto 0;
	max-width: 460px;
	padding: 1em 0;
	width: 100%;
}

form button[type="submit"] {
	background: #fff;
	color: #1e1e1e;
}

form button[type="submit"]:hover {
	background: #1e1e1e;
	color: #fff;
}

form .must {
	color: #ffaf1f;
	font-size: 12px;
	font-size: 1.2rem;
}

form p.must {
	text-align: right;
}

form li > p {
	margin-top: 2em;
}

form dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

form dl dt {
	width: 5em;
}

form dl dd {
	width: calc(100% - 5em);
}

/* ---------------------------------------------
	Global Navigation
--------------------------------------------- */

.c-gnav {
	display: none;
	margin: 80px auto 0;
	max-width: 300px;
	padding: 0;
	position: relative;
	width: 90%;
}

.c-gnav__wrap {
	scrollbar-face-color: #e3e2e3;
	scrollbar-track-color: #efeeef;
	-webkit-overflow-scrolling: touch;
	background: transparent;
	display: block;
	height: 0;
	left: 0;
	opacity: 1;
	overflow-y: scroll;
	padding: 20px 0;
	position: fixed;
	top: 0;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	visibility: hidden;
	width: 100vw;
}

.c-gnav__wrap.open {
	background: #764385;
	height: 100vh;
	opacity: 1;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	visibility: visible;
	z-index: 11;
}

.open .c-gnav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-gnav li {
	height: 4.2em;
	list-style: none;
	margin-bottom: 2em;
	position: relative;
	width: 40%;
}

.c-gnav li a {
	color: #fff;
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 500;
	height: 100%;
	left: 0;
	line-height: 1.5;
	position: absolute;
	top: 0;
	width: 100%;
}

.c-gnav li a:hover {
	opacity: 1;
}

.c-gnav li a span {
	color: #fff;
	padding: 0.8em 0;
}

.c-gnav li a span::after {
	background: transparent;
	bottom: 6px;
	content: "";
	display: block;
	height: 4px;
	left: 0;
	position: absolute;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 50%;
	z-index: 0;
}

.c-gnav li:hover a span,
.c-gnav li.active a span,
.c-gnav li.current a span {
	color: #000;
}

.c-gnav li:nth-child(6) span:first-of-type {
	-webkit-background-size: auto 1em;
	-o-background-size: auto 1em;
	background-image: url(../images/ico/outlink_w.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: auto 1em;
	padding-right: 1.5em;
}

.c-gnav li:nth-child(6):hover span:first-of-type {
	background-image: url("../images/ico/outlink.svg");
}

.c-gnav li:nth-child(7) {
	margin-top: 1em;
	width: 22%;
}

.c-gnav li:nth-child(7) a {
	font-size: 90%;
	font-weight: normal;
}

.c-gnav li:nth-child(7) a:hover {
	color: #000;
}

.c-gnav li:nth-child(7).active a {
	color: #000;
}

.c-gnav li:nth-child(8) {
	margin-top: 1em;
	width: 40%;
}

.c-gnav li:nth-child(8) a {
	font-size: 90%;
	font-weight: normal;
}

.c-gnav li:nth-child(8) a:hover {
	color: #000;
}

.c-gnav li:nth-child(8).active a {
	color: #000;
}

.c-gnav__bottom {
	background: #fff;
	display: none;
	padding: 60px 20px 50px;
}

.open .c-gnav__bottom {
	display: block;
}

.c-gnav__bottom p {
	color: #764385;
	font-size: 13px;
	font-size: 1.3rem;
	margin-bottom: 0.5em;
	text-align: center;
}

.c-gnav__logo img {
	margin: auto;
	max-width: 280px;
	width: 80%;
}

.c-gnav__logo p {
	color: #000;
	margin-top: 15px;
}

.c-gnav__sns {
	margin: auto;
	margin-top: 50px;
	width: 260px;
}

.c-gnav__sns ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	margin: auto;
	width: 210px;
}

.c-gnav__sns li {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0 1em;
	padding-left: 24px;
	width: auto;
}

.c-gnav__sns li:hover a {
	color: #eeaa1e;
	font-weight: 500;
}

.c-gnav__sns li:first-child {
	-webkit-background-size: 18px 17px;
	-o-background-size: 18px 17px;
	background-image: url(../images/ico/blog.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 18px 17px;
}

.c-gnav__sns li:first-child:hover {
	background-image: url("../images/ico/blog_y.svg");
}

.c-gnav__sns li:last-child {
	-webkit-background-size: 18px 17px;
	-o-background-size: 18px 17px;
	background-image: url(../images/ico/insta.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 18px 17px;
}

.c-gnav__sns li:last-child:hover {
	background-image: url("../images/ico/insta_y.svg");
}

.c-gnav__group {
	margin-top: 40px;
}

.c-gnav__group li {
	font-size: 13px;
	font-size: 1.3rem;
	letter-spacing: 0;
	text-align: center;
}

.c-gnav__group li span::after {
	-webkit-background-size: auto 1em;
	-o-background-size: auto 1em;
	background-image: url(../images/ico/link.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: auto 1em;
	content: "";
	display: inline-block;
	height: 1em;
	margin-left: 0.5em;
	width: 1em;
}

.c-gnav__group li a:hover {
	color: #eeaa1e;
	font-weight: 500;
}

.c-gnav__group li a:hover span::after {
	background-image: url("../images/ico/link_y.svg");
}

.c-nav__btn {
	background: #764385;
	cursor: pointer;
	display: block;
	height: 80px;
	outline: 0;
	padding: 0 18px;
	position: absolute;
	right: 0;
	top: 0;
	width: 80px;
	z-index: 11;
}

.c-nav__btn div {
	outline: 0;
	position: relative;
}

.c-nav__btn div span {
	background: #fff;
	display: block;
	height: 3px;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.c-nav__btn div span:nth-child(1) {
	top: 24px;
	-webkit-transition: 0.35s ease-in-out;
	transition: 0.35s ease-in-out;
}

.c-nav__btn div span:nth-child(2) {
	top: 37px;
}

.c-nav__btn div span:nth-child(3) {
	top: 49px;
	-webkit-transition: 0.35s ease-in-out;
	transition: 0.35s ease-in-out;
}

.c-nav__btn.on {
	background: transparent;
}

.c-nav__btn.on span:nth-child(1) {
	top: 37px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.c-nav__btn.on span:nth-child(2) {
	left: 50%;
	width: 0;
}

.c-nav__btn.on span:nth-child(3) {
	top: 37px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.l-header.fixed .c-nav__btn {
	height: 60px;
	width: 60px;
}

.l-header.fixed .c-nav__btn span:nth-child(1) {
	top: 20px;
}

.l-header.fixed .c-nav__btn span:nth-child(2) {
	top: 29px;
}

.l-header.fixed .c-nav__btn span:nth-child(3) {
	top: 38px;
}

.l-header.fixed .c-nav__btn.on {
	height: 60px;
	width: 60px;
}

.l-header.fixed .c-nav__btn.on span:nth-child(1) {
	top: 29px;
}

.l-header.fixed .c-nav__btn.on span:nth-child(3) {
	top: 29px;
}

/* ---------------------------------------------
	Hero
--------------------------------------------- */

.c-hero__wrap {
	height: 200px;
	margin-top: 80px;
	position: relative;
	width: 100%;
}

.c-hero {
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	position: relative;
	width: 100%;
}

/* ---------------------------------------------
	Lead
--------------------------------------------- */

.c-lead {
	margin-bottom: 60px;
	text-align: center;
}

.c-lead span {
	display: inline-block;
}

/* ---------------------------------------------
	Pagetop
--------------------------------------------- */

.c-pagetop {
	background: #eeaa1e;
	bottom: 0;
	height: 60px;
	position: fixed;
	right: 0;
	width: 60px;
}

.c-pagetop a {
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	height: 100%;
	left: 0;
	padding-top: 50%;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}

.c-pagetop a::before {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	content: "";
	display: block;
	height: 15px;
	left: 0;
	margin: auto;
	margin: auto;
	position: absolute;
	right: 0;
	top: 30%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: all .5s;
	transition: all .5s;
	width: 15px;
	z-index: 0;
}

.c-pagetop a:hover::before {
	top: 20%;
}

/* ---------------------------------------------
	paragraph
--------------------------------------------- */

/* paragraph -- line
--------------------------------------------- */

.l-content.c-line {
	border-bottom: 2px dotted #000;
	margin: 100px auto;
	padding-bottom: 40px;
}

.l-content.c-line h3 {
	border-top: 2px dotted #000;
	margin-top: 50px;
	padding-top: 50px;
}

/* ---------------------------------------------
	Navigation -- sub
--------------------------------------------- */

.c-pnav {
	background: #000;
	display: none;
	width: 100%;
}

.c-pnav__mn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-pnav__mn li {
	border-left: 1px solid #fff;
	height: 60px;
	line-height: 1;
	position: relative;
	text-align: center;
}

.c-pnav__mn li a {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	height: 100%;
	left: 0;
	padding: 20px 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.c-pnav__mn li a::after {
	-webkit-background-size: contain;
	-o-background-size: contain;
	background-image: url(../images/ico/arrow_w.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 25px;
	top: 23px;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	width: 19px;
	z-index: 0;
}

.c-pnav__mn li a:hover::after {
	right: 15px;
}

.c-pnav__mn li:nth-child(1) {
	border-left: none;
}

.c-pnav__mn.three li {
	width: calc(100% / 3);
}

.p-service__link {
	background: #fff;
	padding-bottom: 50px;
	padding-top: 50px;
}

.p-service__link ul.c-service__mn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: auto;
	max-width: 610px;
	width: 100%;
}

.p-service__link ul.c-service__mn li {
	height: 3em;
	margin-bottom: 3.5vw;
	max-width: 300px;
	position: relative;
	position: relative;
	width: 48%;
	z-index: 0;
}

.p-service__link ul.c-service__mn li a {
	-webkit-background-size: 1em auto;
	-o-background-size: 1em auto;
	background: #f0f0f0;
	background-image: url(../images/ico/triangle_purple.svg);
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-size: 1em auto;
	font-size: 10px;
	font-size: 1rem;
	height: 100%;
	left: 0;
	position: absolute;
	text-align: center !important;
	top: 0;
	width: 100%;
	z-index: 1;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(1) {
	color: #000;
	font-family: "Jost", "Noto Sans JP", sans-serif;
	font-size: 1.5em;
	font-weight: 500;
	left: 0.5em;
	position: absolute;
	top: 0.35em;
	width: 1.5em;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(2) {
	color: #764385;
	font-size: 1em;
	font-weight: 700;
	height: calc(1em + 2 * (100vw - 320px) / 280);
	left: 1em;
	letter-spacing: 0;
	line-height: 1;
	position: absolute;
	text-align: center;
	top: 1.5em;
	width: calc(100% - 1.5em);
}

.p-service__link ul.c-service__mn li a:hover {
	-webkit-background-size: 1em auto;
	-o-background-size: 1em auto;
	background: #764385;
	background-image: url(../images/ico/triangle_w.svg);
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-size: 1em auto;
	opacity: 1;
}

.p-service__link ul.c-service__mn li a:hover span:nth-of-type(1) {
	color: #eeaa1e !important;
}

.p-service__link ul.c-service__mn li a:hover span:nth-of-type(2) {
	color: #fff;
}

/* ---------------------------------------------
  Title
--------------------------------------------- */

.c-ttl,
.c-ttl__rv > span {
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
}

.c-ttl > span,
.c-ttl__rv {
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
}

/*  Title -- section
--------------------------------------------- */

.c-ttl {
	color: #764385;
	display: block;
	font-size: 28px;
	font-size: 2.8rem;
	margin-bottom: 60px;
}

.c-ttl > span {
	color: #000;
	font-size: 15px;
	font-size: 1.5rem;
}

.c-ttl > span::before {
	content: "\A";
	white-space: pre;
}

.c-ttl > span::before {
	display: block;
	margin-top: -18px;
}

.c-ttl__rv {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
}

.c-ttl__rv > span {
	color: #764385;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
}

.c-ttl__rv > span::before {
	content: "\A";
	white-space: pre;
}

.c-ttl__rv > span::before {
	display: block;
	margin-top: -24px;
}

.c-ttl__rv > span span {
	display: inline-block;
}

.wl .c-ttl__rv span::before {
	margin-top: -32px;
}

/*  Title -- page
--------------------------------------------- */

.c-ttl__p {
	color: #fff;
	font-size: 26px;
	font-size: 2.6rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
	padding-top: 70px;
	text-align: center;
	width: 100%;
}

.c-ttl__p span {
	font-size: 60%;
}

.c-ttl__p span::before {
	content: "\A";
	white-space: pre;
}

/* =============================================
#  Object -- Project
============================================= */

/* ---------------------------------------------
	About
--------------------------------------------- */

.p-about .c-hero {
	background-image: url("../images/hero/about.jpg");
}

.p-about .p-sc2,
.p-about .p-sc3 {
	min-height: 400px;
}

.p-about .p-sc2 *,
.p-about .p-sc3 * {
	display: none;
}

/* ---------------------------------------------
	About -- greeting
--------------------------------------------- */

.p-greeting .l-container {
	-webkit-background-size: 230px auto;
	-o-background-size: 230px auto;
	background-image: url(../images/about/nakada.png);
	background-position: center top 260px;
	background-repeat: no-repeat;
	background-size: 230px auto;
	max-width: 960px;
}

.p-greeting .c-ttl__rv {
	margin-bottom: 4em;
	padding-bottom: calc(340px - 30 * (100vw - 320px) / 280);
	text-align: left !important;
}

.p-greeting .c-ttl__rv span {
	color: #000 !important;
	font-size: calc(20px + 15 * (100vw - 320px) / 880);
	letter-spacing: 0;
	line-height: 1.4;
}

.p-greeting p:last-of-type {
	margin-top: 60px;
}

.p-greeting p:last-of-type span:nth-of-type(1) {
	font-size: 95%;
	letter-spacing: 0.15em;
}

.p-greeting p:last-of-type span:nth-of-type(2) {
	font-size: 110%;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.p-greeting p:last-of-type span:nth-of-type(3) {
	font-size: 160%;
	font-weight: 500;
	letter-spacing: 0.15em;
}

/* ---------------------------------------------
	About -- company info
--------------------------------------------- */

.p-companyinfo .l-container {
	max-width: 960px;
}

.p-companyinfo .l-container dl {
	border-bottom: 1.5px solid #000;
}

.p-companyinfo .l-container dl dt {
	border-top: 1.5px solid #000;
	color: #764385;
	font-weight: 500;
	padding-top: 0.5em;
}

.p-companyinfo .l-container dl dd {
	padding-top: 0.5em;
}

.p-companyinfo .l-container dl dd > ul {
	margin-bottom: -1em;
}

.p-companyinfo .l-container dl dd > ul li {
	border-bottom: 1px solid #000;
	letter-spacing: 1.5 !important;
	line-height: 1.6;
	padding-bottom: 1em;
	padding-top: 0.5em;
}

.p-companyinfo .l-container dl dd > ul li span {
	display: inline-block;
}

.p-companyinfo .l-container dl dd > ul li:last-of-type {
	border-bottom: none;
	padding-top: 1em;
}

/* ---------------------------------------------
	About -- access
--------------------------------------------- */

.p-access .l-container {
	max-width: 960px;
}

.p-access .l-container .c-ttl {
	height: 100px;
	margin: 0 auto;
	max-width: 960px;
	width: 100% !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul {
	margin: 0 auto 2em;
	max-width: 320px;
	width: 100%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li:nth-child(1) {
	font-weight: 500;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li:nth-child(2) {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	margin-bottom: 0.5em;
	margin-top: -0.15em;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li.u-no {
	display: block;
	line-height: 1.5;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) img {
	margin: 0 auto 10vw;
	max-width: 320px;
	width: 100%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) {
	display: block;
	height: 350px;
	margin-bottom: 100px;
	margin-top: -40px;
	width: 100% !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) > iframe {
	height: 350px;
	margin-top: 40px;
	width: 100%;
}

/* ---------------------------------------------
	Contact
--------------------------------------------- */

.p-contact .c-hero {
	background-image: url("../images/hero/contact.jpg");
}

.p-contact .l-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
	width: 90vw;
}

.p-contact .l-content > p span {
	color: #764385;
	font-weight: 700;
}

.p-contact .l-content form dl.c-list__table {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 70px;
}

.p-contact .l-content form dl.c-list__table dt {
	width: 10em;
}

.p-contact .l-content form dl.c-list__table dd {
	margin-top: 6px;
	width: calc(100% - 10em);
}

.p-contact .l-content form dl.c-list__table dd:nth-of-type(7) {
	min-height: 15em;
}

.p-contact .l-content form dl.c-list__table dd:nth-of-type(7) textarea {
	min-height: 15em;
}

.p-contact .l-content form p {
	margin-top: 4em;
}

.p-contact .l-content form p > a:hover {
	color: #764385;
}

/* ---------------------------------------------
	Confirm
--------------------------------------------- */

.p-confirm .c-hero {
	background-image: url("../images/hero/contact.jpg");
}

.p-confirm__content {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
	width: 90vw;
}

.p-confirm__content > div {
	border: 1px solid #000;
}

.p-confirm__content > div label {
	background: #764385;
	color: #fff !important;
	height: 3em;
	padding: 10px;
	width: 100%;
}

.p-confirm__content > div > p {
	margin: 1em;
	min-height: 2.5em;
}

.p-confirm__content > div:nth-of-type(7) {
	min-height: 12em;
}

/* ---------------------------------------------
	Faq
--------------------------------------------- */

.p-faq .c-hero {
	background-image: url("../images/hero/faq.jpg");
}

.p-faq__list {
	margin: 80px 0 100px;
}

.p-faq__list dl {
	background: #fff;
	margin-bottom: 40px;
	padding-bottom: 20px;
	padding-top: 40px;
	position: relative;
	width: calc(100% - 40px);
}

.p-faq__list dl dt {
	color: #fff;
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 600;
	height: 100px;
	letter-spacing: -.1em;
	padding-top: 15px;
	width: 100px;
}

.p-faq__list dl dt::after {
	-webkit-background-size: contain;
	-o-background-size: contain;
	background-image: url(../images/faq/balloon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-faq__list dl dd h4 {
	color: #764385;
	font-size: 17px;
	font-size: 1.7rem;
}

.p-faq__list dl:nth-of-type(odd) {
	margin-left: auto;
	margin-right: 0;
	padding-left: 60px;
	padding-right: 30px;
}

.p-faq__list dl:nth-of-type(odd) dt {
	left: -55px;
	padding-left: 37px;
	position: absolute;
	top: 40px;
	z-index: 0;
}

.p-faq__list dl:nth-of-type(even) {
	margin-left: 0;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 60px;
}

.p-faq__list dl:nth-of-type(even) dt {
	padding-left: 18px;
	position: absolute;
	right: -55px;
	top: 40px;
	z-index: 0;
}

.p-faq__list dl:nth-of-type(even) dt::after {
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

#faq .p-faq__list dl {
	border: 1px solid #764385;
}

/* ---------------------------------------------
  Info
--------------------------------------------- */

.p-info__item {
	list-style: none;
	padding: 2em 0 1.5em;
}

.p-info__item dt {
	position: relative;
}

/* ---------------------------------------------
	News
--------------------------------------------- */

.p-news .c-hero {
	background-image: url("../images/hero/news.jpg");
}

.p-news .p-info {
	border-bottom: 1px solid #000;
	margin-bottom: 60px;
}

.p-news .p-info__item {
	border-top: 1px solid #000;
}

.p-news .p-info__item a:not(.link) {
	display: none;
}

.p-news .btn_more {
	cursor: pointer;
	margin-bottom: 100px;
	text-align: right;
}

/* ---------------------------------------------
	Privacy Policy
--------------------------------------------- */

.p-privacy .c-hero {
	background-image: url("../images/hero/privacy.jpg");
}

.p-privacy .c-line {
	border-bottom: 2px dotted #000;
	padding-bottom: 0;
}

.p-privacy .c-line h4 {
	border-top: 2px dotted #000;
	color: #764385;
	font-size: 17px;
	font-size: 1.7rem;
	padding-top: 50px;
}

.p-privacy .c-line p {
	padding-bottom: 50px;
}

/* ---------------------------------------------
	Services
--------------------------------------------- */

.p-services .c-hero {
	background-image: url("../images/hero/services.jpg");
}

.p-services #service1,
.p-services #service2,
.p-services #service3,
.p-services #service4 {
	background-color: #f0f0f0;
	padding-bottom: 20px;
	padding-top: 20px;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	-webkit-background-size: 100px auto;
	-o-background-size: 100px auto;
	background-color: #fff;
	background-position: left 20px top 30px;
	background-repeat: no-repeat;
	background-size: 100px auto;
	height: auto;
	margin: 50px auto 20px;
	max-width: calc(100% - 20px);
	min-height: 600px;
	padding: 100px 0 60px;
	width: calc(100% - 40px);
}

.p-services #service1 .l-container::before,
.p-services #service2 .l-container::before,
.p-services #service3 .l-container::before,
.p-services #service4 .l-container::before {
	-webkit-background-size: 115px auto;
	-o-background-size: 115px auto;
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 115px auto;
	content: "";
	display: block;
	height: 42%;
	position: absolute;
	right: 20px;
	top: -20px;
	width: 42%;
}

.p-services #service1 .l-container::after,
.p-services #service2 .l-container::after,
.p-services #service3 .l-container::after,
.p-services #service4 .l-container::after {
	bottom: -10px;
	color: #f0f0f0;
	content: "";
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: calc(14vw + 5 * (100vw - 320px) / 160);
	font-weight: 500;
	height: 1em;
	left: 0;
	line-height: 1;
	position: absolute;
	text-align: center;
	width: 100%;
}

.p-services #service1 .l-container .l-content,
.p-services #service2 .l-container .l-content,
.p-services #service3 .l-container .l-content,
.p-services #service4 .l-container .l-content {
	height: 100%;
	margin: 10px auto;
	max-width: 960px;
	position: relative;
	width: calc(100% - 40px);
}

.p-services #service1 .l-container .l-content .c-ttl__rv,
.p-services #service2 .l-container .l-content .c-ttl__rv,
.p-services #service3 .l-container .l-content .c-ttl__rv,
.p-services #service4 .l-container .l-content .c-ttl__rv {
	text-align: left;
}

.p-services #service1 .l-container .l-content > p,
.p-services #service2 .l-container .l-content > p,
.p-services #service3 .l-container .l-content > p,
.p-services #service4 .l-container .l-content > p {
	font-size: 10px;
	font-size: 1rem;
	letter-spacing: 0;
	margin-bottom: 40px;
	margin-top: -0.5em;
}

.p-services #service1 .l-container .l-content > p span,
.p-services #service2 .l-container .l-content > p span,
.p-services #service3 .l-container .l-content > p span,
.p-services #service4 .l-container .l-content > p span {
	display: inline-block;
}

.p-services #service1 .l-container .l-content .p-service__list,
.p-services #service2 .l-container .l-content .p-service__list,
.p-services #service3 .l-container .l-content .p-service__list,
.p-services #service4 .l-container .l-content .p-service__list {
	margin: 20px auto 50px;
	max-width: 320px !important;
}

.p-services #service1 .l-container .l-content .p-service__list li,
.p-services #service2 .l-container .l-content .p-service__list li,
.p-services #service3 .l-container .l-content .p-service__list li,
.p-services #service4 .l-container .l-content .p-service__list li {
	-webkit-background-size: 60px auto;
	-o-background-size: 60px auto;
	background-color: #f0f0f0;
	background-position: center top 25px;
	background-repeat: no-repeat;
	background-size: 60px auto;
	height: 140px !important;
	margin: 20px auto 0;
	position: relative;
	width: 100%;
}

.p-services #service1 .l-container .l-content .p-service__list li > p,
.p-services #service2 .l-container .l-content .p-service__list li > p,
.p-services #service3 .l-container .l-content .p-service__list li > p,
.p-services #service4 .l-container .l-content .p-service__list li > p {
	bottom: 30px;
	color: #764385;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0 1em !important;
	position: absolute;
	text-align: center;
	width: calc(100% - 2em);
}

.p-services #service1 .l-container .l-content .p-service__list li > p span,
.p-services #service2 .l-container .l-content .p-service__list li > p span,
.p-services #service3 .l-container .l-content .p-service__list li > p span,
.p-services #service4 .l-container .l-content .p-service__list li > p span {
	display: inline-block;
	text-align: center;
}

.p-services #service1 .l-container {
	background-image: url("../images/services/ttl_service1.png");
}

.p-services #service1 .l-container::before {
	background-image: url("../images/services/service1.svg");
}

.p-services #service1 .l-container::after {
	content: "SERVICE 01";
}

.p-services #service1 .l-container .l-content .p-service__list li:nth-child(1) {
	background-image: url("../images/services/ico_service1_1.svg");
}

.p-services #service1 .l-container .l-content .p-service__list li:nth-child(2) {
	background-image: url("../images/services/ico_service1_2.svg");
}

.p-services #service1 .l-container .l-content .p-service__list li:nth-child(3) {
	background-image: url("../images/services/ico_service1_3.svg");
}

.p-services #service2 .l-container {
	background-image: url("../images/services/ttl_service2.png");
}

.p-services #service2 .l-container::before {
	background-image: url("../images/services/service2.svg");
}

.p-services #service2 .l-container::after {
	content: "SERVICE 02";
}

.p-services #service2 .l-container .l-content .p-service__list li:nth-child(1) {
	background-image: url("../images/services/ico_service2_1.svg");
}

.p-services #service2 .l-container .l-content .p-service__list li:nth-child(1) p {
	margin: 0 1em !important;
}

.p-services #service2 .l-container .l-content .p-service__list li:nth-child(2) {
	background-image: url("../images/services/ico_service2_2.svg");
}

.p-services #service2 .l-container .l-content .p-service__list li:nth-child(3) {
	background-image: url("../images/services/ico_service2_3.svg");
}

.p-services #service3 .l-container {
	background-image: url("../images/services/ttl_service3.png");
}

.p-services #service3 .l-container::before {
	background-image: url("../images/services/service3.svg");
}

.p-services #service3 .l-container::after {
	content: "SERVICE 03";
}

.p-services #service3 .l-container .l-content:nth-of-type(1) {
	margin-bottom: 50px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li {
	height: 170px !important;
	min-height: 170px !important;
	padding-top: 30%;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) {
	background-image: url("../images/services/ico_service3_1.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p {
	bottom: 45px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p span:nth-of-type(1) {
	display: block;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p span:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p span:nth-of-type(3) {
	display: inline-block !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(2) {
	background-image: url("../images/services/ico_service3_2.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(2) p {
	bottom: 55px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) {
	background-image: url("../images/services/ico_service3_3.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p {
	bottom: 45px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p span:nth-of-type(1) {
	display: block;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p span:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p span:nth-of-type(3) {
	display: inline-block !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li a {
	-webkit-background-size: 1em auto;
	-o-background-size: 1em auto;
	background: #fff;
	background-image: url(../images/ico/triangle_purple.svg);
	background-position: left 9em top 0.5em;
	background-repeat: no-repeat;
	background-size: 1em auto;
	border: 1px solid #000;
	bottom: 20px;
	display: block;
	font-size: 8px;
	font-size: 0.8rem;
	font-weight: 500;
	height: 2em;
	left: calc((100% - 11em) / 2);
	letter-spacing: 0;
	line-height: 0.65;
	margin: auto;
	padding: 0.5em 1em;
	position: absolute;
	width: 11em;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li a:hover {
	-webkit-background-size: 1em auto;
	-o-background-size: 1em auto;
	background: #764385;
	background-image: url(../images/ico/triangle_w.svg);
	background-position: left 9em top 0.5em;
	background-repeat: no-repeat;
	background-size: 1em auto;
	color: #eeaa1e;
	opacity: 1;
}

.p-services #service3 .l-container .l-content:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(3) {
	background: #f0f0f0;
	height: auto;
	max-width: 960px;
	padding: 20px;
	width: calc(100% - 40px);
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h3,
.p-services #service3 .l-container .l-content:nth-of-type(3) h3 {
	color: #764385;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h4 {
	line-height: 1.4;
	margin-bottom: 20px;
	margin-top: 20px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h4 span {
	display: block;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) > p {
	border-bottom: 1px dotted #000;
	padding-bottom: 2em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl {
	margin: auto;
	max-width: 270px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dt {
	background: #764385;
	color: #fff;
	font-weight: 500;
	height: 1.5em;
	line-height: 1.5;
	text-align: center;
	width: 6em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd {
	-webkit-background-size: 60px auto;
	-o-background-size: 60px auto;
	background-color: #fff;
	background-position: center top 20px;
	background-repeat: no-repeat;
	background-size: 60px auto;
	margin-bottom: 30px;
	padding: 70px 10px 20px;
	position: relative;
	text-align: center;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd::after {
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 12px solid #764385;
	bottom: -15px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 12px);
	position: absolute;
	width: 0;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd h5 {
	color: #764385;
	margin-top: 1em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.4;
	margin-top: 1em;
	width: auto;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p span {
	display: inline-block;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p.u-border {
	margin: auto;
	max-width: 180px;
	padding: 0.5em 0.25em;
	text-align: center !important;
	width: auto;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p.u-noborder {
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-top: -1em;
	text-align: center;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(1) {
	background-image: url("../images/services/ico_service3_4.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(1) p.u-border {
	-webkit-background-size: 1.3em auto;
	-o-background-size: 1.3em auto;
	background-image: url(../images/ico/ico_mail.svg);
	background-position: right calc(50% + 7em) bottom 0.75em;
	background-repeat: no-repeat;
	background-size: 1.3em auto;
	display: block;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(1) p.u-border span {
	font-size: 110%;
	line-height: 1;
	margin-top: 0.5em;
	padding-bottom: 0.25em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(2) {
	background-image: url("../images/services/ico_service3_5.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(2)::before {
	-webkit-background-size: 100% auto;
	-o-background-size: 100% auto;
	background-image: url(../images/services/ico_service3_5.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	content: "";
	display: block;
	height: 50px;
	position: absolute;
	right: 10px;
	top: -20px;
	width: 50px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(3) {
	background-image: url("../images/services/ico_service3_6.svg");
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(3)::after {
	display: none;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) {
	margin-bottom: 30px;
	margin-top: 50px;
	padding-bottom: 30px;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl {
	background: #fff;
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
	padding-top: 5px;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt {
	font-size: 80%;
	font-weight: 500;
	line-height: 1.2;
	padding: 0.5em 1em 0;
	width: 100%;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt span {
	display: inline-block;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd {
	border-bottom: 1px dotted #000;
	font-family: "Jost", "Noto Sans JP", sans-serif;
	font-size: 80%;
	padding: 0 1em 0.5em;
	width: 100%;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd:last-of-type {
	border-bottom: none !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd span {
	font-size: 120%;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd span span {
	font-size: 80%;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt:nth-of-type(1),
.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd:nth-of-type(1) {
	display: none;
}

.p-services #service4 {
	padding-bottom: 100px;
}

.p-services #service4 .l-container {
	background-image: url("../images/services/ttl_service4.png");
}

.p-services #service4 .l-container::before {
	background-image: url("../images/services/service4.svg");
}

.p-services #service4 .l-container::after {
	content: "SERVICE 04";
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	background: #f0f0f0;
	height: auto;
	max-width: 960px;
	padding: 20px;
	width: calc(100% - 40px);
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h3 {
	color: #764385;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h4 {
	line-height: 1.4;
	margin-bottom: 20px;
	margin-top: 20px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h4 span {
	display: block;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > p {
	padding-bottom: 2em;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul {
	margin: auto;
	max-width: 200px;
	width: 100%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li {
	max-width: 200px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li:nth-child(1) dl dt {
	background-image: url("../images/services/ico_service4_1.svg");
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li:nth-child(2) dl dt {
	background-image: url("../images/services/ico_service4_2.svg");
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li:nth-child(3) dl dt {
	background-image: url("../images/services/ico_service4_3.svg");
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li:nth-child(4) dl dt {
	background-image: url("../images/services/ico_service4_4.svg");
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li:last-of-type dl dd::after {
	display: none;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl {
	margin: auto;
	max-width: 200px;
	width: 100%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dt {
	-webkit-background-size: 60px auto;
	-o-background-size: 60px auto;
	background-color: #fff;
	background-position: center top 20px;
	background-repeat: no-repeat;
	background-size: 60px auto;
	color: #764385;
	font-weight: 500;
	height: 10em;
	padding-top: 6em;
	text-align: center;
	width: 200px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd {
	-webkit-background-size: 60px auto;
	-o-background-size: 60px auto;
	background-position: center top 20px;
	background-repeat: no-repeat;
	background-size: 60px auto;
	margin-bottom: 30px;
	padding: 0 10px 20px;
	position: relative;
	text-align: center;
	width: 200px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd::after {
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 12px solid #764385;
	bottom: 0;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 12px);
	position: absolute;
	width: 0;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd h4 {
	background: #764385;
	border-radius: 20px;
	color: #fff;
	font-weight: 500;
	margin-bottom: 0.5em;
	margin-top: 1em;
	padding: 2px 0;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd p {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.4;
	text-align: left;
	width: auto;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd p span {
	display: inline-block;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd ul li {
	font-size: 10px;
	font-size: 1rem;
	text-align: left;
}

.p-services #service4 .l-container > P {
	color: #764385;
	font-weight: 500;
	margin-left: 2em;
}

.p-services #service4 .l-container > P span {
	display: inline-block;
}

/* ---------------------------------------------
	Thanks Page
--------------------------------------------- */

.p-thanks {
	min-height: 1000px;
}

.p-thanks__wrap {
	bottom: 0;
	left: 0;
	margin: auto;
	max-width: 1000px;
	position: absolute;
	right: 0;
	top: 60px;
	width: 96%;
}

.p-thanks .l-content {
	border-radius: 4px;
	-webkit-box-shadow: 0 0 2px 0 rgba(118, 67, 133, 0.3);
	box-shadow: 0 0 2px 0 rgba(118, 67, 133, 0.3);
	margin: auto;
	max-width: 997px;
	padding: 60px 20px 40px;
	text-align: center;
	width: calc(100% - 3px);
}

.p-thanks__header {
	background: #764385;
	border: 6px solid #764385;
	border-radius: 4px 4px 0 0;
	color: #fff;
	margin: auto;
	padding: 2em 0 .5em;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-thanks__header .close a {
	color: #764385;
	font-size: 32px;
	font-size: 3.2rem;
	position: absolute;
	right: 0;
	top: -50px;
	z-index: 0;
}

.p-thanks__ttl {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 2;
}

.p-thanks__msg {
	padding: 1em;
}

.p-thanks__msg p:last-child {
	margin-top: 40px;
}

.p-thanks__footer {
	background: #764385;
	border: 6px solid #764385;
	border-radius: 0 0 4px 4px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.4;
	margin: auto;
	padding: 1em 0;
	text-align: center;
	width: 100%;
}

/* ---------------------------------------------
	Access
--------------------------------------------- */

.p-top__access .c-ttl {
	margin-bottom: 60px;
	text-align: center;
}

.p-top__access__wrap {
	margin: 30px auto 0;
	max-width: 310px;
}

.p-top__access__wrap div {
	margin-bottom: 40px;
}

.p-top__access__wrap div > img {
	margin-bottom: 10px;
	max-width: 310px;
}

.p-top__access__wrap div ul li span {
	display: block;
	line-height: 1.8;
}

.p-top__access__wrap div ul li:nth-of-type(1) {
	margin-bottom: 10px;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(1) {
	font-weight: 500;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(2) {
	font-size: 120%;
	font-weight: 700;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(3),
.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(4) {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.5;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(3) {
	margin-top: 0.5em;
}

.p-top__access__wrap div ul li:nth-of-type(2) {
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: 500;
	height: calc(1.5em + 4px);
	line-height: 1.5;
	margin-top: 2em;
	position: relative;
	text-align: center;
	width: 10em;
}

.p-top__access__wrap div ul li:nth-of-type(2) a {
	border: 2px solid #000;
	height: 100%;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}

.p-top__access__wrap div ul li:nth-of-type(2) a:hover {
	background: #764385;
	border-color: #764385;
	color: #fff;
	opacity: 1;
}

/* ---------------------------------------------
	Top -- faq
--------------------------------------------- */

.p-top__faq .c-ttl {
	text-align: center;
}

/* ---------------------------------------------
	Top -- greeting
--------------------------------------------- */

.p-top__greeting {
	background-color: #764385;
}

.p-top__greeting .l-container {
	padding-bottom: 50%;
	z-index: 0;
}

.p-top__greeting .l-container::after {
	-webkit-background-size: contain;
	-o-background-size: contain;
	background-image: url(../images/about/nakada.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -60px;
	content: "";
	display: block;
	height: 0;
	max-width: 300px;
	padding-bottom: 90%;
	position: absolute;
	right: 0;
	width: 100%;
	z-index: 0;
	z-index: 1;
}

.p-top__greeting .c-link {
	max-width: 250px;
	width: 55%;
}

/* ---------------------------------------------
	Top -- group
--------------------------------------------- */

.p-top__group .l-container > p:nth-of-type(1) {
	line-height: 1 !important;
	text-align: center;
}

.p-top__group .l-container > p:nth-of-type(1) span {
	display: inline-block;
}

.p-top__group .c-ttl__rv {
	font-family: "Oswald", sans-serif;
	font-size: 3.4vw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1 !important;
	margin-bottom: 3em;
	margin-top: -3em !important;
	text-align: center;
}

.p-top__group .c-ttl__rv > span {
	font-size: 9vw;
	line-height: 1.2;
}

.p-top__group .c-ttl__rv > span span {
	margin: 0 5px;
}

.p-top__group__head {
	-webkit-background-size: 207px 84px;
	-o-background-size: 207px 84px;
	background-image: url(../images/group/groupname.svg);
	background-position: center top 50px;
	background-repeat: no-repeat;
	background-size: 207px 84px;
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
	display: block;
	height: 184px;
	margin: 100px auto 0;
	max-width: 400px;
	overflow: hidden;
	padding: 50px 0;
	text-indent: 100%;
	white-space: nowrap;
	width: 100%;
}

.p-top__group__list {
	margin: 0 auto 100px;
	max-width: 400px;
	width: 100%;
}

.p-top__group__list > li {
	border-bottom: 1px solid #000;
	padding: 40px 2em;
	position: relative;
	text-align: center;
}

.p-top__group__list > li::after {
	border-radius: 50%;
	border-style: solid;
	border-width: 8px;
	content: "";
	display: block;
	height: 180px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 50px;
	width: 180px;
	z-index: 0;
	z-index: 1;
}

.p-top__group__list > li h4 {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
}

.p-top__group__list > li h4 span::before {
	content: "\A";
	white-space: pre;
}

.p-top__group__list > li img {
	display: inline-block;
	margin: 40px auto 60px;
	max-width: 110px;
	width: 100%;
}

.p-top__group__list > li p {
	font-size: 14px;
	font-size: 1.4rem;
}

.p-top__group__list > li ul {
	margin-top: 40px;
}

.p-top__group__list > li li {
	border: 1px solid #000;
	border-radius: 30px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0;
	margin: 10px auto;
	max-width: 220px;
	padding: 1px 0;
	position: relative;
}

.p-top__group__list > li li::after {
	background: #000;
	bottom: -11px;
	content: "";
	display: block;
	height: 10px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 1px;
	z-index: 0;
}

.p-top__group__list > li li:last-child::after {
	display: none;
}

.p-top__group__list > li:nth-of-type(1)::after {
	border-color: #0db7d6;
}

.p-top__group__list > li:nth-of-type(2)::after {
	border-color: #8cb424;
}

.p-top__group__list > li:nth-of-type(3)::after {
	border-color: #764385;
}

.p-top__group__list > li:nth-of-type(4)::after {
	border-color: #e88100;
}

/* ---------------------------------------------
	Top -- hero
--------------------------------------------- */

#home .c-hero {
	background-image: url("../images/hero/top_s.jpg");
}

#home .c-hero__wrap {
	background-position: right top;
	background-size: 100% auto;
	height: calc(100vh - 170px);
}

#home .c-hero::after {
	-webkit-background-size: 80% auto;
	-o-background-size: 80% auto;
	background-image: url(../images/hero/top_txt_s.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 80% auto;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	max-width: 680px;
	position: absolute;
	top: 0;
	width: 100%;
}

/* ---------------------------------------------
	Top -- news
--------------------------------------------- */

.p-top__news {
	background-color: #764385;
	color: #fff;
	margin-top: -60px;
	padding: 40px 0 30px;
	text-align: left;
}

.p-top__news .c-ttl {
	color: #fff;
	display: block;
	margin-bottom: 0;
	text-align: left;
}

.p-top__news #top-info .p-info {
	margin-bottom: 0;
}

.p-top__news #top-info .p-info__item {
	padding: 15px 0 0;
}

.p-top__news #top-info dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-top__news #top-info dt span {
	display: block;
	width: 7em;
}

.p-top__news #top-info dt h4 {
	display: inline-block;
	font-weight: 400;
	height: 1.6em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: calc(100% - 7em);
}

.p-top__news #top-info dd {
	display: none;
}

.p-top__news #top-info .c-link {
	height: 2em;
	line-height: 1;
	margin-top: 0;
	width: 8em;
}

/* ---------------------------------------------
	Top -- recruit
--------------------------------------------- */

.p-top__recruit {
	-webkit-background-size: 80% auto;
	-o-background-size: 80% auto;
	background-color: #eeaa1e;
	background-image: url(../images/bg/recruit_s.jpg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 80% auto;
}

.p-top__recruit .l-content {
	margin-left: calc(100vw - 300px);
	margin-top: 0;
	max-width: 350px;
	width: 100%;
}

.p-top__recruit .c-ttl__rv {
	margin-bottom: 1em;
	margin-top: 0;
}

.p-top__recruit .c-link {
	margin-top: 30px;
}

/* ---------------------------------------------
	Top -- service
--------------------------------------------- */

.p-top__service {
	padding-bottom: 0;
}

.p-top__service .c-ttl__rv {
	color: #764385;
}

.p-top__service .c-ttl__rv > span span {
	color: #000;
}

.p-top__service > div:not(.l-container) {
	background: #efeeef;
	padding: 80px 0;
	position: relative;
}

.p-top__service > div:not(.l-container)::before {
	border-left: 75px solid #efeeef;
	border-right: 75px solid #efeeef;
	border-top: 35px solid #fff;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 150px;
	z-index: 0;
}

.p-top__service__list {
	margin-bottom: 60px;
}

.p-top__service__list div {
	-webkit-background-size: 80px auto;
	-o-background-size: 80px auto;
	background-color: #fff;
	background-position: center top 40px;
	background-repeat: no-repeat;
	background-size: 80px auto;
	margin: 20px auto;
	min-height: 260px;
	padding: 135px 20px 0;
	position: relative;
	text-align: center;
	width: 300px;
	z-index: 0;
}

.p-top__service__list div::before {
	color: #764385;
	content: "";
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 120%;
	font-weight: 500;
	height: 1em;
	left: -74px !important;
	position: absolute;
	top: calc(50% - 1.5em);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 10em;
	z-index: 1;
}

.p-top__service__list div h3 {
	line-height: 1.5;
}

.p-top__service__list div p {
	font-size: 11px;
	font-size: 1.1rem;
	letter-spacing: 0;
	margin: -0.5em auto 0;
	max-width: 100%;
	padding-bottom: 2em;
}

.p-top__service__list div p span {
	display: inline-block;
}

.p-top__service__list div:nth-of-type(1) {
	background-image: url("../images/services/service1.svg");
}

.p-top__service__list div:nth-of-type(1)::before {
	content: "SERVICE 01";
}

.p-top__service__list div:nth-of-type(2) {
	background-image: url("../images/services/service2.svg");
}

.p-top__service__list div:nth-of-type(2)::before {
	content: "SERVICE 02";
}

.p-top__service__list div:nth-of-type(3) {
	background-image: url("../images/services/service3.svg");
}

.p-top__service__list div:nth-of-type(3)::before {
	content: "SERVICE 03";
}

.p-top__service__list div:nth-of-type(4) {
	background-image: url("../images/services/service4.svg");
}

.p-top__service__list div:nth-of-type(4)::before {
	content: "SERVICE 04";
}

.p-top__service__list div:nth-of-type(4) p span:nth-of-type(1) {
	display: inline-block;
}

/* =============================================
#  Object -- Utility
============================================= */

/* ---------------------------------------------
	Break
--------------------------------------------- */

span.u-xxs,
span.u-sm,
span.u-md,
span.u-lg,
span.u-xl {
	display: none;
}

span.u-xs {
	display: block;
}

/* ---------------------------------------------
	Margin
--------------------------------------------- */

.u-mb1 {
	margin-bottom: 1rem;
}

.u-ml1 {
	margin-left: 1rem;
}

.u-mr1 {
	margin-right: 1rem;
}

.u-mt1 {
	margin-top: 1rem;
}

.u-mb2 {
	margin-bottom: 2rem;
}

.u-ml2 {
	margin-left: 2rem;
}

.u-mr2 {
	margin-right: 2rem;
}

.u-mt2 {
	margin-top: 2rem;
}

.u-mb3 {
	margin-bottom: 3rem;
}

.u-ml3 {
	margin-left: 3rem;
}

.u-mr3 {
	margin-right: 3rem;
}

.u-mt3 {
	margin-top: 3rem;
}

.u-mb4 {
	margin-bottom: 4rem;
}

.u-ml4 {
	margin-left: 4rem;
}

.u-mr4 {
	margin-right: 4rem;
}

.u-mt4 {
	margin-top: 4rem;
}

.u-mb5 {
	margin-bottom: 5rem;
}

.u-ml5 {
	margin-left: 5rem;
}

.u-mr5 {
	margin-right: 5rem;
}

.u-mt5 {
	margin-top: 5rem;
}

.u-mb6 {
	margin-bottom: 6rem;
}

.u-ml6 {
	margin-left: 6rem;
}

.u-mr6 {
	margin-right: 6rem;
}

.u-mt6 {
	margin-top: 6rem;
}

/* ---------------------------------------------
	Other
--------------------------------------------- */

.u-ovr {
	display: block;
	height: 100%;
	left: 0;
	outline: none;
	position: absolute;
	top: 0;
	width: 100%;
}

.u-inline {
	display: inline-block;
}

.u-no {
	font-family: "Jost", "Noto Sans JP", sans-serif;
}

.u-border {
	border: 1px solid #000;
	padding: 0.25em 0.5em;
}

.u-bold {
	font-weight: 700;
}

span.u-line {
	padding-bottom: 5px;
	position: relative;
	z-index: 10;
}

span.u-line.u-11 {
	width: 12em;
}

span.u-line.u-14 {
	width: 14.5em;
}

span.u-line::after {
	border-bottom: 5px solid #e4d9e6;
	bottom: 0.3em;
	content: "";
	display: block;
	height: 1.2em;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

/* ---------------------------------------------
	Position
--------------------------------------------- */

.u-algn--c {
	text-align: center;
}

.u-algn--r {
	text-align: right;
}

.u-algn--l {
	text-align: left;
}

.u-flt--l {
	float: left;
}

.u-flt--r {
	float: right;
}

/* ---------------------------------------------
	Typography
--------------------------------------------- */

.u-note {
	font-size: 0.8em;
}

/* =============================================
#  Media Queries
============================================= */

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

.l-header__inner {
	width: calc(100% - 50px);
}

.l-container {
	width: calc(100% - 80px);
}

.c-area__contact div h3::before {
	left: calc((100% - 130px) / 2);
	width: 130px;
}

.c-area__contact div h3::after {
	left: calc(((100% - 130px) / 2) + 120px);
}

.c-area__contact div:hover h3::before {
	width: 150px;
}

.c-area__contact div:hover h3::after {
	left: calc(((100% - 130px) / 2) + 140px);
}

.c-area__link .l-container {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-area__link .l-container div {
	background-position: center bottom 15px;
	height: 140px;
	margin: 0;
	width: 31%;
}

.c-gnav li a {
	font-size: 16px;
	font-size: 1.6rem;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	max-width: calc(100% - 80px);
	min-height: 450px;
}

.p-services #service1 .l-container::after,
.p-services #service2 .l-container::after,
.p-services #service3 .l-container::after,
.p-services #service4 .l-container::after {
	bottom: -13px;
	font-size: 67px;
	font-size: 6.7rem;
}

.p-services #service1 .l-container .l-content .p-service__list,
.p-services #service2 .l-container .l-content .p-service__list,
.p-services #service3 .l-container .l-content .p-service__list,
.p-services #service4 .l-container .l-content .p-service__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-height: 200px;
	max-width: 800px !important;
}

.p-services #service1 .l-container .l-content .p-service__list li,
.p-services #service2 .l-container .l-content .p-service__list li,
.p-services #service3 .l-container .l-content .p-service__list li,
.p-services #service4 .l-container .l-content .p-service__list li {
	background-size: 60px auto;
	width: 30%;
}

.p-services #service1 .l-container .l-content .p-service__list li > p,
.p-services #service2 .l-container .l-content .p-service__list li > p,
.p-services #service3 .l-container .l-content .p-service__list li > p,
.p-services #service4 .l-container .l-content .p-service__list li > p {
	bottom: calc(2em - 0.6 * (100vw - 480px) / 120);
	font-size: 1.8vw;
}

.p-services #service1 .l-container .l-content .p-service__list li > p span,
.p-services #service2 .l-container .l-content .p-service__list li > p span,
.p-services #service3 .l-container .l-content .p-service__list li > p span,
.p-services #service4 .l-container .l-content .p-service__list li > p span {
	display: block !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p {
	bottom: inherit;
	top: 55%;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(2) p {
	bottom: inherit;
	top: 55%;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p {
	bottom: inherit;
	top: 55%;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt {
	padding-left: 2em;
	padding-right: 2em;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd {
	padding-left: 2em;
	padding-right: 2em;
}

.p-top__group .c-ttl__rv {
	font-size: 15px;
	font-size: 1.5rem;
}

.p-top__group .c-ttl__rv > span {
	font-size: 6vw;
}

}

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

p,
ul,
ol,
dl {
	font-size: 14px;
	font-size: 1.4rem;
}

.l-container {
	width: calc(100% - 120px);
}

.c-area__contact div h3 {
	font-size: 24px;
	font-size: 2.4rem;
}

.c-gnav li:nth-child(1) {
	margin-left: 10%;
}

.c-gnav li:nth-child(3) {
	margin-left: 10%;
}

.c-gnav li:nth-child(5) {
	margin-left: 10%;
}

.c-gnav li:nth-child(7) {
	margin-left: 10%;
}

.p-service__link ul.c-service__mn {
	margin: auto;
	margin-left: -7%;
	max-width: 767px;
	width: 113%;
}

.p-service__link ul.c-service__mn li {
	width: 24%;
}

.c-ttl {
	font-size: 28px;
	font-size: 2.8rem;
}

.c-ttl > span {
	font-size: 15px;
	font-size: 1.5rem;
}

.c-ttl__rv {
	font-size: 16px;
	font-size: 1.6rem;
}

.c-ttl__rv > span {
	font-size: 26px;
	font-size: 2.6rem;
}

.c-ttl__p {
	font-size: 30px;
	font-size: 3rem;
}

.p-greeting .l-container {
	background-position: right top 120px;
	background-size: 230px auto;
}

.p-greeting .c-ttl__rv {
	padding-bottom: 180px;
}

.p-greeting .c-ttl__rv span {
	font-size: 24px;
	font-size: 2.4rem;
}

.p-companyinfo .l-container dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-companyinfo .l-container dl dt {
	padding-bottom: 0.5em;
	width: 12em;
}

.p-companyinfo .l-container dl dd {
	border-top: 1.5px solid #000;
	padding-bottom: 0.5em;
	width: calc(100% - 12em);
}

.p-companyinfo .l-container dl dd > ul li {
	line-height: 1.2;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	background-position: left 40px top 60px;
	background-size: 130px auto;
	border-top: 50px #f0f0f0 solid;
	margin: 70px auto 0;
	max-width: 90vw;
	width: calc(100% - 80px);
}

.p-services #service1 .l-container .l-content .c-ttl__rv,
.p-services #service2 .l-container .l-content .c-ttl__rv,
.p-services #service3 .l-container .l-content .c-ttl__rv,
.p-services #service4 .l-container .l-content .c-ttl__rv {
	left: 170px;
	position: absolute;
	top: -5.5em;
}

.p-services #service1 .l-container .l-content > p,
.p-services #service2 .l-container .l-content > p,
.p-services #service3 .l-container .l-content > p,
.p-services #service4 .l-container .l-content > p {
	left: 170px;
	position: absolute;
	top: -5.2em;
}

.p-services #service1 .l-container .l-content .p-service__list,
.p-services #service2 .l-container .l-content .p-service__list,
.p-services #service3 .l-container .l-content .p-service__list,
.p-services #service4 .l-container .l-content .p-service__list {
	margin-top: 50px;
}

.p-services #service1 .l-container .l-content .p-service__list li > p,
.p-services #service2 .l-container .l-content .p-service__list li > p,
.p-services #service3 .l-container .l-content .p-service__list li > p,
.p-services #service4 .l-container .l-content .p-service__list li > p {
	bottom: 1.52em;
	font-size: 12px;
	font-size: 1.2rem;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li {
	height: 200px !important;
	max-height: 200px !important;
	min-height: 200px !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(3) {
	width: calc(100% - 60px);
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h4 span {
	display: inline-block;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) > p {
	left: inherit;
	margin-left: 0;
	position: relative;
	top: inherit;
	width: 100%;
}

.p-services #service4 .l-container {
	margin-bottom: 70px;
}

.p-services #service4 .l-container::before {
	top: -40px;
}

.p-services #service4 .l-container .l-content:nth-of-type(1) {
	padding-top: 0 !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(1) .c-ttl__rv {
	margin-top: 2em;
}

.p-services #service4 .l-container .l-content:nth-of-type(1) p {
	margin-top: 3em;
	padding-right: 7em;
}

.p-services #service4 .l-container .l-content:nth-of-type(1) p span:nth-of-type(2),
.p-services #service4 .l-container .l-content:nth-of-type(1) p span:nth-of-type(3) {
	display: inline-block;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	margin-top: 100px;
	width: calc(100% - 60px);
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h4 span {
	display: inline-block;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > p {
	left: inherit;
	margin-left: 0;
	position: relative;
	top: inherit;
	width: 100%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 415px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li {
	width: 50%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 300px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dt {
	position: relative;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd::after {
	bottom: inherit;
	left: inherit;
	right: -18px;
	top: -80px;
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd h4 {
	margin-top: 1.5em;
}

.p-top__access {
	padding-bottom: 20px;
}

.p-top__greeting .l-container::after {
	max-width: 330px;
	padding-bottom: 100%;
}

.p-top__group .c-ttl__rv > span {
	font-size: 4.5vw;
}

.p-top__recruit .l-content {
	margin-left: 45vw;
}

span.u-xxs,
span.u-xs,
span.u-md,
span.u-lg,
span.u-xl {
	display: none;
}

span.u-sm {
	display: block;
}

}

@media screen and (min-width: 600px) and (max-width: 479px) {

.p-services #service4 .l-container .l-content:nth-of-type(1) p span br {
	display: none !important;
}

}

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

.p-services #service4 .l-container .l-content:nth-of-type(1) p {
	margin-left: 30px;
}

}

@media screen and (min-width: 600px) and (min-width: 1000px) {

.p-services #service4 .l-container .l-content:nth-of-type(1) .c-ttl__rv {
	margin-top: 2.75em;
}

.p-services #service4 .l-container .l-content:nth-of-type(1) p {
	margin-top: 4.25em;
}

}

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

.p-services #service4 .l-container .l-content:nth-of-type(1) p {
	padding-right: 5em;
}

}

@media screen and (min-width: 600px) and (min-width: 767px) {

.p-services #service4 .l-container .l-content:nth-of-type(1) p {
	max-width: 29em;
	padding-right: 0;
}

}

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

.p-services #service3 .l-container .l-content:nth-of-type(3) dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt {
	border-bottom: 1px dotted #000;
	height: 2.5em;
	width: 28em;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt:last-of-type {
	border-bottom: none !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd {
	height: 2.5em;
	width: calc(100% - 28em);
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt:nth-of-type(1),
.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd:nth-of-type(1) {
	border-bottom: 1px solid #000 !important;
	display: block;
}

}

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

p,
ul,
ol,
dl {
	font-size: 15px;
	font-size: 1.5rem;
}

main {
	margin-top: 80px;
}

section {
	padding: 100px 0;
}

section.thin {
	padding: 60px 0;
}

.c-link {
	font-size: 14px;
	font-size: 1.4rem;
}

.c-gnav {
	margin-top: 80px;
}

.c-nav__btn div span:nth-child(1) {
	top: 24px;
}

.c-nav__btn div span:nth-child(2) {
	top: 38px;
}

.c-nav__btn div span:nth-child(3) {
	top: 52px;
}

.c-nav__btn.on span:nth-child(1) {
	top: 38px;
}

.c-nav__btn.on span:nth-child(3) {
	top: 38px;
}

.c-hero__wrap {
	height: 250px;
}

.c-pnav {
	display: block;
}

.p-service__link ul.c-service__mn {
	margin: auto !important;
	margin-left: calc((100vw - 767px) / 2);
	max-width: 727px;
	width: 100%;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(1) {
	line-height: 2.3;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(2) {
	font-size: 1.25em;
	line-height: 0.5;
}

.c-ttl,
.c-ttl__rv > span {
	text-align: left;
}

.c-ttl > span,
.c-ttl__rv {
	text-align: left;
}

.c-ttl {
	font-size: 30px;
	font-size: 3rem;
}

.c-ttl__rv {
	text-align: center;
}

.c-ttl__rv > span {
	text-align: center;
}

.c-ttl__rv > span::before {
	margin-top: -35px;
}

.p-greeting .l-container {
	background-position: right top -10px;
	background-size: 260px auto;
}

.p-greeting .c-ttl__rv {
	margin-bottom: 3em;
	margin-top: 12em;
	padding-bottom: 0;
}

.p-greeting .c-ttl__rv span {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.4;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul {
	margin-left: 0;
	max-height: 170px;
	width: 50%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li:nth-child(3) {
	margin-top: 40px;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) img {
	margin-right: 0;
	width: 40%;
}

.p-faq__list dl {
	padding-bottom: 30px;
}

.p-faq__list dl:nth-of-type(odd) {
	padding-right: 40px;
}

.p-faq__list dl:nth-of-type(even) {
	padding-left: 40px;
}

.p-info__item dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

.p-info__item dt span {
	width: 7em;
}

.p-info__item dt h4 {
	width: calc(100% - 7em);
}

.p-info__item dd {
	padding-left: 7em;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	background-position: left 100px top 60px;
}

.p-services #service1 .l-container::before,
.p-services #service2 .l-container::before,
.p-services #service3 .l-container::before,
.p-services #service4 .l-container::before {
	background-size: 140px auto;
}

.p-services #service1 .l-container::after,
.p-services #service2 .l-container::after,
.p-services #service3 .l-container::after,
.p-services #service4 .l-container::after {
	bottom: inherit;
	font-size: 58px;
	font-size: 5.8rem;
	left: -142px !important;
	position: absolute;
	top: 180px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	width: auto;
}

.p-services #service1 .l-container .l-content,
.p-services #service2 .l-container .l-content,
.p-services #service3 .l-container .l-content,
.p-services #service4 .l-container .l-content {
	width: calc(100% - 180px);
}

.p-services #service1 .l-container .l-content .p-service__list li,
.p-services #service2 .l-container .l-content .p-service__list li,
.p-services #service3 .l-container .l-content .p-service__list li,
.p-services #service4 .l-container .l-content .p-service__list li {
	background-position: center top 25px;
	background-size: 70px auto;
	height: 180px !important;
	width: 31%;
}

.p-services #service1 .l-container .l-content .p-service__list li > p,
.p-services #service2 .l-container .l-content .p-service__list li > p,
.p-services #service3 .l-container .l-content .p-service__list li > p,
.p-services #service4 .l-container .l-content .p-service__list li > p {
	bottom: 2em;
	font-size: 13px;
	font-size: 1.3rem;
}

.p-services #service1 .l-container::after {
	left: -135px !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(1) p {
	bottom: 55px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(2) p {
	bottom: 55px;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li:nth-child(3) p {
	bottom: 55px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(3) {
	margin-top: 80px;
	width: calc(100% - 200px);
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd {
	background-size: 80px auto;
	padding-bottom: 30px;
	width: 300px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd h5 {
	font-size: 105%;
	margin-top: 1.5em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(2)::before {
	height: 70px;
	top: -35px;
	width: 70px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	margin-top: 80px;
	width: calc(100% - 190px) !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd {
	background-size: 80px auto;
	padding-bottom: 30px;
}

.p-services #service4 .l-container > P {
	margin-left: 6.25em;
}

.p-top__access .c-ttl {
	max-width: 253px;
	text-align: left;
	width: 30%;
}

.p-top__access .c-ttl span {
	text-align: left;
}

.p-top__access__wrap {
	margin-bottom: 70px;
	max-height: 174px;
	max-width: 600px;
	width: 100%;
}

.p-top__access__wrap div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: 0;
	max-width: 600px;
	width: 100%;
}

.p-top__access__wrap div > img {
	margin-bottom: 0;
	max-height: 176px;
	max-width: 350px;
	padding-bottom: 0;
	width: 45%;
}

.p-top__access__wrap div ul {
	width: 55%;
}

.p-top__access__wrap div ul li:nth-of-type(2) {
	margin-top: 50px;
}

.p-top__greeting .l-container {
	padding-bottom: 300px;
}

.p-top__group .c-ttl__rv > span {
	font-size: 34px;
	font-size: 3.4rem;
}

.p-top__group__head {
	max-width: 100%;
}

.p-top__group__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 50px;
	max-width: 100%;
}

.p-top__group__list > li {
	width: 46%;
}

.p-top__news {
	margin-top: -80px;
}

.p-top__service > div:not(.l-container) {
	margin-top: 80px;
}

.p-top__service__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 40px;
}

.p-top__service__list div {
	max-width: 764px;
	width: 47%;
}

span.u-xxs,
span.u-xs,
span.u-sm,
span.u-lg,
span.u-xl {
	display: none;
}

span.u-md {
	display: block;
}

}

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

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt {
	width: 30em;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd {
	width: calc(100% - 30em);
}

}

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

.c-area__link .l-container div {
	background-position: right 15px center;
	height: 70px;
}

}

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

.p-service__link ul.c-service__mn {
	max-width: 1200px;
}

.p-service__link ul.c-service__mn li {
	height: 5em;
	width: 24%;
}

.p-service__link ul.c-service__mn li a {
	background-image: none !important;
	font-size: 13px;
	font-size: 1.3rem;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(1) {
	background-image: none;
	font-size: 2.5em;
	left: calc(50% - 1em);
	top: -1.15em;
	width: 2em;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(2) {
	line-height: 1.45em;
}

.p-service__link ul.c-service__mn li a:hover {
	background-image: none !important;
}

.p-service__link ul.c-service__mn li a:hover::after {
	border-left: 24px solid transparent;
	border-right: 24px solid transparent;
	border-top: 24px solid #764385;
	bottom: -15px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 24px);
	position: absolute;
	width: 0;
}

.p-access .l-container .c-ttl {
	margin-left: 0;
}

.p-access .l-container .c-accessinfo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 100px;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column wrap;
	flex-flow: column wrap;
	width: 50%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul {
	margin-bottom: 0 !important;
	margin-top: -50px;
	max-width: 400px;
	width: 100%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) img {
	margin-bottom: 110px;
	margin-left: 0 !important;
	width: 100%;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) {
	height: 100%;
	width: 50% !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) > iframe {
	height: 380px;
	margin-top: 0;
}

}

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

p,
ul,
ol,
dl {
	font-size: 15px;
	font-size: 1.5rem;
}

.l-footer__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: calc(100% - 160px);
}

.l-footer__top .l-footer__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 80px 0 100px;
	text-align: left;
}

.l-footer__top__left {
	width: 360px;
}

.l-footer__top__left img:nth-of-type(1) {
	display: none;
}

.l-footer__top__left img:nth-of-type(2) {
	display: block;
	width: 85%;
}

.l-footer__top__left p:nth-of-type(1) {
	display: inline-block;
	margin-top: 2em;
}

.l-footer__top__left ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin-top: 2em;
}

.l-footer__top__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 1em;
	max-width: 460px;
	width: 50vw;
}

.l-footer__bottom {
	background: #fff;
	display: block;
	height: 4em;
	padding: 1.5em 0;
	width: 100%;
}

.l-header {
	height: 100px;
}

.l-header__inner {
	height: 100px;
	padding-top: 30px;
	position: relative;
	width: calc(100% - 160px);
}

.l-container {
	width: calc(100% - 160px);
}

.c-gnav__wrap {
	background: transparent;
	bottom: 20px !important;
	height: calc(1em + 3px);
	left: inherit;
	max-width: 600px;
	opacity: 1;
	overflow-y: hidden !important;
	position: absolute;
	right: 0;
	top: inherit;
	visibility: visible;
	width: calc(100% - 360px);
}

.c-gnav__wrap.open {
	background: transparent;
	height: 100px;
}

.c-gnav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	height: calc(1em + 4px) !important;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 0;
	max-width: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.c-gnav li {
	height: 1em;
	margin-bottom: 0;
}

.c-gnav li a span {
	color: #000;
	position: relative;
}

.c-gnav li a span:last-of-type {
	display: none;
}

.c-gnav li:hover a span,
.c-gnav li.active a span,
.c-gnav li.current a span {
	position: relative;
}

.c-gnav li:hover a span::after,
.c-gnav li.active a span::after,
.c-gnav li.current a span::after {
	background: #000;
	width: 100%;
}

.c-gnav li:nth-child(1) {
	display: none;
}

.c-gnav li:nth-child(2) {
	width: 4em;
}

.c-gnav li:nth-child(3) {
	margin-left: 0;
	width: 5em;
}

.c-gnav li:nth-child(4) {
	width: 2.5em;
}

.c-gnav li:nth-child(5) {
	margin-left: 0;
	width: 5em;
}

.c-gnav li:nth-child(6) {
	width: 6.5em;
}

.c-gnav li:nth-child(6) span:first-of-type {
	background-image: url("../images/ico/outlink.svg");
}

.c-gnav li:nth-child(7) {
	display: none;
}

.c-gnav li:nth-child(8) {
	display: none;
}

.open .c-gnav__bottom {
	display: none;
}

.l-header.fixed .c-gnav {
	height: calc(1em + 3px);
}

.l-header.fixed .c-gnav__wrap {
	bottom: 0 !important;
	height: 40px;
}

.c-nav__btn {
	display: none;
}

.c-nav__btn {
	display: none;
}

.c-hero__wrap {
	height: 350px;
	margin-top: 100px;
	padding-top: 0;
}

.c-pagetop {
	height: 70px;
	width: 70px;
}

.c-ttl {
	font-size: 32px;
	font-size: 3.2rem;
}

.c-ttl__rv {
	font-size: 18px;
	font-size: 1.8rem;
}

.c-ttl__rv > span {
	font-size: 28px;
	font-size: 2.8rem;
}

.c-ttl__rv > span::before {
	margin-top: -40px;
}

.wl .c-ttl__rv span::before {
	margin-top: -40px;
}

.c-ttl__p {
	padding-top: 120px;
}

.p-greeting .c-ttl__rv {
	margin-top: 9.5em;
}

.p-greeting .c-ttl__rv span {
	line-height: 1.6;
}

.p-access .l-container .c-ttl {
	height: 60px;
}

.p-access .l-container .c-accessinfo {
	margin-top: 60px;
	max-width: 960px !important;
	width: 100% !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) {
	width: 100vw !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul {
	margin-top: -110px;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li:nth-child(3) {
	margin-top: 20px;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li:nth-child(4) {
	margin-bottom: 12px;
}

.p-access .l-container .c-accessinfo div:nth-of-type(1) img {
	margin-top: 26px !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) {
	height: 100%;
	margin-top: 0;
	position: absolute;
	right: 0;
	top: 120px;
	width: 50% !important;
}

.p-access .l-container .c-accessinfo div:nth-of-type(2) > iframe {
	height: 350px;
}

.p-faq__list dl {
	width: calc(100% - 60px);
}

.p-faq__list dl dt {
	height: 120px;
	padding-top: 25px;
	width: 120px;
}

.p-faq__list dl dd h4 {
	font-size: 19px;
	font-size: 1.9rem;
}

.p-faq__list dl:nth-of-type(odd) {
	padding-left: 80px;
}

.p-faq__list dl:nth-of-type(odd) dt {
	left: -70px;
	padding-left: 45px;
}

.p-faq__list dl:nth-of-type(even) {
	padding-right: 80px;
}

.p-faq__list dl:nth-of-type(even) dt {
	padding-left: 25px;
	right: -70px;
}

.p-privacy .c-line h4 {
	font-size: 19px;
	font-size: 1.9rem;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	background-position: left 100px top 60px;
	background-size: 160px auto;
	max-width: 87vw;
}

.p-services #service1 .l-container::before,
.p-services #service2 .l-container::before,
.p-services #service3 .l-container::before,
.p-services #service4 .l-container::before {
	background-size: 170px auto;
	right: 80px;
}

.p-services #service1 .l-container .l-content .c-ttl__rv,
.p-services #service2 .l-container .l-content .c-ttl__rv,
.p-services #service3 .l-container .l-content .c-ttl__rv,
.p-services #service4 .l-container .l-content .c-ttl__rv {
	font-size: 150%;
	left: 200px;
	top: -5em;
}

.p-services #service1 .l-container .l-content > p,
.p-services #service2 .l-container .l-content > p,
.p-services #service3 .l-container .l-content > p,
.p-services #service4 .l-container .l-content > p {
	font-size: 12px;
	font-size: 1.2rem;
	left: 200px;
	top: -5.25em;
}

.p-services #service1 .l-container .l-content .p-service__list,
.p-services #service2 .l-container .l-content .p-service__list,
.p-services #service3 .l-container .l-content .p-service__list,
.p-services #service4 .l-container .l-content .p-service__list {
	margin-top: 70px;
	max-width: 800px !important;
}

.p-services #service1 .l-container .l-content .p-service__list li,
.p-services #service2 .l-container .l-content .p-service__list li,
.p-services #service3 .l-container .l-content .p-service__list li,
.p-services #service4 .l-container .l-content .p-service__list li {
	background-position: center top 35px;
	height: 200px !important;
	max-height: 200px !important;
}

.p-services #service1 .l-container .l-content .p-service__list li > p,
.p-services #service2 .l-container .l-content .p-service__list li > p,
.p-services #service3 .l-container .l-content .p-service__list li > p,
.p-services #service4 .l-container .l-content .p-service__list li > p {
	bottom: 3em;
	font-size: 14px;
	font-size: 1.4rem;
}

.p-services #service1 .l-container .l-content .p-service__list li > p span,
.p-services #service2 .l-container .l-content .p-service__list li > p span,
.p-services #service3 .l-container .l-content .p-service__list li > p span,
.p-services #service4 .l-container .l-content .p-service__list li > p span {
	display: inline-block;
}

.p-services #service3 .l-container .l-content:nth-of-type(1) .p-service__list li {
	padding-top: 20%;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 900px;
	padding-top: 1.5em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd {
	height: 250px;
	margin-left: calc(-122px - 10 * (100vw - 1000px) / 200);
	margin-top: 1.5em;
	max-width: 273px;
	width: 30%;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd::after {
	bottom: inherit;
	left: inherit;
	right: -26px;
	top: calc(50% - 12px);
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p {
	text-align: left;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dt {
	width: 35em;
}

.p-services #service3 .l-container .l-content:nth-of-type(3) dl dd {
	width: calc(100% - 35em);
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	margin-top: 120px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h4 {
	margin-top: -20px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > p br {
	display: none;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul {
	max-width: calc(100% + 20px);
	width: calc(100% + 20px);
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li {
	width: 25%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl {
	max-width: 146px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl {
	max-width: 200px;
	position: relative;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dt {
	background-position: center top 10px;
	height: 7em;
	padding-top: 4.5em;
	width: 14.6vw;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd {
	height: 250px;
	margin-top: 1.5em;
	width: 14.6vw;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd::after {
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #764385;
	right: -24px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd h4 {
	font-size: 70%;
	margin-top: 0;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd p {
	padding-left: 0.5em;
	text-align: left;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd ul {
	margin-bottom: 1em;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd ul li {
	letter-spacing: 0;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd ul li span {
	display: block;
	padding-left: 1em;
}

.p-top__access .l-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-top__access__wrap {
	border-left: 1.8px solid #000;
	margin-top: 0;
	padding-left: 40px;
}

.p-top__access__wrap div > img {
	max-height: 180px;
}

.p-top__access__wrap div ul {
	margin-left: -20px;
	margin-top: -5px;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(3) {
	margin-top: 1em;
}

.p-top__greeting .l-container {
	margin-bottom: -40px;
	padding-bottom: 0;
	padding-right: 36%;
}

.p-top__greeting .l-container::after {
	bottom: -90px;
	max-width: 400px;
	width: 40%;
}

.p-top__group__head {
	background-image: url("../images/group/group.svg");
	background-position: center bottom;
	background-size: 80% auto;
	border: none;
	height: 0;
	margin-top: 0;
	padding-bottom: 24%;
}

.p-top__group__list {
	margin-bottom: 0;
	margin-top: -52px;
}

.p-top__group__list > li {
	border-bottom: none;
	padding: 40px 0;
	width: 21%;
}

.p-top__group__list > li img {
	margin-bottom: 80px;
}

.p-top__group__list > li p {
	margin: auto;
	max-width: 220px;
}

.p-top__group__list > li li {
	font-size: 1.2vw;
	max-width: 100%;
}

#home .c-hero__wrap {
	height: 640px;
}

#home .c-hero {
	background-image: url("../images/hero/top.jpg");
}

#home .c-hero::after {
	background-image: url("../images/hero/top_txt.svg");
	background-position: left center;
	background-size: 70%;
	left: 50%;
	max-width: 1280px;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: calc(100% - 160px);
}

.p-top__news {
	padding: 20px 0 5px;
}

.p-top__news .l-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-top__news .c-ttl {
	margin-top: 15px;
	width: 150px;
}

.p-top__news #top-info {
	padding-right: 9em;
	width: calc(100% - 150px);
}

.p-top__news #top-info .c-link {
	position: absolute;
	right: 0;
	top: 15px;
	z-index: 0;
}

.p-top__recruit .l-content {
	margin-left: 50vw;
	margin-top: 30px;
}

.p-top__service__list div {
	padding-left: 40px;
	padding-right: 40px;
}

.p-top__service__list div::before {
	font-size: 140%;
	left: -87px !important;
	top: calc(50% - 1em);
}

.p-top__service__list div p {
	font-size: 12px;
	font-size: 1.2rem;
}

span.u-xxs,
span.u-xs,
span.u-sm,
span.u-md,
span.u-xl {
	display: none;
}

span.u-lg {
	display: block;
}

}

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

.p-services #service1 .l-container .l-content .p-service__list,
.p-services #service2 .l-container .l-content .p-service__list,
.p-services #service3 .l-container .l-content .p-service__list,
.p-services #service4 .l-container .l-content .p-service__list {
	max-width: 100% !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p.u-noborder {
	margin-top: 1.5em;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd:nth-of-type(3) p > b {
	line-height: 4;
	margin-left: 1.5em;
}

}

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

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p {
	padding-left: 2.5em;
}

}

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

p,
ul,
ol,
dl {
	font-size: 15px;
	font-size: 1.5rem;
}

.l-footer__top__nav li a {
	font-size: 16px;
	font-size: 1.6rem;
}

.l-footer__top__nav > li:nth-child(3) li:nth-child(4) a,
.l-footer__top__nav > li:nth-child(3) li:nth-child(5) a {
	font-size: 12px;
	font-size: 1.2rem;
}

.l-footer__top__nav .sub li a {
	font-size: 12px;
	font-size: 1.2rem;
}

.l-footer__bottom a,
.l-footer__bottom span {
	font-size: 13px;
	font-size: 1.3rem;
}

.l-header {
	height: 140px;
}

.l-header__inner {
	height: 140px;
	padding-top: 40px;
}

.l-header__logo {
	height: 70px;
	width: 249px;
}

section {
	padding: 120px 0;
}

section.thin {
	padding: 60px 0;
}

.c-area__contact {
	background-image: url("../images/bg/contact.jpg");
	height: 480px;
	padding: 100px 0;
}

.c-area__contact div {
	background-position: center top 60px;
	background-size: 50px auto;
	height: 280px;
	padding: 110px 30px;
}

.c-area__contact div h3 {
	font-size: 30px;
	font-size: 3rem;
}

.c-area__contact div h3 span {
	font-size: 14px;
	font-size: 1.4rem;
}

.c-area__contact div h3::before {
	bottom: -60px;
}

.c-area__contact div h3::after {
	bottom: -57px;
}

.c-gnav__wrap {
	bottom: 40px !important;
	width: 660px;
}

.c-hero__wrap {
	margin-top: 140px;
}

.p-service__link ul.c-service__mn li {
	height: 6em;
	width: 24%;
}

.p-service__link ul.c-service__mn li a span:nth-of-type(2) {
	line-height: 2em;
}

.c-ttl__rv > span {
	font-size: 32px;
	font-size: 3.2rem;
}

.c-ttl__p {
	font-size: 34px;
	font-size: 3.4rem;
}

.p-greeting .l-container {
	background-position: right top -10px;
	background-size: 320px auto;
}

.p-greeting .c-ttl__rv {
	margin-top: 13em;
}

.p-greeting .c-ttl__rv span {
	font-size: 36px;
	font-size: 3.6rem;
	line-height: 1.4;
}

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	background-position: left calc((80px + 55) * (100vw - 1200px) / 80) top 60px;
	max-width: 1200px !important;
}

.p-services #service1 .l-container::before,
.p-services #service2 .l-container::before,
.p-services #service3 .l-container::before,
.p-services #service4 .l-container::before {
	right: 100px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd {
	margin-left: -132px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dd p.u-border {
	max-width: 200px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	margin-top: 120px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul {
	max-width: 100%;
	width: 100%;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dt {
	max-width: 200px !important;
	width: 200px !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd {
	max-width: 200px !important;
	width: 200px !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dd::after {
	left: 210px;
	right: inherit;
}

.p-services #service4 .l-container > P {
	margin-left: 120px;
}

.p-top__access__wrap {
	margin-right: 0;
	max-height: 184px;
	max-width: 780px;
	width: 100%;
}

.p-top__access__wrap div {
	max-width: 700px;
}

.p-top__greeting .l-container {
	padding-right: 35%;
}

.p-top__greeting .l-container::after {
	height: 120%;
}

.p-top__group .c-ttl__rv {
	letter-spacing: 0.05em;
}

.p-top__group .c-ttl__rv > span {
	font-size: 37px;
	font-size: 3.7rem;
}

.p-top__group__list > li::after {
	height: 200px;
	width: 200px;
}

.p-top__group__list > li h4 {
	font-size: 18px;
	font-size: 1.8rem;
}

.p-top__group__list > li img {
	margin-top: 53px;
}

.p-top__group__list > li li {
	font-size: 14px;
	font-size: 1.4rem;
	max-width: 220px;
}

#home .c-hero__wrap {
	height: 760px;
}

#home .c-hero::after {
	background-size: 750px auto;
}

.p-top__news .c-ttl {
	width: 200px;
}

.p-top__news #top-info {
	width: calc(100% - 200px);
}

.p-top__recruit {
	background-image: url("../images/bg/recruit.jpg");
	background-size: auto 100%;
	min-height: 450px;
}

.p-top__recruit .l-content {
	margin-left: 830px;
	margin-top: 60px;
	width: 23em;
}

.p-top__service__list {
	margin-bottom: 80px;
}

span.u-xxs,
span.u-xs,
span.u-sm,
span.u-md,
span.u-lg {
	display: none;
}

span.u-xl {
	display: block;
}

}

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

.p-services #service1 .l-container,
.p-services #service2 .l-container,
.p-services #service3 .l-container,
.p-services #service4 .l-container {
	background-position: left 135px top 60px;
}

}

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

.p-top__greeting .l-container {
	padding-right: 480px;
}

}

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

p,
ul,
ol,
dl {
	font-size: 15px;
	font-size: 1.5rem;
}

.c-ttl__p {
	font-size: 36px;
	font-size: 3.6rem;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(1) {
	font-size: 110%;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(2) {
	font-size: 140%;
}

.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(3),
.p-top__access__wrap div ul li:nth-of-type(1) span:nth-of-type(4) {
	font-size: 15px;
	font-size: 1.5rem;
}

.p-top__access__wrap div ul li:nth-of-type(2) {
	margin-top: 40px;
}

.p-top__greeting .l-container::after {
	height: 140%;
}

.p-top__group__list > li {
	font-size: 15px;
	font-size: 1.5rem;
	width: 20%;
}

#home .c-hero::after {
	background-size: 800px auto;
}

}

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

.c-gnav li a span:last-of-type {
	font-size: 70%;
}

.c-gnav li a span:last-of-type::before {
	content: "\A";
	white-space: pre;
}

.c-pagetop {
	margin-bottom: -60px;
}

}

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

table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 100px;
}

}

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

.p-access .l-container .c-accessinfo div:nth-of-type(1) ul li.u-no:nth-of-type(1) span {
	display: block !important;
}

.p-contact .l-content form dl.c-list__table {
	display: block;
}

.p-contact .l-content form dl.c-list__table dt,
.p-contact .l-content form dl.c-list__table dd {
	width: 100%;
}

.p-contact .l-content form p {
	margin-top: 0;
}

.p-services #service2 .l-container .l-content .p-service__list li:nth-child(1) p {
	bottom: 2em;
}

.p-top__access__wrap div ul li:nth-of-type(1) {
	margin-top: 1em;
}

}

@media all and (max-width: 480px) {

span.u-tp {
	display: none;
}

}

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

.p-services #service1 .l-container .l-content .p-service__list li:last-child,
.p-services #service2 .l-container .l-content .p-service__list li:last-child,
.p-services #service3 .l-container .l-content .p-service__list li:last-child,
.p-services #service4 .l-container .l-content .p-service__list li:last-child {
	margin-bottom: -10px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2),
.p-services #service3 .l-container .l-content:nth-of-type(3) {
	max-width: calc(100% - 40px) !important;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h3,
.p-services #service3 .l-container .l-content:nth-of-type(3) h3 {
	font-size: 14px;
	font-size: 1.4rem;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) h4 {
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 15px;
}

.p-services #service3 .l-container .l-content:nth-of-type(2) dl dt {
	font-size: 12px;
	font-size: 1.2rem;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) {
	max-width: calc(100% - 40px) !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h3 {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h3 span {
	display: block;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) h4 {
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 15px;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > p {
	padding-bottom: 0 !important;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > p br {
	display: none;
}

.p-services #service4 .l-container .l-content:nth-of-type(2) > ul > li dl dt {
	font-size: 12px;
	font-size: 1.2rem;
}

span.u-xs,
span.u-sm,
span.u-md,
span.u-lg,
span.u-xl {
	display: none;
}

span.u-xxs {
	display: block;
}

}

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

.c-ttl__p {
	font-size: 6.5vw;
}

}

/*# sourceMappingURL=maps/style.css.map */
