@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap&text=0123456789");

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent
}

body {
	margin: 0
}

main {
	display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none
}

dt {
	font-weight: bold
}

dd {
	margin-left: 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit
}

pre {
	font-family: monospace, monospace;
	font-size: inherit
}

address {
	font-style: inherit
}

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

abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: inherit
}

small {
	font-size: 80%
}

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

sub {
	bottom: -0.25em
}

sup {
	top: -0.5em
}

img,
embed,
object,
iframe {
	vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
	appearance: none
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
	cursor: default
}

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

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

select::-ms-expand {
	display: none
}

option {
	padding: 0
}

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

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

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

[type="search"] {
	outline-offset: -2px
}

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

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

label[for] {
	cursor: pointer
}

details {
	display: block
}

summary {
	display: list-item
}

[contenteditable] {
	outline: none
}

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

caption {
	text-align: left
}

td,
th {
	vertical-align: top;
	padding: 0
}

th {
	text-align: left;
	font-weight: bold
}

template {
	display: none
}

[hidden] {
	display: none
}

html {
	font-size: 62.5%
}

body {
	font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 1.0rem;
	color: #000;
	overflow-x: hidden
}

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

a {
	text-decoration: none;
	color: inherit;
	transition: all .3s
}

a:hover {
	opacity: .7;
	cursor: pointer
}

a:focus,
a:focus {
	outline: 0
}

img {
	width: 100%;
	height: auto
}

table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all
}

em {
	font-style: normal
}

@media screen and (min-width: 750px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: text
	}
}

@media print {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: text
	}
}

[class*=l-inner-] {
	width: 90%;
	margin: 0 auto
}

.l-inner-xl {
	max-width: 1400px
}

.l-inner-lg {
	max-width: 1100px
}

.l-inner-md {
	max-width: 700px
}

.l-inner-sm {
	max-width: 598px
}

@media screen and (min-width: 750px) {
	.l-col {
		display: flex;
		justify-content: space-between
	}
}

@media print {
	.l-col {
		display: flex;
		justify-content: space-between
	}
}

@media screen and (min-width: 750px) {
	.l-main {
		width: 63.63%
	}
}

@media print {
	.l-main {
		width: 63.63%
	}
}

@media screen and (min-width: 750px) {
	.l-side {
		width: 29.09%
	}
}

@media print {
	.l-side {
		width: 29.09%
	}
}

@media screen and (max-width: 749px) {
	.l-side {
		margin-top: 9rem
	}
}

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

	.visible-md,
	.visible-sm {
		display: none
	}

	.visible-lg {
		display: inherit
	}
}

@media print {

	.visible-md,
	.visible-sm {
		display: none
	}

	.visible-lg {
		display: inherit
	}
}

@media screen and (min-width: 750px) and (max-width: 1399px) {

	.visible-lg,
	.visible-sm {
		display: none
	}

	.visible-md {
		display: inherit
	}
}

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

	.visible-lg,
	.visible-md {
		display: none
	}

	.visible-sm {
		display: inherit
	}
}

@keyframes slideWidth {
	0% {
		width: 0
	}

	100% {
		width: 100%
	}
}

@keyframes slideOut {
	0% {
		width: 0;
		left: 0
	}

	50% {
		width: 100%
	}

	100% {
		width: 0;
		right: 0
	}
}

@keyframes fadeInY {
	0% {
		opacity: 0;
		transform: translateY(-1rem)
	}

	100% {
		opacity: 1;
		transform: none
	}
}

@keyframes fadeInX {
	0% {
		opacity: 0;
		transform: translateX(-10rem)
	}

	100% {
		opacity: 1;
		transform: none
	}
}

.bg-gray {
	background: #fafafa
}

.bg-darkGray {
	background: #f5f5f5
}

.c-blue {
	color: #00A5FC
}

.c-gray {
	color: #999
}

.c-darkBlue {
	color: #005197
}

.c-black {
	color: #000
}

.f-bold {
	font-weight: bold
}

.f-lg {
	font-size: 1.333em;
	margin: 0 0.1em;
	padding: 0 0.1em
}

.f-sm {
	font-size: 0.888em
}

.t-marker {
	background: linear-gradient(transparent 60%, #ffba00 60%)
}

.t-line {
	border-bottom: solid 2px #ffba00
}

.ico-newwin {
	display: flex;
	align-items: center
}

.ico-newwin::after {
	content: "";
	display: block;
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.5em;
	background: center/contain no-repeat url(../images/common/ico-newwin.svg)
}

.link-newwin {
	color: #999
}

.link-newwin::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.5em;
	background: center/contain no-repeat url(../images/common/ico-newwin.svg)
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.02);
	background: #fff
}

@media screen and (min-width: 750px) {
	.header {
		padding: 2rem 0 0
	}
}

@media print {
	.header {
		padding: 2rem 0 0
	}
}

@media screen and (max-width: 749px) {
	.header {
		padding: 1rem 0
	}
}

@media screen and (min-width: 750px) {
	.header__inner {
		display: flex;
		justify-content: space-between
	}
}

@media print {
	.header__inner {
		display: flex;
		justify-content: space-between
	}
}

