@charset "UTF-8";

/*-------------------------------------------
	Common
-------------------------------------------*/
html{
	font-size: 62.5%;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	line-height:1.5;
	font-size:1.6rem;
	color:#1e1e1e;
	letter-spacing: 0.2rem;
}
/* main{
	overflow: hidden;
} */
.overflow{
	overflow: hidden;
}
section{
	margin-bottom: 20rem;
}
img{
	width:100%;
}
.pc{
	display: inherit;
}
.sp{
	display: none;
}
.box{
	max-width:1120px;
	margin-left:auto;
	margin-right:auto;
}
.inner_box{
	max-width:1000px;
	margin:0 auto;
	padding: 0;
	box-sizing: border-box;
}
.flex{
	display: flex;
	flex-wrap:wrap;
}
p{
	margin:0;
}
li{
	list-style: none;
}
a{
	text-decoration: none;
}
.caption{
	font-size:80%;
}
h2{
	font-size: 3rem;
    color: #fff;
    background: #0046a0;
    transform: skew(-20deg, 0deg);
    padding: 1rem 4rem;
	display: inline-block;
	margin-bottom: 5rem;
}
h2 span{
	transform: skew(20deg, 0deg);
	display: inline-block;
}
h3{
	font-size:2.4rem;
	color:#0046a0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4rem;
}
h3::before{
	content:"";
	width:14px;
	height:51px;
	display: inline-block;
	margin-right: 2rem;
	background:url(../img/img_brackets.svg) no-repeat;
}
h3::after{
	content:"";
	width:14px;
	height:51px;
	display: inline-block;
	margin-left: 2rem;
	background:url(../img/img_brackets.svg) no-repeat;
	transform:rotate(180deg);
}
.download a{
	padding: 2rem 8rem;
	background: #00b09d;
	/* background:#ee8500; */
    color: #fff;
	/* border-radius: 5px; */
	font-size: 2rem;
	font-weight: bold;
	display: inline-block;
	position: relative;
	transition:0.3s;
	box-sizing: border-box;
    text-align: center;
}
.download a:hover{
    background:#37c1b2;
}
.download a::after {
    background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}

#feed{
	display: flex;
	flex-direction: column;
    margin: 0 auto;
    max-width: 1000px;
    height: 360px;
    overflow-y: auto;
}
#feed .feedContent a{
	display: flex;
	justify-content: space-between;
	width: calc(99% - 14px);
	padding: 7px;
	border: 1px solid #ccc;
	transition: 0.5s;
	opacity: 1.0;
}
#feed .feedContent a:hover{
	border: 1px solid #004eb2;
	opacity: 0.7;
	transition: 0.5s;
}
#feed .feedContent {
	margin-bottom: 5px;
}
#feed .feedContent a .feedImg{
	display: block;
	width: 100px;
	height: 100px;
	margin-right: 7px;
}
#feed .feedContent a .feedBox{
	display: block;
	width: calc(100% - 100px);
}
#feed .feedContent a .feedBox .feedTtl{
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	color: #0046a0;
}
#feed .feedContent a .feedBox .feedTxt{
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 10px;
	color: #1e1e1e;
}
#feed .feedContent a .feedBox .feedDate{
	font-size: 12px;
	color: #333;
}

@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	.box {
		width:94%;
		margin-left: auto;
		margin-right: auto;
	}
	.inner_box{
		width:94%;
	}
	.pc{
		display: none;
	}
	.tb{
		display: initial;
	}
	.sp{
		display: none;
	}
}
@media screen and (max-width:480px) {
	/*SP*/
	section{
		margin-bottom: 10rem;
	}
	body{
		letter-spacing: 0;
	}
	.box {
		width: 90%;
	}
	.inner_box {
		width:100%;
	}
	.pc{
		display: none;
	}
	.tb{
		display: none;
	}
	.sp{
		display: inherit;
	}
	.caption{
		font-size:60%;
	}
	h2{
		margin-left: -15%;
		padding-left: 6rem;
	}
	h3{
		font-size:2.0rem;
	}

	#feed .feedContent a .feedImg{
		width: 90px;
		height: 90px;
	}

}
/*--
	Scroll effect
--*/
.fade_up{
	transition: ease .5s;
	opacity: 0;
	transform: translateY(50px);
}
.fade_up.fadein {
	opacity: 1;
	transform: translateY(0px); 
}

