﻿@charset "utf-8";
/* ===============================================================================
	RWD
 =============================================================================== */
.tac { text-align: center; }

@media print, screen and (min-width: 751px) {
	.sp_only {
		display: none;
	}
}
@media only screen and (max-width: 750px) {
	.pc_only {
		display: none;
	}
}

/* === 全体レイアウト =========================== */
html {
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
body {
	margin: 0;
	padding: 0;
	color: #202020;
	line-height: 1.6;
	font-family: Noto Sans JP, メイリオ, Meiryo, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, sans-serif !important;
}
@media only screen and (max-width: 750px) {
	body * {
		font-size: 14px;
	}
}
@media print, screen and (min-width: 751px) {
}

div#jre_header,
div.enq_header,
div.enq_wrapper,
div.enq_body,
body > form,
div.enq_button,
div.enq_footer {
	margin: 0;
	padding: 0;
	width: 100% !important;
	text-align: left;
}
img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 750px) {
	div.enq_body,
	body > form {
		margin-right: 3.125%;
		margin-left: 3.125%;
		width: auto !important;
	}
}
@media print, screen and (min-width: 751px) {
	div#jre_header,
	div.enq_header,
	div.enq_wrapper,
	div.enq_body,
	body > form,
	div.enq_button,
	div.enq_footer {
		margin-right: auto;
		margin-left: auto;
		max-width: 950px;
		text-align: left;
	}
}
@media (min-width: 751px) and (max-width: 950px) {
	div.enq_body {
		margin-right: 1.5625%;
		margin-left: 1.5625%;
		width: auto !important;
	}
}

/* === 必須項目 =========================== */
div.etc_page_width {
	width: auto;
}
.sys_essencial_mark {
	color: #ff0000;
}

/* === ログイン画面 =========================== */
.sys_login {
	width: auto;
	margin: auto;
}
.sys_login .rbox {
	margin: 50px auto;
	background-color: #E3F8CF;
}
@media only screen and (max-width: 750px) {
	.sys_login .rbox {
		margin: 30px auto;
	}
}
.sys_login table {
	color: #202020;
}


/* === 設問項目 =========================== */
dl.sys_parts {
	border: none;
	width: auto;
	margin-top: 10px;
	max-width: 950px;
}
/* === 設問タイトル ====== */
dl.sys_parts dt.sys_subject {
	margin: 0;
	border: none;
	padding: 10px !important;
	background: #5eb533;
	color: #ffffff;
}
@media only screen and (max-width: 750px) {
	dl.sys_parts dt.sys_subject {
		margin-bottom: 5%;
		font-size: 14px;
		font-weight: 500;	
	}
}
@media print, screen and (min-width: 751px) {
	dl.sys_parts dt.sys_subject {
		margin-bottom: 15px;
		font-size: 16px;
	}
}
/* === 設問内容 ====== */
dl.sys_parts dd.sys_answer,
dl.sys_parts dd.sys_confirm {
	margin: 0;
	border: none;
	padding: 0;
	background: none;
}
dl.sys_parts dd.sys_answer p + p {
	margin-top: 10px;
}
dl.sys_parts dd.sys_answer input,
dl.sys_parts dd.sys_answer textarea {
	box-sizing: border-box;
	padding: 3px 5px;
}
dl.sys_parts dd.sys_answer select {
	padding: 10px 20px 10px 15px;
}
dl.sys_parts dd.sys_confirm {
	padding-left: 2em;
}
@media only screen and (max-width: 750px) {
	dl.sys_parts dd.sys_answer,
	dl.sys_parts dd.sys_confirm {
		margin-bottom: 10%;
        padding: 0 1em !important;
	}
}
@media print, screen and (min-width: 751px) {
	dl.sys_parts dd.sys_answer,
	dl.sys_parts dd.sys_confirm  {
		margin-bottom: 30px;
	}
}

dl.sys_parts dd.sys_answer:has( + .label){
	margin-bottom: 0;
}

@media only screen and (max-width: 750px) {
	textarea {
		width: 100% !important;
	}
}

/* === ラベル用 ====== *..

/* === エラー表示 ====== */
.sys_errmsg {
	display: block;
	margin: 0 0 5px;
	border-style: dotted;
	border-width: 1px;
	padding: 2px 5px;
	background-color: #fef2f4;
	font-weight: bold;
}
/* === フォームボタン ====== */
div.sys_form_button {
	margin: 0;
	border: none;
	padding: 0 !important;
	width: auto;
	max-width: 950px;
}
/* === フォームボタン ====== */
.next_enquete_info {
	margin: 0;
	padding: 0;
}

