/*container
-----------------------------------------------------------*/

html {
	width: 100%;
	overflow-x: hidden;
}

body {
	min-width: 1080px;
}

#container {
	width: 100%;
	min-width: 1080px;
	transform: translate3d(0, 0, 0);
	overflow: hidden;
	position: relative;
	top:0;
	left: 0;
	padding-top: 68px;
	z-index: 1;
}

@media screen and (max-width: 1079px) {
	
	html {
		overflow-x: scroll;
	}
	
}

@media screen and (max-width: 800px) {
	
	html {
		overflow-x: hidden;
	}
	
	body, #container {
		min-width: inherit;
		padding-top: 0;
	}
	
}


/*nav pc
-----------------------------------------------------------*/

#navPc {
	top: 0;
	left: 0;
	width: 100%;
	height: 68px;
	background-color: #c60079;
	text-align: right;
	padding-right: 6px;
	overflow-y: visible;
	z-index: 10;
}
#navPc.fixed{
	position: fixed;
}


#navPc ul,
#navPc ul li {
	display: inline-block;
	height: 68px;
	text-align: left;
	padding-top: 3px;
	vertical-align: top;
}

#navPc ul li a {
	display: block;
	color: #fff;
	padding: 6px 0;
	font-weight: 500;
	margin-right: 24px;
	text-decoration: none;
	line-height: 125%;
	text-align: center;
	margin-top: 11px;
}

#navPc ul li a.two {
	margin-top: 0!important;
}

#navPc .apps {
	position: absolute;
	top: 415px;
	right: 30px;
	width: 164px;
	z-index: 99;
}

#navPc.fixed .apps {
	top: 80px;
}

#navPc .apps a {
	display: block;
	width: 100%;
	margin-bottom: 8px;
}

@media screen and (max-width: 800px) {
	
	#navPc {
		display: none;
	}
	
}


/*nav sp
-----------------------------------------------------------*/

#navSp {
	display: none;
	position: relative;
	top: 6px;
	left: 0;
	width: 100%;
	height: 0;
	overflow: visible;
	z-index: 10;
}

#navSp.fixed{
	position: fixed;
}

#navSp ul {
	position: absolute;
	top: 0;
	right: -270px;
	width: 268px;
	height: 110vh;
	background-color: #c60079;
	padding: 96px 0 0 32px;
}

#navSp ul li {
	margin-bottom: 16px;
}

#navSp ul li a {
	background-image: url("/sites/default/files/page/lp/youmeappli_new/img/nav_sp_bow.png");
	background-position: left top 9px;
	background-repeat: no-repeat;
	background-size: 6px 8px;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 144.44%;
	padding-left: 12px;
	display: block;
	font-weight: 500;
}

#navSp #hbg {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	background-color: #fff;
	cursor: pointer;
}

#navSp #hbg div {
	position: absolute;
	left: 10px;
	width: 20px;
	height: 4px;
	background-color: #c60079;
}

#navSp #hbg #barTop { top: 10px; }
#navSp #hbg #barMiddle { top: 18px; }
#navSp #hbg #barBottom { top: 26px; }

#navSp .apps {
	position: absolute;
	top: 12px;
	right: 64px;
	height: 40px;
	text-align: right;
	font-size: 0;
}

#navSp .apps a {
	display: inline-block;
	height: 40px;
	margin-left: 6px;
}

#navSp .apps a img {
	height: 40px;
	width: auto;
}

@media screen and (max-width: 800px) {
	
	#navSp {
		display: block;
	}
	
}

/*header
-----------------------------------------------------------*/

header .youmeIcon {
	position: absolute;
	top: 12px;
	left: 20px;
	width: 64px;
}

@media screen and (max-width: 800px) {
	
	header .youmeIcon {
        top: 18px;
        left: 16px;
        width: 40px;
    }
	
}

/*btn
-----------------------------------------------------------*/

.commonBtn {
	width: 100%;
	text-align: center;
}

.commonBtn a {
	display: inline-block;
	padding: 12px 40px;
	background-color: #c60079;
	color: #fff;
	line-height: 150%;
	text-decoration: none;
}

@media screen and (max-width: 800px) {
	
	.commonBtn a {
        padding: 10px 30px;
    }
	
}


/*youtube
-----------------------------------------------------------*/

.yt .ytHeading {
	width: 400px;
	margin: 0 auto;
	padding-bottom: 6px;
}

.yt .ytBox {
	width: 90%;
	max-width: 720px;
	margin: 0 auto;
}

.yt .ytBox .player {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.yt .ytBox .player iframe {
	position: absolute;
	top: 0;
	left: 0;
    width: 100%;
    height: 100%;
}

.yt .ytBox .player img {
	position: absolute;
	top: 0;
	left: 0;
}

/*cms
-----------------------------------------------------------*/

button {
	border-style: none;
	outline: none;
}

#s_footer a,
#s_footer a:hover {
	cursor: pointer;
}

@media screen and (min-width: 769px) {
	
	#s_footer {
		overflow-x: hidden!important;
	}
	
	.s_prBanner {
		width: 100vw!important;
		overflow-x: hidden!important;
	}
	
	.s_prBanner div {
		display: none!important;
	}
	
	.s_prBanner p {
		width: 50vw!important;
	}
	
	.s_prBanner p:first-of-type {
		position: relative!important;
		left: -5px!important;
	}
	
	.s_prBanner p a,
	.s_prBanner p a img {
		display: block!important;
		width: 50vw!important;
	}
	
}


/*1109新規追記*/
#bn{
	padding-bottom: 40px;
	background-color: #c60079;
}

#bn .bninner{
	max-width: 1080px;
    margin: auto;
	display: flex;
	flex-wrap: wrap;
}

@media screen and (min-width: 769px) {
#bn .bninner > *{
	width: calc((100% - 60px) / 4);
	border: 2px solid #fff;
}
	#bn .bninner > *:not(:last-child){
	margin-right: 20px;
}
}

@media screen and (max-width: 768px) {
	#bn .bninner{
		width: 90%;
		margin: 0 auto 0;
		padding-top: 40px;
	}
	#bn .bninner > *{
	width: calc((100% - 20px) / 2);
		border: 2px solid #fff;
		margin-bottom: 20px;
}
	#bn .bninner > *:nth-child(odd){
	margin-right: 20px;
}
}