/*---
	menu
---*/
nav{
	position: fixed;
	width: 100%;
	z-index: 1000;
}
nav .header {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    background-color: #FC466B;
    position: fixed;
    height: 60px!important;
    overflow: hidden;
    z-index: 10;
}
nav .main {
    margin: 0 auto;
    display: block;
    height: 100%;
    margin-top: 60px;
}
nav .mainInner{
    display: table;
    height: 100%;
    width: 100%;
    text-align: center;
}
nav .mainInner div{
    display:table-cell;
    vertical-align: middle;
    font-size: 3em;
    font-weight: bold;
    letter-spacing: 1.25px;
}
nav #sidebarMenu {
	display: flex;
    align-items: center;
    height: 100%;
    position: fixed;
    right: 0;
    width: 450px;
    /* margin-top: 60px; */
    transform: translateX(450px);
	transition: transform 250ms ease-in-out;
	background:#fff;
    /* background: linear-gradient(180deg, #FC466B 0%, #3F5EFB 100%); */
}
nav .sidebarMenuInner{
    margin:0;
	padding: 10%;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	margin-left: auto;
    margin-right: auto;
}
nav .sidebarMenuInner li{
    list-style: none;
    color: #1e1e1e;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
	/* border-bottom: 1px solid rgba(255, 255, 255, 0.10); */
	border-bottom: 1px solid #1b1b1b;
}
nav .sidebarMenuInner li.logo{
	text-align: center;
	padding-bottom: 2rem;
}
nav .sidebarMenuInner li.logo p{
	color: #0046a0;
}
nav .sidebarMenuInner li.arrow{
	display: flex;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
nav .sidebarMenuInner li.arrow::after{
	background: url(../img/icn_arrow_bk.svg);
    content: "";
    width: 7px;
	height: 12px;
	margin-right: 1rem;
}
nav .sidebarMenuInner li.btn{
	position: relative;
    background: #003273;
    text-align: center;
    width: 70%;
    margin-left: 15%;
    margin-top: 2rem;
	box-sizing: border-box;
	transition:0.3s;
	border-bottom:none;
}
nav .sidebarMenuInner li.btn:hover{
	background: #004eb2;
}
nav .sidebarMenuInner li.btn::after{
	background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}
nav .sidebarMenuInner li.btn a{
	color:#fff;
}
nav .sidebarMenuInner li span{
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.50);
}
nav .sidebarMenuInner li a{
    color: #1e1e1e;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
	text-decoration: none;
	padding: 2rem;
	width: 100%;
	display: inline-block;
	box-sizing: border-box;
}
nav .sidebarMenuInner li.download{
    margin-top: 5rem;
}
nav .sidebarMenuInner li.download a{
	font-size:1.6rem;
}
nav input[type="checkbox"]:checked ~ #sidebarMenu {
	transform: translateX(0);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}
nav input[type=checkbox] {
    transition: all 0.3s;
    box-sizing: border-box;
    display: none;
}
nav .sidebarIconToggle {
    transition: all 0.3s;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    z-index: 99;
    height: 100%;
    width: 100%;
    top: 22px;
    right: 15px;
    height: 22px;
    width: 22px;
}
nav .spinner {
    transition: all 0.3s;
    box-sizing: border-box;
    position: absolute;
    height: 3px;
    width: 100%;
    background-color: #1e1e1e;
}
nav .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 3px;
}
nav .diagonal.part-1 {
    position: relative;
    transition: all 0.3s;
    box-sizing: border-box;
    float: left;
}
nav .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 3px;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    opacity: 0;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(135deg);
    margin-top: 8px;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(-135deg);
    margin-top: -9px;
}

@media screen and (max-width:480px) {
	/*SP*/
	nav #sidebarMenu {
		width: 100vw;
		transform: translateX(100vw);
	}
	nav .sidebarMenuInner{
		width: 90%;
	}
}

/*-------------------------------------------
	Main_img
-------------------------------------------*/
#main_img{
	background:#e1f5fd;
}
#main_img .illustration{
	background: url(../img/img_main.png) no-repeat;
	background-size: 42%;
    background-position: 90% 45%;
    padding: 15rem 0 0;
	max-width:1300px;
	margin:0 auto;
}
#main_img .left{
	width:50%;
	text-align: center;
}
#main_img .right{
	width:50%;
	text-align: center;
}
#main_img .copy_wrap{
	display: flex;
	justify-content: center;
}
#main_img .copy{
	font-weight: bold;
	font-size:2.6rem;
	letter-spacing:0.2rem;
}
#main_img h1{
	width:90%;
	margin:3rem auto 4rem;
}
#main_img .copy_wrap::before,
#main_img .copy_wrap::after{
	content: "";
    width: 4px;
    height: 7rem;
    border-left: 1px solid #1e1e1e;
	display: inline-block;
}
#main_img .copy_wrap::before{
    transform: rotate(-15deg) translateY(3rem);
	margin-right: 3rem;
}
#main_img .copy_wrap::after{
    transform: rotate(15deg) translateY(3rem);
	margin-left: 3rem;
}
#main_img .copy span{
	font-size:4.1rem;
}
#main_img .guidance{
	font-size:3.5rem;
	letter-spacing: 0.5rem;
	font-weight: bold;
	margin-bottom: 3rem;
	color:#0046a0;
}
#main_img .for{
	font-size:2.1rem;
	letter-spacing: 0.25rem;
	/* background:#fff; */
	padding: 1rem 0;
	display: inline-block;
	color:#0046a0;
	font-weight: bold;
}
#main_img .download {
	text-align: center;
    margin-top: 8rem;
    transform: translateY(30%);
}
#main_img .download p{
    margin-bottom: 1rem;
}


