@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
/*--------------------------------------
basic
--------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	height: 100%;
}

body {
	position: relative;
	height: 100%;
	padding: 0;
	background: #fff;
	color: #111;
}

body {
	font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: 500;
}

main {
	display: block;
	overflow: hidden;
}

a {
	color: #111;
	text-decoration: none;
	-webkit-transition: 0.15s ease-out;
	transition: 0.15s ease-out;
}

a:hover {
	opacity: 0.6;
	-webkit-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}

strong {
	font-weight: bold;
	font-weight: 900;
}

sup {
	font-size: 65%;
	vertical-align: super;
	display: inline-block;
}

i {
	font-style: italic;
}

img {
	max-width: 100%;
	height: auto;
}

p {
	font-size: 16px;
	text-align: left;
	line-height: 2;
}
@media (max-width: 779px) {
	p {
		font-size: 15px;
	}
}

h3, h4 {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
}

@media (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
@media (max-width: 374px) {
	.max374 {
		display: none !important;
	}
}
@media (max-width: 779px) {
	body {
		min-width: 320px;
	}

	.pc {
		display: none !important;
	}
}
.inner {
	width: 1200px;
	margin: auto;
	position: relative;
}

@media (max-width: 779px) {
	.inner {
		width: 100%;
		padding: 0 5vw;
	}
}
.ib {
	display: inline-block;
}

.small {
	font-size: 85%;
}

#spnav {
	position: fixed;
	z-index: 1001;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
@media (min-width: 768px) {
	#spnav {
		display: none;
	}
}
#spnav.on {
	background: #0958A2;
}

#spnav span {
	display: block;
	position: absolute;
	top: calc(50% - 9px);
	left: calc(50% - 12px);
	width: 24px;
	height: 3px;
	background: #0958A2;
	-webkit-transition: top 0.4s 0.2s, -webkit-transform 0.4s 0s;
	transition: top 0.4s 0.2s, -webkit-transform 0.4s 0s;
	transition: top 0.4s 0.2s, transform 0.4s 0s;
	transition: top 0.4s 0.2s, transform 0.4s 0s, -webkit-transform 0.4s 0s;
}

#spnav .spnav1 {
	top: calc(50% - 7px);
}

#spnav .spnav2 {
	top: calc(50% + 5px);
}

#spnav.on .spnav1, #spnav.on .spnav2 {
	top: calc(50% - 1px);
	left: calc(50% - 13px);
	width: 40%;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transform-origin: center center;
	        transform-origin: center center;
	-webkit-transition: top 0.4s 0s, -webkit-transform 0.4s 0.2s;
	transition: top 0.4s 0s, -webkit-transform 0.4s 0.2s;
	transition: top 0.4s 0s, transform 0.4s 0.2s;
	transition: top 0.4s 0s, transform 0.4s 0.2s, -webkit-transform 0.4s 0.2s;
	background: #fff;
}

#spnav.on .spnav2 {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

/*--------------------------------------
header
--------------------------------------*/
header {
	width: 100%;
	position: fixed;
	z-index: 100;
	height: 100px;
}
header.on {
	background: #fff;
	height: 60px;
	-webkit-transition: height 0.3s, background-color 0.3s;
	transition: height 0.3s, background-color 0.3s;
}
header.on .logo img {
	height: 40px;
	width: auto;
}
header .inner {
	height: 100%;
	width: 100%;
	min-width: 1200px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
}
header .inner .logo {
	margin-left: 30px;
}
header .inner .logo img {
	-webkit-transition: height 0.3s, background-color 0.3s;
	transition: height 0.3s, background-color 0.3s;
}
header .inner nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 610px);
}
header .inner .nav_main {
	width: 100%;
	max-width: 760px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 60px;
}
header .inner .nav_main a {
	font-weight: bold;
	font-size: 16px;
}
header .inner .nav_sub {
	position: absolute;
	right: 0;
	top: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
}
header .inner .nav_sub li {
	width: 220px;
}
header .inner .nav_sub li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 100%;
	width: 100%;
	background: #08325C;
	color: #fff;
}
header .inner .nav_sub li a img {
	display: block;
	margin-right: 10px;
}
header .inner .nav_sub li a:hover {
	opacity: 1;
	background: #0e58a2;
}
header .inner .nav_sub li.contact a {
	background: #FEDB35;
	color: #111;
}
header .inner .nav_sub li.contact a:hover {
	opacity: 1;
	background: #fee981;
}
@media (max-width: 779px) {
	header {
		height: auto;
		position: static;
	}
	header.on .logo img {
		height: 40px;
		width: auto;
	}
	header .inner {
		height: 0;
		min-width: 10px;
		display: block;
		position: relative;
	}
	header .inner .logo {
		position: fixed;
		display: none;
		z-index: 100;
		margin-left: 0;
		left: 15px;
		top: 15px;
		width: 110px;
	}
	header .inner nav {
		position: fixed;
		width: 100%;
		z-index: 100;
		bottom: 0;
		left: 0;
	}
	header .inner .nav_main {
		width: 100%;
		height: calc(100vh - 80px);
		position: fixed;
		z-index: 199;
		top: 0;
		left: 0;
		background: #0958A2;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		left: 100vw;
		-webkit-transition: left 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
		transition: left 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}
	header .inner .nav_main.spnavon {
		left: 0;
	}
	header .inner .nav_main li {
		margin-bottom: 6vh;
	}
	header .inner .nav_main li a {
		margin: 0;
		display: block;
		color: #fff;
		text-align: center;
	}
	header .inner .nav_sub {
		right: 0;
		top: auto;
		bottom: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 80px;
		width: 100vw;
		z-index: 200;
	}
	header .inner .nav_sub li {
		width: 50%;
	}
}

