@charset "utf-8";

/***************************************
 For bynow.jp
 arai@onenote.co.jp
 Sep 21, 2025
***************************************/



.gNav {
    position: absolute;
    right: 63px;
    top: 0;
    height: 61px;
	box-sizing: border-box;
}
.gNav .inner{
	width: auto;
}
.gNav .gNavLinkList{
	display: flex;
	width: 100%;
}
.gNav{
    position: absolute;
    right: 80px;
}
.gNav li{
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 11px;
    font-size: 12px;
    width: auto;
    text-align: center;
    position: relative;
    word-break: keep-all;
}
.gNav a{
	display: block;
	padding: 7px;
	position: relative;
	z-index: 2;
	line-height: 1.3;
}
.gNav a:hover{
	text-decoration: none;
}
.gNav ul.gNavLinkList > li:last-child .child{
	right: 7px;
	left: auto;
}
.gNav .child {
    background-color: #272727;
    padding: 15px;
    position: absolute;
    z-index: 2;
    left: 7px;
    margin-top: 0;
    display: none;
    box-sizing: border-box;
    margin-top: 0;
    width: 320px;
}
.gNav .child a {
    display: block;
    text-align: left;
    /* background-image: url(../images/ico_arrow_white_mini.svg); */
    padding: 0px 0px 0px 16px;
    background-repeat: no-repeat;
    background-position: left center;
    color: #FFF;
}


.gNav a.parent > span {
	padding-top: 1px;
    padding-bottom: 3px;
	box-sizing: border-box;
	display: block;
}


.gNav a.parent.active > span:before {
	content: '';
    position: absolute;
    top: 33px;
    left: 50%;
    margin-left: -8px;
    border: 8px solid transparent;
    border-top: 8px solid #E60012;
}


.gNav .child li {
    border-left: none;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: #ffffff solid 1px;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 18px;
}
.gNav .child li:last-child{
	border-right: none;
	border-bottom: none;
	margin-bottom:0;
	padding-bottom: 10px;
}



.megaMenuPC {
    display: block;
    background-color: #272727;
    width: 75%;
    right: -75%;
    position: fixed;
    max-height: calc(100vh - 67px);
    padding: 30px;
	overflow: auto;
	transition: 0.5s ease-in-out;
    z-index: 10;
        top: 18px;
}
.megaMenuPC::-webkit-scrollbar{
	display: none;
}
.megaMenuPC.open{
	right: 0;
}
.megaMenuPC .inner{
	width: auto;
	min-width: none;
}
.megaMenuPC a:hover{
	text-decoration: none;
}
.megaMenuPC a {
	color: #FFFFFF;
	display: block;
	padding: 15px;
}
.megaMenuPC .gNavLinkList {
    display: grid;
    width: 100%;
    margin-top: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 0;
}
.megaMenuPC .gNavLinkList > li > a{
	background-image: url(../images/ico_arrow_white_mini.svg);
	background-repeat: no-repeat;
	background-position: right 4% center;
}
.megaMenuPC li {
	width: 100%;
	text-align: left;
	border-left: none;
	padding-left: 0;
	padding-right: 0;
	margin-top: -1px;
}

.megaMenuPC li:last-child {
	border-right: none;
}
.megaMenuPC .gNavLinkList > li .child {
	padding-left: 4%;
	padding-right: 4%;
	display: block;
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
	left: auto;
	margin-top: auto;
	width: auto;
	z-index: auto;
	background-color: transparent;
}
.megaMenuPC a.parent.active > span {
	background-color: transparent;
}

.megaMenuPC .gNavLinkList > li .child li{
	border-bottom: none;
	margin-bottom: 10px;
	padding-bottom: 0;
	border-top: none;
}

.megaMenuPC .gNavLinkList > li .child a {
	padding-top: 5px;
	padding-bottom: 5px;
	background-color: #333;
	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: 12px;
	background-size: 10px;
}



/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

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