@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	#main_img .left {
		width: 94%;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
	#main_img h1 {
		width: 70%;
	}
	#main_img .illustration {
		background: url(../img/img_main.png) no-repeat;
		background-size: 59%;
		background-position: center bottom 2rem;
		padding: 6rem 0 30rem;
	}
}

@media screen and (max-width:480px) {
	/*SP*/
	#main_img {
		height: 100vh;
		align-items: center;
		display: flex;
	}
	#main_img h1{
		margin:1rem auto;
	}
	#main_img .illustration{
		background: none;
		padding: 1rem 0;
		/* margin-bottom: 20%; */
	}
	#main_img .left{
		width:100%;
		margin-bottom: 0;
	}
	#main_img .copy {
		font-size: 4vw;
	}
	#main_img .copy::before,
	#main_img .copy::after{
		height: 6rem;
	}
	#main_img .copy_wrap::before{
		transform: rotate(-15deg) translateY(0rem);
	}
	#main_img .copy_wrap::after{
		transform: rotate(15deg) translateY(0rem);
	}
	#main_img .copy span{
		font-size:6vw;
	}
	#main_img .guidance {
		font-size: 5.5vw;
		margin-bottom: 1rem;
		letter-spacing: 0.25rem;
	}
	#main_img .for {
		font-size: 3.5vw;
	}
	#main_img .download {
		margin-top: 2rem;
		transform: translateY(0%);
	}
	#main_img a.scroll_down {
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: 2;
		display: inline-block;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		text-decoration: none;
	  }
	#main_img a.scroll_down {
		padding-top: 60px;
	}
	#main_img a.scroll_down span {
		position: absolute;
		top: 0;
		left: 50%;
		width: 24px;
		height: 24px;
		margin-left: -12px;
		border-left: 1px solid #0046a0;
		border-bottom: 1px solid #0046a0;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-webkit-animation: sdb 2s infinite;
		animation: sdb 2s infinite;
		box-sizing: border-box;
	}
	@-webkit-keyframes sdb {
		0% {
			-webkit-transform: rotate(-45deg) translate(0, 0);
		}
		20% {
			-webkit-transform: rotate(-45deg) translate(-10px, 10px);
		}
		40% {
			-webkit-transform: rotate(-45deg) translate(0, 0);
		}
	}
	@keyframes sdb {
		0% {
			transform: rotate(-45deg) translate(0, 0);
		}
		20% {
			transform: rotate(-45deg) translate(-10px, 10px);
		}
		40% {
			transform: rotate(-45deg) translate(0, 0);
		}
	}

}

/*-------------------------------------------
	Support
-------------------------------------------*/
#support{
	margin-top:20srem;
	font-size:3.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 2;
	position:relative;
}
#support .emphasis{
	font-size:4.4rem;
	padding: 0 2rem;
	background-color:#ffff3c;
}
#support img{
	max-width:220px;
	position:absolute;
	top:0;
	left: -5%;
}

@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	#support {
		text-align: left;
	}
	#support > p{
		width:75%;
		margin-left:25%;
	}
	#support img{
		width: 25%;
    	margin-left: 2%;
	}
}
@media screen and (max-width:480px) {
	/*SP*/
	#support{
		text-align: left;
		font-size: 6vw;
	}
	#support .emphasis {
		font-size: 7vw;
		padding: 0;
	}
}

