@charset "utf-8";

/*=====================================

responsive.css

=====================================*/


.forPC { display: block; }
.forSP { display: none; }

.scrollFix{
	margin-top: -50px;
	padding-top: 50px;
}

/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/
@media screen and (max-width: 1260px) {
	.inner{
		padding-left: 4%;
		padding-right: 4%;
		box-sizing: border-box;
	}
	.visualMsg{
		padding-left: 4%;
		padding-right: 4%;
		box-sizing: border-box;
	}
}


/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

	.forPC { display: none; }
	.forSP { display: block; }
/* layout */

	body {
		min-width: inherit;
		font-size: 1.3rem;
		height: auto;
	}
	#wrapper{
		overflow: hidden;
	}
	.inner{
		max-width: auto;
		width: 100%;
	}

	.headerLogo {
		position: absolute;
		top: 10px;
		left: 20px;
		width: 185px;
	}
	/* headerSp
	-------------------------------------*/

	.headerSpBtn a{
		height: 100%;
		width: 100%;
		display: block;
	}
	.headerSpBtn,
	.headerSpBtn span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.headerSpBtn span {
		position: absolute;
		width: 60%;
		height: 1px;
		background-color: #1779BA;
	}
	.headerSpBtn span:nth-of-type(1) {
		top: 8px;
		transform: rotate(-20deg);
	}
	.headerSpBtn span:nth-of-type(2) {
		top: 18px;
		transform: rotate(-20deg);
		right: 14px;
	}
	.headerSpBtn span:nth-of-type(3) {
		top: 24px;
		transform: rotate(-20deg);
	}
	.headerSpBtn.open span:nth-of-type(1) {
		top: 15px;
		transform: rotate(45deg);
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
	.headerSpBtn.open span:nth-of-type(2) {
		opacity: 0;
	}
	.headerSpBtn.open span:nth-of-type(3) {
		top: 15px;
		transform: rotate(-45deg);
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
	.headerSpBtn .menuTitle{
		font-weight: 300;
		position: absolute;
		text-align: center;
		top: 34px;
		font-size: 1rem;
		width: 110%;
	}
	.gNav ul.gNavLinkList li a{
		color: #fff;
	}

	.headerSpBtn .menuTitle {
		font-family: 'Noto Sans JP';
		font-weight: 300;
		position: absolute;
		text-align: center;
		top: 29px;
		font-size: 1rem;
		width: 100%;
		color: #1F4C73;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
	.headerSpBtn {
		position: absolute;
		top: 9px;
		right: 6px;
		z-index: 3;
		width: 26px;
		height: 29px;
		cursor: pointer;
		padding: 10px 10px 14px 10px;
		box-sizing: content-box;
	}
	#searchBox form input {
		border: none;
		padding: 5px 8px 5px 13px;
		box-sizing: border-box;
		font-size: 1.2rem;
		background: #FFF;
		border-radius: 100px 0 0 100px;
		width: auto;
	}
	.headerSearch {
		position: relative;
		right: 4%;
		top: 0;
		width: 92%;
		box-sizing: border-box;
		left: 4%;
	}
	#searchBox form button{
		border-radius: 0 100px 100px 0;
	}
	.gNav {
		background: linear-gradient(90deg, rgba(81,112,237,1) 0%, rgba(81,172,237,1) 100%);
		padding-top: 0;
		padding-bottom: 20px;
		clear: both;
		display: none;
		position: absolute;
		width: 100vw;
		z-index: 2;
		top: 50px;
	}
	.gNav a {
		color: #FFFFFF;
		display: block;
		padding: 15px;
	}
	.gNav .gNavLinkList {
		display: block;
		width: 100%;
		margin-top: 0;
		font-size: 1.4rem;
	}
	.gNav .gNavLinkList li a{
		color: #fff;
	}
	.gNav .gNavLinkList > li > a{
		background-repeat: no-repeat;
		background-position: right 4% center;
		color: #FFF;
	}
	.gNav li {
		width: 100%;
		text-align: left;
		border-left: none;
		border-bottom: solid 1px #77b3d9;
	}
	.gNav li:last-child {
		border-right: none;
	}
	.gNav .gNavLinkList > li .child {
		padding-left: 4%;
		padding-right: 4%;
		display: none;
		position: relative;
		padding-top: 0;
		padding-bottom: 0;
		left: auto;
		margin-top: auto;
		width: auto;
		z-index: auto;
		background-color: transparent;
	}
	.gNav a.parent.active > span {
		background-color: transparent;
	}
	
	.gNav .gNavLinkList > li .child li{
		border-bottom: none;
		margin-bottom: 15px;
		padding-bottom: 0;
	}

	.gNav .gNavLinkList > li .child a {
		padding-top: 5px;
		padding-bottom: 5px;
		background-color: #368ec7;
		border-radius: 5px;
		background-image: url(../images/ico_arrow_white.svg);
		background-repeat: no-repeat;
		background-position: left 10px center;
		padding-left: 26px;
		font-size: 1.2rem;
	}
	.visualMsg {
		padding-left: 7%;
	}

	.visualMsg {
		top: 33vh;
		bottom: auto;
	}
	.visualMsg h1{
		font-size: 2.8rem;
	}
	.regBtn{
		font-size: 1.6rem;
		padding: 15px 75px;
	}
	.mainVisualBg {
		position: absolute;
		top: 21vh;
		bottom: auto;
		left: -18%;
		width: 110%;
	}
	.ohayashi {
		padding-top: 25px;
		padding-bottom: 40px;
		text-align: right;
		max-width: 100%;
		text-align: right;
		margin-left: 20%;
		margin-right: 4%;
	}
	.msgBox {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 0;
	}
	.msgBox .imgBox {
		position: relative;
		width: 40%;
		float: right;
		margin-bottom: 20px;
		margin-top: -50px;
	}
	section {
		padding-top: 40px;
		padding-bottom: 50px;
		position: relative;
	}
	.msgBox h2 {
		font-weight: 500;
		font-size: 2.4rem;
		margin-bottom: 20px;
		text-align: left;
		z-index: 1;
		position: relative;
	}
	h2 {
		font-weight: 500;
		font-size: 2.2rem;
		text-align: center;
		margin-bottom: 30px;
	}
	.aboutBox h3 {
		font-size: 1.7rem;
		font-weight: 400;
		margin-bottom: 20px;
		text-align: left;
	}
	.contentsRegBtnBox {
		text-align: center;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.sceneBox .sceneList ul {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 15px;
	}
	.flowContentsBox h3 {
		text-align: left;
		background-color: #FFF;
		border-radius: 5px;
		font-size: 1.6rem;
		font-weight: 500;
		margin-bottom: 40px;
		padding: 4%;
	}
	.flowContentsList ul {
		padding-left: 4%;
		margin-bottom: 20px;
	}

	.contactBox h2 {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}

	.sceneBox {
		padding: 0;
	}
	.fuwafuwaBgBig {
		background-image: url(../images/fuwafuwa_bg_big.svg);
		background-repeat: no-repeat;
		background-position: left -50% top -30px;
		background-size: 100%;
	}
	.contactBox p{
		font-size: 1.2rem;
	}
	.footerLogo2cBox div {
		padding: 15px 15px 15px 0px;
	}
	.loginPanel {
		max-width: none;
		margin-left: 4%;
		margin-right: 4%;
		padding: 4%;
		background-color: rgba(250,250,250,0.7);
		border-radius: 10px;
	}

	.consumerLogin h2 {
		margin-bottom: 10px;
		font-size: 3rem;
	}
	p.leadText {
		margin-bottom: 30px;
	}
	.loginPanel h3 {
		margin-bottom: 10px;
	}
}



