/********/
/* 共通 */
/********/

/* FireFoxでwbrが効かない対策 */
@-moz-document url-prefix(){
	wbr{
		display         : block !important;
	}
	.set-word-break{
		white-space     : normal !important;
	}
}
/* Edgeでwbrが効かない対策 */
@supports (-ms-ime-align:auto){
	wbr{
		display         : block !important;
	}
	.set-word-break{
		white-space     : normal !important;
	}
}

/* コンテンツの最大幅 */
.content-container .section-inner-wrapper{
	margin              : 0 auto;
	padding             : 64px 5%;
	width               : 100%;
	max-width           : 1280px;
	box-sizing          : border-box;
}

/* <wbr>で改行を制御するところ */
.set-word-break{
	word-break          : keep-all;
	white-space         : nowrap;
}

/* お問い合わせへ移動するボタン */
.goto-contact-form{
	position            : relative;
	display             : inline-block;
	margin              : 128px 0;
	padding             : 1.0em 3.2em;
	font-size           : 38px;
	color               : white;
	line-height         : 1.2em;
	background          : #252525;
	border-radius       : 3.6em;
	box-shadow          : 6px 6px 12px rgba(0,0,0,0.3);
}
@media screen and (max-width: 760px){
	.goto-contact-form{
		margin          : 160px 0;
		padding         : 1.25em 2.0em;
		font-size       : 5.0vw;
	}
}



/********************/
/* メインビジュアル */
/********************/
.main-visual-wrapper{
	background          : #F09051;
	font-size           : 24px;
}
@media screen and (max-width: 1200px){
	.main-visual-wrapper{
		font-size       : 2vw;
	}
}
.main-visual{
	margin              : 0 auto;
	padding             : 96px 4em;
	max-width           : 1200px;
	background          : right 4em center / 50% no-repeat url('../img/infopage/01-main-visual/title_illust.png');
}
.main-visual p{
	margin              : 1em 0;
	max-width           : 16em;
	text-align          : center;
}
.main-visual .catch-phrase{
	margin              : 0.5em 0;
	max-width           : 8em;
	font-size           : 2em;
	font-weight         : bolder;
	line-height         : 1.2em;
	text-align          : center;
}
.catch-phrase span{
	display             : block;
	white-space         : nowrap;
}
.catch-phrase .line-1 em{
	font-size           : 1.7em;
	        text-emphasis : dot yellow;
	-webkit-text-emphasis : dot yellow;
}
.catch-phrase .line-2,
.catch-phrase .line-3{
	text-align-last     : justify;
}

/* スマホ */
@media screen and (max-width: 640px){
	.main-visual-wrapper{
		font-size       : 5vw;
	}
	.main-visual{
		padding         : 15vw 0 calc(105vw + 96px);
		width           : 16em;
		background      : bottom 10vw center / 90vw no-repeat url('../img/infopage/01-main-visual/title_illust.png');
	}
}


/************/
/* メリット */
/************/
.trouble-wrapper{
	position            : relative;
	background          : center / 100% url('../img/infopage/02-trouble/trouble-bg-dot.png');
}
.trouble-wrapper::before{
	content             :'';
	position            : absolute;
	top                 : 0;
	left                : 50%;
	z-index             : 1;
	display             : block;
	width               : 100px;
	height              : 130px;
	background          : center / contain no-repeat url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEzMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8cGF0aCBkPSJNNSw1TDQwLDg1TDYwLDQ1TDk1LDEyNSIgc3Ryb2tlPSIjMjUyNTI1IiBzdHJva2Utd2lkdGg9IjNweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJ0cmFuc3BhcmVudCIvPg0KPC9zdmc+');
	transform           :translate(-50%,-50%);
}
@media screen and (max-width: 1000px){
	.trouble-wrapper::before{
		width           : 10vw;
		height          : 15vw;
	}
}
@media screen and (max-width: 420px){
	.trouble-wrapper::before{
		width           : 14vw;
		height          : 21vw;
	}
}