/*-------------------------------------------
	Worry
-------------------------------------------*/
#worry .worry_wrap{
	background:#eee;
	padding: 4rem 0 6rem;
}
#worry .text{
	text-align: center;
	margin-bottom: 3rem;
}
#worry .text span{
	font-size: 2.5rem;
    color: #000;
    background: none;
    padding: 1rem 1rem;
    display: inline-block;
    /* transform: translateY(-55%); */
	border-bottom: 4px double #000;
	font-weight: bold;
}
#worry .comment_wrap{
	max-width:600px;
	position:relative;
	margin:0 auto;
}
#worry .comment {
	font-size: 1.8rem;
	position: relative;
    margin: 0;
    padding: 2rem;
    background: #fff;
	/* border-radius: 50%; */
	border-radius: 10px;
    border: 3px solid #000;
    width: 320px;
	text-align: center;
	position: absolute;
	box-sizing: border-box;
	line-height:1.7;
}
#worry .comment:before {  
	content: "";
	position: absolute;
	width: 13px;
	height: 12px;
	background: #fff;
	border-radius: 50%;
	border:3px solid #000;
}
#worry .comment:after {
	content: "";
	position: absolute;
	width: 20px;
	height: 18px;
	background: #fff;
	border-radius: 50%;
	border:3px solid #000;
}
#worry .comment span {
    font-weight: bold;
	/* background: #ffff3c; */
	background:#B9E2ED;
}
#worry .comment01{
	top: 30%;
    left: -18%;
}
#worry .comment01:before {  
	right: 0%;
    bottom: -30%;
}
#worry .comment01:after {
	right: 5%;
    bottom: -15%;
}
#worry .comment02{
	top: 0%;
    left: 40%;
}
#worry .comment02:before {  
	left: 32%;
    bottom: -35%;
}
#worry .comment02:after {
	left: 35%;
    bottom: -15%;
}
#worry .comment03{
	top: 40%;
    left: 70%;
}
#worry .comment03:before {  
	left: -12%;
	bottom: 0;
}
#worry .comment03:after {
    left: -6%;
    bottom: 10%;
}
#worry .comment p {
	margin: 0; 
	padding: 0;
}
#worry img{
	max-width: 170px;
	margin:0 auto;
	padding-top: 18rem;
	display:block;
}
#worry .solution{
	display: block;
	text-align: center;
	padding: 1rem 3rem;
	/* transform: translateY(-53%); */
}
#worry .solution span{
	color: #0046a0;
	font-size: 4rem;
    /* background-color:#ee8500; */
    font-weight: bold;
}
@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
}
@media screen and (max-width:480px) {
	/*SP*/
	#worry img {
		max-width: 150px;
		padding-top: 0;
	}
	#worry .comment {
		width: 90%;
		padding: 2rem;
		margin-left: 5%;
		margin-bottom: 2rem;
		position: static;
	}
	#worry .comment01,
	#worry .comment02,
	#worry .comment03{
		top: initial;
		left: initial;
	}
	#worry .comment01:before,
	#worry .comment01:after,
	#worry .comment02:before,
	#worry .comment02:after,
	#worry .comment03:before,
	#worry .comment03:after {
		display: none;
	}
	#worry .solution{
		display: block;
		text-align: center;
		padding: 1rem 3rem;
		/* transform: translateY(-30%); */
	}
	#worry .solution span{
		color: #0046a0;
		font-size: 3rem;
		/* background-color:#ee8500; */
		font-weight: bold;
	}
}

/*-------------------------------------------
	Suppliers
-------------------------------------------*/
#suppliers{
	position: relative;
	margin-bottom: 10rem;
}
#suppliers .copy p{
	font-size:2rem;
	line-height: 2;
	margin-bottom: 9rem;
}
#suppliers .copy span{
	font-size:2.2rem;
	font-weight: bold;
}
#suppliers .copy img{
	max-width:242px;
	position:absolute;
	top:0;
	right: -5%;
}
#suppliers .dot{
	background:url(../img/bg_dot.png);
	position:relative;
	padding:4rem 3%;
}
#suppliers .comment .left,
#suppliers .comment .right{
	width:50%;
}
#suppliers .balloon{
	font-size: 1.8rem;
	position: relative;
    padding: 1em;
    border: 3px solid #1e1e1e;
    background: #fff;
    border-radius: 10px;
	box-shadow: 5px 5px #dcdcdc;
	display: inline-block;
	box-sizing: border-box;
	margin-bottom: 2rem;
	line-height: 1.8;
}
#suppliers .balloon span{
	font-weight: bold;
	background:#ffff3c;
}
#suppliers .balloon01{
	width: 70%;
    margin: 0 15%;
}
#suppliers .comment01{
	justify-content: flex-end;
	margin-bottom: 3rem;
	margin-top: 3rem;
}
#suppliers .comment01 img{
	max-width: 127px;
    margin-right: 20%;
    margin-top: 2rem;
}
#suppliers .balloon01:before,
#suppliers .balloon01:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
}
#suppliers .balloon01:before{
	bottom: -25px;
    border-style: solid;
    border-color: transparent #1e1e1e transparent transparent;
    border-width: 0 20px 25px 0;
}
#suppliers .balloon01:after{
	bottom: -19px;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    border-width: 0 15px 19px 0;
    z-index: 10;
}
#suppliers .comment02{
	justify-content: flex-start;
	margin-bottom: 4rem;
}
#suppliers .comment02 img{
	max-width: 102px;
	position: relative;
	order: 1;
	margin-top: 3rem;
}
#suppliers .balloon02{
	width: 65%;
	position: relative;
	order: 2;
	margin-left: 5%;
}
#suppliers .balloon02:before,
#suppliers .balloon02:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	/* margin: auto; */
}
#suppliers .balloon02:before{
	left: -25px;
	top: 58%;
    border-style: solid;
    border-color: transparent transparent #1e1e1e transparent;
    border-width: 0 0 20px 25px;
}
#suppliers .balloon02:after{
	left: -18px;
	top: 60%;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    border-width: 0 0 15px 19px;
    z-index: 10;
}
#suppliers .balloon03{
	width: 65%;
    position: relative;
}
#suppliers .comment03{
	justify-content: space-between;
}
#suppliers .comment03 img{
	max-width: 126px;
    position: relative;
}
#suppliers .balloon03:before,
#suppliers .balloon03:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	/* margin: auto; */
}
#suppliers .balloon03:before{
	left: 100%;
    top: 58%;
    border-style: solid;
    border-color: transparent transparent transparent #1e1e1e;
    border-width: 20px 0 0 25px;
}
#suppliers .balloon03:after{
	left: 100%;
    top: 60%;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    border-width: 15px 0 0 19px;
    z-index: 10;
}
#suppliers .balloon04{
	width: 65%;
    margin-left: 5%;
	margin-right: 30%;
    margin-bottom: 0;
}
#suppliers .comment04{
	justify-content: flex-end;
}
#suppliers .comment04 img{
	max-width: 110px;
	margin-right: 10%;
}
#suppliers .balloon04:before,
#suppliers .balloon04:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
}
#suppliers .balloon04:before{
	bottom: -25px;
	left: 60%;
    border-style: solid;
    border-color: transparent #1e1e1e transparent transparent;
    border-width: 0 20px 25px 0;
}
#suppliers .balloon04:after{
	bottom: -19px;
	left: 60%;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    border-width: 0 15px 19px 0;
    z-index: 10;
}