@media screen and (min-width: 750px) {
	.header__logo {
		width: 13.5rem
	}
}

@media print {
	.header__logo {
		width: 13.5rem
	}
}

@media screen and (max-width: 749px) {
	.header__logo {
		width: 30vw
	}
}

.header__logo__anc {
	display: block
}

.header__info {
	display: flex;
	align-items: flex-start
}

@media screen and (max-width: 749px) {
	.header__info {
		display: none
	}
}

.header__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24rem;
	height: 5rem;
	margin-left: 2rem;
	background: #FFC400;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold
}

.header__btn::before {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1.8rem;
	margin-right: 1rem;
	background: center/contain no-repeat url(../images/common/ico-mail.svg)
}

@media screen and (min-width: 750px) {
	.gnav {
		position: relative;
		z-index: 1;
		margin-top: 1.5rem;
		padding-bottom: 2rem;
		font-size: 1.4rem
	}
}

@media print {
	.gnav {
		position: relative;
		z-index: 1;
		margin-top: 1.5rem;
		padding-bottom: 2rem;
		font-size: 1.4rem
	}
}

@media screen and (max-width: 749px) {
	.gnav {
		display: flex;
		border-top: solid 1px #dedede;
		font-size: 3.7vw
	}
}

@media screen and (min-width: 750px) {
	.gnav__list {
		display: flex
	}
}

@media print {
	.gnav__list {
		display: flex
	}
}

@media screen and (max-width: 749px) {
	.gnav__list {
		flex-grow: 1
	}
}

.gnav__item {
	text-align: center
}

.gnav__item .en {
	display: block;
	margin-top: .5em;
	font-family: "Lato", sans-serif;
	font-size: .8rem;
	font-weight: bold
}

@media screen and (min-width: 750px) {
	.gnav__item {
		position: relative;
		z-index: 2;
		flex-grow: 1;
		border-right: solid 1px #dedede
	}

	.gnav__item::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		bottom: -2rem;
		left: 0;
		width: 0;
		height: 1px;
		background: #00A5FC;
		transition: all .3s
	}

	.gnav__item:hover::after {
		width: 100%
	}

	.gnav__item:first-child {
		border-left: solid 1px #dedede
	}
}

@media print {
	.gnav__item {
		position: relative;
		z-index: 2;
		flex-grow: 1;
		border-right: solid 1px #dedede
	}

	.gnav__item::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 2;
		bottom: -2rem;
		left: 0;
		width: 0;
		height: 1px;
		background: #00A5FC;
		transition: all .3s
	}

	.gnav__item:hover::after {
		width: 100%
	}

	.gnav__item:first-child {
		border-left: solid 1px #dedede
	}
}

@media screen and (max-width: 749px) {
	.gnav__item {
		flex-grow: 1;
		padding: 1.5rem 0;
		border-bottom: solid 1px #dedede
	}

	.gnav__item .en {
		color: #00A5FC;
		font-size: 1rem
	}
}

.js-gnavBtn {
	position: relative;
	z-index: 1
}

@media screen and (max-width: 749px) {
	.js-gnavBtn::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		top: calc(50% - .4rem);
		right: 1rem;
		width: .8rem;
		height: .8rem;
		border-right: solid 1px #00A5FC;
		border-bottom: solid 1px #00A5FC;
		transform: rotate(-45deg)
	}

	.js-gnavBtn.-active {
		border-bottom: solid 1px #00A5FC
	}
}

.gnav__anc {
	display: block
}

@media screen and (min-width: 750px) {
	.gnav__anc:hover {
		color: #00A5FC
	}
}

@media print {
	.gnav__anc:hover {
		color: #00A5FC
	}
}

@media screen and (min-width: 750px) {
	.js-gnavBox {
		position: absolute;
		z-index: inherit;
		top: -1px;
		left: 0;
		width: 100vw;
		margin-left: calc(((100vw - 100%) / 2) * -1);
		margin-right: calc(((100vw - 100%) / 2) * -1);
		transform: translateY(5rem);
		background: #EFEFEF
	}
}

@media print {
	.js-gnavBox {
		position: absolute;
		z-index: inherit;
		top: -1px;
		left: 0;
		width: 100vw;
		margin-left: calc(((100vw - 100%) / 2) * -1);
		margin-right: calc(((100vw - 100%) / 2) * -1);
		transform: translateY(5rem);
		background: #EFEFEF
	}
}

@media screen and (max-width: 749px) {
	.js-gnavBox {
		display: none;
		margin-left: 2rem
	}

	.js-gnavBox.-active {
		display: block
	}
}

@media screen and (min-width: 750px) {
	.gnavChild__list {
		display: flex;
		width: 90%;
		max-width: 1100px;
		margin: 0 auto;
		padding: 1.5rem 0
	}
}

@media print {
	.gnavChild__list {
		display: flex;
		width: 90%;
		max-width: 1100px;
		margin: 0 auto;
		padding: 1.5rem 0
	}
}

@media screen and (max-width: 749px) {
	.gnavChild__list {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%
	}
}

.gnavChild__item {
	display: flex;
	align-items: center;
	flex-grow: 1;
	text-align: center
}

.gnavChild__item .en {
	display: block;
	margin-top: .5em;
	font-family: "Lato", sans-serif;
	font-size: .7em;
	font-weight: bold
}

