/************************************************************
* 覆蓋 Bootstrap 預設樣式
************************************************************/
:root {
	--primary: #0033d6;
	--primary-darken: #062e5b;
	--primary-lighten: #e8f3f9;
	--primary-normal-font: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", "A-OTF Shin Go Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--primary-bold-font: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", "A-OTF Shin Go Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-primary-gradient {
	background: linear-gradient(90deg, var(--primary-darken), var(--primary), var(--primary-darken));
	background: linear-gradient(90deg, var(--primary), var(--primary-lighten), var(--primary));
}

hr {
     margin-top: 0rem;
}


.border {
	border-width: 2px !important;
}

.modal-content {
	border-bottom: 5px solid var(--primary);
}

/************************************************************
* 自定樣式
************************************************************/
html, body {
	margin: 0px;
	padding: 0px;
	
}

body {
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", "A-OTF Shin Go Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
	/*font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;*/
	-webkit-font-smoothing: antialiased;
	background-color: #fff;
}



h1, h2, h3, h4, h5, h6 {
	font-weight: 900;

}

h1{font-size:2rem; letter-spacing: -0.1rem; line-height: 1.4; text-align: left; }

.rainbow{border-image-source: linear-gradient(0deg, rgba(194,169,248,1) 24%, rgba(143,196,250,1) 50%, rgb(114, 255, 217) 100%);;
	border-image-slice: 1; 
	border-left:8px solid ; padding-left:2rem;}


h1.light{font-size:2rem; letter-spacing: -0.1rem; line-height: 1.4;  font-weight:bold; color:#fff;}
.h1-adj{margin-left:-2rem; margin-right:-1rem;}


h2 {
	font-size: 2.2rem;
	line-height: 1.3;
	letter-spacing: -0.1rem; 
}

h3 {
	font-size: 1.5rem;
	margin: 0;
	line-height: 1.3;
}

h5 {
	font-size: 1.3rem;
}

h6 {
	font-size: 1.9rem;
	margin: 0;
}

p {
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: normal;
	margin-bottom: 2rem;
}

p:last-child {
	margin-bottom: 0;
}

li {font-weight:bold;}


.emp {
	color: var(--primary) !important;
	font-size:120%;
}



.text_red{color:#c50013; font-weight: bold;}
.text-yellowbg{padding: 0 5px;
	font-weight: bold;
    background-image: linear-gradient(#fef453, #fef453);
    background-size: 100% 50%;
    background-position: 0 100%;
    background-repeat: no-repeat;}



strong, .strong {
	font-family: var(--primary-bold-font) ;
}

p {
	font-weight: normal;
	margin-bottom: 1.7rem;
}

p:last-child {
	margin-bottom: 0;
}

a {
	color: #999;
	text-decoration: underline;
}

ul {
	list-style: none;
	margin:0;
}

li {
	position: relative;
	margin-top: 0.8rem;
	font-size:1.2rem;
}

.under{text-decoration: underline;}

li:first-child {
	margin-top: 0;
}

.text-highlight {
	background: #ffeb3b;
	font-weight: 700;
}
.name{font-size:160%; letter-spacing: 0.1rem; margin-top:-10px; color:#c3c3c3;}

.text-s{font-size:90%;}
.text-m{font-size:130%;}
.text-l{font-size:130%;}
.text-xl {font-size: 160%;}
.text-xxl {font-size: 180%;}
.text-xxxl {font-size: 220%;}
.text-red{color: #dc3545; font-weight: 900;}
.text-blue{color:var(--primary); font-weight: 900;}

main section.alt, .bg-alt {
	background: #f5f1f1;
}


.bg-lightblue {
	background: var(--primary-lighten);
}

.bg-blue {
	background: #f4f8fb;
}

.bg-lightyellow {
	background: #fbf9f4;
}

.bg-btn {background-color: #d2efff;}

.bg-white {
	background-color: #fff;
}

.bg-nayami {
	background: url(../images/bg.jpg) center top/cover no-repeat;
}


.header-bg {
	background:#062e5b url(../images/header-bg-pc.jpg) center top/cover no-repeat;
	background-attachment: fixed;
	height:auto;
}

.box-bg{background: url(../images/box-bg.jpg) no-repeat bottom center; background-size: cover;
	background-attachment: fixed;
	text-align: center;
	height:300px;}

main .container {
	position: relative;
	max-width: 900px;
}

.check-circle, .check-square {
	font-weight: 700;
}


.check-circle li::before {
	position: absolute;
	content: '\f058';
	font-family: 'Font Awesome 5 Free';
	font-size: 1.25rem;
	font-weight: 900;
	left: -2rem;
	top: -3px;
	color: var(--primary);
}

.check-square li::before {
	position: absolute;
	content: '\f00c';
	font-family: 'Font Awesome 5 Free';
	font-size: 1.25rem;
	font-weight: 900;
	left: -2rem;
	top: -3px;
	color: #e4ff6d;
}

.list-square ul{padding-left:1.5rem;}

.list-square p{line-height:2;}

.list-square li::before {
	position: absolute;
	content: '◼︎';
	font-size: 1.25rem;
	font-weight: 900;
	left: -2rem;
	top: -3px;
	color: var(--primary);
}

.list-bonus li{font-size:130%; padding-left:0.5rem;}

.list-bonus li::before {
	position: absolute;
	content: '\f00c';
	font-family: 'Font Awesome 5 Free';
	font-size: 1.5rem;
	font-weight: 900;
	left: -2rem;
	top: -3px;
	color: #dc3545;
}

.card-header {
	margin-bottom: 0 !important;
	font-size: 1.2rem;
	font-weight: 900;
	padding-left: 0;
	background: none;
	border: none;
}
	


.page-product-voice__inner {
    max-width: 1040px;
    margin: 0 auto;
}

.dash {
	
    font-size: 2em;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    letter-spacing: -0.08rem;
    position: relative;

   
}

.dash::before {
    content: "";
    position: absolute;
    background-color: #1070dd;
    top: calc(80% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    transform: skew(-45deg);
	box-sizing: border-box;
}




/************************************************************/
.box {
    margin-top: 30px;
    position: relative;
    padding-bottom: 60px;
}

.nayami .box .box-design span{
    display: inline-block;
    padding: 0 40px;
}

.speaker .box .box-design span{
    display: inline-block;
    background: #f5f1f1;
    padding: 0 30px;
}

.nayami .box .box-design{ 
position: absolute;
top: -20px;
left: 0;
}

.speaker .box .box-design {
    position: absolute;
    top: -30px;
    left: 0;
}


.nayami .box {
    background: none;
	color:#fff;
	border-bottom:#0680c3 solid 1px;
    padding: 20px 2% 30px;
}

.speaker .box {
    background: #f5f1f1;
	border-top: 1px solid #0680c3;
}

.nayami .box .box-design, .speaker .box .box-design {
    text-align: center;
    color: #0680c3;
    width: 100%;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}


.talk-icon-white figure figcaption {
    color: var(--primary);
    text-align: center;
    width: 440px;
    height: 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    border-radius: 64px;
    margin: 0 auto 30px;
    background: #fff;
    font-size: 2rem;
    font-weight: 700;
}

.talk-icon-white figure figcaption::after {
    position: absolute;
    top: 100%;
    left: calc(50% - 15px);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 15px 0 15px;
    border-color: #fff transparent transparent transparent;
}
	

		
.bonus {
    background:#30025c url(../images/header-bg-pc.jpg) no-repeat center center; background-size:cover;
	background-attachment: fixed;
	text-align: center;
	border:none;
}

.bonus-bar{border-top:var(--primary) 8px solid;}

.bonus .container{background:#fff;}

.bonus-bar {
	width:100%; 
	background: #fff url(../images/bonus-bar.webp) center top repeat-y;
	text-align: center;
	box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;}

ul.bonus-list  {
    padding-left: 0;
	
}

.bonus .bonus-list li {
	margin-top:1rem;
	padding-left: 0;
    display: inline-block;
    max-width: 900px;
    font-size: 1rem;
	text-align: left;

}

.bonus-title{background: linear-gradient(90deg, #8133bf 0%, #69b0ee 100%) !important; color:#fff; 
	text-shadow: 0 0 16px rgba(255, 255, 255, 0.8), 0 0 8px rgba(102, 144, 254, 0.8), 0 0 4px rgba(102, 144, 254, 0.8);}

.bar-bottom {
    border-bottom: #ffeb3b 4px solid;
    padding-bottom: 0px;
}


/************************************************************/


.color-circle {
	display: block;
	background: var(--primary);
	color: #fff;
	border-radius: 100%;
	width: 64px;
	height: 64px;
	line-height: 67px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 900;
}

td.active {
	background: var(--primary-lighten);
}

.table .text-muted {
	font-size: 0.8em;
}

.speaker{ border-radius: 15px;}

.card-body {
    padding: 0.5rem;
}

.card{background: #fff url(../images/point-bg.jpg) left top no-repeat;}

.experience, .voice{border-radius: 5px; box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.06);}
.shadow { box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.06);}

.badge-experience {
	display: block;
	background: linear-gradient(48deg, #3200d6 0%, #34a0ff 100%) !important; color:#fff; 
	color: #fff;
	border-radius: 100%;
	width: 100px;
	height: 100px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 900;
	margin-left: -20px;
	text-shadow: 0 0 16px rgba(255, 255, 255, 0.8), 0 0 8px rgba(102, 144, 254, 0.8), 0 0 4px rgba(102, 144, 254, 0.8);
}

.badge-experience .number {
	font-size: 2em;
	line-height: 1em;
	color:#fff;
}



footer {
	padding: 2% 0;
	background: #fff;
	color: #999;
	text-align: center;
}

footer p {
	font-weight: 400;
	font-size: 16px;
}

footer p:last-child {
	margin: 0px;
}


/************************************************************
* Bootstrap Small
************************************************************/
@media (max-width: 767.98px) {
	body {
		font-size: 0.95rem;
	}

	.header-bg .container{padding:0!important;}
	
	.img-mobile{width:70%; height:70%;}
	
	.card-body p:last-child {
		margin-bottom: 0;
	}

	.h1-adj{margin-left:-1rem; margin-right:-1rem;}
	
	p {
		font-size: 1.1rem;
		padding: 0;
		margin-bottom: 1.6rem;
	}
	h2 {
		font-size: 1.5rem;
		line-height:1.3;
	}

	h3{font-size:1.2rem;}

	h5{font-size:1.1rem;}

	.text-s{font-size:55%;}
	.text-l{font-size:110%;}
	.text-xl {font-size: 145%;}
	.text-xxl {font-size: 160%;}
	.text-xxxl {font-size: 180%;}

	.bg-btn {background-color: #fff;}

	ul {
		max-width: 650px;
		font-weight: 900;
		margin-bottom: 0;
	}

	li {
		margin-top: 0.75rem;
		font-size:1.1rem;
	}
	
	.card-body li {font-size:1rem!important;}

	.card{background: #fff url(../images/point-bg.jpg) no-repeat; background-size:15%; }

	.header-bg {
		background: url(../images/header-bg-mobile.jpg) no-repeat bottom center; background-size:cover;}

	.check-circle {line-height: 1.3;}
	
	.check-circle li::before {
			font-size: 1.25rem;
			left: -2.3rem;
			top: -3px;
		}

	.speaker{ border-radius: 5px;}

	.color-circle {
		width: 48px;
		height: 48px;
		line-height: 50px;
		font-size: 1.25rem;
	}
	
	.name {
		font-size: 120%;
	}

	.bonus {
		background:#38034f url(../images/header-bg-pc.jpg) no-repeat top left/contain;
		background-attachment: none;
		text-align: center;
		border:none;
	}

	.box-bg{background: url(../images/genius-bg.jpg) no-repeat bottom center; background-size: cover;
		background-attachment:scroll;
		height:200px;}

	.badge-experience {
		background: linear-gradient(48deg, #00d661 0%, #34a0ff 100%) !important; color:#fff; 
		width: 55px;
		height: 55px;
		text-shadow: none;
		margin-left:-15px;
	}


	.badge-experience .number {
		font-size: 1em;
		line-height: 1em;
	}

	
	.rainbow {
		border-image-source: linear-gradient(0deg, rgba(194, 169, 248, 1) 24%, rgba(143, 196, 250, 1) 50%, rgb(114, 255, 217) 100%);
		border-image-slice: 1;
		border-left: 8px solid;
		padding-left: 1rem;
	}

	.speaker .card-header {
		padding: 0;
		padding-top: 1rem;
	}

	.nayami .box {margin-top:0px; padding:0; border-bottom:none;}

	.nayami .box .box-design span {
		padding: 0 20px;
	}

	.bg-nayami {background: url(../images/bg.jpg) center bottom/cover no-repeat; padding-bottom:150px;}

	.nayami .box .box-design {
		font-size: 1.5rem;}

.talk-icon-white figure figcaption {
    color: var(--primary);
    text-align: center;
    width: auto;
    height: 50px;
    font-size: 1.8rem;

}

.list-bonus li{font-size:120%; padding-left:0rem;}

.list-bonus li::before {
	position: absolute;
	content: '\f00c';
	font-family: 'Font Awesome 5 Free';
	font-size: 1.4rem;
	font-weight: 900;
	left: -2.3rem;
	top: -3px;
	color: #dc3545;
}
		


	footer {
		padding-top: 7%;
		padding-bottom: 27%;
	}
	footer p{font-size: 18px;}
	
}


/************************************************************
* Bootstrap Extra Small
************************************************************/
@media (max-width: 575.98px) {
	h1 {
		font-size: 1.5rem;
	}


	h6 {
		font-size: 1.1rem;
	}

	.countdown-container h3 {
		font-size: 1.75rem;
	}

	.countdown-container h4 {
		font-size: 1rem;
	}

	.countdown-container .price {
		font-size: 1.75rem;
	}
}