/* === オリジナルデザイン ===================================================================== */

/* === JR東日本 ヘッダー＆フッター ====== */
div#jre_header {
	margin-bottom: 10px;
	border-bottom: 1px solid #DDD;
	padding: 16px 0;
}
@media (max-width: 950px) {
	div#jre_header {
		margin-bottom: 0;
		padding: 16px;
	}
}
div#jre_header .logo {
	margin-bottom: 0;
}
@media only screen and (max-width: 750px) {
	div#jre_header .logo {
		width: 36px;
	}
}
@media print, screen and (min-width: 751px) {
	div#jre_header .logo {
		width: 48px;
	}
}
div.enq_footer {
	border-top: 1px solid #DDD;
	background-color: transparent;
	padding: 20px;
	text-align: center;
}
div.enq_footer .footer {
	margin: 0;
	padding: 0;
}
div.enq_footer img {
	max-width: 400px;
}
@media only screen and (max-width: 750px) {
	div.enq_footer {
		padding: 4.6875%;
	}
	div.enq_footer img {
		width: 100%;
		height: auto;
	}
}



/* === メインビジュアル ====== */
div.enq_header {
	margin-bottom: 15px;
}
div.enq_header h1 {
	margin: 40px auto;
	border: none;
	width: 100%;
	height: 0;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
}
@media only screen and (max-width: 750px) {
	div.enq_header h1 {
		margin: 0 auto;
		padding-bottom: 62.5%;
		background-image: url(/SP/003321/p_166560/file/mv_sp.jpg);
	}
}
@media print, screen and (min-width: 751px) {
	div.enq_header h1 {
		padding-bottom: 52.63157894736842%;
		background-image: url(/SP/003321/p_166560/file/mv_pc.jpg);
	}
}
div.enq_header p {
	margin: 0;
}

/* === 共通要素 ====== */
div.enq_body > h2 {
	margin: 1.4em auto;
	font-size: 1.6em;
	text-align: center;
}
div.enq_body .tac {
	text-align: center;
}
.enq_comment {
	margin: 50px auto;
	font-size: 15px;
}
@media only screen and (max-width: 750px) {
	.enq_comment {
		margin: 15px auto 30px;
		font-size: 14px;
		text-align: left;
	}
}
.enq_body-text {
	margin: 2em auto;
	text-align: center;
	line-height: 2;
}
div.enq_body p > a:hover {
	text-decoration: none;
}

/* === ステータスバー ====== */
div.enq_body #statusbar {
	margin: 0px 0px 2em;
}
div.enq_body #statusbar ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
div.enq_body #statusbar ul li {
	display: block;
	margin: 0;
	padding: 0;
	width: calc(100% / 3);
	height: 40px;
	background-color: #ebebeb;
	line-height: 40px;
	text-align: center;
}
div.enq_body #statusbar ul li:before {
	content: '';
	display: block;
	float: left;
	border: 20px solid transparent;
	border-right-width: 10px;
	border-left: 10px solid #ffffff;
	width: 0;
	height: 0;
}
div.enq_body #statusbar ul li:after {
	content: '';
	display: block;
	float: right;
	border: 20px solid #ffffff;
	border-right-width: 0px;
	border-left: 10px solid #ebebeb;
	width: 0;
	height: 0;
}
div.enq_body #statusbar ul li:first-child:before,
div.enq_body #statusbar ul li:last-child:after {
	display: none;
}
div.enq_body #statusbar ul li.now {
	background-color: #0075c1;
	font-weight: bold;
	color: #ffffff;
}
div.enq_body #statusbar ul li.now:after {
	border-left-color: #0075c1;
}



/* === ラベル用 ====== */
div.enq_body dt.label {
	border: none;
	margin: 0;
	padding: 0;
	width: auto;
	border-radius: 0;
	background-color: inherit;
	font-size: inherit;
	font-weight: normal;
	color: inherit;
}


/* === 注意 ====== */
div.enq_body #caution {
	margin: 3em 0 2em;
}
div.enq_body #caution ul {
	list-style: none;
	margin: 0 0 1.5em 0;
	border: none;
	padding: 2em;
	background-color: #F5F5F5;
}
div.enq_body #caution ul li {
	margin-bottom: 5px;
	margin-left: 1em;
	text-indent: -1em;
}
div.enq_body #caution ul li:last-child {
	margin-bottom: 0;
}
div.enq_body #caution ul li:before {
	content: '※';
}
div.enq_body #caution ul li span {
	font-weight: bold;
	color: #F43822;
}

