@charset 'UTF-8';
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
	font-family : sans-serif;
	/* 1 */
	    -ms-text-size-adjust : 100%;
	/* 2 */
	-webkit-text-size-adjust : 100%;
	/* 2 */
}

/**
 * Remove default margin.
 */
body {
	margin : 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display : block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
	display : inline-block;
	/* 1 */
	vertical-align : baseline;
	/* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
	display : none;
	height : 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden], template {
	display : none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
	background-color : transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
	outline : 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
	border-bottom : 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
	font-weight : bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
	font-style : italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
	font-size : 2em;
	margin : 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
	background : #ff0;
	color : #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
	font-size : 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
	font-size : 75%;
	line-height : 0;
	position : relative;
	vertical-align : baseline;
}

sup {
	top : -0.5em;
}

sub {
	bottom : -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
	border : 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
	overflow : hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
	margin : 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
	box-sizing : content-box;
	height : 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
	overflow : auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code, kbd, pre, samp {
	font-family : monospace, monospace;
	font-size : 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button, input, optgroup, select, textarea {
	color : inherit;
	/* 1 */
	font : inherit;
	/* 2 */
	margin : 0;
	/* 3 */
}

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

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
	text-transform : none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button, html input[type='button'], input[type='reset'], input[type='submit'] {
	-webkit-appearance : button;
	/* 2 */
	cursor : pointer;
	/* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
	cursor : default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
	border : 0;
	padding : 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
	line-height : normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'], input[type='radio'] {
	box-sizing : border-box;
	/* 1 */
	padding : 0;
	/* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button, input[type='number']::-webkit-outer-spin-button {
	height : auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search'] {
	-webkit-appearance : textfield;
	/* 1 */
	box-sizing : content-box;
	/* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-decoration {
	-webkit-appearance : none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
	border : 1px solid #c0c0c0;
	margin : 0 2px;
	padding : 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
	border : 0;
	/* 1 */
	padding : 0;
	/* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
	overflow : auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
	font-weight : bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
	border-collapse : collapse;
	border-spacing : 0;
}

td, th {
	padding : 0;
}

/*! minimum_reset.css v0.0.1 */
h1, h2, h3, h4, h5, h6 {
	margin : 0;
	font-size : 100%;
	font-weight : normal;
}

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

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

dl, dt, dd {
	margin : 0;
	padding : 0;
}

p {
	margin : 0;
}

img {
	vertical-align : bottom;
}

*, *:before, *:after {
	box-sizing : border-box;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

.w1p {
	width : 10% !important;
}

.w2p {
	width : 20% !important;
}

.w3p {
	width : 30% !important;
}

.w4p {
	width : 40% !important;
}

.w5p {
	width : 50% !important;
}

.w6p {
	width : 60% !important;
}

.w7p {
	width : 70% !important;
}

.w8p {
	width : 80% !important;
}

.w9p {
	width : 90% !important;
}

.w10p {
	width : 100% !important;
}

.mats {
	margin-top : 10px;
}
@media screen and (min-width: 768px) {
	.mats {
		margin-top : 20px;
	}
}

.matm {
	margin-top : 20px;
}
@media screen and (min-width: 768px) {
	.matm {
		margin-top : 40px;
	}
}

.matl {
	margin-top : 40px;
}
@media screen and (min-width: 768px) {
	.matl {
		margin-top : 80px;
	}
}

.fw {
	font-weight : bold !important;
}

.cred {
	color : #c00 !important;
}

@media screen and (max-width: 767px) {
	.hide-sp {
		display : none !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 960px) {
	.hide-tab {
		display : none !important;
	}
}

@media screen and (min-width: 961px) {
	.hide-pc {
		display : none !important;
	}
}

/*
  module: m-box-fixed
  - 固定幅・中央揃えのボックス
*/
[data-fixed] {
	padding : 0 10px;
}
@media screen and (min-width: 768px) {
	[data-fixed] {
		width : 960px;
		margin : 0 auto;
		padding : 0 80px;
	}
}

[data-fixed2] {
	padding : 0 4px;
}
@media screen and (min-width: 768px) {
	[data-fixed2] {
		width : 960px;
		margin : 0 auto;
		padding : 0;
	}
}

.m-box-section {
	padding : 80px 16px;
}
@media screen and (min-width: 768px) {
	.m-box-section {
		padding : 120px 0 136px;
	}
}
.m-box-section + .m-box-section {
	border-top : 1px solid #dce7ef;
}

#l-content .m-box-section.m-box-section-lead{
	background: #fff;
	position: relative;
}
#l-content .m-box-section.m-box-section-lead:before{
	background: none;
	z-index: 0;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-lead:before{
		position: absolute;
		content: "";
		background: url(../images/bg_blue_circle02.png) center / contain no-repeat;
		top: -614px;
		right: -602px;
		height: 1000px;
		width: 1000px;
	}
}
#l-content .m-box-section.m-box-section-lead >div{
	position: relative;
	z-index: 1;
}
#l-content .m-box-section.m-box-section-lead .m-txt-p {
	text-align: left;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-lead .m-txt-p {
		text-align: left;
	}
}
#l-content .m-box-section.m-box-section-about{
	background:url(../images/bg_blue_pc.png) center center/ cover no-repeat #fff;
	position: relative;
	z-index: 0;
	border-top: none;
}
#l-content .m-box-section.m-box-section-about:before{
	position: absolute;
	top: -205px;
	right: -200px;
	content: "";
	background: url(../images/bg_blue_circle.png) center / contain no-repeat;
	height: 400px;
	width: 400px;
	z-index: -1;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-about:before{
		top: -562px;
		left: -600px;
		height: 1100px;
		width: 1100px;
	}
}
#l-content .m-box-section.m-box-section-about:after{
	background: none;
	z-index: -1;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-about:after{
		position: absolute;
		content: "";
		background: url(../images/bg_blue_circle.png) center / contain no-repeat;
		bottom: -586px;
		right: -602px;
		height: 1200px;
		width: 1200px;
	}
}
#l-content .m-box-section.m-box-section-works{
	background: #fff;
	border-top: none;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-works{
		position: relative;
		z-index: 0;
		background:url(../images/bg_blue_circle.png) no-repeat left -600px bottom -600px #fff;
		border-top: none;
	}
}
#l-content .m-box-section.m-box-section-works:before{
	background: none;
	z-index: -1;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-works:before{
		content: "";
		background: url(../images/bg_blue_circle01.png) center / contain no-repeat;
		position: absolute;
		top: 640px;
		left: -540px;
		width: 800px;
		height: 800px;
	}
}
#l-content .m-box-section.m-box-section-works:after{
	background: none;
	z-index: -1;
}
@media screen and (min-width: 768px) {
	#l-content .m-box-section.m-box-section-works:after{
		content: "";
		background: url(../images/bg_blue_circle02.png) center / contain no-repeat;
		position: absolute;
		top: 1420px;
		right: -500px;
		width: 800px;
		height: 800px;
	}
}
#l-content .m-box-section:nth-of-type(5){
	border-top: none;
}

