@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html, body {
	scroll-behavior: smooth;
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

b, strong {
	font-weight: bolder;
}

code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

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 {
	border-style: none;
}

button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button, input {
	overflow: visible;
}

button, select {
	text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type=checkbox], [type=radio] {
	box-sizing: border-box;
	padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/* Base Style
---------------------------------------- */
html {
	overflow-y: scroll;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}
* {
	margin:0;
	padding:0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
*,:before,:after{
	transition: .3s;
}
body {
	font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",Meiryo,"ＭＳ Ｐゴシック", sans-serif;
	width: 100%;
	font-size:15px;
	font-size:1.5rem;
	font-weight: 400;
	line-height:1.8;
	letter-spacing: 0.05em;
/*	overflow: hidden;*/
	overflow: clip;
	position: relative;
	color: #333;
}
h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
	line-height: 1.4;
}
ul,ol {
	list-style: none;
}
b,strong {
	font-weight: bolder;
}
input{
	border:none;
}
small {
	font-size: 80%;
}
img {
	image-rendering: -webkit-optimize-contrast;
	border-style: none;
	max-width:100%;
	height:auto;
}
a {
	color:#333333;
}
a:hover,
a:link,
a:visited,
a:active{
	color:#333333;
	text-decoration:none;
}
:focus {
	outline: none;
}

form {
	width: 100%;
}
select {
	border: none;
	background: #ffffff;
	border: 1px solid #afafaf;
	padding: 8px;
	border-radius: 4px;
	width: 190px;
	margin-bottom: 16px;
}
input[type="text"],
input[type="date"],
input[type="email"],
textarea {
	width: 100%;
	padding:13px 16px;
	border-radius: 4px;
	margin-bottom: 13px;
	border: 1px solid #afafaf;
}
input[type="date"]{
	max-width: 240px;
}
input[type="checkbox"],
input[type="radio"]  {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
    cursor: pointer;
    padding-left: 30px;
    vertical-align: middle;
    position: relative;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after,
input[type="radio"]::before,
input[type="radio"]::after {
	content: "";
	display: block; 
	position: absolute;
}
input[type="checkbox"]::before,
input[type="radio"]::before {
	background-color: #ffffff;
	border: 1px solid #333333;
	border-radius: 3px;
	width: 13px;
	height: 13px;
	transform: translateY(-60%);
	top: 50%;
	left: 5px;
}
input[type="checkbox"]::after,
input[type="radio"]::after  {
	border-bottom: 3px solid #666464;
	border-left: 3px solid #666464;
	opacity: 0;
	height: 6px;
	width: 11px;
	transform: rotate(-45deg);
	top: -7px;
	left: 10px;
}
input[type="checkbox"]:checked::after,
input[type="radio"]:checked::after {
	opacity: 1;
}
form .submit{
	display: flex;
	justify-content: center;
	max-width: 600px;
	margin:auto;
}
form .submit p{
	width: 70%;
	margin:0 11px;
	text-align: center;
}

@media screen and (max-width:1024px) {
	form .submit{
		display: block;
	}
	form .submit p{
		margin: auto;
	}
}



/* l_header
---------------------------------------- */
.l_header{
}
.l_header .l_gnav{
	position: absolute;
	display: flex;
	justify-content:space-between;
	align-items: center;
  left: 0;
  right: 0;
	width: 97%;
	margin: 20px auto 0;
	padding: 16px 24px;
	z-index: 9;
	background: #ffffff;
	border-radius: 100px;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
}
.l_header .l_gnav h1{
	max-width:280px; 
	width: 34%;
	padding:8px 13px;
}
.l_header .l_gnav h1 a{
  display: flex;
  align-items: center;
}
.l_header .l_gnav .l_gnav_list{
	display: flex;
	justify-content:flex-end;
	align-items: center;
	width:100%;
	padding-left: 24px;
}
.l_header .l_gnav .l_gnav_list li a,
.l_footer_nav .footer-navi li a{
	display: block;
	padding: 11px 16px 11px 16px;
	font-size: 12px;
	font-weight: 600;
}
.l_footer_nav .footer-navi li a{
	font-weight: 500;
}
.l_header .l_gnav .l_gnav_list li.inquiry a,
.l_footer_nav .footer-navi li.inquiry a{
	margin-left: 1.2rem;
	padding: 10px 16px 10px 32px;
	border-radius: 100px;
	background:#ec2340;
}
.l_footer_nav .footer-navi li.inquiry a{
	padding: 10px 15px 10px 46px;
	max-width: 280px;
}
.l_header .l_gnav .l_gnav_list li.download a,
.l_footer_nav .footer-navi li.download a{
	margin-left: 1.4rem;
	padding: 10px 16px 10px 32px;
	border-radius: 100px;
	background:#085fa2;
}
.l_footer_nav .footer-navi li.download a{
	padding: 10px 16px 10px 32px;
	max-width: 280px;
}
.l_header .l_gnav .l_gnav_list li a span {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
}
.l_header .l_gnav .l_gnav_list li.inquiry a span,
.l_header .l_gnav .l_gnav_list li.download a span{
	color: #ffffff;
}
.l_header .l_gnav .l_gnav_list li a span:after{
	content:"";
	display: block;
	position:absolute;
	left:-2.0rem;
	width: 0.6rem;
  height: 1.6rem;
	margin-left: 6px;
	background-image: url(../images/common/icon_link_arrow.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:100%;
}
.l_header .l_gnav .l_gnav_list li.inquiry a span:after,
.l_header .l_gnav .l_gnav_list li.download a span:after{
	background-image: url(../images/common/icon_link_arrow_white.png);
	background-position:right center;
}
.l_header .l_gnav .l_gnav_list li a:hover span:after{
	left:-1.8rem;
}


@media screen and (max-width:1024px) {
  .l_header .l_gnav{
    padding: 13px;
  }
  .l_header .l_gnav .l_gnav_list{
    display:none;
  }
	.l_header .l_gnav .spNavBtn {
		position:fixed;
	  display: flex;
	  flex-direction: column;
	  justify-content: center;
	  align-items: center;
	  right: 10px;
	  top: 24px;
	  height: 46px;
	  width: 60px;
	  z-index:999;
	  cursor: pointer;
	  font-size: 10px;
	  font-weight: bold;
	  color: #fff;
	}
	.l_header .l_gnav .spNavBtn .inner {
	  display: flex;
	  flex-direction: column;
	  justify-content: space-between;
	  height: 17px;
	  width: 24px;
	}
	.l_header .l_gnav .spNavBtn .inner span {
	  display: block;
	  height: 3px;
	  width: 100%;
	  background: #333333;
	  border-radius: 2px;
	}
}
@media screen and (max-width:768px) {
  .l_header .l_gnav h1{
  	max-width: 240px;
  	width: 56%;
  }
}


/* l_spNav
---------------------------------------- */
.l_spNav{
	position:fixed;
	width: 100%;
	height:100%;
	background-color:#085fa2;
	background-image: url(../images/common/bg_keyvisual.jpg);
	background-position:left top;
	background-repeat: no-repeat;
	background-size: auto;
	z-index:99;
	left: -200%;
}
.l_spNav.is-active{
	display:block;
	left: 0;
}
.l_spNav > .inner{
	max-width:420px;
	width:88%;
	margin:auto;
	padding:34px 0 24px;
}
.l_spNav h1{
	margin: auto;
	max-width: 130px;
	width:64%;
	padding-top: 48px;
}
.l_spNav .l_gnav_list li:not(.btn){
	border-bottom: 1px solid #ff9982;
	background-image: url(../images/common/icon_link_arrow_white.png);
	background-position:97% center;
	background-repeat:no-repeat;
	background-size:8px;
}
.l_spNav .l_gnav_list li.newsrelease{
	border:none;
}
.l_spNav .l_gnav_list li a{
	display: block;
	padding: 13px 32px 13px 40px;
	font-size: 13px;
	background-position:left center;
	background-repeat:no-repeat;
	background-size:24px;
	color: #ffffff;
}
.l_spNav .l_gnav_list li:hover{
	background-position:98% center;
}
.l_spNav .l_gnav_list li.btn{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	padding-top: 24px;
}
.l_spNav .l_gnav_list li.btn a{
	width: 48%;
	padding: 10px 15px 10px 46px;
	border: 1px solid #085fa2;
	border-radius: 100px;
	background-color: #085fa2;
	background-position: 8% center;
	background-size:8px;
	text-align: center;
	color: #ffffff;
}
.l_spNav .l_gnav_list li.btn a:hover{
	background-position: 9% center;
}
.l_spNav .l_gnav_list li.btn a.inquiry{
	background-color: #ffffff;
	border: 1px solid #ec2340;
	color: #ec2340;
	background-image: url(../images/common/icon_link_arrow.png);
}
.l_spNav .l_gnav_list li.btn a.download{
	background-image: url(../images/common/icon_link_arrow_white.png);
}
.l_spNav .copylight{
	font-size: 12px;
	text-align: center;
}

@media screen and (max-width:520px) {
	.l_spNav .l_gnav_list li.btn{
		display: block;
	}
	.l_spNav .l_gnav_list li.btn a{
		margin: 0 auto 16px;
		width: 80%;
	}
}


/* main
---------------------------------------- */
main {
	display: block;
	width: 100%;
/*	padding-top: 120px;*/
  background-color: #e9eeef;
}
main.index{
	background-image: url(../images/common/bg_keyvisual.jpg);
  background-repeat: repeat-x;
  background-position: center top;
  background-size: auto;
}
main .list_btn{
	margin-left:13px;
	margin-right:13px;
	padding-bottom:13px;
	padding-top: 34px;
}
main .list_btn a{
	display:block;
	max-width: 200px;
	padding: 8px 13px 8px 8px;
	margin-left: auto;
	font-size: 1.2rem;
	border:1px solid #333333;
	border-radius: 100px;
}
main .list_btn a span{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
main .list_btn a span:after{
	content:"";
	display: block;
	position: absolute;
	width: 8px;
	height: 16px;
	right: 0;
	background-image: url(../images/common/icon_link_arrow.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:100%;
}
main .list_btn a span:hover:after{
	right: -3px;
}
main .link_btn{
	margin-left:13px;
	margin-right:13px;
	padding-bottom:13px;
	padding-top:32px;
}
main .link_btn a{
	display:block;
	max-width: 320px;
	padding: 11px 13px 11px 24px;
	margin: 24px auto 0;
	font-size: 1.5rem;
	background: #1e487b;
	border-radius: 100px;
	color:#ffffff;
}
main .link_btn a span{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
main .link_btn a span:after{
	content:"";
	display: block;
	position: absolute;
	width: 8px;
	height: 13px;
	left: 0%;
	background-image: url(../images/common/icon_link_arrow_white.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:100%;
}
main .link_btn a span:hover:after{
	right: -3px;
}
main .link_txt a{
	display:block;
	padding: 8px 8px 8px 24px;
	font-size: 1.4rem;
	color:#ffffff;
}
main .link_txt a span{
	position: relative;
	display: flex;
	align-items: center;
}
main .link_txt a span:after{
	content:"";
	display: block;
	position: absolute;
	width: 6px;
	height: 13px;
	left: -16px;
	background-image: url(../images/common/icon_link_arrow_white.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:100%;
}
main .pankuzu ul{
	display: flex;
	padding-top: 24px;
}
main .pankuzu ul li{
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 3.0rem;
	font-size: 1.3rem;
}
main .pankuzu ul li:after{
	content:"";
	display: block;
	position: absolute;
	width: 13px;
	height: 13px;
	right: -1.6rem;
	background-image: url(../images/common/icon_link_arrow.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:11px;
}
main .pankuzu ul li:last-child:after{
	content: none;
}

@media screen and (max-width:768px) {
	main .pankuzu ul{
		display: block;
	}
	main .pankuzu ul li{
		display: inline-flex;
	}
}






/* l_contents
---------------------------------------- */
.l_contents{
	position: relative;
/*	padding-top: 40px;*/
	z-index: 1;
}
.l_contents section:nth-child(1){
	padding-top: 180px;
	background: #ffffff;
	padding-bottom: 32px;
}
main.index .l_contents section:nth-child(1){
	background: none;
}
.l_contents h1.heading{
	padding-top: 40px;
	background-image: url(../images/common/logo_icon.svg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:100px;
	line-height: 1.4;
	text-align: center;
	font-size: 4.2rem;
	color: #0570a8;
}
.l_contents h1.heading span{
	display:block;
	padding-top: 8px;
	font-size: 1.4rem;
	color: #333333;
}
.l_contents h2.heading{
	padding-top: 40px;
	background-image: url(../images/common/logo_icon.svg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:100px;
	line-height: 1.4;
	text-align: center;
	font-size: 4.2rem;
	color: #0570a8;
}
.l_contents h2.heading span{
	display:block;
	padding-top: 8px;
	font-size: 1.4rem;
	color: #333333;
}
.l_contents h3.heading{
	line-height: 1.4;
	font-size: 3.0rem;
}

.l_contents .cta.btn{
	display: flex;
	justify-content:space-between;
	align-items: center;
	padding-top: 24px;
	max-width: 540px;
}
.l_contents .cta.btn a{
	display: block;
	padding: 11px 16px 11px 32px;
	margin-bottom: 16px;
	max-width: 280px;
	width: 48%;
	border: 1px solid #ec2340;
	border-radius: 100px;
	background-color:#ffffff;
	background-image: url(../images/common/icon_link_arrow.png);
	background-position:12px center;
	background-repeat:no-repeat;
	background-size:8px;
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
}
.l_contents .cta.btn a:hover{
	background-position:16px center;
}
.l_contents .cta.btn a.inquiry{
	color: #ec2340;
}
.l_contents .cta.btn a.download{
	border: 1px solid #085fa2;
	background-color:#085fa2;
	background-image: url(../images/common/icon_link_arrow_white.png);
	color: #ffffff;
}

@media screen and (max-width:768px) {
	.l_contents section:nth-child(1){
		padding-top: 160px;
	}
	.l_contents h1.heading{
		font-size: 2.8rem;
	}
	.l_contents h2.heading{
		font-size: 2.8rem;
	}
	.l_contents h3.heading{
		font-size: 2.2rem;
	}
	.l_contents .cta.btn a{
		padding: 11px 1.2vw 11px 4.2vw;
		font-size: 1.3rem;
	}
}


/* keyvisual _index
---------------------------------------- */
.index .keyvisual{
	position: relative;
	max-width: 1600px;
	margin: auto;
	width: 100%;
	margin-bottom: 23vw;
}
.index .keyvisual:before{
	content:"";
	display: block;
	position: absolute;
	width: 677px;
	height: 680px;
	right: -10%;
	top: 24%;
	background-image: url(../images/index/bg_keyvisual_index.png);
	background-position:right top;
	background-repeat:no-repeat;
	background-size:100%;
	z-index: 1;
}
.index .keyvisual:after{
	content:"";
	display: block;
	position: absolute;
	width: 788px;
	height: 492px;
	right: -2%;
	top: 50%;
	background-image: url(../images/index/img_keyvisual_index.png);
	background-position:right top;
	background-repeat:no-repeat;
	background-size:100%;
	z-index: 1;
}
.index .keyvisual .inner{
	position: relative;
	max-width: 1600px;
	margin-left: 4vw;
/*	width: 64%;*/
	width: 52%;
	z-index: 9;
}
.index .keyvisual .achievement{
	max-width: 520px;
	width: 90%;
}
.index .keyvisual h1{
	padding-top: 40px;
}
.index .keyvisual h2{
	padding-top: 24px;
}
.index .keyvisual h2 span {
  display: table;
  margin-bottom: 8px;
  background: #30456c;
  color: #ffffff;
  line-height: 1.4;
  padding: 0 10px 3px 10px;
  font-style: italic;
}

@media screen and (min-width:1600px) {
	.index .keyvisual{
		margin-bottom: 380px;
	}
}
@media screen and (max-width:1480px) {
	.index .keyvisual:before{
		width: 40%;
	}
	.index .keyvisual:after{
		width: 48%;
	}
}
@media screen and (max-width:1024px) {
	.index .keyvisual h2 span{
		font-size: 3.4vw;
	}
	.index .keyvisual:before{
		width: 40%;
		background-size: 100%;
		top: -130px;
		top: 40px;
		right: -5%;
	}
	.index .keyvisual:after{
		width: 54%;
		background-size: 100%;
		top: -55px;
		top: 105px;
		right: -5%;
	}
	.index .keyvisual .inner{
/*		padding-top: 4vw;*/
		margin-left: 6vw;
		width: 84vw;
	}
	.index .keyvisual h1 {
	  padding-top: 4vw;
	  max-width: 500px;
	}
	.index .keyvisual h2 {
	  padding-top: 2.4vw;
	}
}

@media screen and (max-width:1024px) {
	.index .keyvisual .achievement{
		max-width: 520px;
		width: 64%;
	}
}



/* about
---------------------------------------- */
section.about{
	padding-top: 16px;
	position: relative;
	padding-bottom: 16vw;
	background-color: #0570a8;
}
section.about:after{
	content:"";
	display: block;
	position: absolute;
	width: 100%;
	height: 500px;
	top: -15vw;
	background-image: url(../images/common/bg_maru_blue.svg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:150%;
	z-index: 1;
}
.about .inner{
	position: relative;
	max-width: 1140px;
	width: 84%;
  margin: auto;
  margin-top: -140px;
	z-index: 9;
}
.about .lead{
	background-image: url(../images/index/img_about.png);
	background-position:right bottom;
	background-repeat:no-repeat;
	background-size:34%;
	color: #ffffff;
}
.about .lead h2{
	padding-top: 40px;
	font-size: 4.2rem;
	line-height: 1.4;
}
.about .lead h3{
	padding-top: 16px;
	padding-bottom: 24px;
	font-size: 1.8rem;
	line-height: 1.6;
}
.about .lead .text{
	max-width: 640px;
	width: 70%;
	text-align: justify;
	font-weight: 400;
}
.about .lead .text p{
	padding-bottom: 16px;
}
.about .interview{
	position: relative;
	padding-top: 24px;
}
.about .interview .link_txt {
  position: absolute;
  top: 40px;
  left: 20px;
}

@media screen and (min-width:1600px) {
	section.about::after{
		top: -240px;
	}
}
@media screen and (min-width:1400px) {
	section.about:after{
		background-size:2100px;
	}
}
@media screen and (max-width:768px) {
	.about .inner{
		background-size:46%;
		padding-top: 60px;
		padding-top: 120px;
	}
	.about .lead{
		padding-bottom: 12vw;
	}
	.about .lead h2 {
	  font-size: 3.2rem;
	}
	.about .lead h3 {
	  font-size: 1.8rem;
	}
	.about .lead .text{
		width: 100%;
		font-size: 1.4rem;
	}
}
@media screen and (max-width:640px) {
	.about .interview .link_txt {
		position: relative;
		top: 0;
		left: 0;
	}
}


/* feature
---------------------------------------- */
section.feature{
	position: relative;
	padding-bottom:80px;
	background-color: #ffffff;
}
section.feature:after{
	content:"";
	display: block;
	position: absolute;
	width: 100%;
	height: 500px;
	top: -10vw;
	background-image: url(../images/common/bg_daen_white.svg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:150%;
	z-index: 1;
}
.feature .inner{
	position: relative;
	padding-top: 60px;
	max-width: 1140px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.feature .feature_num{
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.feature .feature_num.feature2{
	flex-flow: row-reverse;
}
.feature .feature_num .num{
	font-size: 6.0rem;
	font-weight: 700;
	color: #f0494d;
}
.feature .feature_num .text {
  max-width: 560px;
  width: 53%;
}
.feature .feature_num .text h3{
	font-size: 4.0rem;
	line-height: 1.4;
}
.feature .feature_num .text p{
	padding-top: 16px;
	font-size: 1.8rem;
}
.feature .feature_num .image {
  width: 44%;
}

@media screen and (max-width:1024px) {
	.feature .feature_num .text h3{
		font-size: 3.0rem;
	}
}
@media screen and (max-width:768px) {
	.feature .text p{
		font-size: 1.4rem;
	}
}
@media screen and (max-width:640px) {
	.feature .feature_num{
		display: block;
	}
	.feature .feature_num .text {
	  width: 100%;
	}
	.feature .feature_num .text h3{
		font-size: 2.4rem;
	}
	.feature .feature_num .text p{
		font-size: 1.6rem;
	}
	.feature .feature_num .image {
	  width: 90%;
	  max-width: 460px;
	  padding-top: 24px;
	  margin-right: 0;
    margin-left: auto;
	}
}


/* solution
---------------------------------------- */
section.solution{
	position: relative;
	padding-top:120px;
	padding-bottom:80px;
	background-color: #fcede4;
	border-radius: 0 24vw 0 0;
}
section.solution:after{
	content:"";
	display: block;
	position: absolute;
	width: 105%;
	height: 100%;
	top: 0;
	right: -5%;
	background-color: #fcede4;
	border-radius: 0 24vw 0 0;
	z-index: 1;
}
.solution .inner{
	position: relative;
	max-width: 1140px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.solution h2.heading{
	background-image: none;
	font-size: 4.0rem;
}
.solution h2.heading br{
	display: none;
}
.solution p.lead {
  font-weight: 600;
  max-width: 920px;
  margin: 13px auto 0;
  text-align: center;
}
.solution p.lead br{
	display: block;
}
.solution .solution_list{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.solution .solution_list .solution_num{
	padding-top: 40px;
	width: 30%;
}
.solution .solution_list .solution_num h3 {
  text-align: center;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 80px 0 150px;
  font-size: 2.2rem;
  line-height: 1.6;
}
.solution .solution_list .solution_num:nth-child(1) h3{
	background-image: url(../images/index/bg_solution01.png);
}
.solution .solution_list .solution_num:nth-child(2) h3{
	background-image: url(../images/index/bg_solution02.png);
}
.solution .solution_list .solution_num:nth-child(3) h3{
	background-image: url(../images/index/bg_solution03.png);
}
.solution .solution_list .solution_num p {
	font-size: 1.4rem;
}

@media screen and (min-width:1401px) {
	.solution .solution_list .solution_num h3 {
  	padding: 80px 0 150px;
	}
}
@media screen and (max-width:1400px) {
	.solution .solution_list .solution_num h3 {
  	padding: 5.5vw 0 11.5vw;
	}
}
@media screen and (max-width:1024px) {
	.solution h2.heading{
		font-size: 3.0rem;
	}
	.solution h2.heading br{
		display: block;
	}
	.solution p.lead br{
		display: none;
	}
	.solution .solution_list .solution_num h3 {
		font-size: 1.8vw;
	}
}
@media screen and (max-width:768px) {
	.solution .solution_list{
		display: block;
	}
	.solution .solution_list .solution_num{
		width:100%;
	}
	.solution .solution_list .solution_num .text{
		display: flex;
		justify-content: space-around;
		align-items: flex-start;
	}
	.solution .solution_list .solution_num h3  {
		max-width: 40%;
		min-width: 200px;
		padding: 44px 0 80px;
		font-size: 1.4rem;
  }
	.solution .solution_list .solution_num p {
		width: 64%;
		padding-top: 20px;
		padding-left: 20px;
	}
}
@media screen and (max-width:520px) {
	.solution .solution_list .solution_num .text{
		display: block;
	}
	.solution .solution_list .solution_num h3{
		margin: auto;
	}
	.solution .solution_list .solution_num p{
		margin: auto;
		padding-left: 0;
    width: 90%;
    text-align: justify;
	}
}


/* case
---------------------------------------- */
section.case{
	position: relative;
	padding-top:120px;
	padding-bottom:80px;
	background-color: #dce7ed;
}
.case .inner{
	position: relative;
	max-width: 1140px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.case h2.heading{
	background-image: none;
	font-size: 4.0rem;
}
.case h2.heading br{
	display: none;
}
.case p.lead {
  font-weight: 600;
  max-width: 920px;
  margin: 13px auto 0;
  text-align: center;
}
.case .case_list{
	padding-top: 60px;
	display: flex;
	justify-content: space-around;
/*	align-items: flex-start;*/
}
.case .case_list .case_num{
	padding-top: 40px;
	width: 31%;
	background:rgba(255,255,255,0.9);
	box-shadow: 0px 0px 15px -8px #709bbe;
	border-radius: 10px;
	padding: 24px 16px;
  margin-bottom: 24px;
}
.case .case_list .case_num h3{
	padding-bottom: 16px;
	margin-bottom: 13px;
	border-bottom: 1px dotted #313131;
	background-image: url(../images/index/icon_case_category.png);
	background-position:left 24%;
	background-repeat:no-repeat;
	background-size:24px;
	text-align: center;
	font-size: 1.6rem;
	color: #132b51;
}
.case .case_list .case_num dl{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding-top: 8px;
	font-size: 1.4rem;
	font-weight: 500;
}
.case .case_list .case_num dl dt {
  background: #e8e8e8;
  padding: 2px 4px;
  margin-right: 12px;
  font-size: 1.2rem;
  min-width: 40px;
  text-align: center;
  border-radius: 24px;
}
.case .case_list .case_num h4 {
	position: relative;
  text-align: center;
  background: #e8e8e8;
  border-radius: 4px;
  padding: 4px 24px;
  margin-top: 24px;
  font-size: 1.3rem;
	color: #132b51;
}
.case .case_list .case_num h4:after{
	content:"";
	display: block;
	position: absolute;
	width: 28px;
	height: 36px;
	bottom: 0;
	left: 2px;
	background-image: url(../images/index/icon_case.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100%;
}
.case .case_list .case_num .lead{
	color: #132b51;
}
.case .case_list .case_num .lead br{
	display: block;
}

@media screen and (max-width:1200px) {
	.case .case_list .case_num .lead br{
		display: none;
	}
}
@media screen and (max-width:1024px) {
	.case h2.heading {
    font-size: 3.0rem;
  }
	.case h2.heading br{
		display: block;
	}
	.case .case_list{
		display: block;
	}
	.case .case_list .case_num{
		width: 100%;
	}
	.case .case_list .case_num .lead br{
		display: block;
	}
}


/* achievement
---------------------------------------- */
section.achievement{
	position: relative;
	padding-top:60px;
	padding-bottom:60px;
	text-align: center;
	background-color: #ffffff;
}
.achievement .inner{
	position: relative;
	max-width: 1024px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.achievement .achievement_list{
	padding-top: 24px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.achievement .text{
	width: 32%;
	width: 46%;
	max-width: 200px;
	margin-right: 8px;
	margin-left: 8px;
	background-image: url(../images/index/bg_achievement_l.png),url(../images/index/bg_achievement_r.png);
	background-position: left center,right center;
	background-repeat: no-repeat,no-repeat;
	background-size: auto 100%,auto 100%;
	line-height: 1.2;
	font-weight: 700;
}
/*.achievement .text:last-child{
	width: 20%;
}*/
.achievement .text small{
	line-height: 1;
	font-size: 1.0rem;
	letter-spacing: 0;
}
.achievement .text p{
	line-height: 1;
	font-size: 3.0rem;
	letter-spacing: 0;
}
.achievement .text p span{
	font-size: 2.0rem;
}

@media screen and (max-width:520px) {
	.achievement h3 br{
		display: none;
	}
	.achievement .text small{
		font-size: 2.2vw;
	}
	.achievement .text p{
		font-size: 5.5vw;
	}
	.achievement .text p span{
		font-size: 3vw;
	}
}


/* service
---------------------------------------- */
section.service{
	position: relative;
	padding-top:120px;
	padding-bottom:80px;
	background-image: url(../images/common/bg_keyvisual.jpg);
	background-position:left top;
	background-repeat: repeat;
	background-size: auto;
}
.service .inner{
	position: relative;
	max-width: 1140px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.service h2.heading{
	color: #ffffff;
}
.service h2.heading span{
	color: #ffffff;
}
.service h3.heading{
	padding-top: 24px;
	font-size: 2.0rem;
	color: #ffffff;
}
.service p.lead {
  font-weight: 600;
  max-width: 920px;
  margin: 13px auto 0;
  text-align: center;
}
.service .service_list{
	padding-top: 16px;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}
.service .service_list::after{
	content: "";
	display: block;
	width: 32%;
}
.service .service_list .service_num{
	padding-top: 40px;
	width: 32%;
	background:#ffffff;
	border-radius: 10px;
	padding: 13px 24px 24px;
  margin-bottom: 24px;
}
.service .service_list .service_num .item{
	font-size: 1.5rem;
	letter-spacing: 0.05rem;
  font-weight: 500;
  padding-top: 8px;
  padding-bottom: 10px;
  padding-left: 32px;
  border-bottom: 1px dotted #333333;
	background-position:left center;
	background-repeat: no-repeat;
	background-size: 20px;
}
.service .service_list .service_num.produce .item{
	background-image: url(../images/index/icon_service_produce.png);
}
.service .service_list .service_num.supplies .item{
	background-image: url(../images/index/icon_service_supplies.png);
}
.service .service_list .service_num.voc-report .item{
	background-image: url(../images/index/icon_service_voc-report.png);
}
.service .service_list .service_num.package .item{
	background-image: url(../images/index/icon_service_package.png);
}
.service .service_list .service_num.questionnaire .item{
	background-image: url(../images/index/icon_service_questionnaire.png);
}
.service .service_list .service_num.venue .item{
	background-image: url(../images/index/icon_service_venue.png);
}
.service .service_list .service_num.online .item{
	background-image: url(../images/index/icon_service_online.png);
}
.service .service_list .service_num.scout .item{
	background-image: url(../images/index/icon_service_scout.png);
}
.service .service_list .service_num.banner .item{
	background-image: url(../images/index/icon_service_banner.png);
}
.service .service_list .service_num.facilitator .item{
	background-image: url(../images/index/icon_service_facilitator.png);
}
.service .service_list .service_num.host .item{
	background-image: url(../images/index/icon_service_host.png);
}
.service .service_list .service_num.slide .item{
	background-image: url(../images/index/icon_service_slide.png);
}
.service .service_list .service_num.writer .item{
	background-image: url(../images/index/icon_service_writer.png);
}
.service .service_list .service_num.record .item{
	background-image: url(../images/index/icon_service_record.png);
}
.service .service_list .service_num .tag{
	font-size: 1.0rem;
	letter-spacing: 0.05rem;
}
.service .service_list .service_num .text{
	padding-top: 13px;
	font-size: 1.4rem;
	text-align: justify;
}

@media screen and (max-width:768px) {
	.service .service_list{
		display: block;
	}
	.service .service_list .service_num{
		width: 100%;
	}
}


/* report
---------------------------------------- */
section.report{
	position: relative;
	padding-bottom:80px;
	background-color: #0570a8;
}
.report .inner{
	position: relative;
	padding-top: 60px;
	max-width: 980px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.report h2.heading{
	color: #ffffff;
	background-image: none;
}
.report h2.heading span{
	color: #ffffff;
}
.report p.lead {
  font-weight: 600;
  max-width: 920px;
  margin: 13px auto 0;
  text-align: center;
	color: #ffffff;
}
.report .report_num{
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #ffffff;
}
.report .report_num.report2{
	flex-flow: row-reverse;
}
.report .report_num .num{
	padding-bottom: 4px;
	border-bottom: 2px solid #ffffff;
	font-size: 5.0rem;
	font-weight: 700;	
}
.report .report_num .num small{
	font-size: 1.8rem;
	padding-right: 8px;
}
.report .report_num .text {
  max-width: 560px;
  width: 53%;
}
.report .report_num .text h3{
	padding-top: 16px;
	line-height: 1.4;
	font-size: 3.2rem;
}
.report .report_num .text p{
	padding-top: 16px;
	font-size: 1.8rem;
}
.report .report_num .image {
  width: 40%;
  padding: 40px 20px 0;
}

@media screen and (max-width:1024px) {
	.report .report_num .text h3{
		font-size: 3.0rem;
	}
}
@media screen and (max-width:768px) {
	.report .report_num .text h3{
		font-size: 2.4rem;
	}
	.report .report_num .text p{
		font-size: 1.6rem;
	}
}
@media screen and (max-width:640px) {
	.report .report_num{
		display: block;
	}
	.report .report_num .text {
	  width: 100%;
	}
	.report .report_num .image {
	  width: 70%;
	  max-width: 300px;
	  margin: auto;
	}
}


/* plan
---------------------------------------- */
section.plan{
	position: relative;
	padding-top:120px;
	padding-bottom:80px;
	background-color:#fcede4;
}
.plan .inner{
	position: relative;
	max-width: 1280px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.plan p.lead {
  font-weight: 600;
  max-width: 920px;
  margin: 13px auto 0;
  text-align: center;
}
.plan .plan_list.sp{
	display: none;
}
.plan .plan_list{
	margin-top: 34px;
	display: table;
	width: 100%;
	border-collapse: collapse;
}
.plan .plan_list > div{
	display: table-row;
}
.plan .plan_list > div > div{
	display: table-cell;
	width: 300px;
	background-color: #ffffff;
	border: 3px solid #fcede4;
	padding: 13px 16px;
	line-height: 1.3;
	font-size: 1.3rem;
}
.plan .plan_list.pc .plan_num h4{
	padding-bottom: 6px;
	font-weight: 600;
	font-size: 1.4rem;
}
.plan .plan_list.pc .plan_num .plan_item{
	vertical-align: middle;
	text-align: center;
	width: 180px;
	font-weight: 600;
	font-size: 1.5rem;
}
.plan .plan_list.pc .plan_num .plan_name{
	padding: 13px 0;
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	color: #ffffff;
}
.plan .plan_list .plan_name.self{
	background-color: #e8a412;
}
.plan .plan_list .plan_name.standard{
	background-color: #ee461f;
}
.plan .plan_list .plan_name.pro{
	background-color: #0570a8;
}
.plan .cta.btn{
	margin: auto;
}

@media screen and (max-width:768px) {
	.plan .plan_list.pc{
		display: none;
	}
	.plan .plan_list.sp{
		display: block;
	}
	.plan .plan_list.sp .plan_num{
		margin-top: 24px;
	}
	.plan .plan_list.sp .plan_name{
		padding: 13px 16px;
		font-weight: 600;
		font-size: 1.5rem;
		color: #ffffff;
	}
	.plan .plan_list.sp > div{
		display: block;
	}
	.plan .plan_list.sp > div > div{
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 0;
	}
	.plan .plan_list.sp > div > div > .plan_item{
		width: 120px;
		padding: 13px 16px;
		border-right: 5px solid #fcede4;
		font-weight: 600;
	}
	.plan .plan_list.sp > div > div > div{
		text-align: left;
		width: 80%;
		padding: 13px 16px;
	}
}
@media screen and (max-width:520px) {
	.plan .cta.btn{
		display: block;
	}
	.plan .cta.btn a{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}


/* flow
---------------------------------------- */
section.flow{
	position: relative;
	padding-top:80px;
	padding-bottom:80px;
	background-color: #ffffff;
}
.flow .inner{
	position: relative;
	padding-top: 60px;
	max-width: 1020px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.flow .flow_num{
	position: relative;
	padding-top: 24px;
}
.flow .flow_num:after{
	content:"";
	display: block;
	position: absolute;
	width: 28px;
	height: 36px;
	bottom: -24px;
	left: 0;
	right: 0;
	margin: auto;
	background-image: url(../images/index/icon_arrow_flow.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100%;
}
.flow .flow_num:last-child:after{
	content: none;
}
.flow .flow_num .heading{
	position: relative;
	padding-left: 16px;
	color: #0570a8;
	font-weight: 600;
  font-size: 1.5rem;
}
.flow .flow_num .heading:after{
	content: "";
	display: block;
	position: absolute;
	width: 4px;
	height: 70%;
	top: 15%;
	left: 0;
	background-color: #0570a8;
}
.flow .flow_num .text{
	margin-top: 10px;
	min-height: 84px;
	background-color: #e9eeef;
	font-weight: 500;
	border-radius: 8px;
}
.flow .flow_num .text dl{
	display: flex;
	justify-content: space-between;
	padding: 16px;
}
.flow .flow_num .text dl dt {
  width: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #0570a8;
  color: #0570a8;
	font-weight: 500;
}
.flow .flow_num .text dl dt small {
  background-color: #ffffff;
  padding: 4px;
  text-align: center;
  margin-left: 0;
  margin-right: 0;
  font-weight: 500;
  width: 90px;
}
.flow .flow_num .text dl dt span{
	margin: auto;
}
.flow .flow_num .text dl dd {
  display: flex;
  align-items: center;
  width: 64%;
  min-height: 50px;
  padding-left: 16px;
  font-weight: 400;
  font-size: 1.4rem;
}

@media screen and (max-width:1080px) {
	.flow .flow_num .text dl dd br{
		display: none;
	}
}
@media screen and (max-width:768px) {
	.flow .flow_num .text dl{
		display: block;
	}
	.flow .flow_num .text dl dt{
		width: 100%;
		padding-bottom: 12px;
  	border-right:none;
		border-bottom: 1px solid #0570a8;
	}
	.flow .flow_num .text dl dt br{
		display: none;
	}
	.flow .flow_num .text dl dd{
		width: 100%;
		padding-top: 8px;
	}
	.flow .flow_num .text dl dt span {
	  margin: 0 auto 0 16px;
	}
}

/* faq
---------------------------------------- */
section.faq{
	position: relative;
	padding-top:80px;
	padding-bottom:80px;
	background-color: #e9eeef;
}
.faq h2.heading{
	padding-bottom:40px;
}
.faq .inner{
	position: relative;
	padding-top: 60px;
	max-width: 1020px;
	width: 90%;
  margin: auto;
	z-index: 9;
}
.faq .faq_num{
	position: relative;
	margin-bottom: 24px;
	background-color: #ffffff;
	border-radius: 8px;
}
.faq .faq_num > div {
  display: flex;
  align-items: flex-start;
}
.faq .faq_num > div span.tag {
  width: 36px;
  margin-right: 13px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}
.faq .faq_num .question span.tag {
  color: #f0494d;
}
.faq .faq_num > div p {
	width: 90%;
}
.faq .faq_num .question{
	position:relative;
	padding: 13px 40px 13px 20px;
}
.faq .faq_num .question:after{
	content:"";
	display: block;
	position: absolute;
	width: 11px;
	height: 11px;
	right: 24px;
	top: 40%;
	background-image: url(../images/common/icon_link_arrow_down.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100%;
}
.faq .faq_num .question:hover{
	cursor: pointer;
}
.faq .faq_num.is-active .question:after{
	content:"";
	display: block;
	position: absolute;
	width: 11px;
	height: 11px;
	right: 24px;
	top: 40%;
	background-image: url(../images/common/icon_link_arrow_up.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100%;
}
.faq .faq_num .answer{
	height: 0;
	opacity: 0;
	padding: 0 16px 0 20px;
	background-color: #fef1f1;
	border-radius: 0 0 8px 8px;
}
.faq .faq_num.is-active .answer{
	height: auto;
	opacity: 1;
	padding: 13px 16px 13px 20px;
}


/* inquiry
---------------------------------------- */
section.inquiry{
	position: relative;
	padding-top:24px;
	padding-bottom:80px;
	background: #ffffff;
}
.inquiry .inner{
	display: flex;
	justify-content: space-between;
	flex-flow: row-reverse;
	position: relative;
	padding-top: 60px;
	max-width: 1100px;
	width: 88%;
  margin: auto;
	z-index: 9;
}
.inquiry .summary{
	width: 42%;
}
.inquiry .summary span{
	margin-bottom: 24px;
	line-height: 1;
	display: block;
}
.inquiry .summary h5{
	padding-bottom: 13px;
	font-size: 1.6rem;
	font-weight: 600;
	color: #0570a8;
}
.inquiry .summary ul li{
	padding-left: 1.6rem;
	text-indent: -1.6rem;
}
.inquiry .summary .annotation{
	padding-top: 13px;
}
.inquiry .form{
	width: 50%;
	padding-bottom: 40px;
}
.inquiry .form .lead{
	padding: 16px 0;
	text-align: left;
	font-size: 1.5rem;
}
.inquiry .form table{
	width: 100%;
}
.inquiry .form table tr{
	display: block;
	padding: 4px 0;
	border-bottom: 1px dotted #3a3a3a;
}
.inquiry .form table tr:last-child{
	border: none;
}
.inquiry .form table tr:last-child th{
	display: none;
}
.inquiry .form table th{
	display: inherit;
	text-align: left;
  font-size: 1.2rem;
	font-weight: 400;
}
.inquiry .form table td{
	display: inherit;
	text-align: left;
}
.inquiry .form select{
	width: 100%;
	padding: 13px 16px;
}
.inquiry .form .item .item_name {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  line-height: 1.5;
  padding-bottom: 6px;
}
.inquiry .form .item .item_name small{
	background-color: #fa5852;
	padding: 2px 6px;
	margin-left: 4px;
	border-radius: 3px;
	text-align: center;
	font-size: 1.0rem;
	font-weight: 600;
	color: #ffffff;
}
.inquiry .form .submit.btn input {
  width: 100%;
  padding: 13px 16px;
  border-radius: 4px;
  margin-top: 24px;
  cursor: pointer;
  background: #EA593C;
  color: #fff;
}
.inquiry .form .submit.btn{
	display: flex;
	justify-content: space-around;
}
.inquiry .form .submit.btn p{
	width: 46%;
}
.inquiry .form .red_txt{
	color: #ec2340;
	font-size: 1.3rem;
	font-weight: 500;
}
.inquiry .form span.red {
    position: relative;
    font-size: 0.1rem;
    line-height: 1.8;
}
.inquiry .form span.red:after {
    content: "必須";
    display: inline-flex;
    width: 29px;
    height: 1.2rem;
    background: #cc101c;
    font-size: 1rem;
    align-items: center;
    justify-content: center;
    padding: 3px;
    border-radius: 3px;
    color: #ffffff;
    line-height: 1.8;
}

@media screen and (max-width:768px) {
	.inquiry .inner{
		display: block;
	}
	.inquiry .form{
		width: 100%;
		margin: auto;
	}
	.inquiry .summary{
		width: 100%;
		margin: auto;
	}
	.inquiry .summary .slides{
		display: flex;
		justify-content: space-around;
		flex-flow: wrap;
	}
	.inquiry .summary span{
		max-width: 48%;
		margin: 0 auto 3vw;
	}
}
@media screen and (max-width:520px) {
	.inquiry .summary span{
		max-width: 90%;
	}
	.inquiry .form .submit.btn{
		display: block;
	}
	.inquiry .form .submit.btn p{
		width: 80%;
		margin:auto;
	}
}


/* company
---------------------------------------- */
section.company{
	position: relative;
	padding-top:16px;
	padding-bottom:80px;
	background: #ffffff;
}
.company .inner{
	position: relative;
	padding-top: 20px;
	max-width: 860px;
	width: 88%;
  margin: auto;
	z-index: 9;
}
.company .summary .heading{
	font-size: 2.6rem;
	text-align: center;
	padding-bottom:8px;
}
.company .summary .subheading{
	font-size: 2.0rem;
	text-align: center;
}
.company .summary .lead{
	padding-top: 24px;
	text-align: justify;
}
.company .overview{
	padding-top: 80px;
}
.company .overview h2{
	text-align: center;
	padding-bottom:40px;
}
.company .overview dl{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dotted #333333;
	padding: 18px 0;
}
.company .overview dl dt{
	width: 130px;
	text-align: center;
	font-weight: 500;
}
.company .overview dl dd{
	width: 72%;
}
.company .profile{
	padding-top: 60px;
}
.company .profile .name{
	padding-top: 12px;
	font-size: 1.8rem;
	font-weight: 500;
}
.company .profile .name span{
	display: block;
	font-size: 1.3rem;
}
.company .profile dl{
	padding-top: 40px;
	display: flex;
	justify-content: space-between;
}
.company .profile dl dt{
	width: 40%;
}
.company .profile dl dd{
	width: 56%;
	text-align: justify;
}
.company .profile dl dd h5{
	font-size: 1.6rem;
	padding-top: 24px;
	padding-bottom: 8px;
}

@media screen and (max-width:768px) {
	.company .overview dl{
		display: block;
	}
	.company .overview dl dt {
	  width: auto;
	  text-align: left;
	}
	.company .overview dl dd {
	  width: 100%;
	}
	.company .profile dl{
		display: block;
	}
	.company .profile dl dt{
		margin: auto;
		width: 80%;
		max-width: 300px;
	}
	.company .profile dl dd{
		padding-top: 16px;
		width: 100%;
	}
}


/* interview
---------------------------------------- */
section.interview{
	position: relative;
	padding-top:16px;
	padding-bottom:80px;
	background: #ffffff;
}
.interview .title {
	position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  width: 90%;
  margin: auto;
	background-image: url(../images/interview/img_interview_keyvisual.jpg);
	background-position:right bottom;
	background-repeat:no-repeat;
	background-size:70%;
}
.interview .title h2 {
  position: absolute;
  left: 0;
  bottom: 16px;
  max-width: 60%;
  line-height: 1;
}
.interview .title h2 small {
  position: absolute;
  top: -40px;
  padding: 4px 10px;
  border: 1px solid #ec2340;
  font-size: 1.4rem;
  color: #ec2340;
  letter-spacing: 0;
}
.interview .title h2 span{
  display: inline-flex;
  margin-top: 8px;
  padding: 6px 8px 6px 0;
  background-color: #ffffff;
  font-size: 3.8rem;
}
.interview .inner {
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
  max-width: 1000px;
  max-width: 840px;
  width: 90%;
  margin: auto;
}
.interview .content{
	max-width: 840px;
	width: 80%;
  margin: auto;
  margin-left: 0;
}
.interview .logo_follow{
	width: 15%;
}
.interview .logo_follow p{
	position:sticky;
	top: 100px;
	max-width: 140px;
}
.interview .content h3{
	position: relative;
	padding-top: 34px;
/*	padding-left: 2.0rem;*/
	padding-bottom: 8px;
	margin-bottom: 16px;
	font-size: 2.2rem;
	color: #0c4569;
	border-bottom: 1px dotted #333333;
}
/*.interview .content h3:after{
	content:"-";
	display: block;
	position: absolute;
	width: 2.0rem;
	height: 2.0rem;
	left: 0;
	top: 50%;
}*/
.interview .content p{
	padding-bottom: 16px;
	font-size: 1.5rem;
	text-align: justify;
}
.interview .content ul{
	padding-bottom: 16px;
	font-size: 1.5rem;
}
.interview .content ul li{
	padding-bottom: 4px;
}
.interview .profile{
	margin-top: 24px;
	margin-bottom: 24px;
	padding: 24px 24px;
	background-color: #f3f6f7;
}
.interview .profile h5{
	font-size: 1.5rem;
}
.interview .profile h5 span{
	display: block;
	padding-top: 6px;
	font-size: 1.3rem;
}
.interview .profile p{
	padding-top: 13px;
	font-size: 1.4rem;
}

@media screen and (min-width:1340px) {
	.interview .title{
		height: 530px;
	}
}
@media screen and (max-width:1339px) {
	.interview .title{
		height: 39vw;
	}
	.interview .title h2 span{
		font-size: 2.8vw;
		margin-top: 0.8vw;
	}
}
@media screen and (max-width:768px) {
	.interview .inner{
		padding-top: 16vw;
		display: block;
	}
	.interview .content{
		width: 100%;
	}
	.interview .logo_follow{
		margin: auto;
		padding-top: 40px;
	}
	.interview .title{
		height: 44vw;
		background-size: 80%;
	}
	.interview .title h2{
		max-width: 80%;
		bottom: -9vw;
	}
	.interview .title h2 span{
		font-size: 3.8vw;
	}
	.interview .title h2 small{
		font-size: 2.0vw;
	  top: -6vw;
	}
}


/* .privacy
---------------------------------------- */
section.privacy{
	margin-top: 40px;
}
.privacy .inner {
  max-width: 800px;
  width: 90%;
  margin: auto;
}
.privacy h2 {
  padding-top: 40px;
  padding-bottom: 11px;
  border-bottom: 1px dotted #333333;
  margin-bottom: 8px;
  font-size: 1.8rem;
}
.privacy a {
  color:#0570a8;
}



/* cta
---------------------------------------- */
section.cta{
	position: relative;
  padding-top: 160px;
  padding-bottom: 120px;
  padding-bottom: 8vw;
  z-index: 1;
}
.cta .inner{
	position: relative;
	z-index: 1;
	max-width: 720px;
	width: 90%;
	margin: auto;
  padding: 20px;
  font-weight: 500;
	background-image: url(../images/common/img_cta.png);
	background-position:right top;
	background-repeat:no-repeat;
	background-size:34%;
}
.cta .logo{
	max-width: 240px;
	width: 56%;
}
.cta h2{
	padding-top: 24px;
	color: #085fa2;
	font-size: 3.4rem;
}
.cta .lead{
	padding-top: 8px;
	font-size: 1.8rem;
}
.cta .cta.btn{
	margin: auto;
	padding-top: 50px;
}

@media screen and (min-width:1600px) {
	section.cta::before {
		bottom: -240px;
	}
}
@media screen and (max-width:768px) {
	section.cta{
		padding-top: 16vw;
	}
}
@media screen and (max-width:640px) {
	.cta h2{
		font-size: 6.2vw;
	}
	.cta .lead{
	font-size: 3.4vw;
	}
	.cta .cta.btn{
		padding-top: 7vw;
		display: block;
	}
	.cta .cta.btn a {
	  width: 80%;
	  margin: 0 auto 16px;
	}
}


/* footer
---------------------------------------- */
footer{
/*	padding-top: 60px;*/
	position: relative;
	margin:auto;
	background-image: url(../images/common/bg_keyvisual.jpg);
  background-repeat: repeat-x;
  background-position: center top;
  background-size: auto;
}
footer::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1200px;
  top: -20vw;
  background-image: url(../images/common/bg_maru_white.svg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 180%;
  z-index: 0;
}
footer .l_spNav{
	position: relative;
	left: 0;
}
footer .l_spNav .inner{
	max-width: none;
  display: flex;
  flex-flow: row-reverse;
  align-items: flex-start;
  padding: 48px 0 24px;
}
footer .l_spNav .l_gnav_list {
  width: 80%;
  padding-left: 10%;
}
footer .l_spNav h1 {
  width: 24%;
  margin: initial;
}
.l_footer_bnr{
	margin:auto;
	max-width: 1920px;
	width: 92%;
}
.l_footer_bnr ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.l_footer_bnr ul li{
	width: 320px;
	margin-right: 2%;
}
.l_footer_nav{
	position: relative;
  z-index: 1;
}
.l_footer_nav .inner{
	max-width: 1920px;
	width: 92%;
	margin:auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.l_footer_nav .footer-summary{
  width: 36%;
	padding-top: 40px;
}
.l_footer_nav .footer-summary .logo{
  max-width: 200px;
  width: 44%;
}
.l_footer_nav .footer-summary p.lead {
  padding: 22px 0 0 10px;
  font-weight: 700;
  font-size: 2.0rem;
  line-height: 1.4;
}
.l_footer_nav .cta.btn{
	display: flex;
	justify-content:space-between;
	align-items: center;
	padding-top: 24px;
	max-width: 400px;
}
.l_footer_nav .cta.btn a{
	display: block;
	padding: 11px 16px 11px 32px;
	margin-bottom: 16px;
	max-width: 280px;
	width: 48%;
	border: 1px solid #ec2340;
	border-radius: 100px;
	background-color:#ffffff;
	background-image: url(../images/common/icon_link_arrow.png);
	background-position:12px center;
	background-repeat:no-repeat;
	background-size:8px;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
}
.l_footer_nav .cta.btn a:hover{
	background-position:16px center;
}
.l_footer_nav .cta.btn a.inquiry{
	color: #ec2340;
}
.l_footer_nav .cta.btn a.download{
	border: 1px solid #085fa2;
	background-color:#085fa2;
	background-image: url(../images/common/icon_link_arrow_white.png);
	color: #ffffff;
}

.l_footer_nav .footer-navi_list{
	position: relative;
  width: 64%;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: flex-start;
	padding-top: 40px;
	font-size: 1.4rem;
}
.l_footer_nav .inner h3{
	margin-bottom:16px;
	font-size: 1.3rem;
	font-weight: 500;
}
.l_footer_nav .inner h3 a{
	display: block;
}
.l_footer_nav .footer-navi_list .footer-navi{
	font-size: 1.2rem;
	line-height: 1;
	padding-left: 10px;
}
.l_footer_nav .footer-navi_list .footer-navi h5{
	font-size: 1.3rem;
	line-height: 1;
	padding-bottom: 13px;
	border-bottom: 1px dotted;
}
.l_footer_nav .footer-navi_list .footer-navi.inquiry{
	padding-left: 0;
}
.l_footer_nav .footer-navi_list .footer-navi a{
	padding:11px 6px 11px 16px;
	display: block;
	letter-spacing: 0;
}
.l_footer_nav .footer-navi_list .footer-navi a span {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.l_footer_nav .footer-navi_list .footer-navi a span::after {
  content: "";
  display: block;
  position: absolute;
  left: -18px;
  width: 0.6rem;
  height: 1.6rem;
  margin-left: 6px;
  background-image: url(../images/common/icon_link_arrow.png);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 100%;
}
.l_footer_info {
  z-index: 1;
  position: relative;
}
.l_footer_info .inner{
	max-width: 1920px;
	width: 96%;
	margin:auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-flow: row-reverse;
}
.l_footer_info .logo{
	width:180px;
}
.l_footer_info ul{
	display: flex;
	justify-content: flex-end;
}
.l_footer_info ul li{
	position:relative;
	display: flex;
	align-items: center;
}
.l_footer_info ul li::before {
  content: "";
  width: 1px;
  background: #333333;
  display: block;
  height: 1.3rem;
  position: absolute;
}
.l_footer_info ul li:first-child:before {
	content: none;
}
.l_footer_info ul li a{
	padding:10px 16px;
	font-size:1.3rem;
}
.l_footer_info .inner p{
	font-size:1.3rem;
	padding-left: 16px;
	text-align: right;
}
.l_footer_info .inner .copyright{
	padding:16px 0 40px;
	margin:auto;
	line-height:1.8;
	font-size:1.2rem;
	font-weight: 300;
	color:#333333;
	text-align: right;
}

@media (max-width:1200px) {
	.l_footer_nav .footer-summary p.lead{
		font-size: 1.7vw;
	}
	.l_footer_nav .cta.btn a{
		padding: 11px 1.0vw 11px 2.8vw;
		font-size: 1.2vw;
	}
}
@media (max-width:1024px) {
	.l_footer_nav .inner {
		display: block;
	}
	.l_footer_nav .footer-summary{
		margin: auto;
		text-align: center;
		width: 80%;
	}
	.l_footer_nav .footer-summary .logo{
		margin: auto;
		width: 50%;
	}
	.l_footer_nav .footer-summary p.lead {
		font-size: 3.2vw;
	}
	.l_footer_nav .footer-navi_list{
		margin-top: 0;
		width: 100%;
		justify-content: center;
	}
	.l_footer_nav .footer-navi_list .footer-navi h5{
		color: #ffffff;
	}
	.l_footer_nav .footer-navi_list .footer-navi a{
		color: #ffffff;
	}
	.l_footer_nav .footer-navi_list .footer-navi a span::after {
	  background-image: url(../images/common/icon_link_arrow_white.png);
	}
	.l_footer_nav .cta.btn{
		display: block;
		margin: auto;
	}
	.l_footer_nav .cta.btn a{
		width: 100%;
    margin: 0 auto 16px;
	}
	.l_footer_nav .cta.btn a{
		padding: 11px 16px 11px 32px;
		font-size: 1.4rem;
	}
	.l_footer_info .inner{
		display:block;
	}
}
@media (max-width:768px) {
	.l_footer{
		display: block;
	}
	.l_footer_bnr ul li{
		width: 320px;
		margin: 16px auto 0;
	}
	.l_footer_info p{
		text-align: center;
	}
	.l_footer_info .inner p{
		padding-left: 0;
		text-align: center;
	}
	.l_footer_info .inner .copyright{
		text-align: center;
	}
}
@media (max-width:700px) {
	.l_footer_nav .footer-navi_list{
		display: block;
	}
	.l_footer_nav .footer-navi_list .footer-navi{
		padding-bottom: 24px;
	}
	.l_footer_nav .footer-navi_list .footer-navi li{
		border-bottom: 1px dotted #ffffff;
	}
	.l_footer_nav .footer-navi_list .footer-navi li:last-child{
		border:none;
	}
	.l_footer_nav .footer-navi_list .footer-navi a{
		padding: 13px 6px 13px 16px;
	}
	.l_footer_info{
		padding-top: 24px;
	}
}
@media (max-width:520px) {
	.l_footer_info ul{
		display: block;
		padding-bottom: 24px;
	}
	.l_footer_info ul li{
		border-bottom: 1px dotted #333333;
	}
	.l_footer_info ul li::before{
		content: none;
	}
	.l_footer_nav .footer-navi li.inquiry a{
		margin: auto;
	}
}