@media screen and (min-width: 750px) {
	.gnavChild__item {
		justify-content: center;
		border-right: solid 1px #dedede
	}

	.gnavChild__item:first-child {
		border-left: solid 1px #dedede
	}
}

@media print {
	.gnavChild__item {
		justify-content: center;
		border-right: solid 1px #dedede
	}

	.gnavChild__item:first-child {
		border-left: solid 1px #dedede
	}
}

@media screen and (max-width: 749px) {
	.gnavChild__item {
		padding: 1.5rem 0;
		border-bottom: solid 1px #dedede
	}
}

.gnavChild__anc {
	display: block
}

@media screen and (min-width: 750px) {
	.gnavChild__anc:hover {
		color: #00A5FC
	}
}

@media print {
	.gnavChild__anc:hover {
		color: #00A5FC
	}
}

.js-drawerBtn {
	position: fixed;
	z-index: 1;
	top: 4.9vw;
	right: 2rem;
	width: 7vw;
	height: 7vw;
	background: center/contain no-repeat url(../images/common/gnav-menu.svg)
}

.js-drawerBtn.-active {
	background-image: url(../images/common/gnav-close.svg)
}

@media screen and (min-width: 750px) {
	.js-drawerBtn {
		display: none
	}
}

@media print {
	.js-drawerBtn {
		display: none
	}
}

@media screen and (max-width: 749px) {
	.js-drawer {
		margin: 2rem 0 0
	}
}

body.js-drawerActive {
	position: relative;
	z-index: 1
}

body.js-drawerActive::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
	background: rgba(0, 0, 0, 0.6)
}

@media screen and (max-width: 749px) {
	.footer {
		padding-bottom: 15vw
	}
}

.fnav {
	font-size: 1.4rem
}

@media screen and (min-width: 750px) {
	.fnav {
		display: flex;
		padding: 6rem 0
	}
}

@media print {
	.fnav {
		display: flex;
		padding: 6rem 0
	}
}

@media screen and (max-width: 749px) {
	.fnav {
		padding: 3rem 0 2rem
	}
}

@media screen and (min-width: 750px) {
	.fnav__list {
		flex-grow: 1
	}
}

@media print {
	.fnav__list {
		flex-grow: 1
	}
}

@media screen and (max-width: 749px) {
	.fnav__list {
		margin-top: 2rem
	}
}

.fnav__item {
	position: relative;
	margin-top: 2rem;
	padding-left: 1.5rem
}

.fnav__item::before {
	content: "";
	display: block;
	position: absolute;
	top: .5rem;
	left: 0;
	width: .7rem;
	height: .7rem;
	margin-right: 1rem;
	border-right: solid 2px #00A5FC;
	border-bottom: solid 2px #00A5FC;
	transform: rotate(-45deg)
}

.fnav__childList {
	margin-top: 1.5rem;
	padding-left: 1rem;
	border-left: solid 1px #dedede
}

.fnav__childItem {
	margin-top: 1rem
}

@media screen and (min-width: 750px) {
	.fnavBtm {
		margin: 4rem 0;
		padding-top: 2.5rem;
		border-top: solid 1px #dedede
	}
}

@media print {
	.fnavBtm {
		margin: 4rem 0;
		padding-top: 2.5rem;
		border-top: solid 1px #dedede
	}
}

@media screen and (max-width: 749px) {
	.fnavBtm {
		margin-bottom: 3rem
	}
}

.fnavBtm__title {
	font-size: 1.4rem
}

@media screen and (min-width: 750px) {
	.fnavBtm__title {
		text-align: center;
		margin-bottom: 2.5rem
	}
}

@media print {
	.fnavBtm__title {
		text-align: center;
		margin-bottom: 2.5rem
	}
}

@media screen and (max-width: 749px) {
	.fnavBtm__title {
		margin-bottom: 1.5rem
	}
}

.fnavBtm__list {
	font-size: 1.4rem;
	line-height: 1.4em
}

@media screen and (min-width: 750px) {
	.fnavBtm__list {
		display: flex;
		justify-content: center
	}
}

@media print {
	.fnavBtm__list {
		display: flex;
		justify-content: center
	}
}

@media screen and (max-width: 749px) {
	.fnavBtm__list {
		margin-left: 1.5rem;
		padding-left: 1rem;
		border-left: solid 1px #dedede
	}
}

@media screen and (min-width: 750px) {
	.fnavBtm__item+.fnavBtm__item {
		display: flex
	}

	.fnavBtm__item+.fnavBtm__item::before {
		content: "";
		width: 1px;
		background: #dedede;
		margin: 0 2rem
	}
}

@media print {
	.fnavBtm__item+.fnavBtm__item {
		display: flex
	}

	.fnavBtm__item+.fnavBtm__item::before {
		content: "";
		width: 1px;
		background: #dedede;
		margin: 0 2rem
	}
}

@media screen and (max-width: 749px) {
	.fnavBtm__item+.fnavBtm__item {
		margin-top: 1rem
	}
}

.fnavBtm__anc::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.5em;
	background: center/contain no-repeat url(../images/common/ico-newwin.svg)
}