/* ロゴ */
.trouble-wrapper .hikari-logo{
	margin              : 64px 0;
	text-align          : center;
}
.trouble-wrapper .hikari-logo img{
	margin-right        : -3%;
	width               : 60%;
	min-width           : 300px;
}
.trouble-wrapper .featured-list{
	margin              : -36px 0 96px;
	list-style-type     : none;
	text-align          : center;
}
.trouble-wrapper .featured-list li{
	display             : inline-block;
	margin              : 0 8px;
	width               : 120px;  /* 2 x 24px + 2 x 36px = 120px */
	height              : 120px;
	font-size           : 24px;
	line-height         : 32px;
	color               : #F09051;
	text-align          : center;
	vertical-align      : top;
	white-space         : nowrap;
	background          : #252525;
	border-radius       : 50%;
	box-shadow          : 4px 4px 8px rgba(0,0,0,0.2);
}
.trouble-wrapper .featured-list br{
	line-height         : inherit;
}
.trouble-wrapper .featured-list .row-2{
	padding             : 28px 0;
}
.trouble-wrapper .featured-list .row-3{
	padding             : 12px 0;
}

/* 困りごと */
.trouble-wrapper .section-inner-wrapper{
	padding-bottom      : 192px;
}
.in-trouble{
	margin              : 24px 0;
	font-size           : 42px;
	font-weight         : bolder;
	line-height         : 1.2em;
	text-align          : center;
}
@media screen and (max-width: 600px){
	.in-trouble{
		font-size       : 7vw;
	}
}
.trouble-list{
	list-style-type     : none;
	display             : flex;
	margin-top          : 96px;
	font-size           : 36px;
	counter-reset       : item_num;
	justify-content     : space-between;
}
@media screen and (max-width: 1200px){
	.trouble-list{
		font-size       : 3vw;
	}
}
.trouble-list li{
	position            : relative;
	padding             : 36px 24px;
	width               : 32%;
	font-weight         : bolder;
	line-height         : 1.25em;
	text-align          : center;
	background          : #F09051;
	border              : 4px solid;
	border-top          : none;
	border-radius       : 10px;
	box-shadow          : 3px 3px 6px rgba(0,0,0,0.3),
	                      2px 0   6px rgba(0,0,0,0.4) inset;
}
.trouble-list li::before{
	content             : '0' counter(item_num);
	counter-increment   : item_num;
	position            : absolute;
	top                 : 0;
	left                : 50%;
	display             : block;
	width               : 48px;
	height              : 48px;
	font-size           : 24px;
	line-height         : 48px;
	color               : white;
	text-align          : center;
	background          : #252525;
	border-radius       : 50%;
	transform           : translate(-50%, -50%);
}
.trouble-list li::after{
	content             : url('../img/infopage/02-trouble/trouble-accent.png');
	position            : absolute;
	top                 : 0;
	left                : 50%;
	display             : block;
	width               : 45px;
	height              : 35px;
	filter              : drop-shadow(2px 2px 1px rgba(0,0,0,0.2));
	transform           : translate(-72px, -48px);
}
.trouble-list li > div{
	display             : inline-block;
	text-align          : left;
}
.trouble-list li > span{
	position            : absolute;
	top                 : -2px;
	width               : calc(50% - 28px);
	height              : 100%;
	border-top          : 4px solid;
}
.trouble-list li > span.left-side{
	left                : -4px;
	border-radius       : 10px 0;
}
.trouble-list li > span.right-side{
	right               : -4px;
	border-radius       : 0 10px;
}

/* スマホ */
@media screen and (max-width: 768px){
	.trouble-list{
		flex-wrap       : wrap;
		justify-content : center;
		margin          : 96px -2.5% 0;
		font-size       : 5vw;
	}
	.trouble-list li{
		margin          : 0 2.5% 96px;
		padding         : 36px 3.125vw 4.7vw;
		width           : 45%;
	}
	.trouble-wrapper .section-inner-wrapper {
		padding-bottom  : calc(160px + 50vw);
	}
}