/*--------------------------------------
mv
--------------------------------------*/
#mv {
	height: 100vh;
	min-height: 700px;
	max-height: 860px;
	background: #D9ECF4 url(../img/mv.png) center center no-repeat;
	background-size: cover;
}
#mv .inner {
	padding-top: 130px;
	padding-left: 30px;
}
#mv .inner h1 {
	margin-top: 50px;
}
#mv .inner .btns {
	width: 500px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 15px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#mv .inner .btns li {
	width: 245px;
	height: 45px;
}
#mv .inner .btns li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
	background: #fff;
	color: #0958A2;
	border-radius: 5px;
	font-weight: bold;
	font-size: 18px;
}
#mv .inner .btns li a img {
	margin-right: 15px;
}
#mv .inner .btns li a:hover {
	opacity: 1;
	background: #A2CAF5;
}
@media (max-width: 779px) {
	#mv {
		height: auto;
		min-height: 50vh;
		background-position: calc(100% + 80vw) 10vw;
	}
	#mv .inner {
		padding: 0 5vw 30vw;
	}
	#mv .inner h2 {
		max-width: 80%;
		padding-top: 30vw;
	}
	#mv .inner h1 {
		position: absolute;
		top: 0px;
		left: 5vw;
		margin-top: 20px;
		max-width: 80%;
	}
	#mv .inner .btns {
		width: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-top: 15px;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	#mv .inner .btns li {
		margin-top: 15px;
		width: 49%;
		height: 40px;
	}
	#mv .inner .btns li a {
		width: 100%;
		height: 100%;
		font-size: 14px;
	}
	#mv .inner .btns li a img {
		margin-right: 8px;
		width: 15px;
	}
}