.footer__copy {
	background: #EFEFEF;
	font-family: "Lato", sans-serif;
	text-align: center
}

@media screen and (min-width: 750px) {
	.footer__copy {
		padding: 1.5rem 1rem;
		font-size: 1.4rem
	}
}

@media print {
	.footer__copy {
		padding: 1.5rem 1rem;
		font-size: 1.4rem
	}
}

@media screen and (max-width: 749px) {
	.footer__copy {
		padding: 1rem 0;
		font-size: 1rem
	}
}

.follow {
	position: fixed;
	z-index: 5;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%
}

@media screen and (min-width: 750px) {
	.follow {
		display: none
	}
}

@media print {
	.follow {
		display: none
	}
}

.follow__item {
	width: 50%;
	padding: 1.5rem 2.5rem;
	color: #fff
}

.follow__item.-tel {
	background: #005197
}

.follow__item.-mail {
	background: #ffba00
}

.follow__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%
}

.follow__mail {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: bold
}

.follow__mail::before {
	content: "";
	display: block;
	width: 2.4rem;
	height: 1.8rem;
	margin-right: 1rem;
	background: center/contain no-repeat url(../images/common/ico-mail.svg)
}

.cv {
	background: #005197;
	color: #fff
}

@media screen and (min-width: 750px) {
	.cv {
		padding: 7rem 0;
		line-height: 1.4
	}
}

@media print {
	.cv {
		padding: 7rem 0;
		line-height: 1.4
	}
}

@media screen and (max-width: 749px) {
	.cv {
		padding: 4rem 0;
		line-height: 1.8
	}
}

.cv__heading {
	font-weight: bold;
	text-align: center
}

@media screen and (min-width: 750px) {
	.cv__heading {
		font-size: 2.8rem
	}
}

@media print {
	.cv__heading {
		font-size: 2.8rem
	}
}

@media screen and (max-width: 749px) {
	.cv__heading {
		font-size: 1.4rem
	}
}

@media screen and (min-width: 750px) {
	.cv__content {
		display: flex;
		margin-top: 6rem
	}
}

@media print {
	.cv__content {
		display: flex;
		margin-top: 6rem
	}
}

@media screen and (max-width: 749px) {
	.cv__content {
		margin-top: 3rem
	}
}

@media screen and (min-width: 750px) {
	.cv__mail {
		width: 50%
	}
}

@media print {
	.cv__mail {
		width: 50%
	}
}

.cv__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #ffba00;
	color: #fff;
	font-weight: bold
}

.cv__btn::before {
	content: "";
	display: block;
	background: center/contain no-repeat url(../images/common/ico-mail.svg)
}

@media screen and (min-width: 750px) {
	.cv__btn {
		height: 10rem;
		font-size: 3.2rem
	}

	.cv__btn::before {
		width: 4.2rem;
		height: 3rem;
		margin-right: 1rem
	}
}

@media print {
	.cv__btn {
		height: 10rem;
		font-size: 3.2rem
	}

	.cv__btn::before {
		width: 4.2rem;
		height: 3rem;
		margin-right: 1rem
	}
}

@media screen and (max-width: 749px) {
	.cv__btn {
		height: 7rem;
		font-size: 1.8rem
	}

	.cv__btn::before {
		width: 3.6rem;
		height: 2.6rem;
		margin-right: 1rem
	}
}

@media screen and (min-width: 750px) {
	.cv__tel {
		width: 50%
	}
}

@media print {
	.cv__tel {
		width: 50%
	}
}

@media screen and (max-width: 749px) {
	.cv__tel {
		margin-top: 4rem
	}
}

.cv__tel__anc {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1rem
}

@media screen and (min-width: 750px) {
	.cv__tel__anc img {
		width: 80%
	}
}

@media print {
	.cv__tel__anc img {
		width: 80%
	}
}

@media screen and (max-width: 749px) {
	.cv__tel__anc img {
		width: 90%
	}
}

.breadcrumb {
	color: #999;
	border-bottom: solid 1px #dedede
}

@media screen and (min-width: 750px) {
	.breadcrumb {
		padding: 2rem 0;
		font-size: 1.2rem
	}
}

@media print {
	.breadcrumb {
		padding: 2rem 0;
		font-size: 1.2rem
	}
}

@media screen and (max-width: 749px) {
	.breadcrumb {
		padding: 1rem 0;
		font-size: 1rem;
		overflow-x: scroll;
		white-space: nowrap
	}
}

.breadcrumb__list {
	display: flex
}

.breadcrumb__item+.breadcrumb__item:before {
	content: "/";
	margin: 0 1em;
	color: #999
}

.breadcrumb__anc {
	color: #00A5FC
}

.hero {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}

@media screen and (min-width: 750px) {
	.hero {
		padding: 5.5rem 0 5rem
	}
}

@media print {
	.hero {
		padding: 5.5rem 0 5rem
	}
}

@media screen and (max-width: 749px) {
	.hero {
		padding: 3rem 0
	}
}

.hero__content {
	display: flex;
	flex-direction: column;
	align-items: center
}

.hero__heading {
	display: inline-block;
	padding: .6rem 2rem .8rem;
	color: #fff;
	background: #005197;
	font-weight: bold
}