/* 解決策の提案 */
.solution-wrapper{
	position            : relative;
	background          : #FFF5D2;
}
.solution-wrapper::before{
	content             : '';
	display             : block;
	margin              : 0 auto -20vw;
	width               : 0;
	border              : 20vw solid transparent;
	border-top          : 10vw solid white;
}
/*
.solution-wrapper::after{
	content             : '';
	position            : absolute;
	top                 : 0;
	left                : 50%;
	display             : block;
	width               : 36vw;
	height              : 9.5vw;
	background          : center / 100% no-repeat url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8cGF0aCBkPSJNNSw1TDEwMCw5NUwxOTUsNSIgc3Ryb2tlPSIjMjUyNTI1IiBzdHJva2Utd2lkdGg9IjNweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJ0cmFuc3BhcmVudCIvPg0KPC9zdmc+');
	transform           : translateX(-50%);
}
*/
.solutions{
	position            : relative;
	bottom              : calc(10vw + 3 * 1.25 * 36px + 32px);
	font-size           : 36px;
	font-weight         : bolder;
	line-height         : 1.25em;
	text-align          : center;
}
.solutions img{
	height              : 2.0em;
}

/* スマホ */
@media screen and (max-width: 768px){
	.solutions{
		position        : absolute;
		top             : calc(-50vw - 2.5em - 32px);
		bottom          : auto;
		left            : 50%;
		font-size       : 32px;
		transform       : translateX(-50%);
	}
	.solutions img{
		display         : block;
		margin          : 1em auto;
		width           : 80vw;
		max-width       : none;
		height          : auto;
		transform       : translateX(3%);
	}
}

.solution-list{
	list-style-type     : none;
	margin-top          : -96px;
	counter-reset       : item_num;
	padding             : 24px 0;
	overflow            : hidden;
}
.solution-list li{
	position            : relative;
	display             : flex;
	margin              : 32px 0;
	padding             : 32px;
	font-size           : 32px;
	font-weight         : bolder;
	line-height         : 1.25em;
	border              : 4px solid;
	border-radius       : 10px;
}
.solution-list li::before{
	content             : '0' counter(item_num);
	counter-increment   : item_num;
	position            : absolute;
	top                 : 0;
	left                : 32px;
	display             : block;
	width               : 48px;
	height              : 48px;
	font-size           : 24px;
	line-height         : 48px;
	color               : white;
	text-align          : center;
	background          : #252525;
	border-radius       : 50%;
	transform           : translateY(-50%);
}
.solution-list li > span{
	position            : absolute;
	display             : block;
	width               : 20px;
	height              : 20px;
	background          : #FFF5D2;
	border              : 4px solid;
	border-radius       : 50%;
}
.solution-list li > span.left-side{
	top                 : 0;
	left                : 0;
	transform           : translate(-13px, 24px);
}
.solution-list li > span.right-side{
	bottom              : 0;
	right               : 0;
	transform           : translate(+13px, -24px);
}
.solution-point figure{
	position            : relative;
	flex-grow           : 0;
	margin-right        : 5%;
	width               : 40%;
	height              : 0;
	padding-top         : 36%;
	box-sizing          : content-box;
}
.solution-point figure img{
	position            : absolute;
	top                 : 50%;
	left                : 50%;
	width               : auto;
	height              : auto;
	max-width           : 100%;
	max-height          : 100%;
	transform           : translate(-50%, -50%);
}
.solution-point div{
	flex-grow           : 1;
	width               : 55%;
}
.solution-point p{
	margin              : 0.25em 0;
	font-size           : 48px;
	line-height         : 1.25em;
	white-space         : nowrap;
}
@media screen and (max-width: 960px){
	.solution-point p{
		font-size       : 5vw;
	}
}
.stepup-image{
	margin              : 64px auto;
	padding             : 0 2.5%;
}
.stepup-image img{
	width               : 100%;
}
@media screen and (max-width: 768px){
	.stepup-image{
		padding         : 0;
	}
}

