@charset "utf-8";
/* CSS Document */
html{color:#000;background:#dcdcdc}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
fieldset,img{border:0}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block }
caption { text-align: left; }
img { vertical-align: top; }
html {font-size: 100%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}
main {display: block;/* for IE */}
abbr,acronym{border:0;font-variant:normal}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%}
input,button,textarea,select {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="button"],input[type="submit"] {border-radius: 0;-webkit-appearance: none;}
textarea {overflow: auto;vertical-align: top;}
li {list-style: none;}
em {font-style: normal;}

/*base*/
body {
	overflow-x: hidden;
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	font-style: normal;
	color: #333;
	background-color: aquamarine;
	font-family: YuGothic, Yu Gothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	word-wrap: break-word;}
#wrapper{
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	background-color: #f7f7f8;}
h1{
	font-size:1.5rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1rem;}
h2{
	font-size:1.8rem;
	font-weight: 700;
	line-height: 1.5;
	color: #362381;
	margin-bottom: 1.5rem;}
h3{
	font-size:1.3rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 0.8rem;}
h4{
	font-size:1rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 0.5rem;}
p{
	font-size:1rem;
	margin-bottom: 1rem;
    text-align: justify;
    font-feature-settings: "palt";
	line-height: 1.75;}
	p:last-of-type { 
		margin-bottom: 0;}
p.shoulder{
	font-size: 4.5rem;
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
	margin-bottom: 1.5rem!important;
	position: relative;
	display: inline-block;
	color: #362381;
	border-bottom: 1px solid #362381;}
p.note{
	font-size:0.9rem;
	color:#7A8228;
	margin-top: 1rem;}
a{
	color:cornflowerblue;}
	a:hover{
		color: crimson;}
img{
	max-width: 100%;}
table {
	font-size: 1rem;
	width: 100%;
    border-collapse : collapse ;}
table span{
	font-size: 0.8rem;}
table td,table th {
    border: 1px solid #ccc;
    padding: 12px 10px; }
table th {
    background-color:#3e3a39;
    color:#fff!important;
    font-weight: normal!important; }
td p{
	margin-bottom: auto!important; }
section{
	padding: 30px 0;
	box-sizing: border-box;}
.logo{
	width: 200px;
	margin: 0 auto;
	padding: 20px 10px 20px;}
.widthMax{
	margin-left: calc( ( 100% - 100vw ) / 2 );
	margin-right: calc( ( 100% - 100vw ) / 2 );}
.inner{
	display: block;
	width:1000px;
	margin: 0 auto;
	padding: 0;}
.mtop30{
	margin-top: 30px;}

/*kv*/
.kv-wrap{
	max-width: 100%;
	height: 0;
	padding-top: 45%;
	background-image: url('img/kv.jpg');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	text-align: center;
	position: relative;
	z-index: 1;}
	.kv-wrap::before {
		content: '';
		background-image: url('img/kv-transparent.png');
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;}
.kv-inner{
	width: 1000px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%); 
	-webkit- transform: translateY(-50%) translateX(-50%);
	padding: 30px;
	box-sizing: border-box;}
.kv-inner p{
	color: #fff;
	text-align: inherit;
	font-size: 5rem;
	font-weight: 700;
	font-family: 'Oswald', sans-serif;
	line-height: 1;
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.3));}
.lead{
	display: block;
	max-width:1150px;
	margin: -100px auto 30px;
	position: relative;
	z-index: 2;
	background: #fff;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 10px;
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.1));}


/*solution*/
.flexbox-wrap{
    display: flex;
	justify-content: flex-start;}
.flexbox-inner{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;}
.flexbox2{
	flex: 2;
	z-index: 20; }
.flexbox3{
	flex: 3;
	z-index: 10; }
.text-box-1{
	width: 600px;
	padding: 30px;
	margin-left: -300px;
	background: linear-gradient(135deg, transparent 30px, rgba(255,255,255,0.9) 30px);
	background-position: top left;
	background-repeat: no-repeat;
	position: relative; 
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.1));}
.text-box-2{
	width: 600px;
	padding: 30px;
	margin-right: -300px;
	background: linear-gradient(135deg, transparent 30px, rgba(255,255,255,0.9) 30px);
	background-position: top left;
	background-repeat: no-repeat;
	position: relative;
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.1));}

/*about-g*/
.about-g h3 {
	position: relative;
	margin-top: 2rem;	
	padding-bottom: 0.5rem;
	border-bottom: 4px solid #DDD;}
	.about-g h3::after {
		position: absolute;
		content: " ";
		border-bottom: solid 4px #362381;
		bottom: -4px;
		width:10%;
		display: block;}
.mntop{
	margin-top: -0.2rem!important;}

/*seevice*/
.service h3 {
	margin-top: 1.2rem;	
	position: relative;
	padding-left: 0.7em;}
	.service h3::after  {
		position: absolute;
		top: 50%;
		left:0;
		transform:translateY(-50%);
		content: '';
		width: 5px;
		height:1em;
		background-color: #362381;
		border-radius: 10px;}
.service-text p{
	margin-left: 1.3rem;}
.service .kv-wrap{
	max-width: 100%;
	height: 0;
	padding-top: 35%;
	background-image: url('img/kv-service.jpg');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	text-align: center;
	position: relative;
	z-index: 1;}
.service-inner{
	margin-top: -100px;
	position: relative;
	background: #fff;
	padding: 30px;
	z-index: 2;
	box-sizing: border-box;
	border-radius: 10px;
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.1));}

/*footer*/
.fotter{
	display: block;
	width: 100%;
	position: relative;
	background: #363581;
	color: #fff;
	padding: 30px;
	box-sizing: border-box;}
.fotter p{
	text-align: center;}

@media screen and (min-width:1101px) {
	.sp-br{
		display: none;}
}
@media screen and (max-width:1100px) {
	/*base*/
	.logo{
		width: 130px;}
	.inner{
		width:100%;}
	.inner section{
		margin: auto 15px;}
	p.shoulder{
		font-size: 3rem;}
	
	/*kv*/
	.kv-wrap{
		padding-top: 100%;}
	.kv-inner{
		width: 100%;
		top: 30%;}
	.kv-inner p{
		font-size: 2.5rem;}
	.lead{
		max-width:100%;
		margin: -50px 20px 30px 30px; }
	
	/*solution*/
	.flexbox-wrap{
    	flex-direction: column;}
	.flexbox2{
		flex: 2;
		z-index: 20; }
	.flexbox3{
		flex: 3;
		z-index: 10; }
	.text-box-1{
		width: 75%;
		margin-top: -44px;
		margin-left: 0;}
	.text-box-2{
		width: 75%;
		margin-top: -44px;
		margin-right: 0;}
	.order0{ 
		order:0; }
	.order1{ 
		order:1; }
	
	/*seevice*/
	.service .kv-wrap{
		padding-top: 70%;}
	.service-inner{
		margin-top: -40px;
		width: 100%;
		top: 30%;}
}
