/*============================================================================
*
* font
*
============================================================================*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/*
* 基本設定
*/
html {
	width: 100%;
	font-size: 62.5%;
}

body {
	width: 100%;
	font-size: 62.5%;
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
	background-color: #fff;
}

* {
	box-sizing: border-box;
}

a {
	transition: opacity .5s;
}

a:hover {
	opacity: .8;
}

img {
	max-width: 100%;
}

p,
a {
	display: block;
	color: #4c4c4e;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.025em;
}

#wrap {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	padding: 0px 7vw;
}

.clear-fix::after {
	content: "";
	display: block;
	clear: both;
}

.pc {
	display: none;
}

.pci {
	display: none;
}

.sp {
	display: block;
}

.spi {
	display: inline;
}

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

	/*
		* default
		*/
	.pc {
		display: block;
	}

	.pci {
		display: inline;
	}

	.sp {
		display: none;
	}

	.spi {
		display: none;
	}
}

/*
	header
*/

header h1 {
	max-width: 100%;
	margin: auto;
}

@media screen and (min-width: 768px){
	header h1 {
		max-width: 375px;
		margin: auto;
	}
}
@media screen and (min-width: 768px){
	footer {
		max-width: 375px;
		margin: auto;
	}
}
/*
	基本
*/
section {
	display: none;
	max-width: 375px;
	margin: auto;
}

section.active {
	display: block;
}
.sec-entry {
	padding-top:30px;
}
#main {
	/*padding: 50px 0 0;*/
}

.main-inner {
	font-size: 1.2rem;
}

.sec-inner {
	margin: auto;
}

.sec-ttl {
	font-size: 1.7rem;
	line-height: 180%;
}

.sec-desc {
	font-size: 1.4rem;
	margin-top: 30px;
}

.mail-input {
	position: relative;
	margin-top: 10px;
    margin-bottom: 20px;
}
.sec-result .sec-ttl{
	margin-bottom: 80px;
}
.sec-result .caution-txt{
	margin-bottom: 60px;
}
.sec-result a.btn.btn-back {
    color: #005c61;
    background-color: #fff;
    border: #005c61 2px solid;
    text-decoration: none;
    margin-bottom: 60px;
    display: block;
}
.mail-input .ttl {
	font-size: 1.5rem;
	text-align: left;
	padding-left: 20px;
	background-image: url(../images/icon-mail.png);
	background-size: 15px 10px;
	background-position: left center;
	background-repeat: no-repeat;
}

p.error-txt {
	color: #ff0000;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 5px;
	margin-bottom: -23px;
}
.form-mailinput,
.form-mailsubmit {
	margin-bottom: 30px;
}

.mail-input input {
	background-color: #fff;
	outline: none;
	border: none;
	margin-top: 6px;
	height: 50px;
	font-size: 1.2rem;
	width: 100%;
	padding-left: 10px;
	letter-spacing: 0.025em;
	border:#959595 2px solid;
}

/* Firefox 19+ */
.mail-input input::-moz-placeholder {
	color: #000;
	opacity: 1;
}

/* IE 10+ */
.mail-input input:-ms-input-placeholder {
	color: #000;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
.mail-input input::-webkit-input-placeholder {
	color: #000;
}

.mail-input input:placeholder-shown {
	color: #4c4c4c;
}


.caution-txt {
	font-size: 1.2rem;
	line-height: 180%;
}

.btn {
	width: 90%;
	/*height: 50px;*/
	margin: auto;
	margin-top: 50px;
	border: 0 none;
	display: block;
	background: transparent;
	cursor: pointer;
	padding: 0;
	line-height: 300%;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP'
}
.btn span.jp,
.btn span.en {
	color:#fff;
}
.btn.btn-next {
	background-color: #005c61;
	border: #005c61 2px solid;
}
.btn.btn-back {
	color:#005c61;
	background-color:#fff;
	border: #005c61 2px solid;
}
.btn.btn-back span {
	color:#005c61;
}
.btn.btn-back img {
	width: 76%;
	height: auto;
}
.btn+.btn {
	margin-top: 20px;
}
.btn span.en {
	letter-spacing: .1rem;
}
.privacy-policy {
	text-align: center;
	font-size: 1.8rem;
	margin-top: 30px;
	margin-bottom: 120px;
}

.privacy-policy a {
	position: relative;
	display: inline-block;
	text-decoration: none!important;
}

.privacy-policy a:before {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 100%;
	height: 1px;
	bottom: -3px;
	left: 0;
}

.main-inner.pc .txt {
	font-size: 1.4rem;
	margin: 190px 0 230px;
}

/*
	footer
*/
footer img { width: 100%; }
.hashtag {
	font-size: 1.5rem;
}

.company-url {
	font-size: 1.5rem;
	margin-top: 20px;
	text-decoration: none;
}

.company-url::before {
	content: '';
	display: inline-block;
	font-size: 1.5rem;
	height: 1em;
	text-align: left;
	padding-left: 20px;
	background-image: url(../images/icon-link.png);
	background-size: 15px 10px;
	background-position: left center;
	background-repeat: no-repeat;
}

/*
	入力確認画面
*/
.confirm-address {
	position: relative;
	font-size: 1.5rem;
	margin-top: 70px;
}

.confirm-address:before,
.confirm-address:after {
	position: absolute;
	content: "";
	background-color: #fff;
	height: 1px;
	left: 0;
	right: 0;
	margin: auto;
	width: 140px;
}

.confirm-address:before {
	top: -18px;
}

.confirm-address:after {
	bottom: -18px;
}

.sec-confirm .caution-txt {
	margin-top: 70px;
}

/*
	入力完了画面
*/
.sec-result .caution-txt {
	/*margin-top: 55px;*/
}

.sec-result .privacy-policy {
	margin-top: 65px;
	margin-bottom: 20px;
}

/*
	エラー(コードの期限切れ)
*/
.sec-error-expire .caution-txt {
	margin-top: 55px;
}

.sec-error-expire .privacy-policy {
	margin-top: 190px;
	margin-bottom: 20px;
}

/*
	modal 基本
*/
.remodal-wrapper {
	padding: 10px 30px 0;
}

.remodal-overlay {
	background: rgba(255, 255, 255, 0.6);
}

.remodal {
	padding: 35px 20px 0;
}

.btn-modalclose {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	background-image: url(../images/icon-modal-close.png);
	background-size: cover;
	background-repeat: no-repeat;
	border: none;
	cursor: pointer;
}

.modal-ttl {
	font-size: 1.5rem;
	color: #000;
}

.modal-txt {
	font-size: 1.2rem;
	color: #000;
	white-space: pre-wrap;
	line-height: 1.3;
}

.remodal-privacy {
	height: 400px;
}

.modal-txt {
	height: 315px;
	overflow-y: scroll;
}

/* modal privacy policy */
.modal-privacy .modal-ttl {
	font-size: 1.8rem;
}

.modal-privacy .modal-txt {
	margin-top: 20px;
	text-align: left;
	padding-bottom: 20px;
}

/* modal error */
.modal-error {
	height: 210px;
}

.modal-error .modal-ttl {
	font-size: 1.5rem;
}

.modal-error .modal-txt {
	margin-top: 50px;
	height: auto;
}