/* スマホ */
@media screen and (max-width: 640px){
	.solution-list{
		margin-top      : -64px;
	}
	.solution-list li::before{
		left            : 50%;
		transform       : translate(-50%, -50%);
	}
	.solution-list li{
		flex-wrap       : wrap;
	}
	.solution-point figure,
	.solution-point div{
		flex-grow       : 1;
		flex-shrink     : 1;
		width           : 100%;
		margin-right    : 0;
		margin-bottom   : 32px;
	}
	.solution-point figure{
		padding-top     : 90%;
	}
	.solution-point p{
		font-size       : 32px;
	}
}
@media screen and (max-width: 420px){
	.solution-point p{
		font-size       : 7.6vw;
	}
}

/* フォームへのボタンのアクセント */
.goto-contact-form.solution-button::before{
	content             : '';
	position            : absolute;
	top                 : 0;
	right               : 0;
	display             : block;
	width               : 2em;
	height              : 2em;
	background          : center / contain no-repeat url('../img/infopage/03-solution/contact-accent.png');
	filter              : drop-shadow(2px 2px 1px rgba(255,245,210,0.8));
	transform           : translate(1.1em, -1.5em);
}


/************/
/* 成功事例 */
/************/
.success-story-wrapper{
	position            : relative;
	background          : top -10vw center / 105% no-repeat url('../img/infopage/04-success-story/bg-online.png'), #FFF5D2;
}
.success-story-wrapper h2{
	position            : relative;
	margin              : 0 0 1.5em;
	font-size           : 42px;
	font-weight         : bolder;
	line-height         : 1.2em;
	text-align          : center;
}
@media screen and (max-width: 840px){
	.success-story-wrapper h2{
		font-size       : 5vw;
	}
}
@media screen and (max-width: 480px){
	.success-story-wrapper h2{
		font-size       : 24px;
	}
}
.success-story-wrapper h2::before,
.success-story-wrapper h2::after{
	content             : '';
	position            : absolute;
	display             : block;
	width               : 2.0em;
	height              : 0.8em;
	background          : left  0 top    0 / 1.5em auto no-repeat url('../img/infopage/04-success-story/wave-black.svg'),
	                      right 0 bottom 0 / 1.5em auto no-repeat url('../img/infopage/04-success-story/wave-black.svg');
}
.success-story-wrapper h2::before{
	top                 : -72px;
	left                : 0;
}
.success-story-wrapper h2::after{
	bottom              : -1em;
	right               : 0;
}
.success-story-wrapper h2 em{
	font-weight         : bolder;
	color               : #F09051;
}
.success-story-wrapper h2 .wave{
	position            : relative;
}
.success-story-wrapper h2 .wave::after{
	content             : '';
	position            : absolute;
	left                : -0.2em;
	bottom              : -0.2em;
	display             : block;
	width               : 1.4em;
	height              : 0.3em;
	background          : center / contain no-repeat url('../img/infopage/04-success-story/wave-orange.svg');
}
.success-example-container{
	padding             : 0 48px;
	background          : white;
	border              : 4px solid;
	border-radius       : 10px;
}
.success-example{
	display             : flex;
	align-items         : center;
	margin              : 32px auto;
	padding             : 16px;
	font-size           : 36px;
}
@media screen and (max-width: 960px){
	.success-example{
		font-size       : 3.75vw;
	}
}
.success-example + .success-example{
	border-top          : 4px solid;
}
.success-example.img-right{
	flex-direction      : row-reverse;
}
.success-example img{
	margin              : 2.5%;
	width               : 35%;
	height              : auto;
	flex-grow           : 0;
	flex-shrink         : 0;
}
.success-example figurecaption{
	margin              : 5%;
	width               : 55%;
	flex-grow           : 1;
	flex-shrink         : 0;
	font-weight         : bolder;
	line-height         : 1.5em;
}
.success-example.example-01 em,
.success-example.example-02 span{
	font-size           : 1.5em;
}
.success-example.example-02 em{
	font-size           : 2.5em;
	line-height         : 1.0em;
}
.success-example.example-02 span{
	line-height         : 1.0em;
	color               : #F09051;
}
.success-example.example-02 img,
.success-example.example-02 figurecaption{
	width               : 45%;
}