/*--------------------------------------
feature
--------------------------------------*/
#feature .block {
	height: 500px;
	width: 100%;
}
#feature .block .inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 30px;
}
#feature .block .inner figure {
	width: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#feature .block .inner .text {
	width: 50%;
	text-align: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#feature .block.about {
	background: #0958A2;
	color: #fff;
	pmt: 30px;
}
#feature .block.about h4 {
	font-size: 24px;
	margin-bottom: 10px;
}
#feature .block.about h3 {
	font-size: 36px;
	line-height: 1.3333333333;
}
#feature .block.feature h4 {
	color: #0958A2;
}
#feature .block.feature h4 img {
	vertical-align: middle;
	width: 67px !important;
	display: inline-block !important;
}
#feature .block.feature h4 span {
	font-size: 21px;
	line-height: 1;
	padding: 3px 0 3px 15px;
	margin-left: 15px;
	border-left: 1px solid #0958A2;
}
#feature .block.feature h3 {
	color: #0958A2;
	font-size: 46px;
}
#feature .slick-arrow {
	cursor: pointer;
	position: absolute;
	z-index: 20;
	left: 0;
	top: 0;
	width: 80px;
	height: 100%;
	background: rgba(255, 255, 255, 0) url(../img/arrow_l.svg) center center no-repeat;
	font-size: 0;
	border: none;
}
#feature .slick-arrow.slick-next {
	left: auto;
	right: 0;
	background-image: url(../img/arrow_r.svg);
}
#feature .slick-arrow:hover {
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
	opacity: 0.5;
}
@media (max-width: 779px) {
	#feature .block {
		height: 500px;
	}
	#feature .block .inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		padding: 0 30px;
	}
	#feature .block .inner figure {
		width: 100%;
		height: 120px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	#feature .block .inner figure img {
		-o-object-fit: contain;
		   object-fit: contain;
		width: 100px;
	}
	#feature .block .inner .text {
		width: 100%;
		text-align: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	#feature .block .inner .text p {
		line-height: 1.7;
	}
	#feature .block.about h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	#feature .block.about h3 {
		font-size: 24px;
	}
	#feature .block.feature figure {
		padding-bottom: 50px;
	}
	#feature .block.feature h4 img {
		width: 67px !important;
	}
	#feature .block.feature h4 span {
		font-size: 18px;
		padding: 3px 0 3px 15px;
		margin-left: 15px;
		border-left: 1px solid #0958A2;
	}
	#feature .block.feature h3 {
		font-size: 32px;
	}
	#feature .slick-arrow {
		width: 30px;
		background-size: 10px auto;
		background-position: 5px center;
	}
	#feature .slick-arrow.slick-next {
		background-position: 15px center;
	}
	#feature .slick-arrow:hover {
		-webkit-transition: opacity 0.2s;
		transition: opacity 0.2s;
		opacity: 0.5;
	}
}

/*--------------------------------------
section
--------------------------------------*/
.shoulder {
	padding-top: 100px;
	font-size: 16px;
	line-height: 1;
	font-weight: 900;
	color: #0958A2;
	letter-spacing: 0.05em;
	margin-bottom: 100px;
}
.shoulder::before {
	position: relative;
	top: -0.1em;
	display: inline-block;
	width: 20px;
	height: 1px;
	content: "";
	margin-right: 20px;
	background: #0958A2;
	vertical-align: middle;
}
@media (max-width: 779px) {
	.shoulder {
		font-size: 15px;
		padding-top: 70px;
		margin-bottom: 70px;
	}
}

.heading_regular {
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 60px;
	line-height: 1.5;
}
.heading_regular .small {
	font-size: 30px;
}
.heading_regular .large {
	font-size: 50px;
	display: inline-block;
}
@media (max-width: 779px) {
	.heading_regular {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.heading_regular .small {
		font-size: 21px;
	}
	.heading_regular .large {
		font-size: 32px;
	}
}

/*--------------------------------------
concept
--------------------------------------*/
#concept {
	background: #F5F5F5;
	padding-bottom: 150px;
}
#concept .block {
	margin-top: 100px;
	position: relative;
}
#concept .block h2 {
	color: #0958A2;
	font-size: 36px;
	line-height: 1.3333333333;
	font-weight: bold;
	margin-bottom: 70px;
}
#concept .block h2 strong {
	display: inline-block;
	white-space: nowrap;
	position: relative;
	z-index: 2;
	font-weight: bold;
}
#concept .block h2 strong::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 8px;
	background: #FEDB35;
	z-index: -1;
	left: 0;
	bottom: 3px;
}
#concept .block.upper figure {
	position: absolute;
	top: 0;
	left: calc(50% + 40px);
}
#concept .block.upper p {
	width: 50%;
}
#concept .block.lower ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
#concept .block.lower ul li {
	padding: 25px 0 40px;
	text-align: center;
	width: 32%;
	background: #fff url(../img/icon_check_large.svg) 10px 10px no-repeat;
	border-radius: 15px;
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#concept .block.lower ul li + li {
	margin-left: 1%;
}
#concept .block.lower ul li h4 {
	display: inline-block;
	text-align: center;
	color: #0958A2;
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 1px solid #0958A2;
}
#concept .block.lower ul li p {
	margin-top: 10px;
	text-align: center;
	font-weight: bold;
	line-height: 1.8;
}
#concept .block.lower ul li p strong {
	font-size: 23px;
	font-weight: bold;
}
#concept .block.lower ul li figure {
	width: 100%;
	height: 180px;
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media (max-width: 779px) {
	#concept {
		padding-bottom: 100px;
	}
	#concept .block {
		margin-top: 50px;
	}
	#concept .block h2 {
		font-size: 24px;
		margin-bottom: 50px;
	}
	#concept .block.upper figure {
		position: static;
		top: 0;
		margin-top: 30px;
	}
	#concept .block.upper p {
		width: 100%;
	}
	#concept .block.lower {
		margin-top: 80px;
	}
	#concept .block.lower ul {
		display: block;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	#concept .block.lower ul li {
		padding: 25px 0 40px;
		text-align: center;
		width: 100%;
	}
	#concept .block.lower ul li + li {
		margin-left: 0%;
		margin-top: 20px;
	}
	#concept .block.lower ul li h4 {
		display: inline-block;
		text-align: center;
		color: #0958A2;
		font-size: 16px;
		font-weight: bold;
		padding-bottom: 5px;
		border-bottom: 1px solid #0958A2;
	}
	#concept .block.lower ul li p {
		margin-top: 0px;
		text-align: center;
		font-weight: bold;
		line-height: 1.8;
	}
	#concept .block.lower ul li p strong {
		font-size: 21px;
		font-weight: bold;
	}
	#concept .block.lower ul li figure {
		width: 100%;
		height: 130px;
		margin-top: 20px;
	}
	#concept .block.lower ul li figure img {
		max-height: 100%;
		width: auto;
	}
}