@media screen and (min-width: 750px) {
	.hero__heading {
		font-size: 3.2rem
	}
}

@media print {
	.hero__heading {
		font-size: 3.2rem
	}
}

@media screen and (max-width: 749px) {
	.hero__heading {
		font-size: 2.4rem
	}
}

.hero__en {
	margin-top: 1rem;
	color: #005197;
	font-family: "Lato", sans-serif;
	font-weight: bold
}

@media screen and (min-width: 750px) {
	.hero__en {
		font-size: 1.6rem
	}
}

@media print {
	.hero__en {
		font-size: 1.6rem
	}
}

@media screen and (max-width: 749px) {
	.hero__en {
		font-size: 1.2rem
	}
}

@media screen and (min-width: 750px) {
	.hero {
		background-image: url(../images/service/index/hero.jpg)
	}
}

@media print {
	.hero {
		background-image: url(../images/service/index/hero.jpg)
	}
}

@media screen and (max-width: 749px) {
	.hero {
		background-image: url(../images/service/index/hero_sp.jpg)
	}
}

.sec.pt0 {
	padding-top: 0 !important
}

@media screen and (min-width: 750px) {
	.sec {
		padding: 12rem 0
	}

	.sec.pt-sm {
		padding-top: 9rem
	}
}

@media print {
	.sec {
		padding: 12rem 0
	}

	.sec.pt-sm {
		padding-top: 9rem
	}
}

@media screen and (max-width: 749px) {
	.sec {
		padding: 7rem 0
	}

	.sec.pt-sm {
		padding-top: 5rem
	}
}

.sec-sm.pt0 {
	padding-top: 0 !important
}

@media screen and (min-width: 750px) {
	.sec-sm {
		padding: 9rem 0
	}
}

@media print {
	.sec-sm {
		padding: 9rem 0
	}
}

@media screen and (max-width: 749px) {
	.sec-sm {
		padding: 5rem 0
	}
}

.sec__lead {
	text-align: center;
	line-height: 1.8;
	letter-spacing: .01em
}

@media screen and (min-width: 750px) {
	.sec__lead {
		font-size: 1.8rem
	}
}

@media print {
	.sec__lead {
		font-size: 1.8rem
	}
}

@media screen and (max-width: 749px) {
	.sec__lead {
		font-size: 1.4rem
	}
}

@media screen and (min-width: 750px) {
	.sec__lead {
		margin-bottom: 5rem
	}
}

@media print {
	.sec__lead {
		margin-bottom: 5rem
	}
}

@media screen and (max-width: 749px) {
	.sec__lead {
		margin-bottom: 3rem
	}
}

.btn-b {
	position: relative;
	z-index: 1;
	color: #005197;
	padding: 0 2rem 0.5rem 1rem;
	border-bottom: solid 1px #005197
}

.btn-b::after {
	content: "";
	display: block;
	position: absolute;
	z-index: inherit;
	bottom: 0;
	right: 0;
	width: 0;
	border-top: solid 5px transparent;
	border-left: solid 10px #005197
}

@media screen and (min-width: 750px) {
	.btn-b {
		font-size: 1.6rem
	}
}

@media print {
	.btn-b {
		font-size: 1.6rem
	}
}

@media screen and (max-width: 749px) {
	.btn-b {
		font-size: 1.4rem
	}
}

.btn-c {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: #ffba00;
	color: #fff;
	font-weight: bold;
	text-align: center
}

@media screen and (min-width: 750px) {
	.btn-c {
		display: inline-flex;
		width: 55rem;
		height: 10rem;
		font-size: 3.2rem
	}
}

@media print {
	.btn-c {
		display: inline-flex;
		width: 55rem;
		height: 10rem;
		font-size: 3.2rem
	}
}

@media screen and (max-width: 749px) {
	.btn-c {
		width: 100%;
		height: 7rem;
		font-size: 1.8rem
	}
}

.heading-a {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #00A5FC;
	font-weight: bold;
	text-align: center;
	line-height: 1.4
}

@media screen and (min-width: 750px) {
	.heading-a {
		font-size: 3.2rem
	}
}

@media print {
	.heading-a {
		font-size: 3.2rem
	}
}

@media screen and (max-width: 749px) {
	.heading-a {
		font-size: 2.24rem
	}
}

.heading-a .en {
	position: relative;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	color: #999;
	font-family: "Lato", sans-serif
}

.heading-a .en::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	height: 1px;
	background: #dedede
}

.heading-a .sm {
	display: block;
	font-size: 0.7em
}

@media screen and (min-width: 750px) {
	.heading-a {
		margin-bottom: 5rem
	}

	.heading-a .en {
		font-size: 1.4rem
	}

	.heading-a .en::before {
		width: 5rem;
		left: calc(50% - 2.5rem)
	}
}

@media print {
	.heading-a {
		margin-bottom: 5rem
	}

	.heading-a .en {
		font-size: 1.4rem
	}

	.heading-a .en::before {
		width: 5rem;
		left: calc(50% - 2.5rem)
	}
}

