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

@import url("https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700&display=swap");

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
address,
em,
img,
small,
strong,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
canvas,
footer,
header,
menu,
nav,
section,
time,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
}

body {
	line-height: 1;
}

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

ul {
	list-style: none;
}

a {
	margin: 0;
	padding: 0;
	background: transparent;
	vertical-align: baseline;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

em,
b {
	font-style: normal;
}

img {
	vertical-align: top;
}

hr {
	display: block;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

input,
select {
	vertical-align: middle;
}

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

html,
body {
	width: 100%;
}

html {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	text-size-adjust: 100%;
}

body {
	position: relative;
	background: #fff;
	color: #333333;
	font-family: Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 2.14;
}

.wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}

a {
	-webkit-transition: opacity .2s ease-in;
	color: #333333;
	text-decoration: none;
	text-decoration: none;
	transition: opacity .2s ease-in;
}

a:hover,
a:active,
a:focus {
	text-decoration: none;
}

a:hover {
	opacity: .6;
}

img:not([src$=".svg"]) {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

h1,
h2,
h3,
h4 {
	font-weight: 300;
}

.wrapper {
	z-index: 1;
	position: relative;
	overflow-x: hidden;
}

.m-main {
	display: block;
	min-width: 1100px;
	margin: 0 auto;
	overflow: hidden;
}

.container {
	width: 100%;
	max-width: calc((20px * 2) + 1000px);
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.container[data-container="left"] {
	padding-left: 80px;
}

.container[data-container="right"] {
	padding-right: 80px;
}

figure {
	margin: 0;
	text-align: center;
}

.gmap {
	position: relative;
	padding-top: 72.5%;
	overflow: hidden;
}

.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

table {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	line-height: 1.428;
}

table th,
table td {
	border: 1px solid #DEDEDE;
}

table thead {
	background: #15B9BF;
}

table thead th {
	padding: 1.6rem 3rem;
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 2.15385;
	text-align: left;
}

table tbody th,
table tbody td {
	padding: 1rem 2rem;
	line-height: 2.14;
	text-align: left;
}

table tbody th {
	width: 280px;
	background: #F1FAFA;
	font-weight: 500;
}

table tbody td {
	background: #fff;
}

.m-header {
	z-index: 10000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1100px;
	background: rgba(255,255,255,0.8);
	text-align: right;
}

.m-header-inner {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 15px 20px;
}

.m-nav {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
}

.m-nav-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

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

.m-nav-list>li {
	position: relative;
	margin-right: 35px;
}

.m-nav-list>li>a,
.m-nav-list>li>span {
	-webkit-transition: .4s ease-out;
	position: relative;
	color: #333333;
	color: #000;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 600;
	transition: .4s ease-out;
}

.m-nav-list>li>a::after,
.m-nav-list>li>span::after {
	-webkit-transition-duration: .4s;
	-webkit-transition-timing-function: ease-out;
	-webkit-transform: scaleX(0);
	display: block;
	position: absolute;
	right: 0;
	bottom: -12px;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scaleX(0);
	border-radius: 3px;
	background-color: #15B9BF;
	content: "";
	transition-duration: .4s;
	transition-timing-function: ease-out;
}

.m-nav-list>li>a:hover::after,
.m-nav-list>li>span:hover::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

.m-nav-list>li.has-child:hover>div {
	-webkit-transform: translateY(0);
	visibility: visible;
	transform: translateY(0);
	opacity: 1;
}

.m-nav-child {
	-webkit-transition: .8s ease-out;
	-webkit-transform: translateY(10px);
	visibility: hidden;
	position: absolute;
	padding-top: 15px;
	transform: translateY(10px);
	opacity: 0;
	transition: .8s ease-out;
}

.m-nav-child ul {
	padding: 15px 18px 15px 15px;
	background: #7BCCCF;
}

.m-nav-child ul li {
	text-align: left;
}

.m-nav-child ul li:not(:last-child) {
	margin-bottom: 5px;
}

.m-nav-child ul li a {
	position: relative;
	padding: 0 0 0 20px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
	white-space: nowrap;
}

.m-nav-child ul li a::before {
	display: block;
	position: absolute;
	top: 7px;
	left: 0;
	width: 9px;
	height: 1px;
	background: #fff;
	content: "";
}

.m-nav__recruit a {
	display: block;
	position: relative;
	width: 220px;
	height: 55px;
	overflow: hidden;
	border-radius: 0 30px 0 30px;
	background: #15B9BF;
	color: #fff;
	line-height: 55px;
	text-align: center;
}

.m-nav__recruit a::before,
.m-nav__recruit a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.m-nav__recruit a::before {
	background: #7bcccf;
	background: linear-gradient(135deg, #7bcccf 0%, #4aa8d1 100%);
}

.m-nav__recruit a::after {
	-webkit-transition: 1.5s;
	background: #7bcccf;
	background: linear-gradient(135deg, #4aa8d1 0%, #7bcccf 100%);
	opacity: 0;
	transition: 1.5s;
}

.m-nav__recruit a span {
	z-index: 1;
	position: relative;
}

.m-nav__recruit a:hover {
	color: #fff;
}

.m-nav__recruit a:hover::after {
	opacity: 1;
}

.m-nav [data-close] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	border: none;
	background-color: transparent;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: calc(22 / 750 * 100vw);
	font-weight: bold;
}

.m-nav [data-close]::before {
	display: inline-block;
	position: relative;
	top: calc(4 / 750 * 100vw);
	width: calc(24 / 750 * 100vw);
	height: calc(24 / 750 * 100vw);
	margin-right: calc(10 / 750 * 100vw);
	background-image: url(../img/icon_close.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
}

body.it .m-nav-list>li:nth-child(3)>span::after,
body.social .m-nav-list>li:nth-child(3)>span::after,
body.book .m-nav-list>li:nth-child(3)>span::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

body.about .m-nav-list>li:nth-child(2)>a::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

body.career .m-nav-list>li:nth-child(4)>a::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

body.category .m-nav-list>li:nth-child(5)>a::after,
body.single .m-nav-list>li:nth-child(5)>a::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

[data-spmenu="menu"] {
	display: none;
}

[data-spmenu="button"] {
	display: block;
	position: relative;
	width: 18px;
	height: 18px;
	text-align: center;
}

[data-spmenu="button"]::before,
[data-spmenu="button"]::after {
	-webkit-transition: .3s;
	display: block;
	position: absolute;
	right: 0;
	left: 0;
	width: 100%;
	height: 3px;
	margin: 0 auto;
	border-radius: 3px;
	background-color: #7BCCCF;
	content: "";
	transition: .3s;
}

[data-spmenu="button"]::before {
	top: 0;
}

[data-spmenu="button"]::after {
	bottom: 0;
}

[data-spmenu="button"] span {
	display: block;
	position: absolute;
	top: 7px;
	right: 7px;
	width: 11px;
	height: 3px;
	border-radius: 3px;
	background-color: #4DAAD1;
}

[data-spmenu="button"] span::after {
	display: block;
	position: absolute;
	right: -6px;
	bottom: 0;
	width: 3px;
	height: 3px;
	border-radius: 3px;
	background-color: #4DAAD1;
	content: "";
}

[data-menuopen="true"] [data-spmenu="button"]::before {
	-webkit-transform: rotate(45deg);
	top: 8px;
	width: 24px;
	transform: rotate(45deg);
	background: #fff;
}

[data-menuopen="true"] [data-spmenu="button"]::after {
	-webkit-transform: rotate(-45deg);
	top: 8px;
	width: 24px;
	transform: rotate(-45deg);
	background: #fff;
}

[data-menuopen="true"] [data-spmenu="button"] span {
	opacity: 0;
}

.sp-nav {
	-webkit-transition-duration: 300ms;
	-webkit-transition-property: opacity,visibility;
	-webkit-transition-timing-function: ease-in;
	visibility: hidden;
	z-index: 10000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #7bcccf;
	background: -webkit-gradient(linear, left top, left bottom, from(0), color-stop(0%, rgba(74,168,209,0.95)), to(rgba(123,204,207,0.95)));
	background: linear-gradient(0, rgba(74,168,209,0.95) 0%, rgba(123,204,207,0.95) 100%);
	opacity: 0;
	transition-duration: 300ms;
	transition-property: opacity,visibility;
	transition-timing-function: ease-in;
}

.sp-nav.show {
	visibility: visible;
	left: 0;
	opacity: 1;
}

.sp-nav-head {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	height: 48px;
	margin-bottom: 44px;
	padding: 10px calc(40 / 750 * 100vw);
}

.sp-nav-head__logo img {
	width: 115px;
}

.sp-nav-body {
	max-height: calc(80vh - 60px);
	overflow: auto;
}

.sp-nav-list {
	border-top: 1px solid #FFFFFF;
}

.sp-nav-list>li>a,
.sp-nav-list>li span {
	display: block;
	position: relative;
	margin-bottom: 0;
	padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
	border-bottom: 1px solid #FFFFFF;
	color: #fff;
	font-size: calc(26 / 750 * 100vw);
}

.sp-nav-list>li span::after,
.sp-nav-list>li span::before {
	-webkit-transform: translateY(-50%);
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border-radius: calc(3 / 750 * 100vw);
	background: #fff;
	content: "";
}

.sp-nav-list>li span::before {
	right: calc(40 / 750 * 100vw);
	width: calc(18 / 750 * 100vw);
	height: calc(3 / 750 * 100vw);
}

.sp-nav-list>li span::after {
	-webkit-transition: .3s;
	right: calc(47 / 750 * 100vw);
	width: calc(3 / 750 * 100vw);
	height: calc(18 / 750 * 100vw);
	transition: .3s;
}

.sp-nav-list>li span.open::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.sp-nav-list>li>ul {
	display: none;
	padding: calc(20 / 750 * 100vw) 0;
	border-bottom: 1px solid #FFFFFF;
}

.sp-nav-list>li>ul>li a {
	display: block;
	position: relative;
	padding: calc(10 / 750 * 100vw) calc(70 / 750 * 100vw) calc(10 / 750 * 100vw);
	color: #fff;
	font-size: calc(24 / 750 * 100vw);
}

.sp-nav-list>li>ul>li a::before {
	-webkit-transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: calc(30 / 750 * 100vw);
	left: calc(40 / 750 * 100vw);
	width: calc(7 / 750 * 100vw);
	height: calc(7 / 750 * 100vw);
	transform: rotate(-45deg);
	border-right: calc(3 / 750 * 100vw) solid #fff;
	border-bottom: calc(3 / 750 * 100vw) solid #fff;
	content: "";
}

.sp-nav__recruit {
	position: absolute;
	bottom: calc(40 / 750 * 100vw);
	left: calc(40 / 750 * 100vw);
}

.sp-nav__recruit a {
	display: block;
	position: relative;
	width: calc(670 / 750 * 100vw);
	height: 16vw;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 0 30px 0 30px;
	background: #fff;
	color: #7BCCCF;
	font-size: calc(28 / 750 * 100vw);
	line-height: 16vw;
	text-align: center;
}

.m-footer {
	min-width: 1100px;
	padding: 80px 0 0;
	background: #fff;
}

.m-footer-inner {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-bottom: 24px;
	padding-left: 20px;
}

.m-footer__first {
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	-ms-flex-order: 2;
	order: 2;
	width: 175px;
	padding-top: 20px;
}

.m-footer__logo {
	display: inline-block;
	margin-bottom: 44px;
}

.m-footer__logo img {
	width: 205px;
}

.m-footer__second {
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	-ms-flex-order: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	order: 1;
	margin-right: 70px;
	padding: 20px 50px 30px 20px;
	border-right: 1px solid #C6C6C6;
}

.m-footer__sitemap {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}

.m-footer__sitemap dl dt {
	margin-bottom: 22px;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.3;
}

.m-footer__sitemap dl dd ul li a {
	color: #333333;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 400;
	opacity: .8;
}

.m-footer__third {
	-webkit-box-ordinal-group: 4;
	-webkit-order: 3;
	-ms-flex-order: 3;
	order: 3;
	width: 100%;
	margin-top: 23px;
}

.m-footer__mark {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.m-footer__mark p {
	margin-right: 18px;
}

.m-footer__company {
	display: inline-block;
	margin-bottom: 45px;
}

.m-footer__company img {
	width: 119px;
}

.m-footer__tel {
	font-size: 13px;
	font-size: 1.3rem;
}

.m-footer__copy {
	height: 74px;
	background: #333333;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 74px;
	text-align: center;
}

.pagetop {
	-webkit-transition-duration: .4s;
	-webkit-transition-timing-function: ease-in;
	z-index: 1;
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	margin-bottom: -50px;
	opacity: 0;
	transition-duration: .4s;
	transition-timing-function: ease-in;
}

.pagetop img {
	width: 19px;
}

.pagetop.show {
	margin-bottom: 0;
	opacity: 1;
}

.pagetop[data-pagetop-fix="false"] {
	bottom: 10rem;
}

a {
	-webkit-transition: 100ms ease-in;
	color: #333333;
	text-decoration: none;
	text-decoration: none;
	transition: 100ms ease-in;
}

a:hover,
a:active,
a:focus {
	text-decoration: none;
}

.btn {
	display: inline-block;
	position: relative;
	width: 222px;
	margin-top: 25px;
	padding: 15px 40px;
	border: #333333 solid 1px;
	color: #333333;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
	text-align: center;
	cursor: pointer;
}

.btn::after {
	-webkit-transform: translateY(-50%);
	-webkit-transition: 400ms ease-in-out;
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 32px;
	height: 1px;
	transform: translateY(-50%);
	background: #15B9BF;
	content: "";
	transition: 400ms ease-in-out;
}

.btn[data-btn="reverse"] {
	border-color: #fff;
	color: #fff;
}

.btn[data-btn="reverse"]::after {
	background-color: #fff;
}

.btn[data-btn="reverse"]:hover {
	border-bottom-color: #fff;
	background: #fff;
	color: #15B9BF;
}

.btn[data-btn="reverse"]:hover::after {
	background: #15B9BF;
}

.btn[data-btn="back"] {
	position: relative;
	width: 300px;
	padding: .75rem 3rem;
	border: none;
	border-radius: 5px;
	background: #15B9BF;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 2.22222;
}

.btn[data-btn="back"]::before {
	-webkit-transform: rotate(45deg) translate(0, -50%);
	display: block;
	position: absolute;
	top: 50%;
	left: 2rem;
	width: 8px;
	height: 8px;
	margin-top: -3px;
	transform: rotate(45deg) translate(0, -50%);
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	content: "";
}

.btn[data-btn="back"]::after {
	content: none;
}

.link-download {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2.14;
}

.link-download[data-link="pdf"] {
	position: relative;
	padding-left: 3.5rem;
}

.link-download[data-link="pdf"]::before {
	display: block;
	position: absolute;
	left: 0;
	width: 30px;
	height: 30px;
	background-image: url(../img/icon_pdf.png);
	background-size: contain;
	content: "";
}

.tel {
	color: #FDD14B;
}

.highlight {
	background-color: #add1f0;
}

.text-white {
	color: #fff;
}

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

.text-center img {
	display: inline-block;
}

.text-center>* {
	margin-right: auto;
	margin-left: auto;
}

.text-left {
	text-align: left !important;
}

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

.text-left {
	text-align: left;
}

.text-left img {
	display: inline-block;
}

.text-left>* {
	margin-left: auto;
}

.text-right {
	text-align: right;
}

.text-right img {
	display: inline-block;
}

.text-right>* {
	margin-right: auto;
}

.hf-indent {
	margin-left: -0.6em;
}

.bc-primary {
	border-color: #15B9BF;
}

.bc-red {
	border-color: #a00;
}

.bc-yellow {
	border-color: #FFE566;
}

.bc-blue {
	border-color: #0af;
}

.bc-green {
	border-color: #5a8;
}

.color-gray01 {
	color: #7E7E7E;
}

.color-primary {
	color: #15B9BF !important;
}

.color-second {
	color: #FFC000 !important;
}

.color-red {
	color: #a00;
}

.color-yellow {
	color: #FFE566;
}

.color-blue {
	color: #0af;
}

.color-green {
	color: #5a8;
}

.color-white {
	color: #fff !important;
}

.bg-primary {
	background-color: #15B9BF;
}

.bg-red {
	background-color: #a00;
}

.bg-yellow {
	background-color: #FFE566;
}

.bg-blue {
	background-color: #0af;
}

.bg-green {
	background-color: #5a8;
}

.bg-lgray {
	background-color: #f5f5f5;
}

.bg-lblue {
	background-color: #e7f5fc;
}

.bg-lpink {
	background-color: #ffebe6;
}

.font-s {
	font-size: 13px !important;
	font-size: 1.3rem !important;
}

.font-l {
	font-size: 16px !important;
	font-size: 1.6rem !important;
	font-weight: bold;
}

.font-xl {
	font-size: 18px !important;
	font-size: 1.8rem !important;
	font-weight: bold;
}

.weight-m {
	font-weight: 500;
}

.text-small {
	font-size: .8em;
}

.text-xsmall {
	font-size: 1.2rem;
}

.text-xxsmall {
	font-size: 1rem;
}

.text-large {
	font-size: 2.4rem;
}

.text-xlarge {
	font-size: 2.6rem;
}

.text-xxlarge {
	font-size: 3.2rem;
}

@font-face {
	src: url("fonts/glyphicons-halflings-regular.eot");
	src: url("fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/glyphicons-halflings-regular.woff") format("woff"),url("fonts/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
	font-family: 'Glyphicons Halflings';
}

.border-none-top {
	border-top: none !important;
}

.border-none-left {
	border-left: none !important;
}

.border-none-right {
	border-right: none !important;
}

.border-none-bottom {
	border-bottom: none !important;
}

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

.mt05 {
	margin-top: 5px !important;
}

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

.mt15 {
	margin-top: 15px !important;
}

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

.mt25 {
	margin-top: 25px !important;
}

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

.mt35 {
	margin-top: 35px !important;
}

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

.mt45 {
	margin-top: 45px !important;
}

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

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

.mb05 {
	margin-bottom: 5px !important;
}

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

.mb15 {
	margin-bottom: 15px !important;
}

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

.mb25 {
	margin-bottom: 25px !important;
}

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

.mb35 {
	margin-bottom: 35px !important;
}

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

.mb45 {
	margin-bottom: 45px !important;
}

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

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

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

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

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

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

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

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

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

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

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

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

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

span.asterisk {
	font-size: 12px;
	font-size: 1.2rem;
}

p.asterisk {
	margin: 20px 0;
	color: #7E7E7E;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: center;
}

.ul-list {
	margin: 10px 0;
	padding-left: 0;
}

.ul-list:first-child {
	margin-top: 0;
}

.ul-list:last-child {
	margin-bottom: 0;
}

.ul-list>li {
	margin-left: 1em;
	text-indent: -1em;
}

.ul-list>li:before {
	content: "\30FB";
}

.ul-list>li>ul {
	margin: 5px 0 0 18px;
	text-indent: -18px;
}

.ul-list>li>ul li:before {
	margin-right: 5px;
	content: "・";
}

.ul-list>li>ul li:not(:first-child) {
	margin-top: ５px;
}

.ol-list {
	margin: 25px 0;
	list-style-type: none;
	counter-reset: item;
}

.ol-list:first-child {
	margin-top: 0;
}

.ol-list:last-child {
	margin-bottom: 0;
}

.ol-list li {
	position: relative;
	padding-left: 1em;
	text-indent: -1em;
}

.ol-list li:not(:last-child) {
	margin-bottom: 3rem;
}

.ol-list li::before {
	font-weight: bold;
	content: counter(item) ".";
	counter-increment: item;
}

.ol-list__round {
	list-style-type: none;
}

.ol-list__round li {
	padding-left: 1em;
	text-indent: -1em;
}

.ol-list__round li:not(:last-child) {
	margin-bottom: .3rem;
}

.none-bdb {
	border-bottom: none !important;
}

.none-bdt {
	border-top: none !important;
}

[data-inview] {
	opacity: 0;
}

[data-inview="true"].a-fadeup {
	-webkit-animation: fadeInUp .4s ease-in forwards;
	animation: fadeInUp .4s ease-in forwards;
}

[data-inview="true"].a-fadedown {
	-webkit-animation: fadeInDown .4s ease-in forwards;
	animation: fadeInDown .4s ease-in forwards;
}

[data-inview="true"].a-blurup {
	-webkit-animation: blurup .4s ease-in forwards;
	animation: blurup .4s ease-in forwards;
}

[data-inview="true"].a-fadeleft {
	-webkit-animation: fadeInLeft .4s ease-in forwards;
	animation: fadeInLeft .4s ease-in forwards;
}

[data-inview="true"].a-faderight {
	-webkit-animation: fadeInRight .4s ease-in forwards;
	animation: fadeInRight .4s ease-in forwards;
}

[data-inview="true"].a-faderightup {
	-webkit-animation: fadeInRightUp .4s ease-in forwards;
	animation: fadeInRightUp .4s ease-in forwards;
}

[data-inview="true"].a-fadeleftup {
	-webkit-animation: fadeInLeftUp .4s ease-in forwards;
	animation: fadeInLeftUp .4s ease-in forwards;
}

.a-affinity01 {
	position: relative;
	opacity: 1;
}

.a-affinity01::before,
.a-affinity01::after {
	-webkit-transition-timing-function: ease-out;
	-webkit-transition-duration: 1s;
	display: block;
	position: absolute;
	right: 0;
	width: 100%;
	background: #fafafa;
	content: "";
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

.a-affinity01::before {
	top: 0;
	height: 50%;
}

.a-affinity01::after {
	-webkit-transition-delay: .4s;
	bottom: 0;
	height: 60%;
	transition-delay: .4s;
}

.a-affinity01[data-inview="true"]::before,
.a-affinity01[data-inview="true"]::after {
	width: 0;
}

.a-affinity02 {
	opacity: 1;
}

.a-affinity02 figcaption,
.a-affinity02 p,
.a-affinity02>span {
	position: relative;
}

.a-affinity02 figcaption::after,
.a-affinity02 p::after,
.a-affinity02>span::after {
	-webkit-transition-timing-function: ease-out;
	-webkit-transition-duration: 1s;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #fafafa;
	content: "";
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

.a-affinity02 p::after {
	-webkit-transition-delay: .6s;
	transition-delay: .6s;
}

.a-affinity02>span::after {
	-webkit-transition-delay: .8s;
	transition-delay: .8s;
}

.a-affinity02 figure img {
	-webkit-transform: scale3d(0.8, 0.8, 0.8);
	-webkit-transition: .4s  .3s ease-in;
	transform: scale3d(0.8, 0.8, 0.8);
	opacity: 0;
	transition: .4s  .3s ease-in;
}

.a-affinity02[data-inview="true"] figcaption::after,
.a-affinity02[data-inview="true"] p::after,
.a-affinity02[data-inview="true"]>span::after {
	width: 0;
}

.a-affinity02[data-inview="true"] figure img {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	opacity: 1;
}

.a-graph {
	opacity: 1;
}

.a-graph p {
	position: relative;
}

.a-graph p::after {
	-webkit-transition-timing-function: ease-out;
	-webkit-transition-duration: 1s;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #fafafa;
	content: "";
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

.a-graph figure {
	-webkit-transform: scale3d(0.8, 0.8, 0.8);
	-webkit-transition: .4s  .4s ease-out;
	transform: scale3d(0.8, 0.8, 0.8);
	opacity: 0;
	transition: .4s  .4s ease-out;
}

.a-graph figure figcaption {
	-webkit-transform: scale3d(0.6, 0.6, 0.6);
	-webkit-transition: .5s .4s ease-out;
	transform: scale3d(0.6, 0.6, 0.6);
	opacity: 0;
	transition: .5s .4s ease-out;
}

.a-graph[data-inview="true"] p::after {
	width: 0;
}

.a-graph[data-inview="true"] figure {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	opacity: 1;
}

.a-graph[data-inview="true"] figure figcaption {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	opacity: 1;
}

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

.m-nav [data-close] {
	display: none;
}

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

.m-footer__sitemap dl dd {
	display: block !important;
}

a:hover {
	color: #15B9BF;
	opacity: 1;
}

.btn {
	-webkit-transition: 200ms ease-in-out;
	transition: 200ms ease-in-out;
}

.btn:hover {
	border-color: #15B9BF;
	background: #15B9BF;
	color: #fff;
}

.btn:hover::after {
	width: 42px;
	background: #fff;
}

.btn[data-btn="back"] {
	-webkit-transition: .3s;
	opacity: 1;
	transition: .3s;
}

.btn[data-btn="back"]:hover {
	opacity: .85;
}

.pc-text-center {
	text-align: center;
}

}

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

.tb-none {
	display: none !important;
}

.tb-only {
	display: block !important;
}

.tb-only_inline {
	display: inline-block !important;
}

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

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

.sptb-hidden {
	display: none !important;
}

.tbpc-hidden {
	display: none !important;
}

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

.tb-hidden {
	display: none !important;
}

}

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

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

.tel {
	pointer-events: none;
}

.pc-border-none-top {
	border-top: none !important;
}

.pc-border-none-left {
	border-left: none !important;
}

.pc-border-none-right {
	border-right: none !important;
}

.pc-border-none-bottom {
	border-bottom: none !important;
}

}

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

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

.pc-only {
	display: block !important;
}

table.pc-only {
	display: table !important;
}

.pc-only_inline {
	display: inline-block !important;
}

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

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

.sptb-hidden {
	display: block !important;
}

.tbpc-hidden {
	display: none !important;
}

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

.tb-hidden {
	display: block !important;
}

.tb-only {
	display: none !important;
}

}

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

body {
	background-size: calc(368 / 750 * 100vw);
}

body {
	letter-spacing: .05em;
}

.wrap {
	width: 100%;
	min-width: 100%;
}

.m-main {
	min-width: 100%;
}

.container {
	min-width: 100%;
	margin: 0 auto;
	padding-right: calc(40 / 750 * 100vw);
	padding-left: calc(40 / 750 * 100vw);
}

.container[data-container="left"] {
	padding-left: calc(98 / 750 * 100vw);
}

.container[data-container="right"] {
	padding-right: calc(40 / 750 * 100vw);
	padding-left: calc(98 / 750 * 100vw);
}

table thead th {
	font-size: calc(22 / 750 * 100vw);
	line-height: 1.27273;
}

table thead th {
	padding: calc(30 / 750 * 100vw) calc(15 / 750 * 100vw);
}

table tbody th,
table tbody td {
	font-size: calc(24 / 750 * 100vw);
	line-height: 1.66667;
}

table tbody th,
table tbody td {
	padding: calc(15 / 750 * 100vw) calc(15 / 750 * 100vw);
}

table tbody th {
	width: calc(220 / 750 * 100vw);
	text-align: left;
}

.m-header {
	padding: 0 calc(40 / 750 * 100vw);
}

.m-header-inner {
	height: 48px;
	padding: 10px 0;
}

.m-header__logo {
	width: 115px;
}

.m-header__logo img {
	display: block;
}

.m-nav {
	display: none;
}

[data-spmenu="menu"] {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	-webkit-transition: .2s;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	z-index: 10000000000;
	position: fixed;
	top: 0;
	right: calc(40 / 750 * 100vw);
	align-items: center;
	justify-content: flex-end;
	width: 48px;
	height: 48px;
	transition: .2s;
}

.m-footer {
	min-width: 100%;
	padding: calc(80 / 750 * 100vw) 0 0;
}

.m-footer-inner {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding-right: 0;
	padding-bottom: calc(57 / 750 * 100vw);
	padding-left: 0;
}

.m-footer__first {
	width: 100%;
	margin-bottom: calc(80 / 750 * 100vw);
	padding-top: 0;
	text-align: center;
}

.m-footer__logo {
	margin-bottom: calc(48 / 750 * 100vw);
}

.m-footer__logo img {
	width: calc(280 / 750 * 100vw);
}

.m-footer__sns img {
	width: calc(72 / 750 * 100vw);
}

.m-footer__second {
	margin-right: 0;
	margin-bottom: calc(119 / 750 * 100vw);
	padding: 0;
	border-top: #C6C6C6 1px solid;
	border-right: none;
}

.m-footer__sitemap {
	display: block;
}

.m-footer__sitemap dl dt {
	position: relative;
	margin-bottom: 0;
	padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
	border-bottom: #C6C6C6 1px solid;
	font-size: calc(26 / 750 * 100vw);
}

.m-footer__sitemap dl dt::after,
.m-footer__sitemap dl dt::before {
	-webkit-transform: translateY(-50%);
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border-radius: calc(3 / 750 * 100vw);
	background: #333333;
	content: "";
}

.m-footer__sitemap dl dt::before {
	right: calc(40 / 750 * 100vw);
	width: calc(18 / 750 * 100vw);
	height: calc(3 / 750 * 100vw);
}

.m-footer__sitemap dl dt::after {
	-webkit-transition: .3s;
	right: calc(47 / 750 * 100vw);
	width: calc(3 / 750 * 100vw);
	height: calc(18 / 750 * 100vw);
	transition: .3s;
}

.m-footer__sitemap dl dt.open::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.m-footer__sitemap dl dd {
	display: none;
	border-bottom: #C6C6C6 1px solid;
}

.m-footer__sitemap dl dd ul {
	padding: calc(20 / 750 * 100vw) 0;
}

.m-footer__sitemap dl dd ul li {
	line-height: 1.6;
}

.m-footer__sitemap dl dd ul li a {
	display: block;
	position: relative;
	padding: calc(10 / 750 * 100vw) calc(70 / 750 * 100vw) calc(10 / 750 * 100vw);
	font-size: calc(24 / 750 * 100vw);
}

.m-footer__sitemap dl dd ul li a::before {
	-webkit-transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: calc(24 / 750 * 100vw);
	left: calc(40 / 750 * 100vw);
	width: calc(7 / 750 * 100vw);
	height: calc(7 / 750 * 100vw);
	transform: rotate(-45deg);
	border-right: calc(3 / 750 * 100vw) solid #333;
	border-bottom: calc(3 / 750 * 100vw) solid #333;
	content: "";
}

.m-footer__third {
	margin-top: 0;
}

.m-footer__mark {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.m-footer__mark p {
	margin: 0 calc(15 / 750 * 100vw);
}

.m-footer__company {
	margin-bottom: calc(15 / 750 * 100vw);
}

.m-footer__company img {
	width: calc(198 / 750 * 100vw);
}

.m-footer__copy {
	font-size: calc(21 / 750 * 100vw);
}

.pagetop {
	right: 1rem;
	bottom: 1rem;
}

.pagetop img {
	width: calc(32 / 750 * 100vw);
}

.pagetop[data-pagetop-fix="false"] {
	bottom: calc(170 / 750 * 100vw);
}

.btn {
	width: calc(341 / 750 * 100vw);
	margin-top: calc(30 / 750 * 100vw);
	padding: calc(25 / 750 * 100vw) calc(60 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
}

.btn::after {
	width: calc(48 / 750 * 100vw);
}

.btn[data-btn="back"] {
	font-size: calc(26 / 750 * 100vw);
	line-height: 2.26923;
}

.btn[data-btn="back"] {
	width: calc(400 / 750 * 100vw);
	padding: calc(11 / 750 * 100vw) calc(30 / 750 * 100vw);
}

.btn[data-btn="back"]::before {
	left: calc(25 / 750 * 100vw);
	width: calc(10 / 750 * 100vw);
	height: calc(10 / 750 * 100vw);
	margin-top: calc(-1 * (3 / 750 * 100vw));
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
}

.link-download {
	font-size: calc(28 / 750 * 100vw);
	line-height: 2.14;
}

.link-download[data-link="pdf"] {
	padding-left: calc(60 / 750 * 100vw);
}

.link-download[data-link="pdf"]::before {
	width: calc(50 / 750 * 100vw);
	height: calc(50 / 750 * 100vw);
}

.sp-text-center {
	text-align: center;
}

.sp-text-left {
	text-align: left !important;
}

.text-xsmall {
	font-size: 1rem;
}

.text-xxsmall {
	font-size: .8rem;
}

.text-large {
	font-size: calc(34 / 750 * 100vw);
}

.text-xlarge {
	font-size: 2.2rem;
}

.text-xxlarge {
	font-size: 2.4rem;
}

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

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

table.sp-only {
	display: table !important;
}

.sp-only_inline {
	display: inline-block !important;
}

.sptb-hidden {
	display: none !important;
}

.tbpc-hidden {
	display: block !important;
}

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

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

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

.breadcrumb .sp-only {
	display: none !important;
}

span.asterisk {
	font-size: calc(20 / 750 * 100vw);
}

p.asterisk {
	margin: calc(20 / 750 * 100vw) 0;
	font-size: calc(20 / 750 * 100vw);
}

.ul-list {
	padding-left: 0;
}

.ul-list>li {
	font-size: calc(26 / 750 * 100vw);
}

.ul-list>li>ul {
	font-size: 12px;
	font-size: 1.2rem;
}

.ol-list {
	margin: calc(40 / 750 * 100vw) 0;
}

.ol-list li:not(:last-child) {
	margin-bottom: calc(40 / 750 * 100vw);
}

}

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

body {
	font-size: calc(26 / 750 * 100vw);
	line-height: 2.14;
}

}

@media screen and (max-height: 414px) {

.sp-nav-head {
	margin-bottom: 0;
}

.sp-nav-body {
	max-height: calc(80vh - 80px);
}

.sp-nav-list>li>a,
.sp-nav-list>li span {
	padding: 20px calc(40 / 750 * 100vw);
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 2.14;
}

.sp-nav-list>li>ul>li a {
	padding: 10px calc(70 / 750 * 100vw);
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 2.14;
}

.sp-nav-list>li>ul>li a::before {
	top: 18px;
}

.sp-nav__recruit {
	bottom: 10px;
}

.sp-nav__recruit a {
	height: 60px;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 2.14;
	line-height: 60px;
}

}