/* スマホ */
@media screen and (max-width: 640px){
	.success-example-container{
		padding         : 0 7.5%;
	}
	.success-example{
		flex-wrap       : wrap;
		justify-content : center;
		text-align      : center;
	}
	.success-example img{
		width           : 50%;
	}
	.success-example.example-02 img{
		width           : 60%;
	}
	.success-example figurecaption{
		flex-grow       : 1;
		font-size       : 5.5vw;
	}
}

/* フォームへのボタンのアクセント */
.goto-contact-form.success-button::before,
.goto-contact-form.success-button::after{
	content             : '';
	position            : absolute;
	display             : block;
	background          : center / contain no-repeat;
	filter              : drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
}
.goto-contact-form.success-button::before{
	top                 : 0;
	left                : 0;
	width               : 2.5em;
	height              : 2.5em;
	background          : left 0 bottom 0 / contain no-repeat url('../img/infopage/04-success-story/contact-accent.png');
	transform           : translate(-1.0em, -1.5em);
}
.goto-contact-form.success-button::after{
	bottom              : 0;
	right               : 0;
	width               : 2.0em;
	height              : 0.8em;
	background          : left  0 top    0 / 1.5em auto no-repeat url('../img/infopage/04-success-story/wave-black.svg'),
	                      right 0 bottom 0 / 1.5em auto no-repeat url('../img/infopage/04-success-story/wave-black.svg');
	transform           : translate(1.5em, 0);
}

/************/
/* 商品紹介 */
/************/
.main-product-wrapper{
	background          : top -10vw center / 105% no-repeat url('../img/infopage/05-product/bg-product.png'), #F2F2F2;
}
.main-product-wrapper h2{
	font-size           : 42px;
	font-weight         : bolder;
	line-height         : 1.2em;
	text-align          : center;
}
@media screen and (max-width: 840px){
	.main-product-wrapper h2{
		font-size       : 5vw;
	}
}
@media screen and (max-width: 480px){
	.main-product-wrapper h2{
		font-size       : 24px;
	}
}
.main-product-wrapper h2 em{
	color               : #F09051;
}
.main-product{
	display             : flex;
	flex-wrap           : wrap;
	justify-content     : center;
	align-items         : stretch;
	margin              : 64px 0 0;
}
.main-product li{
	position            : relative;
	display             : inline-block;
	margin              : 2.5%;
	margin-bottom       : 64px;
	padding             : 0;
	width               : 45%;
	background          : white;
	box-shadow          : 3px 3px 12px rgba(0,0,0,0.3)
}
.main-product h3{
	position            : relative;
	top                 : -1.5em;
	display             : flex;
	justify-content     : center;
	align-items         : center;
	margin-bottom       : -1.5em;
	height              : 3.4em;
	font-size           : 32px;
	line-height         : 1.2em;
	color               : white;
	text-align          : center;
	background          : #F09051;
	border              : 4px solid #252525;
	border-radius       : 1.7em;
	box-sizing          : border-box;
}
@media screen and (max-width: 1024px){
	.main-product h3{
		font-size       : 3.125vw;
	}
}
.main-product figure{
	padding             : 16px 0;
	text-align          : center;
}
.main-product figure img{
	max-width           : 95%;
}
.main-product-wrapper .focus-point{
	display             : inline-block;
	margin              : 0;
	padding             : 0.5em 1.5em;
	font-size           : 36px;
	font-weight         : bolder;
	line-height         : 1.5em;
	color               : #F09051;
	text-align          : left;
	background          : white;
	border              : 3px solid #252525;
	border-radius       : 1em;
}
.main-product-wrapper .note{
	position            : relative;
	display             : inline-block;
	margin              : 64px 2.5%;
	padding-left        : 1em;
	text-align          : left;
}
@media screen and (max-width: 960px){
	.main-product-wrapper .note{
		word-break      : break-all;
		white-space     : normal;
	}
}
.main-product-wrapper .note::before{
	content             : '\203b';
	position            : absolute;
	top                 : 0;
	left                : 0;
	display             : block;
}