@media screen and (max-width: 749px) {
	.heading-a {
		margin-bottom: 3rem;
		font-size: 2.4rem
	}

	.heading-a .en {
		margin-top: 1.3rem;
		font-size: 1rem
	}

	.heading-a .en::before {
		width: 3rem;
		left: calc(50% - 1.5rem)
	}
}

.title-a {
	color: #005197;
	font-weight: bold;
	line-height: 1.4
}

@media screen and (min-width: 750px) {
	.title-a {
		font-size: 2.8rem
	}
}

@media print {
	.title-a {
		font-size: 2.8rem
	}
}

@media screen and (max-width: 749px) {
	.title-a {
		font-size: 1.96rem
	}
}

@media screen and (min-width: 750px) {
	.title-a {
		margin-bottom: 2.5rem
	}
}

@media print {
	.title-a {
		margin-bottom: 2.5rem
	}
}

@media screen and (max-width: 749px) {
	.title-a {
		margin-bottom: 2rem
	}
}

.title-a .en {
	display: block;
	font-family: "Lato", sans-serif;
	line-height: 1
}

@media screen and (min-width: 750px) {
	.title-a .en {
		margin-bottom: 1rem;
		font-size: 1.4rem
	}
}

@media print {
	.title-a .en {
		margin-bottom: 1rem;
		font-size: 1.4rem
	}
}

@media screen and (max-width: 749px) {
	.title-a .en {
		margin-bottom: 1rem;
		font-size: 1.4rem
	}
}

.title-a .en .num {
	padding-left: 0.5rem;
	font-style: normal
}

@media screen and (min-width: 750px) {
	.title-a .en .num {
		font-size: 3rem
	}
}

@media print {
	.title-a .en .num {
		font-size: 3rem
	}
}

@media screen and (max-width: 749px) {
	.title-a .en .num {
		font-size: 2rem
	}
}

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

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

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

.slick-prev:before,
.slick-next:before {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	border-right: solid 5px #fff;
	border-top: solid 4px transparent;
	border-bottom: solid 4px transparent
}

.slick-prev {
	left: -1.5rem
}

.slick-prev::before {
	transform: translateX(2px) rotate(0deg)
}

.slick-next {
	right: -1.5rem
}

.slick-next::before {
	transform: translateX(8px) rotate(180deg)
}

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

.slick-dots {
	position: absolute;
	bottom: -4rem;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%
}

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

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

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

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

.slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	text-align: center;
	background: #DEDEDE;
	opacity: .25
}

.slick-dots li.slick-active button:before {
	background: #00A5FC;
	opacity: .75
}

#js-slider-nav {
	margin: 1rem auto 0;
	width: calc(100% - 3rem)
}

#js-slider-nav .slider__item {
	margin: 0 0.5rem
}

@media screen and (max-width: 749px) {
	.head__heading {
		width: 80%
	}
}

@media screen and (max-width: 749px) {
	.head__img {
		position: relative;
		z-index: -1;
		margin-top: -1rem;
		margin-left: calc(((100vw - 100%) / 2) * -1);
		margin-right: calc(((100vw - 100%) / 2) * -1)
	}

	.head__img svg {
		width: 90%
	}
}

@media screen and (max-width: 749px) {
	.head__list {
		margin-top: 2rem
	}
}

@media screen and (max-width: 749px) {
	.head__item+.head__item {
		margin-top: 1rem
	}

	.head__item svg {
		width: 100%
	}
}

@media screen and (min-width: 750px) {
	.check__content {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 6rem;
	}
}