.m-box-section .m-box-section-frame{
	background-color: #EBF7FF;
	color: #0B2C85;
	padding: 32px 28px;
	margin: 32px 0;
	text-align: center;
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 768px) {
	.m-box-section .m-box-section-frame{
		text-align: center;
		padding: 32px 32px 40px;
		margin: 48px 0;
	}
}
.m-box-section .m-box-section-frame .m-box-section-frame-line{
	font-size: 1.8rem;
	line-height: 2.0;
	border-bottom: 2px solid #0B2C85;
	display: inline-block;
	margin-bottom: 24px;
	font-weight: 800;
	letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
	.m-box-section .m-box-section-frame .m-box-section-frame-line{
		font-size: 1.8rem;
		border-bottom: 1px solid #0B2C85;
		display: inline-block;
		margin-bottom: 24px;
	}
}
ol.m-list-num li{
	line-height: 2.0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-top: 12px;
	text-align: left;
}
@media screen and (min-width: 768px) {
	ol.m-list-num li{
		text-align: center;
		font-size: 1.8rem;
	}
}
ol.m-list-num li:first-child{
	margin-top: 0;
}
ol.m-list-num li:before{
	display: inline-block;
	content: "❶";
	top: 0;
	left: 0;
	width: 1.6rem;
	margin-right: .4rem;
}
ol.m-list-num li:nth-child(2):before{
	display: inline-block;
	content: "❷";
	top: 0;
	left: 0;
	width: 1.6rem;
	margin-right: .4rem;
}
.m-box-txtarea {
	background-color : #fff;
	margin : 65px -20px 0;
	box-shadow : 0 0 50px 0 rgba(12, 19, 55, 0.08);
}
@media screen and (min-width: 768px) {
	.m-box-txtarea {
		margin : 115px -80px 0;
		box-shadow : 0 10px 65px 0 rgba(12, 19, 55, 0.05);
	}
}
.m-box-txtarea .txtarea-works {
	position : relative;
	padding : 85px 20px 30px;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-works {
		padding : 70px 80px 90px;
	}
}
.m-box-txtarea .txtarea-works .works-wrap {
	text-align : center;
	position : absolute;
	top : -55px;
	left : 0;
	right : 0;
	margin : 0 auto;
	font-family : 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-works .works-wrap {
		top : -80px;
	}
}
.m-box-txtarea .txtarea-works .works-wrap .works-num {
	font-size : 7.2rem;
	color : #18256d;
	font-weight : bold;
	letter-spacing : 6px;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-works .works-wrap .works-num {
		font-size : 11.0rem;
	}
}
.m-box-txtarea .txtarea-works .works-wrap .works-desc {
	font-size : 1.0rem;
	background-color : #02c4bf;
	display : inline-block;
	color : #fff;
	padding : 5px 17px;
	letter-spacing : 1.5px;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-works .works-wrap .works-desc {
		font-size : 1.4rem;
		padding : 10px 25px;
		margin-top: -10px;
	}
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment {
		display : -ms-flexbox;
		display : flex;
		-ms-flex-align : center;
		align-items : center;
		background-color : #f6fbff;
	}
}
.m-box-txtarea .txtarea-comment .comment-profile {
	color : #fff;
	text-align : center;
	padding : 30px 20px;
	font-weight : bold;
	background-color : #02c4bf;
	position : relative;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-align : center;
	align-items : center;
	-ms-flex-pack : center;
	justify-content : center;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-profile {
		width : 33.3%;
		-ms-flex-item-align : stretch;
		-ms-grid-row-align : stretch;
		align-self : stretch;
	}
}
.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-image {
	width : 99px;
	margin : 0 auto;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-image {
		width : 132px;
	}
}
.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-text {
	margin-top : 15px;
	line-height : 1.5;
	font-size : 12px;
	font-size : 1.2rem;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-text {
		font-size : 1.4rem;
		margin-top : 20px;
	}
}
.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-name {
	margin-top : 10px;
	font-size : 23px;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-profile .profile-wrap .profile-name {
		font-size : 3.0rem;
		margin-top : 15px;
	}
}
.m-box-txtarea .txtarea-comment .comment-profile:after {
	content : '';
	position : absolute;
	left : 0;
	bottom : -28px;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 28px 28px 0 0;
	border-color : #02c4bf transparent transparent transparent;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-profile:after {
		bottom : 0;
		right : -30px;
		left : auto;
		border-width : 30px 0 0 30px;
		border-color : transparent transparent transparent #02c4bf;
	}
}
.m-box-txtarea .txtarea-comment .comment-text {
	padding : 35px 30px;
	font-size : 14px;
	font-size : 1.4rem;
	line-height : 2;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-text {
		font-size : 1.6rem;
		width : 66.7%;
		padding : 55px;
	}
}
.m-box-txtarea .txtarea-comment .comment-text .text-p {
	margin : 4px 0;
}
@media screen and (min-width: 768px) {
	.m-box-txtarea .txtarea-comment .comment-text .text-p {
		margin : 6px 0;
	}
}
.m-box-txtarea .txtarea-comment + .txtarea-works {
	padding-top : 0;
}
.m-box-worksarea {
	margin-top : 72px;
}
@media screen and (min-width: 768px) {
	.m-box-worksarea {
		margin-top: 128px;
	}
}
.worksarea-comment {
	display: flex;
	align-items: center;
	background-color: #EBF7FF;
	margin-top: 48px;
	flex-direction: column;
	padding: 32px 16px;
}
@media screen and (min-width: 768px) {
	.worksarea-comment {
  		gap: 24px;
		padding: 32px 36px;
		margin-top: 48px;
		flex-direction: inherit;
		text-align: left;
	}
}