/* スマホ */
@media screen and (max-width: 640px){
	.main-product li{
		width           : 95%;
	}
	.main-product h3{
		font-size       : 24px;
	}
	.main-product-wrapper .focus-point{
		font-size       : 6.2vw;
	}
}

/* フォームへのボタンのアクセント */
.goto-contact-form.product-button::before,
.goto-contact-form.product-button::after{
	content             : '';
	position            : absolute;
	display             : block;
	background          : center / contain no-repeat;
	filter              : drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
}
.goto-contact-form.product-button::before{
	top                 : 0;
	left                : 0;
	width               : 2.2em;
	height              : 2.2em;
	background          : center / contain no-repeat url('../img/infopage/05-product/contact-accent-left.png');
	transform           : translate(-1.5em, -0.7em);
}
.goto-contact-form.product-button::after{
	bottom              : 0;
	right               : 0;
	width               : 2.2em;
	height              : 2.2em;
	background          : center / contain no-repeat url('../img/infopage/05-product/contact-accent-right.png');
	transform           : translate(0.5em, 0.4em);
}


/********************/
/* エンドユーザの声 */
/********************/
.customer-feedback-wrapper{
	background          : top -10vw center / 105% no-repeat url('../img/infopage/06-feedback/bg-voice.png'), #FFF5D2;
}
.customer-feedback-wrapper h2{
	font-size           : 42px;
	font-weight         : bolder;
	line-height         : 1.2em;
	text-align          : center;
}
.customer-feedback-wrapper h2 em{
	color               : #F09051;
}
.customer-feedback-wrapper p{
	margin              : 32px 0;
	font-size           : 32px;
	text-align          : center;
}
@media screen and (max-width: 840px){
	.customer-feedback-wrapper h2{
		font-size       : 5vw;
	}
	.customer-feedback-wrapper p{
		font-size       : 3.8vw;
	}
}
@media screen and (max-width: 480px){
	.customer-feedback-wrapper h2{
		font-size       : 24px;
	}
}
@media screen and (max-width: 420px){
	.customer-feedback-wrapper p{
		font-size       : 16px;
	}
}
.customer-feedback{
	display             : flex;
	flex-wrap           : wrap;
	justify-content     : center;
	align-items         : stretch;
	margin              : 64px 0 0;
}
.customer-feedback li{
	position            : relative;
	flex-grow           : 1;
	margin              : 2.5%;
	margin-bottom       : 32px;
	padding             : 32px 1.5em;
	width               : 45%;
	min-width           : 300px;
	font-size           : 36px;
	background          : white;
	border              : 3px solid black;
	border-radius       : 10px;
}
.customer-feedback h3,
.customer-feedback h4{
	position            : absolute;
	top                 : 0;
	left                : 50%;
	display             : flex;
	justify-content     : center;
	align-items         : center;
	width               : 260px;
	height              : 40px;
	background          : black;
	border-radius       : 20px;
	transform           : translate(-50%, -50%);
}
.customer-feedback p{
	margin              : 0;
	font-size           : inherit;
	text-align          : left;
	text-align          : justify;
}
.customer-feedback em{
	font-weight         : bolder;
	color               : #F09051;
}
@media screen and (max-width: 1200px){
	.customer-feedback li{
		font-size       : 3vw;
	}
}
@media screen and (max-width: 800px){
	.customer-feedback li{
		font-size       : 24px;
	}
}

/* フォームへのボタンのアクセント */
.goto-contact-form.feedback-button::after{
	content             : '';
	position            : absolute;
	top                 : 0;
	right               : 0;
	display             : block;
	width               : 2.6em;
	height              : 2.6em;
	background          : center / contain no-repeat url('../img/infopage/06-feedback/contact-accent.png');
	filter              : drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
	transform           : translate(1.75em, -1.2em);
}