@media screen and (max-width: 749px) {
	.check__content {
		display: grid;
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

@media screen and (min-width: 750px) {
	.check__wrap {
		position: relative
	}
}

.check__head {
	border-bottom: 0.3rem solid #005197;
	padding-bottom: 1rem;
	text-align: center;
}

@media screen and (min-width:750px) {
	.check__head {
		margin-bottom: 3rem;
	}
}

@media screen and (max-width:749px) {
	.check__head {
		margin-bottom: 1.5rem;
	}
}

.check__for {
	color: #005197;
	font-weight: 700;
	line-height: 1.4;
}

@media screen and (min-width: 750px) {
	.check__for {
		font-size: 1.4rem
	}
}

@media screen and (max-width: 749px) {
	.check__for {
		font-size: 1.2rem;
	}
}

.check__title {
	color: #005197;
	font-weight: bold;
	line-height: 1.4
}

@media screen and (min-width: 750px) {
	.check__title {
		font-size: 2.4rem
	}
}

@media screen and (max-width: 749px) {
	.check__title {
		font-size: 2rem;
	}
}

.check__list {
	display: grid;
}

@media screen and (min-width: 750px) {
	.check__list {
		gap: 1.8rem;
		font-size: 1.8rem
	}
}

@media screen and (max-width: 749px) {
	.check__list {
		gap: 1.6rem;
		font-size: 1.6rem
	}
}

.check__item {
	padding-left: 3.6rem;
	text-indent: -3.6rem;
	line-height: 1.8;
}

@media screen and (min-width: 750px) {
	.check__item {
		padding-left: 3.6rem;
		text-indent: -3.6rem;
	}
}

@media screen and (max-width: 749px) {
	.check__item {
		padding-left: 3.15rem;
		text-indent: -3.15rem;
	}
}

.check__item::before {
	content: "";
	display: inline-block;
	aspect-ratio: 161/150;
	margin-right: 1.15rem;
	background: center/contain no-repeat url(../images/common/ico-check.svg);
	vertical-align: middle
}

@media screen and (min-width: 750px) {
	.check__item::before {
		width: 2.3rem;
	}
}

@media screen and (max-width: 749px) {
	.check__item::before {
		width: 2rem;
	}
}

.check__img {
	margin-top: 3rem;
	margin-inline: auto;
}

@media screen and (min-width: 750px) {
	.check__img {
		width: 46%;
	}
}

@media screen and (max-width: 749px) {
	.check__img {
		width: 70%;
	}
}

.lead {
	text-align: center
}

@media screen and (min-width: 750px) {
	.lead {
		padding-block: 9rem 4.5rem;
	}
}

@media screen and (max-width: 749px) {
	.lead {
		padding-block: 5rem 2.5rem;
	}
}

.lead__text {
	line-height: 1.8;
	letter-spacing: .01em
}

@media screen and (min-width: 750px) {
	.lead__text {
		font-size: 1.8rem
	}
}

@media screen and (max-width: 749px) {
	.lead__text {
		font-size: 1.4rem
	}
}

.lead__text--lg {
	color: #005197;
	font-weight: bold;
	line-height: 1.7;
}

@media screen and (min-width: 750px) {
	.lead__text--lg {
		font-size: 2.4rem
	}
}

@media screen and (max-width: 749px) {
	.lead__text--lg {
		font-size: 1.7rem
	}
}

.lead__text--lg .pick {
	color: #000;
	background: linear-gradient(transparent 60%, #FFBA00 60%)
}

.lead__actions {
	display: grid;

}

@media screen and (min-width: 750px) {
	.lead__actions {
		grid-template-columns: repeat(2, 1fr);
		gap: 6rem;
		margin-block: 5rem 9rem;
	}
}

@media screen and (max-width: 749px) {
	.lead__actions {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		margin-block: 3rem 5rem;
	}
}

.lead-message {
	max-width: 800px;
	margin-bottom: 9rem;
	margin-inline: auto;
}

@media screen and (min-width: 750px) {
	.lead-message {
		margin-bottom: 9rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message {
		margin-bottom: 5rem;
	}
}

.lead-message__title {
	color: #00A5FC;
	font-weight: 700;
}

@media screen and (min-width: 750px) {
	.lead-message__title {
		margin-bottom: 5rem;
		font-size: 3.2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__title {
		margin-bottom: 3rem;
		font-size: 2rem;
	}
}

@media screen and (min-width: 750px) {
	.lead-message__intro {
		margin-bottom: 3rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__intro {
		margin-bottom: 2rem;
	}
}

.lead-message__intro-head {
	background: #00A5FC;
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-align: center;
}

@media screen and (min-width: 750px) {
	.lead-message__intro-head {
		padding-block: 1.5rem;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__intro-head {
		padding-block: 1rem;
		font-size: 1.2rem;
	}
}

.lead-message__intro-cont {
	background: rgba(0, 165, 252, 0.1);
	text-align: center;
}

@media screen and (min-width: 750px) {
	.lead-message__intro-cont {
		padding-block: 3.2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__intro-cont {
		padding-block: 1.8rem;
	}
}

@media screen and (min-width: 750px) {
	.lead-message__intro-logo {
		width: 75%;
		margin-bottom: 2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__intro-logo {
		width: 85%;
		margin-bottom: 1.3rem;
	}
}

.lead-message__intro-text {
	display: inline-block;
	background: linear-gradient(transparent 60%, #FFF500 60%);
	font-weight: 600;
	letter-spacing: 0.04em;
}

@media screen and (min-width: 750px) {
	.lead-message__intro-text {
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__intro-text {
		font-size: 1.5rem;
	}
}

.lead-message__cont {
	display: flex;
}

@media screen and (min-width: 750px) {
	.lead-message__cont {
		align-items: center;
		justify-content: center;
		gap: 5rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__cont {
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		gap: 3rem;
	}
}

.lead-message__text {
	flex: 1;
	letter-spacing: 0.04em;
	line-height: 1.8;
	text-align: left;
}

@media screen and (min-width: 750px) {
	.lead-message__text {
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__text {
		font-size: 1.6rem;
	}
}

.lead-message__text span {
	color: #00A5FC;
	font-weight: 700;
}

.lead-message__person {
	display: flex;
}

@media screen and (min-width: 750px) {
	.lead-message__person {
		flex: 0 0 fit-content;
		flex-direction: column;
		gap: 2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-message__person {
		flex: 1;
		justify-content: center;
		gap: 3rem;
		margin-inline: auto;
	}
}

.lead-message__person-icon {
	display: block;
	width: 10rem;
	margin-bottom: 0.5rem;
	margin-inline: auto;
}

.lead-message__person-position {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.4;
}

@media screen and (min-width: 750px) {
	.lead-support__head {
		margin-bottom: 5rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__head {
		margin-bottom: 3rem;
	}
}

.lead-support__logo {
	margin-inline: auto;
}

@media screen and (min-width: 750px) {
	.lead-support__logo {
		width: 35rem;
		margin-bottom: 1rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__logo {
		width: 20rem;
		margin-bottom: 0.7rem;
	}
}

.lead-support__title {
	color: #00A5FC;
	font-weight: 700;
}

@media screen and (min-width: 750px) {
	.lead-support__title {
		font-size: 3.2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__title {
		font-size: 2rem;
	}
}

.lead-support__list {
	display: grid;
}

@media screen and (min-width: 750px) {
	.lead-support__list {
		grid-template-columns: repeat(3, 1fr);
		gap: 6rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__list {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

.lead-support__item-title {
	line-height: 1.8;
}

@media screen and (min-width: 750px) {
	.lead-support__item-title {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__item-title {
		margin-bottom: 1.3rem;
		font-size: 1.6rem;
	}
}

.lead-support__item-title span {
	color: #005197;
	font-weight: 700;
}

@media screen and (min-width: 750px) {
	.lead-support__item-title span {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 749px) {
	.lead-support__item-title span {
		font-size: 2rem;
	}
}

@media screen and (min-width: 750px) {
	.point {
		padding-block: 4.5rem;
	}
}

@media screen and (max-width: 749px) {
	.point {
		padding-block: 2.5rem;
	}
}

.point__group {
	display: grid;
}

@media screen and (min-width: 750px) {
	.point__group {
		gap: 4rem;
	}
}

@media screen and (max-width: 749px) {
	.point__group {
		gap: 3rem;
	}
}

.point__block {
	display: grid;
}

@media screen and (min-width: 750px) {
	.point__block {
		grid-template-columns: 55fr 51fr;
		gap: 4rem;
	}
}

@media screen and (max-width: 749px) {
	.point__block {
		gap: 2rem;
	}
}

@media screen and (min-width: 750px) {
	.point__head {
		margin-bottom: 2.2rem;
	}
}

@media screen and (max-width: 749px) {
	.point__head {
		margin-bottom: 1.5rem;
	}
}

@media screen and (min-width: 750px) {
	.point__cont {
		display: flex;
		flex-direction: column;
	}
}

.point__num {
	font-family: "Lato",
		sans-serif;
	color: #005197;
	font-weight: 700;
}

@media screen and (min-width: 750px) {
	.point__num {
		margin-bottom: 1.2rem;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 749px) {
	.point__num {
		margin-bottom: 1rem;
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 750px) {
	.point__num span {
		font-size: 3rem;
	}
}

@media screen and (max-width: 749px) {
	.point__num span {
		font-size: 2.3rem;
	}
}

.point__title {
	color: #005197;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
}

@media screen and (min-width: 750px) {
	.point__title {
		font-size: 2.8rem;
	}
}

@media screen and (max-width: 749px) {
	.point__title {
		font-size: 2rem;
	}
}

.point__text {
	line-height: 1.8;
}

@media screen and (min-width: 750px) {
	.point__text {
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 749px) {
	.point__text {
		margin-bottom: 3rem;
		font-size: 1.6rem;
	}
}

.point__link {
	position: relative;
	display: inline-block;
	margin-top: auto;
	margin-left: auto;
	color: #005197;
	font-weight: 600;
}

@media screen and (min-width: 750px) {
	.point__link {
		padding-bottom: 0.5rem;
		padding-inline: 1rem 2rem;
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 749px) {
	.point__link {
		padding-bottom: 0.3rem;
		padding-inline: 0.8rem 1.8rem;
		font-size: 1.4rem;
	}
}

.point__link span {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #005197;
	transition: transform 0.3s ease;
}

.point__link span::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	transform: translateY(-100%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 0;
	border-left: 0;
}

@media screen and (min-width: 750px) {
	.point__link span::before {
		border-bottom: 0.6rem solid #005197;
		border-right: 1.2rem solid transparent;
	}
}

@media screen and (max-width: 749px) {
	.point__link span::before {
		border-bottom: 0.4rem solid #005197;
		border-right: 1rem solid transparent;
	}
}

@media (hover: hover) {
	.point__link:hover span {
		transform: translateX(5%);
	}
}

@media screen and (min-width: 750px) {
	.bnr {
		padding-block: 4.5rem 9rem;
	}
}

@media screen and (max-width: 749px) {
	.bnr {
		padding-block: 2.5rem 5rem;
	}
}

.bnr__list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

}

@media screen and (min-width: 750px) {
	.bnr__list {
		gap: 9rem 6rem;
	}
}

@media screen and (max-width: 749px) {
	.bnr__list {
		gap: 3rem;
	}
}

@media screen and (min-width: 750px) {
	.bnr__item {
		width: calc((100% - 6rem) / 2);
	}
}

@media screen and (min-width: 750px) {
	.bnr__item:last-of-type {
		width: 73%;
	}
}



.bnr__text {
	color: #005197;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

@media screen and (min-width: 750px) {
	.bnr__text {
		font-size: 2.4rem;
		margin-bottom: 2.4rem;
	}
}

@media screen and (max-width: 749px) {
	.bnr__text {
		font-size: 1.7rem;
		margin-bottom: 1.7rem;
	}
}

.bnr__text .pick {
	color: #000;
	background: linear-gradient(transparent 60%, #FFBA00 60%)
}