@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	#suppliers .copy > p{
		width: 70%;
		margin-left: 0;
	}
	#suppliers .copy img {
		max-width: 30%;
	}
	#suppliers .balloon03 {
		width: 60%;
	}
	#suppliers .balloon02 {
		width: 61%;
	}
}

@media screen and (max-width:480px) {
	/*SP*/
	#suppliers .comment .left, #suppliers .comment .right {
		width: 100%;
	}
	#suppliers .balloon01,
	#suppliers .balloon02,
	#suppliers .balloon03,
	#suppliers .balloon04 {
		width: 90%;
		margin: 0 5%;
	}
	#suppliers .balloon01:before,
	#suppliers .balloon01:after,
	#suppliers .balloon02:before,
	#suppliers .balloon02:after,
	#suppliers .balloon03:before,
	#suppliers .balloon03:after,
	#suppliers .balloon04:before,
	#suppliers .balloon04:after{
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		width: 0;
		height: 0;
		margin: auto;
	}
	#suppliers .balloon01:before,
	#suppliers .balloon02:before{
		bottom: -25px;
		top:inherit;
		border-style: solid;
		border-color: transparent #1e1e1e transparent transparent;
		border-width: 0 20px 25px 0;
	}
	#suppliers .balloon01:after,
	#suppliers .balloon02:after{
		bottom: -19px;
		top:inherit;
		border-style: solid;
		border-color: transparent #fff transparent transparent;
		border-width: 0 15px 19px 0;
		z-index: 10;
	}
	#suppliers .balloon03:before,
	#suppliers .balloon04:before{
		bottom: -25px;
		top:inherit;
		border-style: solid;
		border-color: #1e1e1e transparent transparent transparent;
		border-width: 25px 20px 0 0;
	}
	#suppliers .balloon03:after,
	#suppliers .balloon04:after{
		bottom: -19px;
		top:inherit;
		border-style: solid;
		border-color: #fff transparent transparent transparent;
		border-width: 19px 15px 0 0;
		z-index: 10;
	}
	#suppliers .comment02 {
		justify-content: flex-end;
	}
	#suppliers .balloon02 {
		order: 1;
	}
	#suppliers .comment02 img {
		order: 2;
	}
	#suppliers .comment02 img {
		margin-right: 20%;
		margin-top: 2rem;
	}
	#suppliers .comment03 img,
	#suppliers .comment04 img {
		margin-left: 20%;
		margin-top: 2rem;
	}
	#suppliers .comment03 {
		margin-bottom: 3rem;
		margin-top: 3rem;
	}
	#suppliers .comment04 {
		justify-content: flex-start;
	}
}