/* === フォームボタン ====== */
/* -- reset -- */
div.enq_body form input[type="submit"],
div.enq_body form input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
div.enq_body form input[type="submit"]::-webkit-search-decoration,
div.enq_body form input[type="button"]::-webkit-search-decoration {
	display: none;
}
div.enq_body form input[type="submit"]::focus,
div.enq_body form input[type="button"]::focus {
	outline-offset: -2px;
}
/* -- // reset -- */
div.enq_body form input.button {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	margin: 1.0em auto;
	height: auto !important;
	background-image: none !important;
	background-color: #008803 !important;
	border-radius: 9999px;
	text-align: center;
	text-decoration: none;
	font-size: 19px;
	font-weight: bold;
	line-height: 1;
	color: #ffffff !important;
	font-family: Noto Sans JP, メイリオ, Meiryo, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, sans-serif;
}
div.enq_body form input.button::after {
	content: '';
	display: block;
	transform: rotate(-45deg);
	position: absolute;
	right: -5px;
	bottom: -4px;
	border: 8px solid transparent;
	border-top-color: #ffffff;
	width: 0;
	height: 0;
}
div.enq_body form input.button:hover {
	background-color: #33a035 !important;
}
div.enq_body form input.button span.blank {
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	margin-left: 0.5em;
	border: 2px solid #ffffff;
	width: 18px;
	height: 12px;
	box-shadow: 2px 2px #008803;
	vertical-align: top;
}
div.enq_body form input.button span.blank::before {
	content: '';
	box-sizing: border-box;
	display: inline-block;
	position: absolute;
	bottom: -6px;
	left: -6px;
	border-bottom: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	width: 16px;
	height: 10px;
}
@media only screen and (max-width: 750px) {
	div.enq_body form input.button {
		padding: 0.8em 1.25em;
		min-width: 140px;
	}
}
@media print, screen and (min-width: 751px) {
	div.enq_body form input.button {
		padding: 1em 3em 1.25em;
		min-width: 220px
	}
}


/* === submitボタン ====== */
div.sys_form_button {
	box-sizing: border-box;
	padding: 4.6875%;
	background-color: #ffffff;
}
div.sys_form_button.no_color {
	background-color: #ffffff;
}
div.sys_form_button p {
	margin: 0 0 1em 0;
}
div.sys_form_button table {
	background-color: #ffffff;
}
div.sys_form_button.no_color table {
	background-color: #ffffff;
}
@media only screen and (max-width: 750px) {
	div.sys_form_button {
		margin-bottom: 12% !important;
		/* margin-left: -3.333333333333333%;
		padding: 5%;
		width: 106.6666666666667%; */
	}
	div.sys_form_button p br {
		display: none;
	}
}
@media print, screen and (min-width: 751px) {
	div.sys_form_button {
		margin-bottom: 40px;
		padding: 30px 40px;
		text-align: center;
	}
}



/* === 完了画面 SNSシェアリンク ====== */
.share_btn_wrapper {
	margin: 50px auto;
}

.share_btn_text {
	font-size: 1.2rem;
	font-weight: 500;
}
.share_btn_text span {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
.share_btn_text span::before,
.share_btn_text span::after {
	content: "";
	width: 1px;
	height: 22px;
	background-color: #333;
}
.share_btn_text span::before {
	transform: rotate(-30deg);
}
.share_btn_text span::after {
	transform: rotate(30deg);
}

.share_btn_link {
	display: flex;
	justify-content: center;
	gap: 25px;
	margin-top: 10px;
}
.share_btn_link a img {
	max-width: 60px;
}
@media only screen and (max-width: 750px) {
	.share_btn_link a img {
		max-width: 45px;
	}
}

.suicanewchar_wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4%;
	margin: 15px 1em 50px;
}
@media print, screen and (min-width: 751px) {
	.suicanewchar_wrapper {
		gap: 5%;
		margin: 15px 0 50px;
	}
}

.suicanewchar_item > figure {
	border: 2px solid #E5E5E5;
	border-radius: 15px;
	padding-bottom: 10px;
	overflow: hidden;
}
.suicanewchar_item > figure > figcaption {
	padding: 15px 15px 0;
}
@media only screen and (max-width: 750px) {
	.suicanewchar_item > figure > figcaption {
		padding: 5px 10px 0;
	}
}

/* テキストリンク */
a.text-link {
	color: #007903;
	text-decoration: underline;
	text-decoration-color: #007903;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: all 0.2s;
}

a.text-link::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: url("https://www.jreast.co.jp/company/assets/images/icon/blank.svg") no-repeat 0 0/contain;
	margin: 0 .2em;
}