.worksarea-comment .comment-profile {
	display: flex;
	flex-shrink: 0;
	flex-direction: row;
  	gap: 24px;
	margin-bottom: 24px;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-profile {
  		gap: 20px;
		margin-bottom: 0;
	}
}

.worksarea-comment .comment-profile img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-profile img {
		width: 106px;
		height: 106px;
	}
}

.worksarea-comment .comment-profile .profile-details {
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: #333;
}

.worksarea-comment .comment-profile .profile-details .profile-dept {
	font-size: 1.4rem;
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-profile .profile-details .profile-dept {
		font-size: 1.4rem;
	}
}

.worksarea-comment .comment-profile .profile-details .profile-post {
	font-size: 1.8rem;
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-profile .profile-details .profile-post {
		font-size: 1.6rem;
		margin-top: 4px;
	}
}
.worksarea-comment .comment-profile .profile-details .profile-name {
	font-size: 2.6rem;
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-profile .profile-details .profile-name {
		font-size: 1.8rem;
		margin-top: 12px;
	}
}

.worksarea-comment .comment-text {
	background-color: #fff;
	padding: 24px 28px;
}
.worksarea-comment .comment-text {
	@media screen and (min-width: 768px) {
		padding: 28px 32px;
	}
}

.worksarea-comment .comment-text p {
	letter-spacing: 0.08em;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.worksarea-comment .comment-text p {
		font-size: 1.4rem;
	}
}

.m-box-col2 {
	display : -ms-flexbox;
	display : flex;
	-ms-flex-direction : column-reverse;
	    flex-direction : column-reverse;
}
@media screen and (min-width: 768px) {
	.m-box-col2 {
		display : block;
		margin-top: 40px;
	}
}
.m-box-col2 .col2-item .m-box-col2 {
	margin : 0 -7px;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-wrap : wrap;
	    flex-wrap : wrap;
	margin-top : 14px;
	-ms-flex-direction : row;
	    flex-direction : row;
}
.m-box-col2 .col2-item .m-box-col2 .col2-item {
	width : calc(100% / 2);
	padding : 0 7px;
}
.m-box-col2 .col2-item .m-box-col2 .col2-item + .col2-item {
	margin-top : 0;
}
.m-box-col2 .col2-item.item-right {
	margin-top : 25px;
}
@media screen and (min-width: 768px) {
	.m-box-col2 .col2-item.item-right {
		float : right;
		width : 400px;
		margin : 0 0 40px 40px;
	}
}
.m-box-col2 .col2-item + .col2-item {
	margin-top : 25px;
}
@media screen and (min-width: 768px) {
	.m-box-col2 .col2-item + .col2-item {
		margin-top : 0;
	}
}

.m-list-check {
	margin-top : 15px;
}
@media screen and (min-width: 768px) {
	.m-list-check {
		margin-top : 45px;
	}
}
.m-list-check > li {
	color : #02c4bf;
	position : relative;
	padding : 7px 0 7px 23px;
	font-weight : bold;
}
@media screen and (min-width: 768px) {
	.m-list-check > li {
		padding : 10px 0 10px 43px;
	}
}
.m-list-check > li:before {
	content : '';
	position : absolute;
	background : url(../images/i_check.png) center no-repeat;
	width : 15px;
	height : 12px;
	background-size : 100%;
	top : 0.8em;
	left : 0;
}
@media screen and (min-width: 768px) {
	.m-list-check > li:before {
		width : 24px;
		height : 19px;
	}
}

.m-list-merit {
	margin-top : 70px !important;
}
@media screen and (min-width: 768px) {
	.m-list-merit {
		margin-top : 110px !important;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : center;
		justify-content : center;
		margin : 0 -95px;
		-ms-flex-wrap : wrap;
		    flex-wrap : wrap;
	}
}
.m-list-merit .merit-item {
	text-align : center;
	margin : 0 20px;
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item {
		width : calc(100% / 2);
		padding : 0 15px;
		margin : 0;
	}
}
.m-list-merit .merit-item .item-wrap {
	position : relative;
	background-color : #fff;
	box-shadow : 0 0 50px 0 rgba(12, 19, 55, 0.08);
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item .item-wrap {
		box-shadow : 0 5px 30px 0 rgba(12, 19, 55, 0.05);
		transition: all 0.3s ease;
	}
	.m-list-merit .merit-item .item-wrap:hover {
		opacity: 0.8;
		transition: all 0.3s ease;
	}
}
.m-list-merit .merit-item .item-wrap a:hover {
	text-decoration: none;
}
.m-list-merit .merit-item .item-wrap .item-num {
	position : absolute;
	font-size : 50px;
	font-size : 5.0rem;
	color : #18256d;
	font-family : 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-weight : bold;
	letter-spacing : 0.22rem;
	left : 0;
	right : 0;
	top : -38px;
	margin : 0 auto;
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item .item-wrap .item-num {
		font-size : 6.0rem;
		top : -45px;
	}
}
.m-list-merit .merit-item .item-wrap .item-bottom {
	padding : 28px 15px;
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item .item-wrap .item-bottom {
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : center;
		justify-content : center;
		-ms-flex-align : center;
		align-items : center;
	}
}
.m-list-merit .merit-item .item-wrap .item-bottom .bottom-text {
	font-size : 14px;
	font-size : 1.4rem;
	color : #18256d;
	font-weight : bold;
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item .item-wrap .item-bottom .bottom-text {
		font-size : 1.8rem;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : center;
		justify-content : center;
		-ms-flex-align : center;
		align-items : center;
		text-decoration: none;
	}
}
.m-list-merit .merit-item .item-wrap .item-bottom:before {
	position : absolute;
	content : '';
	width : 0;
	height : 0;
	right : 0;
	bottom : 0;
	border-style : solid;
	border-width : 0 0 12px 12px;
	border-color : transparent transparent #18256d transparent;
}
.m-list-merit .merit-item + .merit-item {
	margin-top : 50px;
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item + .merit-item {
		margin-top : 0;
	}
}
@media screen and (min-width: 768px) {
	.m-list-merit .merit-item:nth-child(n+4) {
		margin-top : 55px;
	}
	.m-list-merit .merit-item:nth-child(n+3) {
		margin-top : 55px;
	}
}

.m-list-asterisk {
	margin-top : 5px;
}
.m-list-asterisk > li {
	position : relative;
	padding-left : 16px;
	font-size : 12px;
	font-size : 1.2rem;
}
@media screen and (min-width: 768px) {
	.m-list-asterisk > li {
		font-size : 1.4rem;
	}
}
.m-list-asterisk > li:before {
	position : absolute;
	content : '';
	top : 0;
	left : 0;
	content : '\203b';
	background-color : transparent;
}