/*-------------------------------------------
	System
-------------------------------------------*/
#system{
	position:relative;

}
#system .step{
	position:relative;
}
#system .step01{
	width: 25%;
    padding-bottom: 10%;
    background: url(../img/bg_step01.svg) no-repeat;
    background-size: contain;
    box-sizing: border-box;
}
#system .balloon_wrap{
	text-align: center;
    padding-top: 2rem;
    box-sizing: border-box;
}
#system .balloon {
	position: relative;
    display: inline-block;
    padding: 1.5rem 2rem;
    color: #1e1e1e;
    font-size: 16px;
    background: #ffff3c;
    border-radius: 10px;
}
#system .balloon:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #ffff3c;
}
#system .balloon p {
	margin: 0;
	padding: 0;
	text-align: center;
	font-weight: 600;
}
#system .arrow{
	transform: rotate(-60deg);
    width: 5%;
}
#system .arrow01{
    position: absolute;
    left: 25%;
    top: 20%;
}
#system .arrow02{
	position: absolute;
    left: 73%;
    top: 60%;
}
#system .step02{
    width: 50%;
    margin-top: -15%;
    margin-left: auto;
    margin-right: auto;
}
#system .step03{
	width: 30%;
	min-width: 300px;
	height: auto;
	background:url(../img//bg_step03.svg) no-repeat;
	background-size:;
	position: absolute;
    right: -5%;
    bottom:0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#system .step03::before{
	content: "";
    display: block;
    padding-top: 93.5%;
}
#system .step03 p{
	width: 100%;
    height: 100%;
	text-align: center;
	font-weight: bold;
}
#system .staff{
	font-weight: 500;
	text-align: center;
	margin-top: 3rem;
}
#system .staff span{
	font-size:2rem;
	font-weight: bold;
    background: #ffff3c;
}
#system .img_system{
	position: absolute;
	left:-5%;
	bottom:-10%;
	max-width:280px;
}

@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	#system .step01 {
		width: 50%;
		padding-bottom: 20%;
	}
	#system .balloon_wrap {
		padding-top: 4rem;
	}
	#system .arrow01 {
		left: 43%;
		top: 22%;
	}
	#system .arrow {
		transform: rotate(-40deg);
		width: 8%;
	}
	#system .step02 {
		width: 70%;
		margin-top: 0%;
		margin-left: auto;
		margin-right: 0;
	}
	#system .arrow02 {
		transform: rotate(40deg);
		left: 36%;
		top: 69%;
	}
	#system .step03 {
		width: 30%;
		min-width: 300px;
		height: auto;
		background: url(../img//bg_step03.svg) no-repeat;
		background-size: ;
		position: static;
		right: -5%;
		bottom: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#system .img_system {
		position: absolute;
		left: 65%;
		bottom: 5%;
		max-width: 280px;
	}
}

@media screen and (max-width:480px) {
	/*SP*/
	#system .step {
		display: flex;
		flex-wrap: wrap;
	}
	#system .step01 {
		width: 80%;
		margin-left: 10%;
		margin-right:10%;
		position: relative;
		padding-bottom: 3rem;
	}
	#system .step01::before{
		content: "";
		display: block;
		padding-top: 71.1%;
	}
	#system .balloon_wrap {
		text-align: center;
		padding-top: 2rem;
		box-sizing: border-box;
		position: absolute;
		top: 0;
		left: 50%;
		width: 100%;
		transform: translateX(-50%);
	}
	#system .arrow{
		transform: rotate(0);
		width: 10%;
		position: static;
		margin-left: 45%;
		margin-bottom: 3rem;
	}
	#system .step02 {
		width: 100%;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 3rem;
	}
	#system .step03 {
		width: 100%;
		position: static;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		background-size: 90%;
		background-position: center;
		justify-content: center;
	}
	#system .step03 p {
		width: auto;
		height: auto;
		text-align: center;
		font-weight: bold;
	}
	#system .staff {
		margin-left: auto;
		margin-right: auto;
		line-height: 2;
	}
	#system .img_system {
		display: none;
	}
}


