@charset "UTF-8";


html {
	font-size: 16px;
	scroll-behavior: smooth;
}
body {
	font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
	padding-top: 4.5rem;
}
h1 {
	font-family: "Hiragino Mincho Pro",'Noto Serif JP', serif;
}
h2 {
	font-family: "Yu Gothic UI",'Noto Serif JP', serif;
}
.container {
	max-width: 1000px;
}

.navbar-expand-lg .navbar-nav .nav-link {
	font-size: 14px;
	padding-right: 1rem;
	padding-left: 1rem;
}
.navbar {
	padding: .8rem 1rem;
}
.bg-light {
	background-color: #ffffff !important;
	box-shadow: 0 0 8px rgba(0,0,0,.15);
}

h2 br.text-pc {
	display: block !important;
}
h2 br.text-sp {
	display: none !important;
}
img.header-button {
	width: 260px;
}

/* FV Section */
.fv-section {
	background-color: #EBFAFF;
	padding-top: 65px;
	padding-bottom: 50px;
	color: #19AFCE;
}

	/*.fv-title p {
	margin-bottom: 0;
	font-family: "A-OTF Maru Folk Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Arial ", sans-serif;
	font-weight: bolder;
	}*/

	.fv-logo {
		padding-bottom: 15px;
	}
	.fv-sub {
		font-size: 3.45rem;
	}
	.fv-slogan {
		font-size: 4.375rem;
		line-height: 120%;
		position: relative;
	}
	.fv-star:before {
		content: "";
		position: absolute;
		top: 120px;
		left: -50px;
		width: 49px;
		height: 71px;
		background: url("../img/fv-star1.png");
	}
	.fv-star:after {
		content: "";
		position: absolute;
		bottom: 455px;
		right: 365px;
		width: 44px;
		height: 55px;
		background: url("../img/fv-star2.png");
	}
	.underline {
		display: inline-block;
		background: linear-gradient(to bottom, transparent 0, transparent 80%, #FFF78E 80%);
	}

	.fv-pitch {
		font-size: 1.875rem;
		font-weight: bolder;
		line-height: 100%;
		padding-bottom: 40px;
	}
	.callouts {
		padding-top: 30px;
	}
	.callouts > div {
		display: inline-flex;
		text-align: center;
		box-sizing: content-box;
	}
	.callouts-text {
		font-size: 1.375rem;
	}
	.fv-button {
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.prod-bg {
		background: url("../img/mirai-product2.jpg");
		/*background-size: 393px 678px;*/
		background-repeat: no-repeat;
		background-position: bottom right;
	}

	/* Campaign section */
	.campaign-section {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.campaign-sp {
		display: none;
	}
	.campaign-section img {
		background-color: #ffffff;
	}
	.campaign-section2 {
		background-color: #F9FEFF;
	}

	/* Ingredients section */
	.ingred-section {
		padding-top: 4rem;
		padding-bottom: 3rem;
	}
	.ingred-section h1 {
		font-size: 5rem;
		text-align: center;
		color: #19AFCE;
	}
	.ingred-section h1 {
		font-size: 5rem;
		text-align: center;
		color: #19AFCE;
	}
	.ingred-sub {
		font-size: 3.45rem;
	}
	.ingred-sub2 {
		font-size: 3.75rem;
		color: #666666;
	}
	.ingred-sub3 {
		font-size: 5.325rem;
		color: #666666;
	}
	.ingred-note {
		font-size: 1rem;
	}
	.ingred-underline {
		display: inline-block;
		background: linear-gradient(to bottom, transparent 0, transparent 60%, #FFF78E 80%);
	}
	.ingred-title {
		padding-top: 5rem;
		padding-bottom: 1.5rem;
	}
	.ingred-list {
		border-top: 1px solid #78D0E2;
		padding: 2rem 1rem 3rem 1rem;
	}
	.ingred-list h2 {
		font-size: 3.45rem;
		font-weight: bolder;
		color: #25B3D0;
		font-family: "Yu Gothic UI", 'Noto Sans JP', sans-serif;
	}
	.ingred-list h2 img {
		padding-right: 1rem;
	}
	.ingred-list h2 span{
		font-size: 1.875rem;
		color: #666666;
	}
	.ingred-list p {
		font-size: 1.5rem;
		color: #666666;
		font-family: "Yu Gothic UI", 'Noto Sans JP', sans-serif;
		margin-top: 2rem;
	}
	.ingred-list p.i-content {
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-size: 3.75rem;
		color: #25B3D0;
		font-weight: bold;
	}
	.ingred-list p.i-content span {
		font-size: 1.875rem;
	}
	.ing-head {
		display: flex;
		align-items: center;
	}
	.ing-head img {
		margin-right: .75rem;
	}
	.ing-head h2 {
		margin-bottom: 0;
	}
	/* happy effects section */
	.he-section {
		padding-top: 5rem;
		padding-bottom: 4rem;
		position: relative;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bold;
		font-size: 1.25rem;
		color: #2099B2;
	}
	.he-section:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 60px;
		background: url(../img/divider-1.png);
		background-repeat: repeat-x;
	}
	.he-section:after {
		content: "";
		position: absolute;
		bottom: -60px;
		left: 0;
		display: block;
		width: 100%;
		height: 60px;
		background: url(../img/divider-1.png);
		background-repeat: repeat-x;
	}
	.he-count-cont {
		display: flex;
		align-items: center;
		min-height: 130px;
	}
	.he-count-cont img {
		margin-right: .75rem;
	}
	.he-count {
		padding: 10px;
		border-radius: 50%;
		border: 1px solid #2099B2;
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-size: 2.375rem;
		font-weight: bold;
		color: #2099B2;
		text-align: center;
		width: 8.5rem;
		height: 4.5rem;
		margin-right: 5px;
	}
	.he-list {
		padding: 1rem 1rem;
	}
	.he-img {
		margin-bottom: 2rem;
		border: 1px solid #2099B2;
	}
	.he-list p {
		padding: .5rem;
		display: block;
		min-height: 4.75rem;
		margin-bottom: 0;
		line-height: 3rem;
	}
	.he-list-cont {
		max-width: 1346px;
	}

	/* Solve section */
	.s-list-sp {
		display: none;
	}
	.s-section {
		padding-top: 8rem;
		padding-bottom: 4rem;
		max-width: 1132px;
	}
	.s-list {
		margin-top: 40px;
		background-image: url('../img/27883983.jpg');
		background-repeat: no-repeat;
		background-position: center;
	}
	.s-list > .row {
		margin-top: 30px;
	}
	.solve-list {
		width: 288px;
		height: 159px;
		background-color: #EBFAFF;
		border: 1px solid #9DD9E5;
		box-shadow: 6px 6px 0 #9DD9E5;
		border-radius: 95px;
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	p.solve-list-txt {
		color: #2099B2;
		font-size: 1.25rem;
		font-weight: bolder;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		text-align: center;
		margin-bottom: 0;
	}
	p.s-section-text {
		font-size: 1.75rem;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		color: #666666;
		padding-top: 50px;
		padding-bottom: 15px;
		font-weight: bold;
	}
	.s-section p.note {
		font-size: 1.8rem;
		padding-top: 10px;
		font-weight: normal;
	}

	.s-section, .mi-section {
		overflow: hidden;
	}
	/* VOICE SECTION */
	.v-section {
		background-image: url('../img/45566040.jpg');
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center left;
		background-attachment: fixed;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.v-heading {
		background: rgba(25,175,206,.7);
		padding-top: 50px;
		padding-bottom: 20px;
		color: #fff;
	}
	.v-heading h1 {
		font-family:"Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-size: 4.5rem;
	}
	.v-heading h2 {
		font-size: 1.5rem;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
	}
	.voice-list-cont {
		max-width: 1700px;
	}
	p.vtext {
		font-family: "Hiragino Kaku	Gothic Pro";
		font-size: 1.125rem;
		font-weight: normal;
		color: #666;
	}
	p.vtitle {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-size: 1.375rem;
		font-weight: bolder;
		padding-bottom: 10px;
		color: #666;
	}
	.voice-list p.v-age {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-size: 1.5rem;
		color: #666;
		margin-bottom: 0;
		font-weight: bolder;
		padding-top: 15px;
	}
	.voice-list p.vname {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-size: 1rem;
		margin-bottom: 0;
		padding-top: 15px;
		color: #666;
		font-weight: bolder;
	}
	.voice-info {
		padding-left: .5rem; 
		float: left;
	}
	.voice-list p.vocc {
		font-size: .75rem;
		color: #666;
		margin-bottom: 0;
	}
	.voice-list {
		background-color: #fff;
		padding: 20px;
		margin: 20px 5px;
		box-shadow: 0 3px 6px rgba(0,0,0,.16);
		min-height: 550px;
		position: relative;
	}
	.voice-list div.row {
		width: 100%;
		position: absolute;
		bottom: 10px;
		left: 10px;
	}

	/* WISH SECTION */

	.wish-section {
		padding: 60px 0;
		background: #F9FEFF;
	}
	.wish-section h1 {
		color: #19AFCE;
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-size: 5rem;
		font-weight: bold;
	}
	.wish-section p {
		color: #19AFCE;
		font-family: "Hiragino Kaku	Gothic Pro";
		font-size: 1.6rem;
		font-weight: bold;
		padding-top: 30px;
	}

	/* Main Ingredient Section */
	.mi-section {
		padding: 60px 0;
	}
	.mi-section .container {
		margin-top: 4rem;
	}
	.mi-section h1 {
		font-family: 'Hiragino Mincho Pro';
		font-weight: bolder;
		font-size: 4rem;
		color: #19AFCE;
		position: relative;
	}
	.mi-section h1:before {
		content: "";
		display: block;
		position: absolute;
		width: 46px;
		height: 189px;
		left: 458px;
		top: -12px;
		border-top: 6px solid #19AFCE;
		border-bottom: 6px solid #19AFCE;
		border-left: 6px solid #19AFCE;
	}
	.mi-section h1:after {
		content: "";
		display: block;
		position: absolute;
		width: 46px;
		height: 189px;
		right: 490px;
		top: -12px;
		border-top: 6px solid #19AFCE;
		border-bottom: 6px solid #19AFCE;
		border-right: 6px solid #19AFCE;
	}
	.mi-section h2 {
		font-family: 'Hiragino Mincho Pro';
		font-size: 4rem;
		color: #2099B2;
		border-bottom: 1px solid #2099B2;
	}
	.mi-section h2.sub {
		font-size: 2rem;
		border: none;
	}
	.mi-list {
		height: 630px;
		width: 759px;
		background: url(../img/ming-bg.png);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		margin-top: 5rem; 
		margin-bottom: 5rem;
	}
	.mi-content {
		position: relative;
		top: 200px;
		left: 30px;
		color: #fff;
		font-size: 1.125rem;
		width: 480px;
		height: auto;
	}
	.mi-list .mi-content h3 {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bolder;
		font-size: 3.5rem;
		padding-bottom: .65rem;
		border-bottom: 2px dashed #fff;
		line-height: 100%;
	}
	.mi-list .mi-content h3 span {
		font-size: 2rem;
	}
	.mi-list img {
		position: absolute;
		right: -45px;
	}

	/* Product Table */

	.prod-table {
		padding: 60px 0;
		background: #F9FEFF;	
	}
	.prod-table img {
		margin-bottom: 2.5rem;
	}
	.prod-table img.table-sp {
		display: none !important;
	}
	.prod-table {
		color: #666666;
		font-size: 1.75rem;
	}

	/* Amazon Reviews */
	.amzn-sec {
		padding: 60px 0;
		background: #ffffff;
	}
	.amzn-title {
		margin-bottom: 2rem;
	}
	.review-cont {

	}
	.review-list {
		background: #19AFCE;
		padding: 1rem;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-size: 18px;
		color: #ffffff;
		margin-bottom: 5rem;
		position: relative;
	}
	.review-list:before {
		content: "";
		position: absolute;
		left: -30px;
		top: -20px;
		width: 110px;
		height: 110px;
		background: #fff;
		border-radius: 50%;
	}
	.review-list > img {
		position: absolute;
		left: -29px;
		top: -17px;
	}
	.ratee-cont {
		padding-left: 5rem; 
		padding-bottom: 15px;
	}
	.ratee-cont p {
		padding-bottom: 10px;
		border-bottom: 1px solid #2099B2;
		margin-bottom: 5px;
	}
	.ratee-cont img {
		padding-right: 5px;
	}

	/* MIRAI PROBLEMS SECTION */
	.mi-prob {
		padding: 60px 0;
		background: #F9FEFF;	
	}
	.mi-prob img {
		margin-bottom: 2.5rem;
	}
	.mi-prob h1 {
		color: #2099B2;
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-weight: bolder;
		font-size: 3.75rem;
		margin-bottom: 2.5rem;
	}
	.mi-prob h3 {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bolder;
		font-size: 2rem;
		color: #19AFCE;
		margin-bottom: 2.5rem;
	}

	/* Mirai Graph section */

	.mi-graph {
		padding: 60px 0;
		background: #fff;	
	}
	.mi-graph img {
		margin-bottom: 2.5rem;
	}
	.mi-graph p {
		color: #19AFCE;
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-weight: bolder;
		font-size: 2.5rem;
		margin-bottom: 0;
		padding-bottom: 2.5rem;
	}
	.mi-graph p span{
		color: #FB6161;
	}
	.mi-graph p.note {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bolder;
		font-size: 1.375rem;
		margin-bottom: 0;
	}

	/* Q&A section */

	.faq-sec {
		padding: 60px 0;
		background: #fff;
	}
	.faq-sec h2 {
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-size: 3.25rem;
		font-weight: bolder;
		color: #666;
		margin-bottom: 5rem;
	}
	.faq-sec-list, .faq-sec-list-l {
		padding: 1.5rem;
		background: #fff;
		-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.20);
		box-shadow: 0 3px 6px rgba(0,0,0,.20);
		position: relative;
		margin-bottom: 6rem;
	}
	.faq-sec-list p, .faq-sec-list-l p {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-size: 1.25rem;
		color: #666;
		margin-bottom: 0px;
	}
	.faq-sec-list p.question, .faq-sec-list-l p.question {
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bolder;
		margin-bottom: .8rem;
		font-size: 1.375rem;
	}
	.faq-sec-list:after {
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		bottom: -40px;
		right: 25px;
		border-top: 40px solid #fff;
		border-right: 30px solid transparent;
		filter: drop-shadow(0 6px 3px rgba(0,0,0,.2));
	}
	.faq-sec-list-l:after {
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		bottom: -40px;
		left: 25px;
		border-top: 40px solid #fff;
		border-left: 30px solid transparent;
		filter: drop-shadow(0 6px 3px rgba(0,0,0,.2));
	}

	/* Payment Opt Section */
	.payment-opt {
		padding: 60px 0;
		background: #F9FEFF;	
	}
	.payment-opt h2 {
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-weight: bolder;
		color: #2099B2;
		font-size: 4.5rem;
		margin-bottom: 2.5rem;
	}
	.payment-opt h3 {
		background: #2099B2;
		padding: .5rem;
		color: #fff;
		font-size: 2.25rem;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
		font-weight: bolder;
		margin-bottom: 1.5rem;
	}
	.payment-opt p {
		color: #989898;
		font-size: 1.125rem;
		font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
	}
	.payment-opt img {
		margin-bottom: 1.5rem;
	}

	/* Notation Section */
	.notation-sec {
		padding: 60px 0;
		background: #fff;	
	}
	.notation-sec h2 {
		font-family: "Hiragino Mincho Pro", 'Noto Serif JP', serif;
		font-weight: bolder;
		color: #2099B2;
		font-size: 4.5rem;
		margin-bottom: 2.5rem;
	}
	.table-bordered > tbody > tr > th {
		width: 317px;
		vertical-align: middle;
		background-color: #f7f8f8;
		border: 1px solid #ddd;
		padding: 2.5rem;
		font-size: 1.375rem;
		color: #666666;
	}
	.table-bordered > tbody > tr > td {
		vertical-align: middle;
		border: 1px solid #ddd;
		padding: 2.5rem;
		font-size: 1.375rem;
		color: #666666;
	}
	.copy-text {
		font-size: 1.125rem;
		font-weight: bolder;
		color: #fff;
	}
	footer {
		background: #666666;
		padding: 2.5rem 0;
	}
	footer a {
		color: #fff;
		font-size: 1rem;
		text-decoration: underline;
	}
	footer a:hover {
		color: #fff;
	}

	@media (min-width: 321px) and (max-width: 575.98px) { 

		html {
			font-size: 9px;
		}
		h2 br.text-pc {
			display: none !important;
		}
		h2 br.text-sp {
			display: block !important;
		}

		.callouts img {
			width: 80px;
		}
		.callouts {
			width: 60%;
		}
		.callouts > div {
			padding-bottom: 10px;
		}

		.callouts-text {
			margin-bottom: 0;
		}
		.prod-bg {
			background: url("../img/mirai-product2.jpg");
			background-size: 200px 345px;
			background-repeat: no-repeat;
			background-position: center right;
		}
		.fv-pitch {
			padding-bottom: 10px;
		}
		.fv-section {
			padding-top: 40px;
			padding-bottom: 0;
		}
		.fv-slogan {
			font-size: 3.25rem;
		}
		.fv-sub {
			font-size: 2.5rem;
		}
		.fv-star {
			width: 70%;
		}
		.fv-star:before, .fv-star:after {
			display: none;
		}
		.fv-button {
			padding-top: 15px;
			padding-bottom: 30px;
		}
		.ingred-section h1 {
			font-size: 3.5rem;
			text-align: center;
			color: #19AFCE;
		}
		.ingred-section h1 {
			font-size: 3.5rem;
			text-align: center;
			color: #19AFCE;
		}
		.ingred-sub {
			font-size: 2rem;
		}
		.ingred-sub2 {
			font-size: 2.25rem;
			color: #666666;
		}
		.ingred-sub3 {
			font-size: 3.75rem;
			color: #666666;
		}
		.s-section, .he-list-cont, .voice-list-cont {
			width: 100%;
		}
		.voice-info {
			float: none;
		}
		.mi-section .container {
			padding-left: 0;
			padding-right: 0;
		}
		
		.mi-section h1 {
			font-size: 2.5rem;
		}
		.mi-section h1:before {
			width: 25px;
			height: 90px;
			left: 0px;
			top: -10px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-left: 4px solid #19AFCE;
		}
		.mi-section h1:after {
			width: 25px;
			height: 90px;
			right: 0px;
			top: -10px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-right: 4px solid #19AFCE;
		}
		.mi-list {
			height: 280px;
			width: 336px;
		}
		.mi-list img {
			position: absolute;
			right: 15px;
			width: 70px;
			height: auto;
		}
		.mi-content {
			position: relative;
			top: 40px;
			left: 14px;
			color: #fff;
			font-size: 1.25rem;
			width: 180px;
			height: auto;
		}
		.mi-content-first, .mi-content-fourth {
			padding-top: 4rem;
		}
		.mi-content-second, .mi-content-third {
			padding-top: 2rem;
		}
		.campaign-section {
			padding-top: 3.5rem;
			padding-bottom: 3.5rem;
		}
		.campaign-des {
			display: none;
		}
		.campaign-sp {
			display: initial;
		}
		.s-section, .wish-section, .mi-section, .prod-table, .amzn-sec, .mi-prob, .mi-graph, .faq-sec, .payment-opt, .notation-sec {
			padding: 3rem 1.25rem;
		}
		.prod-table img.table-sp {
			display: initial !important;
		}
		.prod-table img.table-dp {
			display: none !important;
		}
		.voice-list img {
			width: 60px;
			height: auto;
			padding-right: .6rem;
		}
		.voice-list > .row > .col-sm-8 {
			padding: 0;
			padding-left: 20px;
		}
		.voice-list > .row > .col-sm {
			padding: 0;
		}
		.he-section:before {
			height: 30px;
			background-size: cover;
		}
		.he-section:after {
			height: 30px;
			background-size: cover;
			bottom: 0;
		}
		.he-count-cont {
			min-height: 85px;
		}
		.he-count-cont p {
			line-height: 200%;
		}
		.he-count-cont img {
			height: auto;
			width: 55px !important;
		}
		.ingred-list {
			padding-right: 0;
			padding-left: 0;
		}
		.ingred-title {
			padding-top: 1.5rem;
			padding-bottom: 1.5rem;
		}
		.ingred-list h2 {
			font-size: 2.25rem;
		}
		.ing-head img {
			width: 50px;
			height: auto;
		}
		.ingred-list h2 span {
			font-size: 1.25rem;
		}
		.ingred-list p.i-content {
			font-size: 3rem;
		}
		.he-count {
			font-size: 1.5rem;
		}
		.he-list p {
			font-size: 2rem;
			padding: 0;
		}
		.s-section .row {
			margin-top: 0;
		}
		.s-list {
			display: none;
		}
		.s-list-sp {
			padding-top: 20px;
			display: unset;
		}
		.s-list-sp img {
			padding-top: 20px;
		}
		.solve-list {
			float: none !important;
			margin-bottom: 20px;
			width: 250px;
			height: 159px;
			margin-left: auto;
			margin-right: auto;
		}
		p.solve-list-txt {
			color: #2099B2;
			font-size: 2rem;
			font-weight: bolder;
			font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
			text-align: center;
			margin-bottom: 0;
		}
		.voice-list {
			min-height: auto;
		}
		.v-heading {
			padding: 20px 15px;
		}
		.v-heading h1 {
			font-size: 3.25rem;
		}
		.v-heading h2 {
			font-size: 1.5rem;
		}
		.voice-list div.row {
			position: initial;
		}
		.vtext {
			margin-bottom: 20px;
		}
		.wish-section h1 {
			font-size: 3.5rem;
			margin-bottom: 20px;
		}
		.mi-section h2, .payment-opt h2, .notation-sec h2  {
			font-size: 3rem;
		}
		.mi-list .mi-content h3 {
			font-size: 2.25rem;
		}
		.mi-list .mi-content h3 span {
			font-size: 1.25rem;
		}
		.ratee-cont {
			padding-left: 10rem;
			padding-bottom: 25px;
		}
		.ratee-cont p {
			padding-bottom: 5px;
			margin-bottom: 5px;
		}
		.review-list {
			font-size: 16px;
		}
		.mi-prob h1 {
			font-size: 2.75rem;
		}
		.mi-prob h3 {
			font-size: 1.5rem;
		}
		.faq-sec h2 {
			font-size: 2.25rem;
			margin-bottom: 3rem;
		}
		.navbar img {
			position: absolute;
			right: 1rem;
			top: .8rem;
		}
		.navbar-toggler {
			padding: 1rem 1.5rem;
		}
		.navbar-toggler-icon {
			width: 2.5em;
			height: 2.5em;
		}
		p.vtext, p.vtitle {
			font-size: 1.5rem;
		}
		p.vtext {
			line-height: 160%;
		}
		.voice-list p.vname, .voice-list p.vocc  {
			font-size: 1.75rem;
		}
		.voice-list p.vocc  {
			font-size: 1.35rem;
		}
		.voice-list p.vname {
			padding-top: 8px;
		}
		.voice-list p.v-age {
			font-size: 2rem;
			padding-top: 8px;
		}

	}

	@media (min-width: 576px) and (max-width: 768px) { 

		html {
			font-size: 13px;
		}
		.fv-star:before {
			top: 106px;
			left: -25px;
		}
		.fv-star:after {
			bottom: 566px;
			right: 10px;
		}
		.mi-list {
			height: 498px;
			width: 600px;
		}
		.mi-section h1 {
			font-size: 3rem;
		}
		.mi-section h1:before {
			width: 25px;
			height: 90px;
			left: 70px;
			top: 3px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-left: 4px solid #19AFCE;
		}
		.mi-section h1:after {
			width: 25px;
			height: 90px;
			right: 90px;
			top: 3px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-right: 4px solid #19AFCE;
		}
		.callouts {
			width: 90%;
		}
		.solve-list {
			width: 230px;
			height: 145px;
		}
		.fv-button {
			width: 80%;
		}
		.navbar img {
			position: absolute;
			right: 1rem;
			top: .8rem;
		}
		.navbar-toggler {
			padding: .75rem 1rem;
		}
		.navbar-toggler-icon {
			width: 2em;
			height: 2em;
		}
		.voice-list {
			min-height: 455px;
		}
		.s-section, .wish-section, .mi-section, .prod-table, .amzn-sec, .mi-prob, .mi-graph, .faq-sec, .payment-opt, .notation-sec {
			padding: 3rem 1.20rem;
		}
		.ingred-list h2 {
			font-size: 2.5rem;
		}
		.ingred-list h2 img {
			width: 70px;
			height: auto;
		}
		.ingred-list p.i-content {
			font-size: 3rem;
		}
		.he-section:before {
			height: 30px;
			background-size: cover;
		}
		.he-section:after {
			height: 30px;
			background-size: cover;
			bottom: 0;
		}
		.ingred-title {
			padding-top: 1.5rem;
			padding-bottom: 1.5rem;
		}
		.mi-section h2 {
			font-size: 3rem;
		}
		.mi-list img {
			width: 200px;
			height: auto;
		}
		.mi-content {
			top: 150px;
			left: 20px;
			width: 370px;
		}
		.mi-list .mi-content h3 span {
			font-size: 1.75rem;
		}
		.ratee-cont {
			padding-left: 6rem;
			padding-bottom: 25px;
		}

	}

	@media (max-width: 320px) { 

		html {
			font-size: 9px;
		}
		h2 br.text-pc {
			display: none !important;
		}
		h2 br.text-sp {
			display: block !important;
		}

		.callouts img {
			width: 80px;
		}
		.callouts {
			width: 60%;
		}
		.callouts > div {
			padding-bottom: 10px;
		}

		.callouts-text {
			margin-bottom: 0;
		}
		.prod-bg {
			background: url("../img/mirai-product2.jpg");
			background-size: 200px 345px;
			background-repeat: no-repeat;
			background-position: center right;
		}
		.fv-pitch {
			padding-bottom: 10px;
		}
		.fv-section {
			padding-top: 40px;
			padding-bottom: 0;
		}
		.fv-slogan {
			font-size: 3.25rem;
		}
		.fv-sub {
			font-size: 2.5rem;
		}
		.fv-star {
			width: 100%;
		}
		.fv-star:before, .fv-star:after {
			display: none;
		}
		.fv-button {
			padding-top: 5px;
			padding-bottom: 5px;
		}
		.ingred-section h1 {
			font-size: 3.5rem;
			text-align: center;
			color: #19AFCE;
		}
		.ingred-section h1 {
			font-size: 3.5rem;
			text-align: center;
			color: #19AFCE;
		}
		.ingred-sub {
			font-size: 2rem;
		}
		.ingred-sub2 {
			font-size: 2rem;
			color: #666666;
		}
		.ingred-sub3 {
			font-size: 3.75rem;
			color: #666666;
		}
		.s-section, .he-list-cont, .voice-list-cont {
			width: 100%;
		}
		.voice-info {
			float: none;
		}
		.mi-section .container {
			padding-left: 0;
			padding-right: 0;
		}
		p.s-section-text {
			font-size: 1.5rem;
		}
		.prod-table {
			font-size: 1.5rem;
		}
		.mi-section h1 {
			font-size: 2.25rem;
		}
		.mi-section h1:before {
			width: 25px;
			height: 90px;
			left: 0px;
			top: -10px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-left: 4px solid #19AFCE;
		}
		.mi-graph p {
			font-size: 2.25rem;
		}
		.mi-section h1:after {
			width: 25px;
			height: 90px;
			right: 0px;
			top: -10px;
			border-top: 4px solid #19AFCE;
			border-bottom: 4px solid #19AFCE;
			border-right: 4px solid #19AFCE;
		}
		.mi-list {
			height: 230px;
			width: 276px;
		}
		.mi-list img {
			position: absolute;
			right: 15px;
			width: 70px;
			height: auto;
		}
		.mi-content {
			position: relative;
			top: 40px;
			left: 14px;
			color: #fff;
			font-size: 1.05rem;
			width: 180px;
			height: auto;
		}
		.mi-content-first, .mi-content-fourth {
			padding-top: 1.75rem;
		}
		.mi-content-second, .mi-content-third {
			padding-top: 1.5rem;
		}
		.campaign-section {
			padding-top: 3.5rem;
			padding-bottom: 3.5rem;
		}
		.campaign-des {
			display: none;
		}
		.campaign-sp {
			display: initial;
		}
		.s-section, .wish-section, .mi-section, .prod-table, .amzn-sec, .mi-prob, .mi-graph, .faq-sec, .payment-opt, .notation-sec {
			padding: 3rem 1.25rem;
		}
		.prod-table img.table-sp {
			display: initial !important;
		}
		.prod-table img.table-dp {
			display: none !important;
		}
		.voice-list img {
			width: 60px;
			height: auto;
			padding-right: .6rem;
		}
		.voice-list > .row > .col-sm-8 {
			padding: 0;
			padding-left: 20px;
		}
		.voice-list > .row > .col-sm {
			padding: 0;
		}
		.he-section:before {
			height: 30px;
			background-size: cover;
		}
		.he-section:after {
			height: 30px;
			background-size: cover;
			bottom: 0;
		}
		.he-count-cont {
			min-height: 55px;
		}
		.he-count-cont p {
			line-height: 280%;
		}
		.he-count-cont img {
			height: auto;
			width: 40px !important;
		}
		.ingred-list {
			padding-right: 0;
			padding-left: 0;
		}
		.ingred-title {
			padding-top: 1.5rem;
			padding-bottom: 1.5rem;
		}
		.ingred-list h2 {
			font-size: 2rem;
		}
		.ing-head img {
			width: 50px;
			height: auto;
		}
		.ingred-list h2 span {
			font-size: 1.25rem;
		}
		.ingred-list p.i-content {
			font-size: 3rem;
		}
		.he-count {
			font-size: 1.5rem;
		}
		.he-list p {
			font-size: 1.5rem;
			padding: 0;
		}
		.s-section .row {
			margin-top: 0;
		}
		.s-list {
			display: none;
		}
		.s-list-sp {
			padding-top: 20px;
			display: unset;
		}
		.s-list-sp img {
			padding-top: 20px;
		}
		.solve-list {
			float: none !important;
			margin-bottom: 20px;
			width: 250px;
			height: 159px;
			margin-left: auto;
			margin-right: auto;
		}
		p.solve-list-txt {
			color: #2099B2;
			font-size: 2rem;
			font-weight: bolder;
			font-family: "Hiragino Kaku Gothic Pro", 'Noto Sans JP', sans-serif;
			text-align: center;
			margin-bottom: 0;
		}
		.voice-list {
			min-height: auto;
		}
		.v-heading {
			padding: 20px 15px;
		}
		.v-heading h1 {
			font-size: 2.75rem;
		}
		.v-heading h2 {
			font-size: 1.35rem;
		}
		.voice-list div.row {
			position: initial;
		}
		.vtext {
			margin-bottom: 20px;
		}
		.wish-section h1 {
			font-size: 3.5rem;
			margin-bottom: 20px;
		}
		.mi-section h2, .payment-opt h2, .notation-sec h2  {
			font-size: 3rem;
		}
		.mi-list .mi-content h3 {
			font-size: 2.25rem;
		}
		.mi-list .mi-content h3 span {
			font-size: 1.25rem;
		}
		.ratee-cont {
			padding-left: 8rem;
			padding-bottom: 25px;
		}
		.ratee-cont p {
			padding-bottom: 5px;
			margin-bottom: 5px;
		}
		.review-list {
			font-size: 16px;
		}
		.mi-prob h1 {
			font-size: 2.5rem;
		}
		.mi-prob h3 {
			font-size: 1.35rem;
		}
		.faq-sec h2 {
			font-size: 2.25rem;
			margin-bottom: 3rem;
		}
		.navbar img {
			position: absolute;
			right: 1rem;
			top: .8rem;
		}
		.mi-graph p.note {
			font-size: 1.275rem;
		}
		.navbar-toggler {
			padding: 1rem 1.5rem;
		}
		.navbar-toggler-icon {
			width: 2.5em;
			height: 2.5em;
		}
		p.vtext, p.vtitle {
			font-size: 1.5rem;
		}
		p.vtext {
			line-height: 160%;
		}
		.voice-list p.vname, .voice-list p.vocc  {
			font-size: 1.25rem;
		}
		.voice-list p.vocc  {
			font-size: 1rem;
		}
		.voice-list p.vname {
			padding-top: 8px;
		}
		.voice-list p.v-age {
			font-size: 2rem;
			padding-top: 8px;
		}
		img.header-button {
			width: 220px;
		}
	}