.m-list-desc {
	margin-top : 5px;
}
.m-list-desc > li {
	position : relative;
	padding-left : 15px;
	font-size : 13px;
	font-size : 1.3rem;
}
@media screen and (min-width: 768px) {
	.m-list-desc > li {
		font-size : 1.7rem;
	}
}
.m-list-desc > li:before {
	position : absolute;
	content : '';
	width : 6px;
	height : 6px;
	border-radius : 50%;
	background-color : #d0dce6;
	top : 0.5em;
	left : 0;
}
@media screen and (min-width: 768px) {
	.m-list-desc > li:before {
		width : 7px;
		height : 7px;
	}
}
.m-list-desc > li + li {
	margin-top : 5px;
}

.m-table-simple {
	width : 100%;
}
@media screen and (max-width: 767px) {
	.m-table-simple {
		display : block;
	}
}
@media screen and (max-width: 767px) {
	.m-table-simple > tbody {
		display : block;
	}
}
@media screen and (max-width: 767px) {
	.m-table-simple > tbody > tr {
		text-align : left;
		display : block;
	}
}
.m-table-simple > tbody > tr > th {
	width : 20%;
	font-size : 17px;
	font-size : 1.7rem;
	border-top : 1px solid #18256d;
}
@media screen and (max-width: 767px) {
	.m-table-simple > tbody > tr > th {
		width : 100%;
		font-size : 1.5rem;
		display : block;
		padding : 15px 0;
		color : #18256d;
	}
}
.m-table-simple > tbody > tr > td {
	width : 80%;
	font-size : 17px;
	font-size : 1.7rem;
	padding : 35px 0 33px 20px;
	border-left : 20px solid #f6fbff;
	border-top : 1px solid #dce7ef;
}
@media screen and (max-width: 767px) {
	.m-table-simple > tbody > tr > td {
		width : 100%;
		font-size : 1.5rem;
		display : block;
		padding : 15px 0;
		border-left : none;
	}
}
.m-table-simple > tbody > tr > td > strong {
	font-weight : bold;
	display : block;
}
.m-table-simple > tbody > tr:last-child > th {
	border-bottom : 1px solid #18256d;
}
.m-table-simple > tbody > tr:last-child > td {
	border-bottom : 1px solid #dce7ef;
}

.m-txt-p {
	margin-top : 32px;
	line-height : 2.0;
	letter-spacing: 0.12em;
	font-weight: 500;
	color: #333;
}
@media screen and (min-width: 768px) {
	.m-txt-p {
		margin-top : 40px;
	}
}
.m-txt-p:first-child {
	margin-top : 0;
}
.m-txt-p > span {
	font-size : 12px;
	font-size : 1.2rem;
	font-weight : bold;
	display : block;
}
@media screen and (min-width: 768px) {
	.m-txt-p > span {
		font-size : 1.4rem;
	}
}
.m-txt-p-l{
	font-size : 1.6rem;
}
@media screen and (min-width: 768px) {
	.m-txt-p-l{
		font-size : 1.8rem;
	}
}
.m-txt-p-lead{
	font-size : 1.6rem;
	line-height: 2.4;
}
@media screen and (min-width: 768px) {
	.m-txt-p-lead{
		font-size : 1.78rem;
	}
}
.m-txt-p2 {
	margin-top : 15px;
	font-size : 15px;
	font-size : 1.5rem;
	line-height : 2.0;
}
@media screen and (min-width: 768px) {
	.m-txt-p2 {
		font-size : 1.7rem;
	}
}
.m-txt-p2:first-child {
	margin-top : 0;
}

.m-txt-ttl2 {
	color : #18256d;
	line-height : 1.25;
	font-size : 21px;
	font-size : 2.1rem;
	font-weight : bold;
	text-align : center;
	margin-bottom : 55px;
	position : relative;
	letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2 {
		font-size : 3.2rem;
		margin-bottom : 115px;
		line-height : 1.5;
	}
}
.m-txt-ttl2:before {
	position : absolute;
	content : '';
	bottom : -30px;
	right : 0;
	left : 0;
	margin : 0 auto;
	width : 2px;
	height : 15px;
	background : url(../images/i_h2_after.png) center no-repeat;
	background-size : 100%;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2:before {
		width : 3px;
		height : 30px;
		bottom : -60px;
	}
}
.m-txt-ttl2 + * {
	margin-top : 0;
}
.m-txt-ttl2 .ttl1-sub {
	font-size : 12px;
	font-size : 1.2rem;
	display : block;
	margin-top : 3px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2 .ttl1-sub {
		font-size : 21px;
		margin-top : 5px;
	}
}
.m-txt-ttl2 .ttl1-sub2 {
	font-size : 10px;
	border : 2px solid #18256d;
	padding : 1px 10px 3px;
	border-radius : 15px;
	transform : translateY(-3px);
	display : inline-block;
	margin-left : 15px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2 .ttl1-sub2 {
		font-size : 18px;
		transform : translateY(-10px);
		border-radius : 20px;
	}
}
.m-txt-ttl2.m-txt-ttl2-simple {
	color : #0B2C85;
	line-height : 1.7;
	font-size : 2.4rem;
	font-weight : 500;
	margin-bottom : 32px;
	position : relative;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2.m-txt-ttl2-simple {
		font-size : 3.2rem;
		margin-bottom : 60px;
		line-height : 1.7;
		margin-bottom : 56px;
	}
}
.m-txt-ttl2.m-txt-ttl2-simple:before {
		display: none;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2.m-txt-ttl2-simple:before {
		display: none;
	}
}
.m-txt-ttl2.m-txt-ttl2-simple .m-txt-ttl2-sub{
	position: relative;
	display: block;
	font-size: 2.4rem;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-weight: 300;
	width: moz-fit-content;
	width: fit-content;
	margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl2.m-txt-ttl2-simple .m-txt-ttl2-sub{
		font-size: 2.8rem;
		margin-bottom: 52px;
	}
}
.m-txt-ttl2.m-txt-ttl2-simple .m-txt-ttl2-sub:after{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, #4267CB,#48B9FF 50%,#BEE3F9);
}
.m-txt-ttl2.m-txt-ttl2-simple .m-txt-ttl2-main{
	letter-spacing: 0.12em;
	font-weight: 600;
}