/*-------------------------------------------
	Tool
-------------------------------------------*/
#tool{
	position:relative;
}
#tool .table .list{
	border:2px solid #000;
	padding:0.5rem;
	margin-bottom:5rem;
}
#tool .table .title{
	background:url(../img/bg_dot.png);
	padding:1rem;
	position:relative;
	font-size:2.2rem;
	font-weight: bold;
	padding-left:94px;
	margin-bottom: 2rem;
}
#tool .table .title::before{
	content:"";
	display: inline-block;
	width:74px;
	height:62px;
	position:absolute;
	top:-2rem;
	left:1rem;
}
#tool .table .paper .title::before{
	background:url(../img/icn_paper.svg) no-repeat;
}
#tool .table .digital .title::before{
	background:url(../img/icn_digital.svg) no-repeat;
}
#tool .table .event .title::before{
	background:url(../img/icn_event.svg) no-repeat;
}
#tool .table .flex{
	padding:0 2rem;
	font-size:1.8rem;
	margin-bottom: 2rem;
}
#tool .table dt{
	width:100%;
	color:#0046a0;
	font-weight: bold;
}
#tool .table dd{
	margin:0 0.5rem 0 0;
}
#tool .table dd::after{
	content:"、";
	display: inline-block;
}
#tool .table dd:last-child::after{
	content:none;
}
#tool .cross_media {
	background: url(../img/bg_dot.png);
    position: relative;
    padding: 4rem 3%;
}
#tool .cross_media .lead{
	font-size:1.8rem;
	text-align: center;
	margin-bottom:3rem;
}
#tool .cross_media .table{
	margin-bottom: 8rem;
}
#tool .cross_media .table li{
    border: 1px solid #b4b4b4;
	padding: 0;
}
#tool .cross_media .table .left{
	width: 11%;
    background: #a8e4fd;
    margin: 0;
    padding: 2rem;
    justify-content: center;
    box-sizing: border-box;
}
#tool .cross_media .table .left p{
	margin-bottom: 2rem;
}
#tool .cross_media .table .right{
	width:89%;
	background:#fff;
	margin: 0;
	padding: 2rem;
	box-sizing: border-box;
	justify-content: space-between;
    align-items: center;
}
#tool .cross_media .table .right .headline{
	font-size:2.1rem;
	font-weight:500;
	margin-bottom:1rem;
}
#tool .cross_media .table .right .contents{
	font-size:1.6rem;
	margin-bottom:2rem;
}
#tool .cross_media .table .right ul{
	padding:0;
    margin-bottom: 0;
}
#tool .cross_media .table .right li{
	background: #e8e8e8;
	border:none;
	font-size:1.4rem;
	padding:0.5rem 1rem;
	margin-right:1rem;
}
#tool .cross_media .btn,
#tool .cross_media .btn_game{
	width:15%;
	line-height: 0;
	text-decoration: none;
	color:#1e1e1e;
	font-size:1.4rem;
	transition:0.3s;
}
#tool .cross_media .btn:hover,
#tool .cross_media .btn_game:hover{
	opacity:0.8;
}
#tool .cross_media .btn_game,
#tool .cross_media .btn p{
	background: #a8e4fd;
    line-height: 1.5;
    text-align: center;
    position: relative;
	padding: 0.5rem 0;
	font-weight: 500;
}
#tool .cross_media .btn p::after{
	background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}
#tool .cross_media .btn_game p{
	margin-top:1rem;
	line-height: 1.3;
}
#tool .cross_media .btn_game img{
	width:40%;
	margin-top:1rem;
}
#tool .more{
	text-align: center;
	margin: 5rem;
}
#tool .more a{
	background:#003273;
	color:#fff;
	padding:2rem 8rem;
	position: relative;
	transition:0.3s;
}
#tool .more a:hover {
	background: #004eb2;
}
#tool .more a::after{
	background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}
#tool .illust{
	position:absolute;
	max-width:200px;
	bottom: -6%;
    left: -8%;
    transform: scale(-1, 1);
}

@media screen and (min-width:481px) and (max-width:1000px){
	/*Tablet*/
	#tool .cross_media .table .left {
		width: 17%;
	}
	#tool .cross_media .table .right {
		width: 83%;
	}
	#tool .cross_media .table .right > div{
		width: 80%;
	}
}

@media screen and (max-width:480px) {
	/*SP*/
	#tool .table .title {
		font-size: 2.0rem;
	}
	#tool .cross_media .lead {
		text-align: left;
	}
	#tool .cross_media .table {
		margin-bottom: 3rem;
	}
	#tool .cross_media .table .left {
		width: 100%;
		justify-content: space-between;
		align-items: center;
	}
	#tool .cross_media .table .left p{
		text-align: center;
		margin-bottom: 0;
	}
	#tool .cross_media .table .left img{
		width: 20%;
	}
	#tool .cross_media .table .manufacturer .left img{
		width: 15%;
	}
	#tool .cross_media .table .right {
		width: 100%;
	}
	#tool .cross_media .table .right ul {
		margin-bottom: 1rem;
	}
	#tool .cross_media .table .right li {
		margin-bottom: 1rem;
	}
	#tool .cross_media .btn,
	#tool .cross_media .btn_game {
		width: 100%;
		display: flex;
		flex-wrap:nowrap;
		background: #a8e4fd;
		align-items: center;
	}
	#tool .cross_media .btn p {
		width: 100%;
		text-align: left;
	}
	#tool .cross_media .btn img{
		width:30%;
		padding: 1rem;
	}
	#tool .cross_media .btn_game{
		padding: 1rem;
	}
	#tool .cross_media .btn_game p {
		order:2;
		margin-top: 0;
	}
	#tool .cross_media .btn_game img {
		order: 1;
		margin-right: 2rem;
		margin-top: 0;
		width: 20%;
	}
	#tool .more {
		margin: 5rem 0 1rem;
		margin-left: 0%;
		width: 100%;
	}
	#tool .more a {
		background: #003273;
		color: #fff;
		padding: 2rem;
		position: relative;
		width: 100%;
		display: inline-block;
		box-sizing: border-box;
	}

}

