.cdk-overlay-pane {
    max-width: 90vw !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.mat-dialog-container {
    box-shadow: 0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);
    display: block;
    padding: 24px;
    border-radius: 2px;
    box-sizing: border-box;
    overflow: auto;
    outline: 0;
    width: 100%;
    height: 100%;
    min-height: inherit;
    max-height: inherit;
}
section[_ngcontent-c8] {
    max-width: 375px;
    overflow: auto;
    overflow-x: hidden;
    position: relative;
    height: 470px;
    max-height: 90vh;
}
.icon-picture[_ngcontent-c8] {
    max-width: calc(48px / 2);
    margin-right: .3em;
}
.title[_ngcontent-c8] {
    color: #0c3779;
    font-size: 1.25rem;
    text-align: center;
    margin-top: calc(20px / 2);
    margin-bottom: calc(45px / 2);
}
.view-step1[_ngcontent-c8] {
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
}
.notice-head[_ngcontent-c8] {
    font-weight: 700;
    font-size: .875rem;
    text-align: center;
    margin-top: calc(30px / 2);
    margin-bottom: calc(30px / 2);
}
ul[_ngcontent-c8] {
    font-size: .75rem;
    margin-bottom: calc(40px / 2);
}
.ul {
    list-style: none;
    margin: 0;
    margin-bottom: 0px;
    padding: 0;
}
.receipt-example[_ngcontent-c8] img[_ngcontent-c8] {
    width: 100%;
    max-width: calc(438px / 2);
    margin: auto;
    display: block;
}
.receipt-example[_ngcontent-c8] {
    padding: calc(55px / 2) calc(65px / 2);
    background-color: #f0f6ff;
}
.next-button[_ngcontent-c8]::after {
    content: '';
    position: absolute;
    right: calc(30px / 2);
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(13px / 2);
    height: calc(22px / 2);
    background-image: url(assets/images/take-picture/arrow-r.png);
    background-size: cover;
}
.next-button.step1[_ngcontent-c8] {
    margin-bottom: calc(80px / 2);
}
.next-button[_ngcontent-c8] {
    width: calc(340px / 2);
    height: calc(80px / 2);
    margin: calc(30px / 2) auto;
    margin-bottom: calc(15px);
    display: block;
    position: relative;
}
.button {
    border-radius: 100px;
    border: none;
    padding: 0;
    font-size: 1em;
    cursor: pointer;
}
:focus, a:focus {
    outline: 0;
}
.icons[_ngcontent-c8] {
    display: flex;
    align-content: center;
    justify-content: center;
}
.icon[_ngcontent-c8]:first-child {
    margin-left: 0;
}
.icon[_ngcontent-c8] {
    margin-left: calc(30px / 2 / 2);
    margin-right: calc(30px / 2 / 2);
    font-size: .75rem;
}
.icon[_ngcontent-c8] img[_ngcontent-c8] {
    max-width: calc(170px / 2);
    width: 100%;
}
.icon[_ngcontent-c8] p[_ngcontent-c8] {
    text-align: center;
    height: calc(70px / 2);
    display: flex;
    align-items: center;
    justify-content: center;
}
.bg-fff{background: #fff;border-radius: 16px;}
.pad-50 {padding: 50px;}
.mar-b-120{margin-bottom: 120px;}
.mar-b-80{margin-bottom: 80px;}
.mar-b-50{margin-bottom: 50px;}
.mar-b-15{margin-bottom: 20px;}
.mar-b-10{margin-bottom: 10px;}
.mar-b-0{margin-bottom: 0;}
.pad-t-50{padding-top: 50px;}
#page-top.ryubo_campaign{background: #1e1d25;padding: 0;}
.inner{width: 100%;max-width: 1200px;margin: 0 auto;padding: 0 30px;box-sizing: border-box;}
#page-top.ryubo_campaign header{}
header{
	background-color: #fff;
	height: 80px;
	border-bottom: 3px solid #c12682;
	display: flex;
	align-items: center;
}
.cam_logo{line-height: 1;font-size: 18px;}

#page-top.ryubo_campaign .large-img img{
	width: 100%;
}
footer[_ngcontent-c3]{
	background: #ac007a;
	padding: 22px 0;
	text-align: center;
}
.copyright {
	font-size: 11px;
	line-height: 16px;
	margin-bottom: 0;
	color: #fff;
}
.section-present{
	margin-top: -20px;
}
.tips-title{
	text-align: center;
	padding-bottom: 30px;
}
/* .attend[_ngcontent-c5].section-tips {
    padding: 50px 0;
} */
.tips-title{
	font-size: 30px;
}
.section-tips dl:last-child{
	margin-bottom: 0;
}
.section-tips dt{
	background: #ac007a;
	color: #fff;
	font-size: 20px;
	line-height: 21px;
	padding: 21px 0;
	border-radius: 8px;
	text-align: center;
	position: relative;
	cursor: pointer;
}
.section-tips dt i{
	position: absolute;
	width: 25px;
	height: 15px;
	top: 20px;
	right: 20px;
}
.section-tips dd{
	padding-top: 15px;
}
.section-aplication.attend[_ngcontent-c5] .scroll-wrapperWrap{
	padding: 0;
}
.attend[_ngcontent-c5] .head[_ngcontent-c5]{
	color: #ac007a;
	margin: 3px 0;
	font-size: 16px;
	line-height: 26px;
}
p.tips{
	padding-left: 1.3em;
	position: relative;
}
p.tips7{
	padding-left: 7em;
	position: relative;
}
p.tips span.tips-span,p.tips7 span.tips-span{
	position: absolute;
	left: 0;
	top: 0;
}
.section-tips .tips{
	padding-left: 1.8em;
}
.step-box{
	padding: 30px;
}
.step-box{
	font-size: 0;
}
.step-box>div{
	display: inline-block;
	box-sizing: border-box;
	vertical-align: text-top;
}
.step-img{
	width: 125px;
}
.step-img img{
	width: 100%;
	display: block;
}
.step-text{
	width: calc(100% - 125px);
	padding-left: 30px;
	margin-top: -5px;
}
.step-text p{
	font-size: 16px;
	line-height: 26px;
}
.font-14{
	font-size: 14px !important;
}
.step-list-item{
	padding-top: 23px;
}
.step-item-box{
	background: #fff1f2;
	padding: 0 30px 30px;
}
.step-item-title{
	padding-bottom: 20px;
}
.step-item-title img{
	height: 45px;
	margin-top: -23px;
}
.step-item-content{
	font-size: 0;
}
.step-item-content>div{
	display: inline-block;
	vertical-align: top;
}
.step-item-l{
	width: 65%;
}
.step-item-r{
	width: 35%;
}
.step-item-l>img{
	height: 24px;
	margin-bottom: 15px;
}
.step-item-l p{
	font-size: 16px;
	line-height: 26px;
}
.step-item-l p.font-14{
	line-height: 26px;
}
.step-item-l p a{
	display: inline-block;
	border-bottom: 1px solid #ac007a;
}
.step-item-l p a:hover{
	color: #ac007a;
	text-decoration: none;
}
.step-item-r img{
	max-width: 100%;
}
.step-btn img{
	max-width: 100%;
}
.mar-b-40{
	margin-bottom: 40px;
}
.photo-title {
    padding-bottom: 30px;
}
.photo-img{
	width: 220px;
}
.photo-text{
	width: calc(100% - 220px);
	padding-left: 30px;
	margin-top: -5px;
}
.photo-text .tips{
	padding-left: 32px;
	padding-bottom: 14px;
	margin-bottom: 0;
}
.photo-text p.tips span.tips-span{
	width: 22px;
	height: 22px;
	background: #ac007a;
	border-radius: 50%;
	text-align: center;
	color: #fff;
	line-height: 20px;
	top: 4px;
}
.photo-text-2 {
    width: 100%;
    padding-left: 0;
}
.photo-text .tips:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}
.photo-text-2 .row {
    margin-top: 20px;
}
.photo-list-text {
    padding: 10px 0 15px;
}
.photo-list-text p {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
}
.section-title {
	text-align: center;
}
.section-title img{
	height: 67px;
}
.about-flag{
	margin: 30px 0 20px;
}
.about-outline-box {
    border: 1px solid #ac007a;
}
.outline-img {
    margin-top: -12px;
    font-size: 0;
}
.outline-img img {
    display: inline-block;
    height: 23px;
    background: #fff;
}
.products-list{
	padding: 20px 0 40px;
}
.products-list ul{
	display: flex;
	margin-bottom: 0;
}
.products-list ul li{
	width: 14.285714%;
	text-align: center;
}
.products-img img{
	width: 90%;
	max-width: 130px;
}
.product-img img{
	width: 44%;
	max-width: 130px;
}
.section-about{
	padding-top: 50px;
}
/* .section-photo{padding: 80px 0;} */
.d-flex {display: flex;}
.jc-c{justify-content: center;}
.ai-e{align-items: flex-end;}
.pb0{padding-bottom: 0;}
p{word-break: break-all;}
.fw_b{font-weight: 600;}
.main_mv{width: 1200px;max-width: 100%;margin: 0 auto;}
.small, small{font-size: 70%;}
.cam_textbox{color: #fff;max-width: 748px;margin: 0 auto;}
.cam_ttl{text-align: center;margin-bottom: 50px;}
.cam_txtbox p{margin-bottom: 0;}
.total_price{font-size: 24px;font-weight: 600;display: inline-block;}
.cam_link{margin-top: 60px;text-align: center;}
.cam_link a{display: inline-block;width: 400px;max-width: 100%;background-color: #ac007a;color: #fff;border-radius: 40px;padding: 20px;box-sizing: border-box;font-size: 22px;line-height: 32px;font-weight: 600;text-decoration: none;}

@media screen and (max-width:1200px){
	#page-top.ryubo_campaign .campaign_main, .headline[_ngcontent-c5]{
		margin: 0;
	}
	.section-photo .container, .section-about .container, .section-1 .container{
		margin-left: 30px;
		margin-right: 30px;
		width: calc(100% - 60px);
		margin: 0 auto;
		max-width: 100%;
	}
}
@media screen and (max-width:1000px){
	.products-list ul {
	    display: block;
	    font-size: 0;
	    text-align: center;
	}
	.products-list ul li {
	    width: 25%;
	    display: inline-block;
	    vertical-align: top;
	    margin-bottom: 20px;
	}
}
@media screen and (max-width:767px){
	.outline-text {
		padding: 15px 20px;
	}
	.section-photo .container, .section-about .container, .section-1 .container{
		margin-left: 15px;
		margin-right: 15px;
		width: calc(100% - 30px);
	}
	.attend[_ngcontent-c5] .container{padding: 0;}
	.section-title img {
		height: 57px;
	}
	.step-box>div{
		display: block;
		width: 100%;
	}
	.step-img{
		margin-bottom: 15px;
	}
	.step-img img{
		width: auto;
		margin: 0 auto;
	}
	.step-text{
		padding-left: 0;
	}
	.step-box{
		padding: 20px;
	}
	.step-item-box{
		padding: 0 20px 20px;
	}
	.step-item-content>div{
		display: block;
		width: 100%;
	}
	.step-item-l{
		margin-bottom: 15px;
	}
	.step-btn{
		padding: 0 10px;
	}
	.section-step .container{
		margin-bottom: 30px;
	}
	.photo-text-2 .col-6:first-child{
		padding-bottom: 14px;
	}
	.col-6{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.col-4 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
		padding: 0 5px;
	}
	main{min-height: calc(100vh - 120px);}
	.sp-row {margin: 0 -5px;}
	.photo-list-text p {line-height: 20px;}
	.about-outline:last-child {margin-bottom: 0;}
	.outline-text p{line-height: 26px;font-size: 16px;}
	.outline-img{margin-top: -10px;font-size: 0;}
	.outline-img img{display: inline-block;height: 17px;background: #fff;}
	.step-text p{font-size: 14px;line-height: 24px;}
	.tips-title{font-size: 24px;padding-bottom: 20px;}
	.section-tips dt{font-size: 18px;line-height: 1.5;padding: 15px 0;}
	.section-tips dt i{top: 14px;width: 18px;right: 10px;height: 10px;}
	.pc-main{display: none;}
	.sp-main{display: block;}
	header{height: 60px;}
	.inner{padding: 0 15px;}
	.pad-t-50{padding-top: 30px;}
	.pad-50 { padding: 20px;}
	.mar-b-80 {margin-bottom: 40px;}
	.mar-b-30{margin-bottom: 30px;}
	.mar-b-40{margin-bottom: 25px;}
	#page-top.ryubo_campaign{padding-top: 0;}
	.cam_ttl{font-size: 20px;margin-bottom: 20px;}
	.cam_txtbox p{font-size: 14px;}
	.cam_txtbox h5{font-size: 16px;margin-bottom: 5px;}
	.cam_link{margin-top: 30px;}
	.cam_link a{padding: 10px;font-size: 14px;line-height: 24px;}
}