.m-txt-ttl3 {
	color : #18256d;
	line-height : 1.7;
	font-size : 2.0rem;
	font-weight : bold;
	text-align : center;
	margin : 35px 0 25px;
	letter-spacing: 0.12rem;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3 {
		font-size : 2.8rem;
		margin : 80px 0 48px;
	}
}
.m-txt-ttl3 + * {
	margin-top : 0;
}

.m-txt-ttl3.m-txt-ttl3-about {
	position: relative;
	color : #0B2C85;
	line-height : 1.7;
	font-size : 2.2rem;
	font-weight : 600;
	margin : 68px 0 32px;
	letter-spacing: 0.12em;
	padding-left: 26px;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-about {
		font-size : 2.8rem;
		margin : 104px 0 48px;
		padding-left: 30px;
		line-height: 1;
	}
}
.m-txt-ttl3.m-txt-ttl3-about:after{
	position: absolute;
	content: "";
	top: 20px;
	left: 0;
	transform: translateY(-50%);
	width: 10px;
	height: 30px;
	background: linear-gradient(to top, #7BCEFF,#1CA1F4 30%,#003CE0);
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-about:after{
		position: absolute;
		content: "";
		top: 55%;
		left: 0;
		width: 10px;
		height: 30px;
	}
}
.m-txt-ttl3.m-txt-ttl3-works {
	text-align: left;
	margin: 0 0 32px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-works {
		margin: 0 0 16px;
		display: flex;
		align-items: center;
	}
}
.m-txt-ttl3.m-txt-ttl3-works .works-num {
	font-size: 6.0rem;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-weight: 600;
	color: #CBE8FF;
	display: inline-block;
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-works .works-num {
		font-size: 9.8rem;
	}
}
.m-txt-ttl3.m-txt-ttl3-works .works-text-wrap{
	padding-left: 0;
	padding-top: 8px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-works .works-text-wrap{
		padding-left: 48px;
		padding-top: 0;
	}
}
.m-txt-ttl3.m-txt-ttl3-works .works-ttl-head {
	font-size: 2.0rem;
	display: block;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-works .works-ttl-head {
		font-size: 2.2rem;
		margin-bottom: 8px;
        margin-top: 4px;
	}
}
.m-txt-ttl3.m-txt-ttl3-works .works-ttl {
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: #333;
	line-height: 1.7;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl3.m-txt-ttl3-works .works-ttl {
		font-size: 2.8rem;
	}
}

.m-txt-ttl4 {
	color : #18256d;
	line-height : 1.25;
	font-size : 16px;
	font-size : 1.6rem;
	font-weight : bold;
	text-align : center;
	margin : 25px 0 15px;
}
@media screen and (min-width: 768px) {
	.m-txt-ttl4 {
		font-size : 2.8rem;
		margin : 70px 0 50px;
	}
}
.m-txt-ttl4 + * {
	margin-top : 0;
}

.m-ttl1-subtxt {
	font-size : 16px;
	font-size : 1.6rem;
	text-align : center;
}
@media screen and (min-width: 768px) {
	.m-ttl1-subtxt {
		font-size : 1.9rem;
	}
}

.m-btn-simple {
	color : #fff;
	padding : 20px 70px 20px 55px;
	margin-top : 30px;
	display : block;
	border-radius : 42px;
	z-index : 0;
	position : relative;
	overflow : hidden;
}
@media screen and (min-width: 768px) {
	.m-btn-simple {
		padding : 35px 78px 35px 55px;
		border-radius : 70px;
		margin-top : 80px;
	}
}
@media screen and (min-width: 961px) {
	.m-btn-simple:hover {
		color : #fff;
		text-decoration : none;
	}
	.m-btn-simple:hover:before {
		opacity : 0;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	}
}
.m-btn-simple:before {
	content : '';
	width : 100%;
	height : 100%;
	position : absolute;
	z-index : -1;
	left : 0;
	top : 0;
	bottom : 0;
	margin : auto 0;
	background : linear-gradient(45deg, #21e3ad 0%, #13c6cf 100%);
	transition : all 0.3s ease-out;
}
.m-btn-simple:after {
	content : '';
	width : 100%;
	height : 100%;
	position : absolute;
	z-index : -2;
	left : 0;
	top : 0;
	bottom : 0;
	margin : auto 0;
	background : linear-gradient(45deg, #18256d 0%, #18256d 100%);
}
.m-btn-simple .btn-text {
	font-size : 20px;
	font-size : 2.0rem;
	position : relative;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-align : center;
	align-items : center;
	-ms-flex-pack : center;
	justify-content : center;
	color : #fff;
}
@media screen and (min-width: 768px) {
	.m-btn-simple .btn-text {
		font-size : 3.6rem;
	}
}
.m-btn-simple .btn-text .text-small {
	font-size : 13px;
	font-size : 1.3rem;
	margin-left : 3px;
}
@media screen and (min-width: 768px) {
	.m-btn-simple .btn-text .text-small {
		font-size : 2.2rem;
	}
}
.m-btn-simple .btn-text:before {
	position : absolute;
	content : '';
	top : 0;
	bottom : 0;
	margin : auto 0;
	right : -60px;
	width : 22px;
	height : 20px;
	background : url(../images/b_arrow.png) center no-repeat;
	background-size : 100%;
}
@media screen and (min-width: 768px) {
	.m-btn-simple .btn-text:before {
		width : 28px;
		height : 24px;
		right : -28px;
	}
}

/*! Yaku Han JP (Gothic - Small Amount) v2.0.0 SIL by Qrac / Based on Noto Sans CJK JP */
@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 100;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Thin.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Thin.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Thin.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 200;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Light.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Light.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Light.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 300;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 400;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Regular.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Regular.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Regular.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 500;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Medium.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Medium.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Medium.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 700;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Bold.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Bold.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Bold.woff') format('woff');
}

@font-face {
	font-family : 'YakuHanJPs';
	font-style : normal;
	font-weight : 900;
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Black.eot');
	src : url('../fonts/YakuHanJPs/YakuHanJPs-Black.woff2') format('woff2'), url('../fonts/YakuHanJPs/YakuHanJPs-Black.woff') format('woff');
}

@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 100;
	src : url('../fonts/Montserrat/Montserrat-Thin.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 200;
	src : url('../fonts/Montserrat/Montserrat-ExtraLight.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 300;
	src : url('../fonts/Montserrat/Montserrat-Light.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 400;
	src : url('../fonts/Montserrat/Montserrat-Regular.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 500;
	src : url('../fonts/Montserrat/Montserrat-Medium.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 600;
	src : url('../fonts/Montserrat/Montserrat-SemiBold.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 700;
	src : url('../fonts/Montserrat/Montserrat-Bold.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 800;
	src : url('../fonts/Montserrat/Montserrat-ExtraBold.ttf');
}
@font-face{
	font-family : 'Montserrat';
	font-style : normal;
	font-weight : 900;
	src : url('../fonts/Montserrat/Montserrat-Black.ttf');
}

html {
	color : #000;
	background : #fff;
	font-family : Noto Sans JP, 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
	font-size : 62.5%;
}

body {
	line-height : 1.5;
	font-size : 16px;
	font-size : 1.6rem;
}
@media screen and (min-width: 768px) {
	body {
		font-size : 1.6rem;
		min-width : 1020px;
	}
}

img {
	max-width : 100%;
}

/* link style */
a:link {
	color : #98117e;
	text-decoration : none;
}

a:visited {
	color : #98117e;
	text-decoration : none;
}

a:hover, a:active {
	color : #98117e;
	text-decoration : underline;
}

#l-wrap {
	background-color : #f6fbff;
	position : relative;
	overflow-x : hidden;
}

/* header style */
#l-header {
	position : absolute;
	width : 100%;
	height : 75px;
	z-index : 10;
	position : fixed;
	top : 0;
	left : 0;
	right : 0;
}
@media screen and (min-width: 768px) {
	#l-header {
		right : 0;
		left : 0;
		margin : 0 auto;
		max-width : 1500px;
		height : 145px;
	}
}
#l-header .header-overlay {
	transition : all 0.2s ease-out;
	background : rgba(0, 0, 0, 0.5);
	width : 100%;
	height : 100%;
	position : fixed;
	left : 0;
	z-index : -1;
	top : 0;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}
#l-header .header-outer .header-inner .header-wrap {
	display : -ms-flexbox;
	display : flex;
}
#l-header .header-outer .header-inner .header-wrap .outer-btn {
	width : 49px;
	height : 49px;
	background : url(../images/b_menu_open.png) no-repeat;
	background-position : center center;
	background-size : 100%;
	right : 13px;
	top : 14px;
	background-color : transparent;
	border : none;
	cursor : pointer;
	outline : none;
	padding : 0;
	-webkit-appearance : none;
	   -moz-appearance : none;
	        appearance : none;
	z-index : 20;
	position : absolute;
	right : 13px;
	top : 13px;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-inner .header-wrap .outer-btn {
		width : 82px;
		height : 82px;
		top : 30px;
		right : 30px;
	}
}
.menu-open #l-header .header-outer .header-inner .header-wrap .outer-btn {
	background : url(../images/b_menu_close.png) no-repeat;
	background-size : 100%;
	width : 49px;
	height : 49px;
}
@media screen and (min-width: 768px) {
	.menu-open #l-header .header-outer .header-inner .header-wrap .outer-btn {
		width : 82px;
		height : 82px;
	}
}
#l-header .header-outer .header-inner .header-wrap .outer-logo {
	width : 50px;
	position : absolute;
	top : 15px;
	left : 15px;
	z-index : 1;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-inner .header-wrap .outer-logo {
		width : 78px;
		top : 38px;
		left : 35px;
	}
}
#l-header .header-outer .header-inner .header-wrap .outer-logo > a {
	display : block;
}
#l-header .header-outer .header-menu {
	background-color : #18256d;
	padding : 80px 20px 90px;
	z-index : 10;
	display : none;
	overflow-y : auto;
	width : 100%;
	position : fixed;
	left : 0;
	right : 0;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu {
		padding : 0;
		display : none;
	}
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner {
		display : -ms-flexbox;
		display : flex;
	}
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-logo {
		width : 43.3%;
		background-color : #121e5e;
		position : relative;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-logo .logo-wrap {
	width : 50px;
	position : absolute;
	top : 15px;
	left : 15px;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-logo .logo-wrap {
		position : absolute;
		top : 0;
		bottom : 0;
		right : 0;
		left : 0;
		margin : auto;
		width : 141px;
		height : 119px;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-logo .logo-wrap > a {
	display : block;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap {
		width : 56.7%;
		padding : 80px 5% 75px;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-top {
	font-size : 10px;
	font-size : 1.0rem;
	color : #fff;
	position : relative;
	padding-left : 55px;
	display : inline-block;
	font-family : 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-top {
		font-size : 1.6rem;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-top:before {
	position : absolute;
	content : '';
	top : 0;
	bottom : 0;
	left : 0;
	margin : auto 0;
	background-color : #fff;
	width : 45px;
	height : 1px;
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-anc {
	margin-top : 30px;
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-anc .anc-item > a {
	font-size : 17px;
	font-size : 1.7rem;
	color : #fff;
	font-weight : bold;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-anc .anc-item > a {
		font-size : 2.8rem;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-anc .anc-item:nth-child(n+2) {
	margin-top : 25px;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-anc .anc-item:nth-child(n+2) {
		margin-top : 35px;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav {
	margin-top : 35px;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav {
		margin : 70px 0 0 -20px;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav .nav-item {
	display : inline-block;
	margin : 15px 25px 0 0;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav .nav-item {
		margin : 5px 20px;
	}
}
#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav .nav-item > a {
	font-size : 13px;
	font-size : 1.3rem;
	color : #fff;
}
@media screen and (min-width: 768px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav .nav-item > a {
		font-size : 2.0rem;
	}
}
@media screen and (min-width: 961px) {
	#l-header .header-outer .header-menu .menu-inner .menu-wrap .menu-nav .nav-item > a:hover {
		text-decoration : underline;
	}
}

/* topicpath */
#l-topicpath {
	*zoom : 1;
}
#l-topicpath:after {
	content : ' ';
	display : table;
	clear : both;
}
#l-topicpath li {
	display : inline-block;
	margin-right : 6px;
	padding-right : 12px;
}
#l-topicpath li:last-child {
	margin-right : 0;
	padding-right : 0;
	font-weight : bold;
	background : none;
}

/* content style */
#l-content .u-mainv {
	position: relative;
	overflow: hidden;
	height : 712px;
	width: 100%;
	padding-top : 0;
	background : url(../images/bg_mainv_blue.png) no-repeat;
	background-position: bottom 0% right 50%;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv {
		height : 616px;
		background-size : cover;
		display: flex;
		align-items: center;
		background-position: bottom 0% right 150px;
	}
}
@media screen and (min-width: 961px) {
	#l-content .u-mainv {
		height : 618px;
		background-size : cover;
		display: flex;
		align-items: center;
		background-position: bottom 0% right 300px;
	}
}
#l-content .u-mainv .mainv-inner {
	position: absolute;
	top: 314px;
	left: 0;
	width: 100%;
    margin: 0 auto;
    max-width: 1500px;
	padding : 0 16px;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-inner {
		position: relative;
		top: 20px;
		left: 0;
		padding : 0 0 0 60px;
	}
}
@media screen and (min-width: 961px) {
	#l-content .u-mainv .mainv-inner {
		position: relative;
		top: 20px;
		left: 0;
		padding : 0 0 0 128px;
	}
}
@media screen and (min-width: 1680px) {
	#l-content .u-mainv .mainv-inner {
	}
}
#l-content .u-mainv .mainv-inner .mainv-text {
	position: relative;
	font-weight : 700;
	z-index: 3;
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-catch {
	position: relative;
	font-size : 2.0rem;
	padding-top : 40px;
	letter-spacing : 1.2px;
	color: #0B2C85;
	letter-spacing: 0.29em;
	font-weight: 600;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-catch {
		font-size : 2.4rem;
		padding-top : 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-catch {
		font-size : 2.4rem;
		padding-top : 32px;
	}
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-title {
	padding-top : 12px;
	font-size : 3.4rem;
	color: #000;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.7;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title {
		font-size : 3.0rem;
		padding-top : 44px;
		line-height: 2;
		letter-spacing: 0.16em;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title {
		font-size : 3.0rem;
		padding-top : 16px;
		line-height: 1.7;
	}
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-title-deco {
	position: relative;
	color: #fff;
	margin: 0 20px 0 0;
	width: 100%;
	z-index: 2;
	padding-left: .6em;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title-deco {
		margin: 0 20px 0 6px;
		padding-left: .6em;
	}
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-title-deco:after{
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	margin-top: 1px;
	transform: translateY(-50%);
	width: 3.4em;
	height: 1.8em;
	background: linear-gradient(to right,#0B2C85, #19A4F2);
	z-index: -1;
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-title-01{
	line-height: 2;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title-01{
		font-size : 3.0rem;
		letter-spacing: 0.16em;
	}
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-title .mainv-title-02{
	font-size: 1.8rem;
	letter-spacing: 0.12em;
	font-weight: 500;
	margin-top: 12px;
	display: block;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title .mainv-title-02{
		font-size : 3.0rem;
		letter-spacing: 0.16em;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-title .mainv-title-02{
		font-size: 2.8rem;
		letter-spacing: 0.22em;
		display: inline-block;
		line-height: 1.7;
		margin-top: 12px;
	}
}
#l-content .u-mainv .mainv-inner .mainv-text .mainv-enttl {
	padding-top : 16px;
	font-size : 13px;
	font-size : 2.5rem;
	letter-spacing: 0.22em;
	font-family: 'Montserrat';
	font-weight: 200;
	color: #0B2C85;
}
@media screen and (min-width: 768px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-enttl {
		font-size : 2.8rem;
		padding-top : 40px;
		letter-spacing: 0.27em;
	}
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-inner .mainv-text .mainv-enttl {
		font-size : 2.8rem;
		padding-top : 20px;
		letter-spacing: 0.27em;
	}
}
#l-content .u-mainv .mainv-img {
	position: absolute;
	top: 0;
	right: 0;
	height: 314px;
	width: 100%;
	object-fit: cover;
	z-index: 1;
	object-position: 50% 70%;
}
@media screen and (min-width: 768px) and (max-width: 960px) {
	#l-content .u-mainv .mainv-img {
		position: absolute;
		bottom: 0;
		right: 0;
		height: 100%;
		width: 46%;
 		object-fit: cover;
		object-position: 50% 50%;
	}
}
@media screen and (min-width: 961px) and (max-width: 2000px) {
	#l-content .u-mainv .mainv-img {
		position: absolute;
		bottom: 0;
		right: 0;
		height: 100%;
		width: 40%;
 		object-fit: cover;
		object-position: 50% 50%;
	}
}
@media screen and (min-width: 2001px) {
	#l-content .u-mainv .mainv-img {
		position: absolute;
		bottom: 0;
		right: 0;
		height: 100%;
		width: 40%;
 		object-fit: cover;
		object-position: 80% 50%;
	}
}

#l-content .u-position {
	background-color : #fff;
	padding : 20px 12px;
	margin: 32px -20px 32px -20px;
}
@media screen and (min-width: 768px) {
	#l-content .u-position {
		padding : 52px 40px;
		margin: 52px 0;
	}
}
#l-content .u-position .position-title {
	color : #0B2C85;
	font-size : 17px;
	font-size : 1.7rem;
	font-weight : 600;
	text-align : center;
}
@media screen and (min-width: 768px) {
	#l-content .u-position .position-title {
		font-size : 2.4rem;
	}
}
#l-content .u-position .position-diagram {
	margin-top : 5px;
	text-align: center;
}
@media screen and (min-width: 768px) {
	#l-content .u-position .position-diagram {
		margin-top : 40px;
	}
}

#l-content .u-faq .faq-accordion {
	margin : 40px 0 0;
}
#l-content .u-faq .faq-accordion .accordion-item {
	padding : 0 10px;
	border-top : 1px solid #dce7ef;
	margin : 0 -20px;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item {
		padding : 0;
		margin : 0;
	}
}
#l-content .u-faq .faq-accordion .accordion-item:last-child {
	border-bottom : 1px solid #dce7ef;
}
#l-content .u-faq .faq-accordion .accordion-item .item-title {
	padding : 15px 40px 15px 47px;
	position : relative;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title {
		padding : 40px 60px 40px 75px;
		cursor : pointer;
	}
}
@media screen and (min-width: 961px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title:hover:before, #l-content .u-faq .faq-accordion .accordion-item .item-title:hover:after {
		background-color : #d0dce6;
		transition : all 0.3s ease-out;
	}
	#l-content .u-faq .faq-accordion .accordion-item .item-title:hover > span {
		border-bottom : 2px solid #18256d;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-title:before, #l-content .u-faq .faq-accordion .accordion-item .item-title:after {
	content : '';
	background-color : #18256d;
	width : 18px;
	height : 2px;
	display : block;
	position : absolute;
	top : 0;
	bottom : 0;
	right : 5px;
	margin : auto;
	transition : all 0.4s ease-out;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title:before, #l-content .u-faq .faq-accordion .accordion-item .item-title:after {
		width : 34px;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-title:after {
	transform : rotate(-90deg);
}
#l-content .u-faq .faq-accordion .accordion-item .item-title > span {
	font-size : 16px;
	font-size : 1.6rem;
	color : #18256d;
	font-weight : bold;
	position : relative;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title > span {
		font-size : 2.8rem;
		transition : all 0.2s ease-out;
		border-bottom : 2px solid rgba(24, 37, 109, 0);
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-title > span:before {
	position : absolute;
	content : '';
	top : 0;
	bottom : 0;
	margin : auto 0;
	left : -40px;
	width : 28px;
	height : 28px;
	background : url(../images/i_accordion_q.png) center no-repeat;
	background-size : 100%;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title > span:before {
		width : 45px;
		height : 45px;
		left : -70px;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-title.is-active:before, #l-content .u-faq .faq-accordion .accordion-item .item-title.is-active:after {
	background-color : #d0dce6;
}
#l-content .u-faq .faq-accordion .accordion-item .item-title.is-active:after {
	transform : rotate(-180deg);
}
@media screen and (min-width: 961px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-title.is-active:hover:before, #l-content .u-faq .faq-accordion .accordion-item .item-title.is-active:hover:after {
		background-color : #18256d;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-detail {
	position : relative;
	padding : 5px 10px 25px 47px;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-detail {
		padding : 0 60px 46px 75px;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-detail:before {
	position : absolute;
	content : '';
	top : 3px;
	left : 5px;
	width : 28px;
	height : 28px;
	background : url(../images/i_accordion_a.png) center no-repeat;
	background-size : 100%;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-detail:before {
		width : 45px;
		height : 45px;
		left : 0;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-detail .detail-text {
	font-size : 15px;
	font-size : 1.5rem;
	line-height : 2.0;
}
@media screen and (min-width: 768px) {
	#l-content .u-faq .faq-accordion .accordion-item .item-detail .detail-text {
		font-size : 1.9rem;
	}
}
#l-content .u-faq .faq-accordion .accordion-item .item-detail .detail-text + .detail-text {
	margin-top : 10px;
}

#l-content .u-information .information-map {
	background-color : #fff;
	padding : 8px;
	margin : 40px -20px 0;
}
@media screen and (min-width: 768px) {
	#l-content .u-information .information-map {
		padding : 10px;
		margin-top : 80px;
	}
}
#l-content .u-information .information-map .map-inner {
	padding-top : 320px;
	position : relative;
}
@media screen and (min-width: 768px) {
	#l-content .u-information .information-map .map-inner {
		padding-top : 540px;
	}
}
#l-content .u-information .information-map .map-inner > iframe {
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
}