body {
	min-width: inherit;
	font-size: 14px;
}
	

br.forPC { display: none; }
br.forSP { display: inline; }

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

img.forPC { display: none; }
img.forSP { display: inline; }
.gNav .child a {
	background-image: url(../images/ico_arrow_white.svg);
}
.bisinessTitle .logoBox {
    width: 110px;
    top: 3px;
}

.gNav {
	background-color: #272727;
	padding-bottom: 20px;
	clear: both;
	display: none;
	position: absolute;
	width: 100vw;
	z-index: 2;
	right: 0;
	top: 55px;
	overflow: auto;
	height: calc(100vh - 67px);
	height: calc(100dvh - 67px);
}
.gNav a {
	color: #FFFFFF;
	display: block;
	padding: 5px;
}
.gNav .gNavLinkList {
    display: block;
    width: 100%;
    margin-top: 10px;
    border-top: none;
}
.gNav .gNavLinkList > li > a{
	background-image: url(../images/ico_arrow_white_mini.svg);
	background-repeat: no-repeat;
	background-position: right 4% center;
            padding: 0;
}
.gNav li {
	width: 100%;
	text-align: left;
	border-left: none;
	padding-left: 0;
	padding-right: 0;
}
.gNav li:last-child {
	border-right: none;
	border-bottom: none;
}
.gNav .gNavLinkList > li .child {
	padding-left: 0;
	padding-right: 0;
	display: block;
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
	left: auto;
	margin-top: auto;
	width: 90vw;
	z-index: auto;
	background-color: transparent;
}
.gNav a.parent.active > span {
	background-color: transparent;
}

.gNav .gNavLinkList > li .child li{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
    padding-left: 0;
}
.gNav .gNavLinkList > li .child li:last-child{
	margin-bottom: 20px;
}

.gNav .gNavLinkList > li .child a {
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: #333;
    border-radius: 5px;
    background-image: url(../images/ico_arrow_white.svg);
    background-repeat: no-repeat;
    background-position: left 10px center;
    padding-left: 15px;
    background-size: 10px;
}



/*-------------------------------------
 header
-------------------------------------*/
#header {

}
#header h1 {

}
#header h1 em {

}
.headerLogo{

}

.headerBtn {

}

.headerBtnMenu {

}

#gNav {

}
#gNav .gNavClose {

}
#gNav .gNavClose img {

}
#gNav ul {

}
#gNav ul li {

}


/*-------------------------------------
 layout
-------------------------------------*/
#container {
	width: auto;
}
#contents {
	float: none;
	width: auto;
}


/*-------------------------------------
 pagetop
-------------------------------------*/
#pagetop p {
	position: relative;
	width: auto;
	height: auto;
	text-align: center;
}
#pagetop a {
	padding: 20px 0;
}

