/* --------------------------------
 * howtouse.html
 * -------------------------------- */
@media screen and (max-width: 320px) {
html {
	font-size: 54.0%;
}
}
#panel {
	background-color: #bfe6ef;
}
/* -------------------
 * wrapper
 * ------------------- */
.wrapper {
	position: relative;
}
/* ----------------
 * content-title
 * ---------------- */
.logo-wrap {
	padding-top: 60px;
	width: 85%;
	max-width: 600px;
	margin: 0 auto 10px;
	text-align: center;
}
.logo-sub {
	margin-bottom: 2%;
	font-size: 2.6rem;
	background-image: url("../img_howtouse/logo_sub_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 30%;
	background-size: contain;
	display: inline-block;
	padding: 0 5%;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: 1px;
}
@media screen and (max-width: 600px) {
	.logo-sub {
		margin-bottom: 2%;
		font-size: 1.8rem;
		background-position: center bottom 15px;
	}
}
/* ----------------
 * site-title-wrap
 * ---------------- */
.site-title-wrap {
	margin-bottom: 15px;
	background-color: #32abcd;
	text-align: center;
	padding: 10px 0 20px;
	position: relative;
}
.site-title-wrap h2 {
	font-size: 3.6rem;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 10px;
}
.site-title {
	background-color: #fffcd2;
	padding: 10px 0;
}
.site-title h3 {
	border-top: 1px solid #e84354;
	border-bottom: 1px solid #e84354;
	padding: 10px 0;
}
.site-title h3 strong {
	display: block;
	text-align: left;
	color: #e84354;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
	width: 85%;
	max-width: 400px;
	margin: 0 auto;
}
.site-title-image {
	position: absolute;
	top: -10px;
	right: 50%;
	width: 113px;
	margin-right: -240px
}
@media screen and (max-width: 500px) {
	.site-title-wrap h2 {
		font-size: 3.0rem;
	}
	.site-title h3 strong {
		font-size: 2.0rem;
	}
	.site-title-image {
		right: 1%;
		margin-right: 0px;
		width: 105px;
	}
}
@media screen and (max-width: 340px) {
	.site-title h3 strong {
		width: 95%;
	}
	.site-title-image {
		right: 0px;
	}
}
@media screen and (max-width: 320px) {
	.site-title-image {
		width: 95px;
	}
}
/* ----------------
 * site-description
 * ---------------- */
.site-description {
	width: 85%;
	max-width: 600px;
	margin: 0 auto 20px;
}
/* ----------------
 * nav-howtouse-wrap
 * ---------------- */
.nav-howtouse-wrap {
	width: 85%;
	max-width: 400px;
	margin: 0 auto 20px;
}
.nav-howtouse-title {
	color: #32abcd;
	letter-spacing: 2px;
	font-weight: bold;
	margin-bottom: 8px;
	position: relative;
	display: inline-block;
	height: 20px;
	line-height: 20px;
	background-color: #fff;
	padding: 0px 15px 0px 10px;
}
.nav-howtouse-title:after {
	position: absolute;
	content: '';
	right: 0;
	top: 0;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 10px transparent;
	border-top: solid 20px #bfe6ef;
	z-index: 1;
	transition: .4s;
	border-left-width: 10px;
}
.nav-howtouse {
	margin-bottom: 20px;
}
.nav-howtouse > ul > li::before {
	content: "■";
	margin-right: 5px;
}
.nav-howtouse a {
	color: #434343;
	display: inline-block;
	padding-bottom: 3px;
	padding-top: 3px;
}
.nav-howtouse > ul > li > ul {
	margin-left: 10px;
}
/* ----------------
 * content-wrap
 * ---------------- */
.content-wrap {
	margin-bottom: 40px;
	padding-top: 60px;
	margin-top: -60px;
}
/* ----------------
 * content-howtouse-wrap
 * ---------------- */
.content-howtouse-wrap {
	background-color: #fff;
	padding: 10px 10px 1px;
	margin-bottom: 10px;
}
.content-howtouse-title {
	border-top: 5px solid #e84354;
	border-bottom: 5px solid #e84354;
	padding: 10px 0;
	text-align: center;
	color: #e84354;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1px;
	margin-top: 20px;
	margin-bottom: 15px;
	position: relative;
}
.content-howtouse-title::before {
	content: "How to Smile na Ikuji Passport";
	color: #4F4F4F;
	font-size: 12px;
	position: absolute;
	top: -22px;
	right: 0px;
}
@media screen and (max-width: 600px) {
	.content-howtouse-title {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 330px) {
	.content-howtouse-title {
		font-size: 2.2rem;
	}
}
.content-howtouse {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.content-howtouse-description01 {
	color: #e84354;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.4;
}
@media screen and (max-width: 600px) {
	.content-howtouse-description01 {
		font-size: 2.4rem;
	}
}
.content-howtouse-description02 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
}
.content-howtouse-description02 strong {
	color: #e84354;
	font-size: 2.8rem;
}
.content-howtouse-description02 strong .more-strong {
	font-size: 3.0rem;
}
.content-howtouse-description02 strong .more-strong-no {
	font-size: 3.4rem;
}
@media screen and (max-width: 600px) {
	.content-howtouse-description02 {
		font-size: 2.2rem;
	}
	.content-howtouse-description02 strong {
		color: #e84354;
		font-size: 2.4rem;
	}
	.content-howtouse-description02 strong .more-strong {
		font-size: 2.8rem;
	}
}
/* ----------------
 * howtouse01-wrap
 * ---------------- */
.howtouse01-wrap01 {
	background-image: url("../img_howtouse/howtouse01_bg01.jpg");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
	padding: 5% 50% 2% 0px;
	letter-spacing: 1px;
}
@media screen and (max-width: 500px) {
	.howtouse01-wrap01 {
		background-image: url("../img_howtouse/howtouse01_bg01sp.jpg");
		padding: 5% 30% 2% 0px;
	}
}
@media screen and (max-width: 350px) {
	.howtouse01-wrap01 {
		padding: 5% 40% 2% 0px;
	}
}
@media screen and (max-width: 320px) {
	.howtouse01-wrap01 {
		padding: 5% 42% 2% 0px;
	}
}
.howtouse01-wrap02 {
	background-image: url("../img_howtouse/howtouse01_bg02.jpg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
	padding: 5% 0 2% 50%;
	letter-spacing: 1px;
}
@media screen and (max-width: 500px) {
	.howtouse01-wrap02 {
		background-image: url("../img_howtouse/howtouse01_bg02sp.jpg");
		padding: 5% 0px 2% 30%;
	}
}
@media screen and (max-width: 350px) {
	.howtouse01-wrap02 {
		padding: 5% 0px 0px 40%;
	}
}
@media screen and (max-width: 320px) {
	.howtouse01-wrap02 {
		padding: 5% 0px 0px 46%;
	}
}
/* ----------------
 * .nav-stamp-wrap
 * ---------------- */
.nav-stamp {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 600px;
	margin: 0 auto 15px;
}
.nav-stamp li {
	width: 24.5%;
}
/* ----------------
 * step-wrap
 * ---------------- */
.step-stamp-image {
	width: 80%;
	max-width: 400px;
	margin: -10px auto 13px;
}
.step-wrap {
	margin-bottom: 10px;
}
.step-wrap::after {
	content: url("../img_howtouse/step_arrow.png");
	display: block;
	text-align: center;
	padding-top: 20px;
}
.step-wrap.step-last::after {
	display: none
}
.step-wrap h3 {
	width: 40%;
	max-width: 180px;
	margin-bottom: 10px;
}
.step-wrap h4 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 15px;
	letter-spacing: 1px;
}
.step-image {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 500px) {
	.step-wrap h4 {
		font-size: 2.0rem;
	}
}
.step-description {
	margin-top: 10px;
}
.step-description strong {
	color: #e60012;
}
.step-note-wrap {
	background-color: #fdecee;
	padding: 15px;
	font-size: 1.2rem;
}
.step-note {
	color: #e60012;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 5px;
}
@media screen and (max-width: 600px) {
	.go-stamp-wrap {
		font-size: 1.6rem;
	}
}
/* ----------------
 * go-stamp-wrap
 * ---------------- */
.go-stamp-wrap {
	background-color: #fdecee;
	color: #e60012;
	text-align: center;
	font-size: 2.0rem;
	padding: 15px;
	font-weight: bold;
}
.go-stamp-wrap a {
	display: block;
	background-color: #e60012;
	color: #fff;
	margin-top: 5px;
	padding: 10px 0px;
	text-decoration: none;
	line-height: 1.3;
}
@media screen and (max-width: 600px) {
	.go-stamp-wrap {
		font-size: 1.6rem;
	}
}
/* ----------------
 * go-present-wrap
 * ---------------- */
.go-present-wrap {
	padding-top: 10px;
	text-align: center;
}
/*.go-present-wrap a {
	display: block;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	background-color: #e60012;
	color: #fff;
	margin-top: 5px;
	padding: 10px 0px;
	text-decoration: none;
	line-height: 1.3;
}
@media screen and (max-width: 600px) {
	.go-present-wrap a {
		font-size: 1.6rem;
	}
}*/
.go-present-wrap a {
background: #E74354;
background: linear-gradient(to bottom, #F5AFB7 0%, #D3293C 100%);
border: 1px solid #D3293C;
font-size: 2.0rem;
font-weight: 700;
line-height: 1.3;
position: relative;
display: inline-block;
padding: 1rem 3rem;
width: 100%;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transition: all 0.3s;
transition: all 0.3s;
vertical-align: middle;
text-decoration: none;
letter-spacing: 0.1em;
color: #ffffff;
border-radius: 0.5rem;
-webkit-box-shadow: 3px 3px 3px #C0C0C0;
box-shadow: 3px 3px 3px #C0C0C0;
}
@media screen and (max-width: 600px) {
	.go-present-wrap a {
		font-size: 1.6rem;
	}
}
/* ----------------
 * qa-wrap
 * ---------------- */
.qa-wrap {
	margin-bottom: 15px;
	padding-top: 60px;
	margin-top: -60px;
}
.qa-wrap dt {
	padding: 0 0 3px 2.5em;
	margin-bottom: 3px;
	border-bottom: 1px solid #4F4F4F;
	font-weight: bold;
	font-size: 1.6rem;
}
.qa-wrap dd {
	margin: 0 0 0 2.5em;
}
/* QAアイコン */
.qa-wrap dt::before, .qa-wrap dd::before {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.1;
}
.qa-wrap dt::before {
	content: 'Q';
	color: #32abcd;
	margin: 0 0.5em 0 -1.2em;
}
.qa-wrap dd::before {
	content: 'A';
	color: #e84354;
	margin: 0 0.5em 0 -1.0em;
}
.qa-wrap dd li {
	margin-bottom: 8px;
}
.qa-wrap dd li a {
	color: #4F4F4F;
}
/* ----------------
 * foote-nav
 * ---------------- */
.foote-nav-wrap {
	width: 100%;
	position: fixed;
	bottom: -100px;
	z-index: 999;
	background-color: hsla(0, 0%, 100%, 0.80);
	transition: all 0.5s ease-out;
}
.foote-nav-wrap.fixed {
	bottom: 0px;
}
.foote-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5px;
	padding-right: 3px;
}
.foote-nav li {
	width: 48%;
}
.foote-nav a {
	display: block;
	padding: 10px 0px 5px;
	text-align: center;
}
@media screen and (max-width: 600px) {
	.foote-nav li {
		width: 50%;
	}
}