#pagetop {
	position : fixed;
	right : 13px;
	width : 40px;
	height : 40px;
	z-index : 9;
	display : none;
}
@media screen and (min-width: 768px) {
	#pagetop {
		right : 30px;
		width : 60px;
		height : 60px;
		z-index : 9;
	}
}
#pagetop a {
	position : relative;
	display : block;
	width : 100%;
	height : 100%;
	background-color : #18256d;
	border-radius : 50%;
}
@media screen and (min-width: 768px) {
	#pagetop a {
		transition : all 0.2s ease;
	}
}
#pagetop a:before {
	content : '';
	position : absolute;
	width : 16px;
	height : 14px;
	top : 0;
	bottom : 0;
	left : 0;
	right : 0;
	margin : auto;
	background : url(../images/b_arrow.png) center no-repeat;
	background-size : 100%;
	transform : rotateZ(-90deg);
}
@media screen and (min-width: 768px) {
	#pagetop a:before {
		width : 24px;
		height : 22px;
	}
}
@media screen and (min-width: 961px) {
	#pagetop a:hover {
		transform : translateY(-7px);
		opacity : 0.75;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=75)';
	}
}

/* footer style */
#l-footer {
	padding : 30px 20px 20px 20px;
	color : #fff;
	background : #18256d;
}
@media screen and (min-width: 768px) {
	#l-footer {
		padding : 40px 0;
	}
}
#l-footer a:hover {
	color : #4391e4;
}
#l-footer .footer-area {
	width : auto;
	margin : 0 auto;
}
@media screen and (min-width: 768px) {
	#l-footer .footer-area {
		width : 1000px;
	}
}
#l-footer .footer-menu {
	text-align : center;
	height : auto;
	overflow : hidden;
	margin : 0 auto 20px auto;
	font-size : 90%;
	width : auto;
}
@media screen and (min-width: 768px) {
	#l-footer .footer-menu {
		float : right;
	}
}
#l-footer .footer-menu li {
	border-right : 1px solid #fff;
	padding : 0 calc(4vw) 0 0;
	font-size : 87.5%;
	display : inline-block;
}
@media screen and (min-width: 768px) {
	#l-footer .footer-menu li {
		float : left;
		padding : 0 20px 0 0;
		line-height : 1;
		margin : 0 20px 0 0;
	}
}
#l-footer .footer-menu li > a {
	color : #fff;
}
@media screen and (max-width: 767px) {
	#l-footer .footer-menu li:nth-child(2) {
		border : 0;
		padding : 0 0 0 calc(4vw);
	}
}
@media screen and (min-width: 768px) {
	#l-footer .footer-menu li:last-child {
		padding : 0;
		border : 0;
		margin : 0;
	}
}
@media screen and (min-width: 768px) {
	#l-footer h2 {
		float : left;
	}
}
@media screen and (max-width: 767px) {
	#l-footer h2 img {
		margin : 0 auto 20px auto;
		display : block;
		max-width : 80%;
	}
}
#l-footer .footer-copy {
	text-align : center;
	font-size : 65%;
}
@media screen and (min-width: 768px) {
	#l-footer .footer-copy {
		text-align : right;
		font-size : 75%;
		clear : both;
	}
}

/* print style */
@media print {
	html {
		background : none;
	}
	body {
		padding : 0;
		background : none;
	}
	/* for IE7 */
	*:first-child + html body {
		zoom : 67%;
	}
}