/*--------------------------------------
benner
--------------------------------------*/
.banner {
	background: #08325C url(../img/banner_ph.jpg) 160px center no-repeat;
}
.banner .inner {
	height: 350px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.banner .inner h3 {
	margin: auto 50px;
}
.banner .inner .nav li + li {
	margin-top: 20px;
}
.banner .inner .nav li a {
	border-radius: 8px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 450px;
	max-width: 100%;
	height: 60px;
	display: flex;
	background: #FEDB35;
	color: #08325C;
}
.banner .inner .nav li a span {
	margin-top: -2px;
	line-height: 1;
	font-size: 18px;
	font-weight: bold;
	margin-left: 10px;
	width: 9em;
	display: inline-block;
	text-align: center;
}
.banner .inner .nav li.apply a {
	background: #D8ECF4;
}
.banner .inner .nav li.donwload a {
	background: #fff;
}
@media (max-width: 779px) {
	.banner {
		background: #08325C url(../img/banner_ph.jpg) center 50px no-repeat;
		padding: 40px 0;
	}
	.banner .inner {
		height: auto;
		display: block;
	}
	.banner .inner h3 {
		text-align: center;
		margin: 20px auto;
	}
	.banner .inner .nav li + li {
		margin-top: 15px;
	}
	.banner .inner .nav li a {
		height: 50px;
	}
	.banner .inner .nav li a span {
		margin-top: -2px;
		line-height: 1;
		font-size: 18px;
		font-weight: bold;
		margin-left: 10px;
		width: 9em;
		display: inline-block;
		text-align: center;
	}
	.banner .inner .nav li.apply a {
		background: #D8ECF4;
	}
	.banner .inner .nav li.donwload a {
		background: #fff;
	}
}

/*--------------------------------------
plan
--------------------------------------*/
#plan table {
	width: 100%;
}
#plan table tr > * + * {
	border-left: 1px solid rgba(9, 88, 162, 0.2);
}
#plan table thead tr th {
	padding: 30px;
	color: #0958A2;
	font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
}
#plan table thead tr th .small {
	font-size: 14px;
	display: inline-block;
}
#plan table tbody tr:nth-of-type(odd) {
	background: rgba(0, 0, 0, 0.05);
}
#plan table tbody tr td {
	vertical-align: middle;
	padding: 25px;
	font-size: 18px;
	text-align: center;
}
#plan .attention {
	margin-top: 50px;
	text-align: right;
	font-size: 14px;
}
@media (max-width: 779px) {
	#plan table thead tr th {
		padding: 15px 12px;
		font-size: 15px;
	}
	#plan table thead tr th .small {
		font-size: 12px;
	}
	#plan table tbody tr td {
		padding: 15px 12px;
		font-size: 15px;
	}
	#plan .attention {
		margin-top: 30px;
		text-align: left;
		font-size: 12px;
	}
}