/********/
/* 料金 */
/********/
.price-table-wrapper{
	background          : top -10vw center / 105% no-repeat url('../img/infopage/07-price/bg-price.png'), #F09051;
}
.price-table-wrapper h2{
	font-size           : 42px;
	font-weight         : bolder;
	line-height         : 1.2em;
	color               : white;
	text-align          : center;
}
@media screen and (max-width: 840px){
	.price-table-wrapper h2{
		font-size       : 5vw;
	}
}
@media screen and (max-width: 480px){
	.price-table-wrapper h2{
		font-size       : 24px;
	}
}
.price-table{
	margin              : 64px 0 -32px;
	text-align          : center;
}
.price-wrapper{
	display             : inline-block;
}
.price-container{
	display             : inline-block;
	padding             : 16px 24px;
	font-size           : 36px;
	background          : white;
	border-radius       : 10px;
}
.base-price{
	display             : flex;
	align-items         : flex-end;
}
.base-price .product-form{
	display             : flex;
	justify-content     : center;
	align-items         : center;
	margin-right        : 0.5em;
	width               : 5em;
	height              : 5em;
	font-size           : 0.6em;
	line-height         : 1.25em;
	border              : 2px solid;
	border-radius       : 50%;
}
.base-price .price-range{
	display             : flex;
	align-items         : flex-end;
}
.base-price > *{
	flex-grow           : 0;
	flex-shrink         : 0;
}
.base-price .price-min em{
	font-weight         : bolder;
}
.base-price small::before{
	content             : '(';
}
.base-price small::after{
	content             : ')';
}
.base-price .price-min{
	position            : relative;
}
.base-price .price-min span{
	color               : #F09051;
	font-size           : 2.5em;
	line-height         : 1em;
}
.base-price .price-min small{
	position            : absolute;
	right               : 0;
	bottom              : 2.5em;
	font-size           : 0.5em;
}
.price-max::before {
	content             : '\301c';
	font-weight         : bold;
	padding-left        : 0.4em;
}
.base-price .price-max span{
	font-size           : 1.2em;
	line-height         : 1em;
}
.base-price .price-max small{
	font-size           : 0.5em;
}
.option-price{
	display             : flex;
	justify-content     : center;
	align-items         : flex-end;
	margin-top          : 0.4em;
	padding-top         : 0.4em;
	font-size           : 0.7em;
	border-top          : 2px solid;
}
.option-price .price-option{
	position            : relative;
	margin-left         : 0.5em;
}
.option-price .price-option em{
	font-weight         : bolder;
}
.option-price .price-option span{
	color               : #F09051;
	font-size           : 2.2em;
	font-weight         : bolder;
	line-height         : 1em;
}
.option-price .price-option .monthly{
	padding             : 0.5em 0 0 1.2em;
	background          : center / contain no-repeat url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8cGF0aCBkPSJNOTUsNUw1LDk1IiBzdHJva2U9IiMyNTI1MjUiIHN0cm9rZS13aWR0aD0iM3B4IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9InRyYW5zcGFyZW50Ii8+DQo8L3N2Zz4=');
}
.option-price .price-option .tax{
	position            : absolute;
	bottom              : 2.6em;
	left                : 2.6em;
	font-size           : 0.5em;
}
.option-price .price-option .tax::before{
	content             : '(';
}
.option-price .price-option .tax::after{
	content             : ')';
}
.contract-note{
	text-align          : left;
}

/* スマホ */
@media screen and (max-width: 768px){
	.base-price{
		align-items     : flex-start;
	}
	.base-price .price-range{
		display         : block;
		margin-top      : -0.1em;
		margin-left     : -2.2em;
	}
	.base-price .price-min span{
		font-size       : 3.5em;
	}
	.base-price .price-min small{
		right           : auto;
		left            : 12.2em;
	}
	.base-price .price-max{
		padding-left    : 2.95em;
	}
	.base-price .price-max span{
		font-size       : 1.2em;
	}
}
@media screen and (max-width: 640px){
	.price-container{
		font-size       : 5.625vw;
	}
}