/*-------------------------------------------
	News
-------------------------------------------*/
#news p.lead{
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 3rem;
}
#news .feed-frame{
	margin: 0 auto;
	max-width: 1000px;
}
#news .more{
	text-align: center;
	margin: 5rem;
}
#news .more a{
	background:#003273;
	color:#fff;
	padding:2rem 8rem;
	position: relative;
	transition:0.3s;
}
#news .more a:hover {
	background: #004eb2;
}
#news .more a::after{
	background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}

@media screen and (max-width:480px) {
	/*SP*/
	#news p.lead{
		text-align: left;
	}
	#news .more {
		margin: 5rem 0 1rem;
		margin-left: 0%;
		width: 100%;
	}
	#news .more a {
		background: #003273;
		color: #fff;
		padding: 2rem;
		position: relative;
		width: 100%;
		display: inline-block;
		box-sizing: border-box;
	}

}

/*-------------------------------------------
	Info
-------------------------------------------*/
#info{
	text-align: center;
}
#info .balloon {
	position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 2rem 4rem;
    min-width: 120px;
    max-width: 100%;
    color: #1e1e1e;
    font-size: 16px;
    background: #FFF;
    border: solid 1px #1e1e1e;
    box-sizing: border-box;
    border-radius: 50px;
}
#info .balloon:before {
	content: "";
    position: absolute;
    bottom: -19px;
    left: 50%;
    margin-left: -11px;
    border: 8px solid transparent;
    border-top: 11px solid #FFF;
    z-index: 2;
}
#info .balloon:after {
	content: "";
    position: absolute;
    bottom: -21px;
    left: 50%;
    margin-left: -12px;
    border: 9px solid transparent;
    border-top: 12px solid #1e1e1e;
    z-index: 1;
}
#info .balloon p {
	margin: 0;
	padding: 0;
}
#info .balloon a {
	color:#0046a0;
	font-weight: bold;
	border-bottom:2px solid #0046a0;
}
@media screen and (max-width:480px) {
	/*SP*/
	#info {
		width: 90%;
		margin-left: 5%;
	}
	#info .balloon {
		border-radius: 70px;
	}
	#info .balloon a {
		display: inline-block;
	}
}

/*-------------------------------------------
	Inquiry
-------------------------------------------*/
#inquiry{
	position: -webkit-sticky;
    position: sticky;
	bottom: 0;
	margin-bottom:0;
	background:#ffff3c;
	padding: 2rem 0;
	z-index:100;
}
#inquiry .inner_box.flex{
	align-items: center;
	justify-content: space-between;
}
#inquiry .btn{
	width:48%;
}

#inquiry .text{

}
#inquiry .text{
	font-size:1.6rem;
	font-weight: normal;
	margin-bottom:1rem;
	/* width: 68%; */
	text-align: center;
}
#inquiry .text dd{
	font-size:1.8rem;
}
#inquiry .download{
	width:100%;
}
#inquiry .download a{
	width:100%;
	font-size:1.6rem;
	font-weight: normal;
}
#inquiry .more{
	width: 100%;
}
#inquiry .more a{
	position: relative;
	background: #003273;
	color: #fff;
	width: 100%;
	padding: 2rem 0;
	transition: 0.3s;
	display: inline-block;
	text-align: center;
}
#inquiry .more a:hover{
	background: #004eb2;
}
#inquiry .more a::after{
	background: url(../img/icn_arrow.svg);
    content: "";
    width: 7px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}

@media screen and (max-width:480px) {
	/*SP*/
	#inquiry {
		padding: 2rem 0;
	}
	#inquiry .inner_box.flex {
		justify-content: space-between;
		padding: 0 1rem;
	}
	#inquiry .text{
		font-size: 1.2rem;
		width: 100%;
		margin-bottom: 1rem;
		text-align: center;
	}
	#inquiry .more {
		width: 100%;
	}
	#inquiry .download a,
	#inquiry .more a {
		font-weight:normal;
		width: 100%;
		display: inline-block;
		box-sizing: border-box;
		text-align: center;
		padding:1rem 0;
	}
}


/*-------------------------------------------
	Footer
-------------------------------------------*/
footer{
	justify-content: space-between;
	align-items: center;
	background:#f1f1f1;
	padding:1.5rem 3rem;
}
footer .corporate_logo{
	width:40%;
	max-width:155px;
	line-height: 0;
}
footer .copy{
	font-size:1.2rem;
}

@media screen and (max-width:480px) {
	/*SP*/
	footer {
		justify-content: center;
	}
	footer .copy{
		text-align: center;
	}
}