/*--------------------------------------
fuction
--------------------------------------*/
#function {
	padding-bottom: 150px;
}
#function .block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 150px;
}
#function .block figure {
	width: 50%;
	text-align: right;
}
#function .block figure img {
	position: relative;
	-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}
#function .block .text {
	width: 50%;
	padding: 0 50px 0 90px;
}
#function .block .text h4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 18px;
	font-weight: bold;
	color: #0958A2;
}
#function .block .text h4 .icon {
	width: 48px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-left: -50px;
	margin-right: 12px;
}
#function .block .text h3 {
	color: #0958A2;
	font-size: 30px;
}
#function .block:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
#function .block:nth-child(even) figure {
	-moz-text-align-last: left;
	     text-align-last: left;
}
#function .block:nth-child(even) .text {
	padding: 0 90px 0 70px;
}
#function .movie {
	text-align: center;
	margin-top: 150px;
}
#function .movie p.caption {
	margin-top: 15px;
	text-align: center;
}
@media (max-width: 779px) {
	#function {
		padding-bottom: 100px;
	}
	#function .block {
		display: block;
		margin-top: 80px;
	}
	#function .block figure {
		width: 100%;
		text-align: center;
	}
	#function .block figure img {
		position: relative;
		-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
		        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
	}
	#function .block .text {
		width: 100%;
		padding: 40px 0 0;
	}
	#function .block .text h4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 16px;
	}
	#function .block .text h4 .icon {
		width: 40px;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		margin-left: 0px;
	}
	#function .block .text h3 {
		color: #0958A2;
		font-size: 24px;
	}
	#function .block:nth-child(even) figure {
		-moz-text-align-last: center;
		     text-align-last: center;
	}
	#function .block:nth-child(even) .text {
		padding: 40px 0 0;
	}
	#function .movie {
		margin-top: 80px;
	}
	#function .movie iframe {
		width: 90vw;
		height: 50.625vw;
	}
}

/*--------------------------------------
suggestion
--------------------------------------*/
#suggestion {
	background: #D9ECF4;
	padding-bottom: 150px;
}
#suggestion ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
#suggestion ul li {
	width: calc(33.33% - 8px);
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#suggestion ul li:nth-of-type(2), #suggestion ul li:nth-of-type(4), #suggestion ul li:nth-of-type(5) {
	margin-left: 12px;
}
#suggestion ul li:nth-of-type(-n + 2) {
	width: calc(50% - 6px);
}
#suggestion ul li:nth-of-type(n + 3) {
	margin-top: 12px;
}
#suggestion ul li figure {
	height: 200px;
	background: #0958A2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#suggestion ul li .text {
	padding: 25px 40px 30px;
}
#suggestion ul li .text h3 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 10px;
}
#suggestion ul li .text p {
	margin-top: 15px;
	line-height: 1.8;
}
@media (max-width: 779px) {
	#suggestion {
		padding-bottom: 100px;
	}
	#suggestion ul {
		display: block;
	}
	#suggestion ul li {
		width: auto;
	}
	#suggestion ul li:nth-of-type(2), #suggestion ul li:nth-of-type(4), #suggestion ul li:nth-of-type(5) {
		margin-left: 0;
	}
	#suggestion ul li:nth-of-type(-n + 2) {
		width: auto;
	}
	#suggestion ul li:nth-of-type(n + 2) {
		margin-top: 12px;
	}
	#suggestion ul li figure {
		height: 150px;
		padding: 15px;
	}
	#suggestion ul li figure img {
		max-height: 100%;
		width: auto;
	}
	#suggestion ul li .text {
		padding: 25px 25px 25px;
	}
	#suggestion ul li .text h3 {
		font-size: 18px;
		text-align: center;
		margin-bottom: 10px;
	}
	#suggestion ul li .text p {
		margin-top: 15px;
		line-height: 1.8;
	}
}