/*-------------------------------------
 footer
-------------------------------------*/
#footer {

}
.footerInner {
	position: relative;
	width: auto;
	padding: 0;
}


	/*-------------------------------------
	home
	-------------------------------------*/
	/* visual
	-------------------------------------*/


    .gNav .gNavLinkList > li .child {
		        width: 79vw;
	}


	.mainVisual {
		width: 100%;
		height: auto;
		height: auto;
		display: grid;
		grid-template-columns: 1fr;
		z-index: 1;
	}
	.mainMsg h1 {
		font-size: 36px;
		font-weight: 900;
		line-height: 1.2;
	}

	.mainMsg {
		display: flex;
		align-items: center;
		padding-left: 5%;
		padding-top: 70px;
		padding-bottom: 80px;
	}
	.mainMsg .yajirushiLink {
		bottom: 30px;
		left: auto;
		position: absolute;
		right: 5%;
	}
	.mainImg {
		margin-top: 0px;
		padding-right: 5%;
	}
	.mainImg img{
		margin-bottom: -40px;
	}

	.mainContents h2 {
		font-size: 30px;
		padding-left: 95px;
		font-weight: 900;
		margin-bottom: 30px;
		position: relative;
		margin-left: -58px;
	}
	p {
			font-size: 12px;
	}
	.inner{
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	.service2c {
		display: grid
	;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 30px;
	}
	.serviceBox .num {
		font-size: 24px;
		font-weight: bold;
	}
	.serviceBox .since {
		position: relative;
		right: 0;
		font-weight: 300;
		top: 16px;
		float: right;
		font-size: 11px;
	}
	.serviceBox h3 {
		font-size: 20px;
	}
	.serviceDetail2c01 {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 0;
		margin-bottom: 40px;
	}
	.serviceDetail2c01 .rightBox .imgBox::before {
		content: "";
		position: absolute;
		height: 1px;
		border-top: #272727 solid 1px;
		right: -6%;
		top: 40px;
		width: 56%;
		left: auto;
	}
	.serviceDetail2c01 .rightBox .imgBox {
		padding: 10%;
		margin-bottom: 0;
		margin-bottom: 0px;
		padding-top: 80px;
	}
	.serviceDetail2c01 .rightBox p {
		line-height: 1.8;
		font-size: 13px;
		font-weight: 300;
	}
	.serviceDetail4c01 .title .tate {
		font-size: 50px;
	}
	.serviceDetail4c01 {
		display: grid;
		grid-template-columns: 1fr 70px;
		column-gap: 2%;
		padding-top: 40px;
	}
	.serviceDetail4c01 .imgBox02 {
		margin-top: 30px;
		grid-column: span 2;
		padding-left: 90px;
	}

	.serviceDetail4c01 .imgBox03 {
		margin-top: 30px;
		grid-column: span 2;
		padding-right: 90px;
	}
	.serviceDetail4c01 .imgBox04 {
		margin-top: 30px;
		grid-column: span 2;
		padding-left: 90px;
	}
	.serviceDetail4c01::before{
		left: -6%;
		width: 56%;
	}
	.interview2c {
		display: grid
	;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 50px;
	}

	.interviewContents a {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 0;
	}
	.interview2c .interviewContents:nth-child(1) {
		margin-top: 0;
	}
	.interview2c .interviewContents:nth-child(1) .textContents {
		margin-top: 20px;
		width: 100%;
	}
	.interview2c .interviewContents:nth-child(2) .imgBox {
		margin-left: 0;
	}
	.interview2c .interviewContents:nth-child(2) .textContents {
		margin-top: 50px;
		margin-left: 0;
	}
	.interview2c .interviewContents:nth-child(2) img {
		position: relative;
		width: auto;
		max-width: 100%;
	}
	.interview2c .interviewContents:nth-child(2) {
		margin-left: 0;
	}

	.interview2c .interviewContents:nth-child(2) .textContents {
		margin-top: 20px;
		margin-left: 0;
	}
	section.aboutUs {
        padding-top: 60px;
        padding-bottom: 70px;
    }

	.sloganWrapper {
		text-align: center;
		width: auto;
		margin-left: auto;
		margin-right: auto;
	}
	.slogan {
		font-size: 38px;
		font-weight: 900;
		font-family: "tt-commons-pro", sans-serif;
		color: #545454;
		margin-bottom: 20px;
		line-height: 1.4;
		text-align: left;
	}
	#footer {
		position: relative;
		text-align: center;
		padding-top: 30px;
		padding-bottom: 10px;
		font-size: 10px;
		padding-left: 5%;
		padding-right: 5%;
	}
	.footerLogo2cBox div {
		padding: 10px 5px 15px 0px;
	}


	.footerLinks {
		display: grid
	;
		grid-template-columns: 1fr 1fr;
		column-gap: 10px;
		margin-right: auto;
		margin-left: auto;
		max-width: none;
		margin-bottom: 30px;
	}
	#footer ul li a {
		font-size: 11px;
	}

    .bottomMainVisual .mainMsg {
		padding-top: 0;
		padding-bottom: 0;
	}
	.bottomMainVisual .mainMsg h1 span{
		margin-top: 10px;
		margin-left: 0;
		display: block;
	}

	.topicPath {
		border-top: 1px solid #dcdcdc;
		border-bottom: 1px solid #dcdcdc;
		padding: 5px 5%;
		margin-top: 0;
	}
	#interviewContents .container{
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	#interviewContents {
    	max-width: none;
	}
	.interview2cContants {
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: auto;
	}
	#interviewContents h1 {
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.relationBox {
    display: grid
;
    grid-template-columns: 1fr;
    column-gap: 0;
}
.relationBox .relationImg{
	margin-bottom: 10px;
}
.relationBox .relationImg.forPC{
		display: none;
	}
	.relationBox .relationImg.forSP{
		display: block;
	}
	.rightImg {
		float: right;
		max-width: none;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.serviceDetail4c02 {
    display: grid
;
    grid-template-columns: 1fr;
    column-gap: 0;
    padding-top: 0px;
}

.serviceDetail4c02 .imgBox01 {
    margin-top: 40px;
	padding-right: 90px;
}
.serviceDetail4c02 .imgBox02 {
    margin-top: 40px;
	padding-left: 90px;
}
.serviceDetail4c02 .imgBox03 {
    margin-top: 40px;
	padding-right: 90px;
}
.serviceDetail4c02 .imgBox04 {
    margin-top: 40px;
	padding-left: 90px;
}
.service3c {
    display: grid
;
    grid-template-columns: 1fr 1fr;
    column-gap: 3%;
    row-gap: 40px;
}
.service3c .serviceBox h3 {
    font-size: 14px;
}

.serviceBox .num {
	font-size: 18px;
	font-weight: bold;
}
.priceContents {
    background-color: #FFF;
    padding: 30px 6%;
}
.price2c {
    display: grid
;
    grid-template-columns: 1fr;
    column-gap: 0;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    row-gap: 30px;
}
.priceContents h3 {
    text-align: center;
    font-weight: 700;
    margin-bottom: 20px;
}
.priceContents .price {
    text-align: center;
    margin-bottom: 20px;
}
.arcWrap {
    position: relative;
    display: inline-block;
    margin-left: 5%;
}
.stepSPList .idx{
	font-size: 20px;
	font-weight: 900;
}
.bgFFFFFF{
	z-index: 1;
	background: transparent;
}

.stepBox h2::before {
    background-color: #f1f1f1;
    display: block;
    width: 300px;
    height: 300px;
    border-radius: 1000px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -250px;
    right: 0;
    margin: auto;
    border: none;
	
}
section.stepBox{
	padding-top: 20px;
}

ul.stepSPList li{
	display: grid;
	grid-template-columns: 30px 1fr;
	column-gap: 15px;
	margin-bottom: 15px;
}
ul.stepSPList li h4{
	font-weight: 700;
}
.contactFormBox {
    padding: 40px 3% 40px 3%;
}

.corporateProfileBox table{
	font-size: 12px;
}

.bottomMainVisual {
    padding-top: 100px;
    margin-bottom: 100px;
}

.mainMsg h1 span{
	margin-bottom: 3px;
}

.mainContents.bottom section:last-child {
    padding-bottom: 120px;
}
















}





/* PC layout
-------------------------------------------------------------------*/
@media screen and (min-width: 769px) {

	.forPC { display: block; }
	img.forPC { display: inline-block; }
	.forSP { display: none; }

	.modaal-content-container {
		padding: 4%;
	}
	.relationBox .relationImg.forPC{
		display: flex;
	}
	.relationBox .relationImg.forSP{
		display: none;
	}

#brandStoryContents .centerImg{
    float: left;
    width: 46%;
    margin-right: 4%;
}

#brandStoryContents .centerImg + .textContents{
    margin-left: 50%;
}


#brandStoryContents .centerImg.pcCenter{
    width: 100%;
    float: none;
    margin-right: 0;
}






}