/********/
/* 強み */
/********/
.emphasis-wrapper h2{
	display             : block;
	margin              : 64px auto;
	padding             : 0.5em 1em;
	width               : 13em;
	font-size           : 64px;
	font-weight         : bolder;
	line-height         : 1.5em;
	color               : white;
	text-align          : center;
	background          : #F09051;
	border-radius       : 1em;
	box-shadow          : 6px 6px 12px rgba(0,0,0,0.3);
}
.emphasis-wrapper p{
	margin              : 64px 0;
	font-size           : 36px;
	font-weight         : bolder;
	line-height         : 1.5em;
	color               : #F09051;
	text-align          : center;
}
@media screen and (max-width: 1024px){
	.emphasis-wrapper h2{
		font-size       : 6.25vw;
	}
	.emphasis-wrapper p{
		font-size       : 3.5vw;
	}
}

/* スマホ */
@media screen and (max-width: 640px){
	.emphasis-wrapper h2{
		width           : auto;
		font-size       : 40px;
	}
	.emphasis-wrapper p{
		font-size       : 22px;
	}
}


/************************/
/* お問い合わせフォーム */
/************************/
.contact-from-wrapper h2{
	font-size           : 42px;
	font-weight         : bolder;
	text-align          : center;
}
@media screen and (max-width: 840px){
	.contact-from-wrapper h2{
		font-size       : 5vw;
	}
}
@media screen and (max-width: 480px){
	.contact-from-wrapper h2{
		font-size       : 24px;
	}
}
.contact-from-wrapper p{
	text-align          : center;
}

/* お問い合わせフォーム */
.contact-form,
.privacy-policy{
	margin              : 64px auto;
	max-width           : 720px;
}
.contact-form label{
	display             : block;
	margin              : 24px 0;
	font-weight         : bolder;
}
.contact-form label .required-item{
	font-weight         : normal;
	opacity             : 0.65;
}
.contact-form label .required-item::before{
	content             : '(';
	padding             : 0 0.25em;
}
.contact-form label .required-item::after{
	content             : ')';
	padding             : 0 0.25em;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
	width               : 100%;
	font-weight         : normal;
}
.contact-form input[type=checkbox]{
	width               : auto;
	font-weight         : normal;
}
.contact-form input[type=submit]{
	display             : block;
	margin              : 64px auto;
	padding             : 0.5em 4.2em;
	width               : auto;
	font-size           : 36px;
	letter-spacing      : 1em;
	text-indent         : 1em;
	color               : white;
	background          : #252525;
	box-shadow          : 6px 6px 12px rgba(0,0,0,0.3);
}
.contact-form input[type=submit]:hover{
	box-shadow          : 6px 6px 12px rgba(0,0,0,0.5);
}
.privacy-policy .note{
	text-align          : left;
}

/* スマホ */
@media screen and (max-width: 640px){
	.contact-form input[type=submit]{
		padding         : 0.5em 0;
		width           : 100%;
	}
}


/**********/
/* フッタ */
/**********/
footer{
	padding             : 5%;
	max-width           : 100vw;
	font-size           : 20px;
	background          : #E6E6E6;
	overflow            : hidden;
}
footer h2{
	margin              : 32px 0;
	width               : 90%;
	font-weight         : bold;
	color               : #F09051;
	letter-spacing      : 0.15em;
	transform           : scaleX(1.1);
	transform-origin    : left;
}
.contact-us-list li{
	margin              : 32px 0;
}
footer .section-inner-wrapper{
	background          : bottom 0 right 0 / auto 5em no-repeat url('../img/infopage/01-main-visual/hikari_logo.png');
	overflow            : hidden;
}

/* スマホ */
@media screen and (max-width: 640px){
	footer{
		padding-bottom  : 64px;
	}
	footer .section-inner-wrapper{
		padding-bottom  : 5em;
	}
}