/*--------------------------------------
case study
--------------------------------------*/
#casestudy {
	padding-bottom: 150px;
}
#casestudy .inner {
	padding: 0 60px;
}
#casestudy .block {
	margin-top: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#casestudy .block figure {
	width: 50%;
	margin-right: 60px;
	border-radius: 18px;
	overflow: hidden;
}
#casestudy .block .text {
	width: 50%;
}
#casestudy .block .text h4 {
	font-size: 28px;
	margin-bottom: 15px;
}
#casestudy .block .text p.name {
	font-size: 18px;
	margin-bottom: 1em;
}
#casestudy .whitepaper {
	margin-top: 150px;
	background: #D9ECF4;
	padding: 60px 20px;
	text-align: center;
}
#casestudy .whitepaper h3 {
	font-size: 16px;
	text-align: center;
	line-height: 1.5;
	color: #0958A2;
}
#casestudy .whitepaper a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 30px auto auto;
	width: 600px;
	max-width: 100%;
	height: 60px;
	background: #0958A2;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	border-radius: 8px;
}
#casestudy .whitepaper a img {
	margin-right: 15px;
}
@media (max-width: 779px) {
	#casestudy {
		padding-bottom: 50px;
	}
	#casestudy .inner {
		padding: 0 5vw;
	}
	#casestudy .block {
		margin-top: 80px;
		display: block;
	}
	#casestudy .block figure {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 20px;
		border-radius: 12px;
	}
	#casestudy .block .text {
		width: 100%;
	}
	#casestudy .block .text h4 {
		font-size: 21px;
		margin-bottom: 15px;
	}
	#casestudy .block .text p.name {
		font-size: 16px;
	}
	#casestudy .whitepaper {
		margin-top: 100px;
		padding: 40px 20px;
		text-align: left;
	}
	#casestudy .whitepaper h3 {
		font-size: 15px;
		text-align: left;
	}
	#casestudy .whitepaper a {
		height: 50px;
	}
}

/*--------------------------------------
contact
--------------------------------------*/
#contact h2 {
	margin-top: 100px;
	margin-bottom: 50px;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
}
#contact .contact .frame {
	padding: 60px 20px;
	background: rgba(254, 219, 53, 0.1);
}
#contact .contact a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: auto auto;
	width: 600px;
	max-width: 100%;
	height: 60px;
	background: #FEDB35;
	font-size: 18px;
	font-weight: bold;
	border-radius: 8px;
}
#contact .contact a img {
	margin-right: 15px;
}
#contact .apply {
	padding: 80px 0 10px;
	margin: auto;
	max-width: 820px;
}
#contact .apply h2 {
	margin-top: 40px;
}
@media (max-width: 779px) {
	#contact h2 {
		margin-top: 80px;
		margin-top: 40px;
		font-size: 24px;
	}
	#contact .contact .frame {
		padding: 30px 20px;
	}
	#contact .apply {
		margin-top: 80px;
	}
	#contact .apply a {
		font-size: 16px;
	}
}

/*--------------------------------------
footer
--------------------------------------*/
footer .upper {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 100px auto 50px;
}
footer .upper .text {
	text-align: left;
	padding-left: 30px;
}
footer .upper .text p {
	line-height: 1.3125;
	margin-top: 10px;
}
footer .lower {
	padding: 60px 30px 20px;
	background: #111;
	color: #fff;
}
footer .lower h2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 14px;
}
footer .lower h2 img {
	width: 180px;
	margin-right: 20px;
}
footer .lower .copyright {
	margin-top: 30px;
	display: block;
	text-align: right;
	font-size: 12px;
}
@media (max-width: 779px) {
	footer .upper {
		margin: 100px 5vw 50px;
	}
	footer .upper figure {
		width: 40%;
	}
	footer .upper .text {
		width: 60%;
		text-align: left;
		padding-left: 20px;
	}
	footer .upper .text img {
		max-width: 80%;
	}
	footer .upper .text p {
		font-size: 14px;
	}
	footer .lower {
		padding: 40px 30px 110px;
	}
	footer .lower h2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: flex;
		    -ms-flex-align: flex;
		        align-items: flex;
		font-size: 12px;
	}
	footer .lower h2 img {
		width: 180px;
		margin-right: 0;
		margin-bottom: 20px;
	}
	footer .lower .copyright {
		text-align: center;
		font-size: 11px;
	}
}

/*--------------------------------------
#topagetop
--------------------------------------*/
#topagetop {
	display: none;
}

/*--------------------------------------

--------------------------------------*/
/*--------------------------------------

--------------------------------------*/
/*--------------------------------------

--------------------------------------*/
/*# sourceMappingURL=index.css.map */