@charset "UTF-8";
/* CSS Document */
/* GLOBAL */

/* Code Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	outline: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box; }

/* ---------- body ---------- */
html { font-size: 62.5%; }
body {
	text-align: center;
	font-size: 1.6rem;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; }
.header_fix { padding-top: 70px;}
.onlyPC { display: none; }
.onlySP { }

/* ---------- Position ---------- */
.pos_C { text-align: center; }
.pos_R { text-align: right; }
.pos_L { text-align: left; }
.pos_submit { text-align: center; margin: 10rem auto; }
.mt_1 { margin-top: 5rem!important; }

/* ---------- color ---------- */
.check_note_txt { color: #e83658; }
.charge_free_txt { color: #e83658; font-size: 2rem; font-weight: 400; }
.c_blue { color: #4589cb; }
.c_gray { color: #666666; }
.c_error { color: #dc143c; }
.c_red { color: #ff0000; }

/* ---------- Invisible ---------- */
.invisible { display: none; }
.disabled_color { color: #cccccc; }

/* ---------- Clear ---------- */
.myClear { clear: both; overflow: hidden; }

/* ---------- Text ---------- */
span.pp_link { text-decoration: underline; color: #4590cb; font-weight: 400; }
.sup { vertical-align: top; font-size: 1rem; }
.plan_txt1 { font-weight: 600; color: #244186; }
.plan_txt2 { font-weight: 600; color: #666666; }

/* ---------- LINK ---------- */
a { text-decoration: none; }

/* ---------- header ---------- */
header {
	top: 0;
	position: fixed;
	top:0;
	width: 100%;
	height: 30px;
	z-index: 50;
	padding-bottom: 3rem;
	background-color: #ffffff;
	border-top: 3px solid #4590cb; }
header#non_fixed { position: inherit; }
div#header_blk {
	position: relative;
	margin: 0 auto;
	width: 100%}
div#header_blk h1 {
	margin-top: 1rem;
	margin-left: 1rem;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 100px;
	height: 35px;
	background-image: url("../image/common/luz_meo_site_logo.png") ;
	background-size: contain;
	background-repeat: no-repeat; }
div#header_blk h1 a {
	display: block;
	width: 100px;
	height: 35px; }
div#header_blk navi { display: none; }

/* ---------- SP Menu ---------- */
.menu_trigger {
	display: inline-block;
	width: 36px;
	height: 28px;
	vertical-align: middle;
	cursor: pointer;
	position: fixed;
	top: 15px;
	right: 30px;
	z-index: 100;
	transform: translateX(0);
	transition: transform .5s; }
.menu_trigger.active { /* transform: translateX(-250px); */ }
.menu_trigger span {
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	transition: transform .3s;
	background-color: #338eff;}
.menu_trigger.active span { background-color: #338eff; }
.menu_trigger span:nth-of-type(1) { top: 0; }
.menu_trigger.active span:nth-of-type(1) { transform: translateY(12px) rotate(-45deg); transition: transform .3s }
.menu_trigger span:nth-of-type(2) { top: 12px; }
.menu_trigger.active span:nth-of-type(2) { opacity: 0; }
.menu_trigger span:nth-of-type(3) { bottom: 0; }
.menu_trigger.active span:nth-of-type(3) { transform: translateY(-12px) rotate(45deg); transition: transform .3s }

ul#spMenuUL {
	list-style: none;
	width: 100%;
	height: 100%;
	padding-top: 100px;
	background-color: rgb(255, 255, 255, 0.9);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
	transform: translate(100%);
	transition: all .5s;}
ul#spMenuUL.open { transform: translateZ(0); }
ul#spMenuUL li {
  text-align: left;
  padding: 1rem 2rem 1rem 4rem; }
ul#spMenuUL li a { text-decoration: none; color: #338eff; }


/* ---------- catch_blk ---------- */
div#catch_blk {
	position: relative;
	display: block;
	margin: 0 auto -1rem;
	width: 100%;
	padding-top: 42%;
	background-image: url("../image/index/luz_meo_top_image.png");
	background-size: contain;
	background-repeat: no-repeat; }
div#catch_blk p {
	position: absolute;
	top: 20px;
	left: 0;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 100%;
	padding-top: 42%;
	background-image: url("../image/index/luz_meo_top_text.png");
	background-size: contain;
	background-repeat: no-repeat; }

/* ---------- featureDIV ---------- */
div#featureDIV { width: 100%; background-color: #ffffff; }
div.featureSec1,
div.featureSec3,
div.featureSec5,
div.faqSec { width: 100%; background-color: #f1f5fd; padding: 2rem 0; }
div.featureSec2,
div.featureSec4,
div.priceSec { width: 100%; background-color: #ffffff; padding: 2rem 0; }
div.faqSec h1,
div.priceSec h1 {
	font-size: 3.5rem;
	color: #199516;
	margin: 0;
	padding: 0;
	display: block;
	margin-top: 5rem;
	position: relative;
	text-align: center; }
div.faqSec h1::before,
div.priceSec h1::before {
	content: attr(data-en) ;
	position: absolute;	
	top: -70%;
	left: 50%;
	transform: translateX(-50%);
	opacity: .2;
	font-size: 6rem; }
div#featureDIV > div > section > h2 {
	display: inline-block;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: .3rem;
	text-align: left;
	margin-left: .5rem;
	margin-bottom: 2rem;
	color: #4590cb; }

section {
	width: 96%;
	text-align: left;
	margin: 2rem auto; }
section div.secDIV {
	background-color: #ffffff;
	display: block;
	padding: 2rem; 
	border-radius: 6px;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.20); }
section p {
	font-size: 2rem;
	line-height: 3rem; }
div.protect_note { color: #ff0000; margin-bottom: 0.8rem; font-size: 1.2rem; }

/* ---------- Compare Service ---------- */
table.compareTable { display: none; } /* for PC */
dl.compareDL {
	margin: 1rem auto 2.5rem;
	background-color: #fdfdfd;
	border: 1px solid #cdcdcd; }
dl.compareDL.topic_MEO { border: 4px solid #bf1e56; }
dl.compareDL dt {
	padding: 0.5rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 400;
	border-bottom: 1px solid #cdcdcd; }
dl.compareDL dt.topic_MEO_dt { color: #bf1e56; }
dl.compareDL dd { text-align: center; }
dl.compareDL dd.compare_ex_dd {
	text-align: left;
	padding: 1rem;
	font-size: 1.5rem; }
dl.compareDL ul { list-style: none; width: 100%; margin-bottom: 1.5rem; }
dl.compareDL ul li {
	display: inline-block;
	padding: 0.2rem 0;
	font-size: 1.3rem;
	width: 30%;
	border-radius: 3px;
	background-color: #dddddd; }
dl.compareDL ul.topic_MEO_UL li { background: #338eff; color: #ffffff; }

/* ---------- Meo Merit ---------- */
ul.meoMeritUL { list-style: none; margin: 0 auto; }
ul.meoMeritUL li {
	display: block;
	width: 100%;
	vertical-align: top;
	background-color: #f2f6fe;
	padding: 1rem;
	border-radius: 6px;
	margin-bottom: 2rem;
/*	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.30); */
	border: 1px solid #d2e0fc; }

dl.meoMeritDL { height: 100%; }
dl.meoMeritDL dt { text-align: center; font-weight: 600; padding: 4px 8px 8px; color: #24417e; height: 6rem; font-size: 2rem;}
dl.meoMeritDL dd { text-align: left; padding: 8px 8px 4px; line-height: 2.3rem; font-size: 1.5rem; color: #333333; } 

/* ---------- Luz MEO Merit ---------- */
ol.feature4_OL { list-style: none; margin: 1rem 0; font-size: 1.7rem; }
ol.feature4_OL > li { text-indent: -1rem; margin-left: 1rem; }
ol.feature4_OL span.markerline { background: linear-gradient(transparent 10%, #ffff00 100%); }
ol.feature4_OL > li:nth-child(2), ol.feature4_OL > li:nth-child(4) { padding-left: 2rem; }
ol.feature4_OL > li:nth-child(4) { text-indent: 0!important; margin-left: 0!important; }
ul.feature4_UL{ list-style: disc; margin-left: 3rem; }
ul.feature4_UL li { font-size: 1.7rem; margin: .5rem 0; }

h2.feature4_h2 {
	position: relative;
	display: inline-block;
	font-size: 2rem;
	color: #199516;
	margin: 4rem auto 6rem;
	text-align: left;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid #a4c520; }
h2.feature4_h2::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	width: 20rem;
	height: 3px;
	background-color: #199516; }
dl.sec4_merit_DL { margin: 1rem auto 3rem; }
dl.sec4_merit_DL dt {font-size: 2rem; font-weight: 400; color: #ef1e56; }
dl.sec4_merit_DL dd { padding: 1rem 0; line-height: 2.5rem; }
ul.sec4_merit_UL { margin-left: 2rem; }
a.googleLinkBtn {
	display: block;
	margin: 1rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #bf1e56 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	transition: .2s;
	background-color: #ffffff;
	color: #000000; }
a.googleLinkBtn::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #1ba466; }
a.googleLinkBtn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #bf1e56;}
a.googleLinkBtn:hover { color:#ffffff; background-color: #bf1e56; }
a.googleLinkBtn:hover::before { background-color: #ffffff; }
a.googleLinkBtn:hover::after{ background-color: #ffffff; }

/* ---------- Price Table ---------- */
div#priceDIV { }
div#priceDIV h2.priceTitle {
	font-size: 3rem;
	text-align: left;
	color: #4590cb; 
	margin: 3rem 0; }
dl.price_table_DL,
dl.option_table_DL {
	width: 100%;
	margin: 1rem auto;
	text-align: left;
	border: none; }
dl.price_table_DL dt,
dl.option_table_DL dt {
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem;
	border-left: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
	border-bottom: 1px dotted #c0c0c0 ;
	background-color: #efefef;
	color: #333333; }
dl.option_table_DL dt { }
dl.price_table_DL dd,
dl.option_table_DL dd {
	color: #333333;
	font-size: 1.7rem;
	text-align: left;
	padding: 1rem 1rem;
	border-right: 1px solid #c0c0c0;
	border-left: 1px solid #c0c0c0; 
	border-bottom: 1px solid #c0c0c0 ; }
dl.option_table_DL dd {  }
dl.price_table_DL dt.citation_dt { }
dl.price_table_DL dt:first-child,
dl.option_table_DL dt:first-child { border-top: 1px solid #c0c0c0; }
dl.price_table_DL dd:nth-child(2),
dl.option_table_DL dd:nth-child(2) { border-top: 1px solid #c0c0c0; }
dl.price_table_DL dd.cp_price {
	color: #bf1e56;
	font-weight: 600; }
dt.no_border, dd.no_border { border-bottom: none!important; }
dl.price_table_DL dd.meo_check_DD { padding: 0!important; border: none!important; width: 100%!important; }

/* ---------- 2025-07-24 ADDED ---------- */
dl.price_table_DL_v2 {
	width: 100%;
	margin: 1rem auto;
	text-align: left;
	border: none; }
dl.price_table_DL_v2 dt {
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem;
	border-left: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
	background-color: #efefef;
	color: #333333; }
dl.price_table_DL_v2 dt:first-child { border-top: 1px solid #c0c0c0; }
dl.price_table_DL_v2 dd {
	color: #333333;
	font-size: 1.7rem;
	text-align: left;
	border-right: 1px solid #c0c0c0;
	border-left: 1px solid #c0c0c0; 
	border-bottom: 1px solid #c0c0c0 ; }
dl.price_table_DL_v2 dd.bt_line { border-top: 1px solid #c0c0c0!important; padding: 1rem 1rem; }
dl.price_table_DL_v2 dd.cp_price {
	color: #bf1e56;
	font-weight: 600; }

dl.plan_table_DL {
	width: 100%;
	text-align: left;
	border: none; }
dl.plan_table_DL dt {
	display: block;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem 2rem;
	border: none!important;
	background-color: #fafafa;
	color: #333333; }
dl.plan_table_DL dd {
	color: #333333;
	font-size: 1.7rem;
	text-align: left;
	border: none!important;
	border-top: 1px dotted #c0c0c0!important;
	border-bottom: 1px solid #c0c0c0!important;
	padding: 0.5rem 2rem; }
dl.plan_table_DL dd.bt_line_2 { border-bottom: none!important; }

span.start_charge_index {
	font-weight: normal;
	color: #000000;
	font-size: 1.5rem;
	display: block; }
span.start_charge_index_2 {
	font-weight: normal;
	color: #333333;
	font-size: 1.2rem;
	display: block; }
h3.option_title_h3 {
	position: relative;
	font-weight: 500;
	padding: .5rem 3rem;
	margin-top: 3rem;
	color: #2589d0; }
h3.option_title_h3::before,
h3.option_title_h3::after {
	display: inline-block;
	position: absolute;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	border: 2px solid #2589d0;
	content: ''; }
h3.option_title_h3::before {
	top: calc(50% - 3px);
	left: 0; }
h3.option_title_h3::after {
	top: calc(50% + 3px);
	left: 5px; }
h3.option_title_h3_b {
	position: relative;
	font-weight: 500;
	padding: .5rem 3rem;
	margin-top: 3rem;
	color: #119f97; }
h3.option_title_h3_b::before,
h3.option_title_h3_b::after {
	display: inline-block;
	position: absolute;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	border: 2px solid #119f97;
	content: ''; }
h3.option_title_h3_b::before {
	top: calc(50% - 3px);
	left: 0; }
h3.option_title_h3_b::after {
	top: calc(50% + 3px);
	left: 5px; }

p.index_sms_note { font-size: 1.5rem; color: #666666; margin-left: 1rem; }
table.index_1 { margin-left: 1rem!important; }
.index_caption { color: #666666; }
img.img_cp_PC { display: none; }
img.img_cp_SP { width: 100%; }

/* ---------- FAQ DL ---------- */
dl.faq_DL { width: 100%; margin: 1rem auto 3rem; }
dl.faq_DL dt {
	background: #4590cb;
	font-weight: 400;
	color: #ffffff;
	font-size: 1.7rem;
	padding: 1rem 1rem; }
dl.faq_DL dt::before {
	content: "Q.";
	margin-right: 1rem;
	font-size: 2rem; }
dl.faq_DL dd {
	position: relative;
	font-size: 1.7rem;
	line-height: 150%;
	padding: 2rem 2rem 2rem 4rem; }
dl.faq_DL dd::before {
	content: "A.";
	position: absolute;
	left: 1rem;
	margin-right: 1rem;
	color: #4590cb;
	font-size: 2rem; }
dl.faq_DL ul.faqUL { list-style: none; margin-left: 1em; }
dl.faq_DL ul.faqUL li { text-indent: -1em; }
dl.faq_DL ul.faqUL2 { list-style: none; }
dl.faq_DL ul.faqUL2 li:first-child { font-weight: 600; color:#4590cb; text-indent: -1rem; }


/* ---------- main ---------- */
main { padding-bottom: 10rem; }
main.index { padding-bottom:4rem; }
/* ---------- progressbar ---------- */
.progressbar {
	margin: 0;
	padding: 0;
	counter-reset: step;
	z-index: 0;
	position: relative; }
.progressbar li {
	list-style-type: none;
	width: 16%;
	float: left;
	font-size: 12px;
	position: relative;
	text-align: center;
	color: #333333; }
.progressbar li:before {
	width: 30px;
	height: 30px;
	content: counter(step);
	counter-increment: step;
	line-height: 30px;
	display: block;
	text-align: center;
	margin: 0 auto 10px auto;
	border-radius: 50%;
	background-color: #cccccc; }
.progressbar li:after {
	width: 100%;
	height: 2px;
	content: '';
	position: absolute;
	background-color: #aaaaaa;
	top: 15px;
	left: -50%;
	z-index: -1; }
.progressbar li:first-child:after { content: none; }
.progressbar li.active { color: #478dc8; }
.progressbar li.active:before { background-color: #478dc8; color:#ffffff; }


/* ---------- Form Area ---------- */
div#formBlk {
	width: 98%;
	margin: 1rem auto;
	border: 1px solid #cccccc;
	border-radius: 6px;
	padding-top: 2rem;
	padding-bottom: 3rem;
	text-align: left; }
h1.formH1 {
	margin-left: 1rem;
	display: inline-block;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: .3rem;
	text-align: left;
	position: relative;
	padding-right: 220px;
	color: #666666; }
h1.formH1::before {
	content: "";
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 200px;
	height: 1px;
	background-color: #666666;
	right: 0;}
strong.require {
	font-size: 1.2rem;
	font-weight: normal;
	margin-left: 5px;
	margin-right: 5px;
	background-color: #dc143c;
	color: #ffffff;
	border-radius: 8px;
	padding: 2px 8px; }
span.note_txt { color: #999999; }
span.email_warning { display: block; margin-left: 1rem; color: #e83658; }
span.form_warning { display: block; margin-left: 1rem; color: #999999; }
span.gbp_warning { display: block; margin-left: 1rem; color: #000000; }
div.ETStartMessage { margin: 0 1rem; font-size: 1.7rem;  }
div.ETStartMessage > ul { margin-left: 1.5rem; }
span.markLine { background: linear-gradient(transparent 50%, #ffff00 50%); padding-bottom: 0.1rem; }
a.how2check_gmail { padding-bottom: 3px; border-bottom: 2px solid #338eff; color: #338eff; }

/* ---------- DL Style ---------- */
dl.entryDL { text-align: left; margin: 2rem 1rem 0; }
dl.entryDL > dt {
	font-weight: 600;
	margin-top: 1rem;
	padding: 0 0 0 0.5rem;
	vertical-align: middle; }
dl.entryDL > dt.ETStartDT, dl.confirmDL > dt.ETStartDT, dl.ruleDL > dt.ETStartDT { font-size: 2rem; padding-bottom: 1rem; color: #000000; }
dl.entryDL > dd { padding: 0; vertical-align: middle; }
dl.addressDL {
	width: 100%;
	margin:0  auto;
	text-align: left; }
dl.addressDL dt {
	display: inline-block;
	padding-left: 0.5rem;
	width: 100%; }
dl.addressDL dd {
	display: inline-block;
	padding: 0;
	width: 100%; }
dl.termDL {
	border: 1px solid #cbcbcb;
	border-bottom: none;
	text-align: left; }
/* ---------- Opening Hours DL ---------- */
dl.termDL_top { margin-top: 1rem; background-color: #f0f0f0; }
dl.termDL_odd { background-color: #f0f0f0; }
dl.termDL_bottom { border-bottom: 1px solid #cbcbcb; background-color: #f0f0f0; }
dl.termDL dt {
	border-bottom: 1px solid #cbcbcb;
	text-align: left`;
	padding: 4px 8px; }
dl.termDL dd {
	display: block;
	padding: 0 ; }
/* ---------- Confirm DL ---------- */
dl.confirmDL { text-align: left; margin: 2rem 1rem;  }
dl.confirmDL > dt {
	font-size: 2rem;
	color: #666666;
	font-weight: 600;
	margin-top: 1rem;
	padding: 0 0 0 0.5rem;
	vertical-align: middle; }
dl.confirmDL > dd  {
	margin-top: 1rem;
	padding: 8px 16px;
	line-height: 2.7rem;
	border: 1px solid #e5e5e5;
	border-radius: 3px;
	font-size: 2rem;
	background-color: #fafafc; }
dl.confirm_TermDL {
	border-bottom: 1px solid #aaaaaa;
	width: 100%;
	margin:0  auto;
	display: flex;
	flex-wrap: wrap;
	text-align: left; }
dl.confirm_TermDL dt {
	display: inline-block;
	padding: 10px 8px;
	width: 10%; }
dl.confirm_TermDL dd {
	display: inline-block;
	padding: 10px 8px;
	width: 90%; }
dl.confirm_TermDL_bottom { border-bottom: none; }
/* ---------- ruleDL ---------- */
dl.ruleDL { text-align: left; margin-left: 4rem; margin-top: 2rem; margin-right: 4rem; }
dl.ruleDL > dt {
	font-weight: 600;
	margin-top: 1rem;
	padding: 0 0 0 0.5rem;
	vertical-align: middle; }
dl.ruleDL dd.terms_link_dd { padding: 1rem;  }
dl.ruleDL dd.terms_link_dd a { text-decoration: none; color: #4590cb; font-weight: 400; }
dl.ruleDL dd.terms_link_dd a:hover { text-decoration: underline; }
textarea.FormWarningFrame { width: 98%; height: 14rem; background-color: #ffffff; font-size: 1.5rem; padding: 0.5em; margin-bottom: 1rem; }
img.icon_window { width: 19px; height: 15px; margin-left: 5px; }

/* ---------- ServiceDL ---------- */
dl.service_DL {
	width: 100%;
	margin: 1rem auto;
	text-align: left;
	border-top: 1px solid #c0c0c0;
	border-bottom: 1px solid #c0c0c0; }
dl.service_DL dt {
	vertical-align: top;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem 2rem;
	border-left: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
	border-bottom: 1px dotted #c0c0c0 ;
	background-color: #efefef;
	color: #333333; }
dl.service_DL dd {
	display: block;
	color: #333333;
	font-size: 1.7rem;
	padding: 1rem 1rem;
	border-left: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
	border-bottom: 1px dotted #c0c0c0 ; }
dl.service_DL dd.cp_price {
	color: #e83658;
	font-weight: 600;
	font-size: 1.7rem; }
dl.service_DL span.sec_price { color: #333333!important; font-weight: normal!important; }

dl.service_DL dd.meo_check_DD { padding: 0!important; border: none!important; }
h2.cp_title {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 3rem;
	color: #e83658;
	margin: 0;
	padding: 0;
	display: block;
	margin-top: 4rem;
	margin-bottom: 2rem;
	position: relative;
	text-align: center; }
h2.cp_title::before {
	font-family: Georgia, "Times New Roman", Times, "serif";
	content: attr(data-en) ;
	position: absolute;	
	top: -70%;
	left: 50%;
	transform: translateX(-50%);
	opacity: .1;
	font-size: 5rem;}
h2.cp_title2 {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 2.5rem;
	color: #438dca;
	margin: 0;
	padding: 1rem 0;
	border-top: 3px solid #438dca;
	border-bottom: 3px solid #438dca;
	display: block;
	margin: 2rem auto;
	text-align: center; }

p.cp_p { width: 99%; margin: 0 auto; font-size: 2rem; text-align: center;}
span.deny_price { font-size: 1.5rem; color: #999999; text-decoration: line-through; font-weight: normal; }
dd.imgBaseDD { position: relative; }
img.imgCpTopics {
	position: absolute;
	width: 150px;
	right: 0rem;
	top: 6rem;
	z-index: 10; }
span.start_charge {
	font-weight: normal;
	color: #000000;
	font-size: 1.2rem;
	display: block; 
	margin-left: 2rem; }
span.start_charge_2 {
	font-weight: normal;
	color: #000000;
	font-size: 1.2rem;
	display: inline-block; }

/* ---------- Alert DL ---------- */
dd.sms_notice_DD { padding: 0 1rem!important; }
.normal_cursor { cursor: default!important; }
dl.alert_DL { text-align: left; margin: 1rem 0; }
dl.alert_DL dt { color: #333333; font-size: 1.8rem; position: relative; padding-left: 1.2rem; }
dl.alert_DL dt::before {
	content: "■";
	color: #cccccc;
	font-size: 1.5rem;
	top: 3px;
	left: -0.5rem;
	position: absolute;  }
dl.alert_DL dd { color: #666666; }
dl.alert_DL dd > ul > li {
	margin: 0.5rem 1rem;
	text-indent: -1rem;
	list-style: none; }
dl.alert_DL dd > ul > li::before { content: "※" ;}
dd.sms_note_DD  {
	margin-top: 1rem;
	padding: 8px 16px!important;
	line-height: 2.7rem;
	border: 1px solid #e5e5e5;
	border-radius: 3px;
	font-size: 2rem;
	background-color: #fafafc; }
table.sms_price_table {
	border-collapse: collapse;
	width: 100%;
	margin: 1rem 0;
	border: 1px solid #c0c0c0;
	text-align: left; }
table.sms_price_table caption { text-align: left; padding-bottom: 0.5rem; }
table.sms_price_table th {
	text-align: center;
	border: 1px solid #c0c0c0;
	padding: 0.5rem;
	background-color: #efefef;
	color: #333333; }
table.sms_price_table th:first-child { width: 60%; }
table.sms_price_table th:last-child { width: 40%; }
table.sms_price_table td {
	border: 1px solid #c0c0c0;
	padding: 0.5rem; }
table.sms_price_table td:first-child { }
table.sms_price_table td:last-child { text-align: center; }

/* ---------- rewrite link ---------- */
div.confirmBack { display: block;  text-align: right; margin: 1.5rem 1rem 3rem 0; }
div.confirmBack a { text-decoration: none; color: #4590cb; }
div.confirmBack a:hover { text-decoration: underline; }

/* ---------- UL Style ---------- */
ul.ul_4column, ul.ul_3column, ul.ul_2column, ul.ul_column { list-style: none; margin: 0; padding: 0; }
ul.ul_4column li { display: block; }
ul.ul_3column li { display: block; }
ul.ul_2column li { display: block; }
ul.ul_sp_half li { width: 49%!important; display: inline-block!important; }
li.name_li { padding-left: 1rem; }
ul.ul_column_term { list-style: none; margin: 0; padding: 0; width: 100%; }
ul.ul_column_term_base { list-style: none; margin: 0; margin-left: 1rem; padding: 0; width: 100%; }
ul.ul_column_term_base span.li_term_base { display: inline-block; position: relative; }
ul.ul_column_term li { margin: 0; display: inline-block; }
ul.ul_column_term li.day_off_li { display: block; border-bottom: 1px dotted #cbcbcb; }
ul.ul_column_term li.term_li { vertical-align: 1.8rem; padding: 0 2rem; border-bottom: 1px dotted #cbcbcb; display: block; }
ul.ul_column_term li.last_order_li { display: block; }
li.service_li { width: 100%; display: block!important; }
li.service_reset { display: block!important; }
span.lo_select { display: inline-block; vertical-align: 1.8rem; }
span.date_dt { }
span.disabledTXT { color: #c0c0c0; }
span.disabledTXT:hover { cursor: default; }
li.citation_alert { font-size: 1.7rem; padding-left: 1rem;}
span.citation_fee_note { font-size: 1.2rem; }

/* ---------- Confirm UL ---------- */
ul.confirmUL { list-style: none; margin: 0; padding: 0; }
ul.confirmUL li { margin: 0.5rem 0; }
li.confirm_service_TTL { display: block; font-size: 2.3rem; color: #666666; padding-top: 1rem; text-indent: -1rem; }

/* ---------- Input Form ---------- */
.wd_1 { width: 95%; }
.wd_1b { width: 95%; height: 10rem; }
.wd_2 { width: 30%; }
.wd_3 { width: 50%; }
.wd_4 { width: 27%; }
.wd_4d { width: 20%; }
.wd_5 { width: 80%; }
.wd_sp_full { width: 95%!important; }
.sample_entry_txt { display: block; margin-left: 2rem; color: #666666; }

input, textarea, select {
	border-radius: 3px;
	border: 1px solid #cccccc;
	background-color: #fafafc;
	margin: 5px;
	padding: 10px 8px;
	font-size: 1.6rem;
	-webkit-appearance: none; }
::placeholder { color: #a0a0a0; line-height: 130%; }
input:focus::placeholder, textarea:focus::placeholder { color: transparent!important; }
/* ---------- radio / check box ---------- */
/* ---------- radioボタン、checkボタン非表示 ---------- */
input[type="radio"],input[type="checkbox"] { display: none; }
/* ---------- Radio Button ---------- */
label.btn_label {
	display: block;
	text-align: left;
	margin: 5px;
	border: 3px solid #e5e5e5;
	border-radius: 3px;
 	cursor: pointer;
	position: relative;
	overflow: hidden;
	padding: 8px 8px 8px 2.5em;
	background-color: #fafafc; }
label.btn_label:hover { border-color: #478dc8; }
label.btn_label:before {
	position: absolute;
	top: 12px;
	left: 1em;
	width: 10px;
	height: 10px;
	content: '';
	border: 0.2em solid #cccccc;
	border-radius: 50%; }
input[type="radio"]:checked + label.btn_label { border: 3px solid #478dc8; background-color: #ffffff; }
input[type="radio"]:checked + label.btn_label:before { border: 0.2em solid #478dc8; }
label.lang_op { }
label.lang_op_disable { color: #a0a0a0; cursor: default; }
label.lang_op_disable:hover { border-color: #e5e5e5; }

/* ---------- Check Box ---------- */
label.check_label {
	display: block;
	text-align: left;
	margin: 5px;
	border: 3px solid #e5e5e5;
	border-radius: 3px;
 	cursor: pointer;
	position: relative;
	overflow: hidden;
	padding: 8px 8px 8px 2.5em;
	background-color: #fafafc; }
label.check_label:hover { border-color: #478dc8; }
label.check_label:before {
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 14px;
	height: 14px;
	content: '';
	border: 3px solid #cccccc;
	background-color: #fafafc;
	transition: 0.1s ease-in-out; }
input[type="checkbox"]:checked + label.check_label { border: 3px solid #478dc8; background-color: #ffffff; }
input[type="checkbox"]:checked + label.check_label:before {
	transform: rotate(45deg);
	border-color: #478dc8;
	border-top: none;
	border-left: none;
	width: 7px;
	top: 10px;
	left: 14px;
	background-color: transparent; }
/* ---------- Check Label for MEO Service ---------- */
label.check_label_meo {
	display: block;
	text-align: left;
	border: 1px solid #c0c0c0;
 	cursor: pointer;
	position: relative;
	overflow: hidden;
	padding: 8px 8px 8px 2.5em;
	background-color: #fafafc; }
label.check_label_meo:hover { border-color: #478dc8; }
label.check_label_meo:before {
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 14px;
	height: 14px;
	content: '';
	border: 3px solid #cccccc;
	background-color: #fafafc;
	transition: 0.1s ease-in-out; }
input[type="checkbox"]:checked + label.check_label_meo { border: 3px solid #478dc8; background-color: #ffffff; }
input[type="checkbox"]:checked + label.check_label_meo:before {
	transform: rotate(45deg);
	border-color: #478dc8;
	border-top: none;
	border-left: none;
	width: 7px;
	top: 10px;
	left: 14px;
	background-color: transparent; }

/* ---------- Check Box [check_term_label] ---------- */
label.check_term_label {
	display: inline-block;
	text-align: left;
 	cursor: pointer;
	position: relative;
	overflow: hidden;
	padding: 8px 8px 8px 2.5em; }
label.check_term_label:hover { border-color: #478dc8; }
label.check_term_label:before {
	display: block;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 14px;
	height: 14px;
	content: '';
	border: 3px solid #cccccc;
	background-color: #fafafc;
	transition: 0.1s ease-in-out; }
input[type="checkbox"]:checked + label.check_term_label { }
input[type="checkbox"]:checked + label.check_term_label:before {
	transform: rotate(45deg);
	border-color: #478dc8;
	border-top: none;
	border-left: none;
	width: 7px;
	top: 10px;
	left: 14px;
	background-color: transparent; }

/* ---------- Address Auto Input ---------- */
input.supportBtn {
	cursor: pointer;
	font-size: 80%;
	color: #000000;
	padding: 6px 18px;
	border-radius: 3px;
	-webkit-appearance: none;
	background-color: #cdcdcd; }
input.supportBtn:hover { border-color: #dedede; background-color: #dedede; }

/* ---------- Submit Button ---------- */
input[type="button"].disBtn {
	border:none;
	width: 100%;
	margin: 0 auto;
	background-color: #ffffff; }
input[type="button"].disBtn:hover { background-color: #478dc8; color: #ffffff; cursor: pointer;	transition: .2s; }
div.submitBtn {
	display: block;
	margin: 3rem 1rem;
	text-align: center;
	border:1px solid #478dc8 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	transition: .2s;
	background-color: #ffffff;
	color: #000000; }
div.submitBtn::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #1ba466; }
div.submitBtn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #478dc8;}
div.submitBtn:hover { color:#ffffff; background-color: #478dc8; }
div.submitBtn:hover::before { background-color: #ffffff; }
div.submitBtn:hover::after{ background-color: #ffffff; }

/* ---------- Entry Start Button ---------- */
input[type="button"].disBtn4ET {
	border:none;
	width: 100%;
	margin: 0 auto;
	background-color: #ffffff; }
input[type="button"].disBtn4ET_Over { background-color: #478dc8; color: #ffffff; cursor: pointer; }
div.ETStartBtn { background-color: #478dc8!important; }
div.submitBtn4ET {
	display: block;
	margin: 3rem 1rem;
	text-align: center;
	border:1px solid #478dc8 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	background-color: #478dc8!important;
	color: #ffffff; }
div.submitBtn4ET::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #ffffff; }
div.submitBtn4ET::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #ffffff;}
div.cancelBtn4ET {
	display: block;
	margin: 3rem 1rem;
	text-align: center;
	border:1px solid #c0c0c0 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	background-color: #478dc8;
	color: #ffffff; }

/* ---------- Error Message ---------- */
span.emes {
	font-size: 1.5rem!important;
	display: inline-block;
	position: relative;
	padding: 4px 16px;
	background: #cb74a9;
	color: #ffffff;
	text-align: left;
		/* border */
	border-radius: 3px;
	left: 0.5rem;
	margin-top: 1rem;
 	margin-bottom: 1rem;}
span.emes:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
/*	border-color: rgba(24, 44, 117, 0); */
	border-color: rgba(203, 116, 169, 0);
	border-top-color: #cb74a9;
	border-width: 10px;
	margin-left: -10px;
	margin-bottom: 2em; }

/* ---------- Prev Form ---------- */
div.prev_page { text-align: center; margin-bottom: 5rem; }
div.prev_page a.prev_link {
	display: block;
	margin: 0 auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 30%;
	border:1px solid #c0c0c0 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	transition: .2s;
	background-color: #ffffff;
	color: #000000; }

div.prev_page a.prev_link::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	left: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(135deg);
	width: 10px;
	height: 1px;
	background: #c0c0c0; }
div.prev_page a.prev_link::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #c0c0c0;}
div.prev_page a.prev_link:hover { color:#ffffff; background-color: #c0c0c0; }
div.prev_page a.prev_link:hover::before { background-color: #ffffff; }
div.prev_page a.prev_link:hover::after{ background-color: #ffffff; }

/* ---------- Thanx Page ---------- */
div.thanx_message { width: 70%; margin: 5rem auto; padding-top: 1em; }
div.pos_manual_link { text-align: center; margin: 5rem auto 0; }
div.pos_manual_link a {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 50px;
	color: #b43c88;
	font-size: 1.7rem;
	font-weight: 400;
	text-decoration: none;
	transition: 0.3s;
	background-color: #ffffff;
	border: 1px solid #b43c88; }
div.pos_manual_link a::after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #b43c88 transparent;}
div.pos_manual_link a:hover {
	color: #ffffff;
	background-color: #b43c88;
	border: 1px solid #b43c88; }
div.pos_manual_link a:hover::after { border-color: transparent transparent #ffffff transparent; }

/* ---------- Scroll Finish Check Box ---------- */
div.scroll_box_pp, div.scroll_box_term {
	height: 30rem;
	overflow: auto;
	background-color: #fefefe;
	border: 1px solid #bbbbbb;
	padding: 1rem 2rem;
	margin: 0 0 20px; }

/* ---------- Check Box (Terms Approval) ---------- */
label.customCheckbox, label.customCheckbox_term {
	display: block;
	text-align: left;
	margin: 5px;
	color: #dddddd;
	position: relative;
	overflow: hidden;
	padding: 0 0 0 3rem; }
label.customCheckbox:hover, label.customCheckbox_term:hover,{ }
label.customCheckbox:before, label.customCheckbox_term:before {
	display: block;
	position: absolute;
	top: 3px;
	left: 10px;
	width: 14px;
	height: 14px;
	content: '';
	border: 2px solid #dddddd;
	background-color: #fafafc;
	transition: 0.1s ease-in-out; }
input[type="checkbox"]:checked + label.customCheckbox, input[type="checkbox"]:checked + label.customCheckbox_term { color: #000000; }
input[type="checkbox"]:checked + label.customCheckbox:before, input[type="checkbox"]:checked + label.customCheckbox_term:before {
	transform: rotate(45deg);
	border-color: #478dc8;
	border-top: none;
	border-left: none;
	width: 7px;
	top: 3px;
	left: 14px;
	background-color: transparent; }
label.onOver { cursor: pointer; color: #000000; }

/* ---------- Web Terms ---------- */
div#web_terms { }
div#web_terms dl.web_terms_DL { margin: 3rem 0 0 0; }
div#web_terms dl.web_terms_DL dt { font-weight: 600; }
div#web_terms dl.web_terms_DL dd { color: #333333; }
div#web_terms ol.web_terms_OL { margin-left: 2rem; }
div#web_terms ol.web_terms_next_OL { list-style: none ; margin-left: 1rem; }

div#web_terms ol.web_terms_alpha_OL { list-style: lower-latin; }
div#web_terms ol.web_terms_alpha_OL li { padding-left: 1rem; }
div#web_terms ol.trio { margin-left: 2rem!important; }
div#web_terms ol.quartet { margin-left: 3rem!important; }
div#web_terms ol.web_terms_next_OL li { text-indent: -1rem; }
div#web_terms p.web_terms_iyaku_P { padding-left: 2rem; }
div#web_terms ul.web_term_UL { list-style: disc; margin-left: 3rem; }

/* ---------- spFix ---------- */
div#spFix {
	display: inline-block;
	background-color: #efefef;
	width: 100%;
	position: fixed;
	bottom: -10rem;
	z-index: 20; }

/* ---------- Card Paygent ----------*/
p.paygent_P {
	width: 80%;
	text-align: left;
	margin: 8rem auto; }
h1.card_mail_h1 {
	position: relative;
	border-bottom: 3px solid #ddd;
	padding: 10px 0;
	font-size: 2rem;
	color: #666666;
	margin: 1rem 3rem 2rem; }
h1.card_mail_h1:before {
	position: absolute;
	left:0 ;
	bottom: -3px;
	width: 30%;
	height: 3px;
	content: '';
	background-color: #999999; }

/* ---------- footer ---------- */
footer { background-color: #ffffff; padding: 0; }
div#footer_blk { display: none; }
img.open_new_win_ico { margin-left: .5rem; width: 19px; }

div#sp_footer_blk {
	position: fixed;
	width: 100%;
	bottom: 0;
	background-color: #ffffff;
	z-index: 30; }
div#sp_footer_blk ul { list-style: none; width: 100%; }
div#sp_footer_blk ul li {
	display: inline-block;
	width: 50%;
	text-align: center;
	padding: 1rem 0;
	font-size: 1.7rem;
	letter-spacing: .5rem;
	font-weight: 400; }
div#sp_footer_blk ul li a { color: #000000; }
div#sp_footer_blk img.img_sp_footer_ico { width: 16px; height: 16px; margin-right: 4px; }

/* ---------- SubPage ---------- */
div#subpageDIV { width: 100%; background-color: #ffffff; padding-bottom: 15rem; }
div#subpageDIV h2 {
	position: relative;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 2rem;
	margin-bottom: 5rem;
	color: #4590cb;
	font-size: 2.7rem; }
div#subpageDIV h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-image: repeating-linear-gradient(45deg, #b4a983 0px, #4590cb 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%);
	background-size: 8px 8px; }
dl.infoDL {
	width: 100%;
	font-size: 1.7rem;
	text-align: left;
	border: 1px solid #c0c0c0;
	margin: 0 auto; }
dl.infoDL dt {
	vertical-align: top;
	display: block;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem;
	border-bottom: 1px dotted #c0c0c0 ;
	background-color: #efefef;
	color: #666666; }
dl.infoDL dd {
	display: block;
	font-size: 1.7rem;
	padding: 1rem 1.5rem;
	border-bottom: 1px dotted #c0c0c0 ;}
span.inv_no_txt { line-height: 2.5rem; }
span.reception_txt { font-size: 1.2rem; }
dl.infoDL ul { margin-left: 1.5rem; }

/* ---------- Contact ------------------------------------------------------------ */
input[type="radio"].contact_radio {
	display: inline-block;
	position: relative;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid #aaaaaa;
	border-radius: 50%;
	vertical-align: -1rem;
	margin-right: .8rem;
	-webkit-appearance: none; }
input[type="radio"].contact_radio:hover { cursor: pointer; }
input[type="radio"].contact_radio:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 50%;
	background: #000000;
	content: ''; }
label:hover { cursor: pointer; }

strong.require_contact {
	display: inline-block;
	font-weight: normal;
	font-size: 1.2rem;
	margin-left: 1rem;
	background-color: #d0193f;
	color: #ffffff;
	padding: 0.2rem 1rem;
	border-radius: 10px; }

/* ---------- Contact Form Width ---------- */
.fw01 { width: 90%; }
.fw02 { width: 30%; }
.fw03 { width: 70%; }
.fw04 { width: 60%; }
.tw01 { width: 90%; height: 5em; }

div.error_message_contact {
	text-align: left;
	padding: 1em;
	margin-bottom: 2em!important;
	background-color: #dc143c;
	color: #ffffff; }
div.pre_message_contact {
	text-align: left;
	padding: 1em;
	margin-bottom: 2em!important; }

textarea.person_info_ {
	width: 95%;
	height: 20rem;
	background-color: #ffffff;
	line-height: 2.5rem;
	font-size: 1.5rem;
	padding: 1rem; }

dl.contactDL {
	width: 100%;
	margin: 1rem auto;
	text-align: left;
	border: 1px solid #c0c0c0; }
dl.contactDL dt {
	display: block;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem;
	border-bottom: 1px dotted #c0c0c0 ;
	background-color: #eefdff;
	color: #4590cb; }
dl.contactDL dd {
	display: block;
	font-size: 1.7rem;
	padding: 1rem;
	border-bottom: 1px dotted #c0c0c0 ;}
dl.contactDL dd.checkDD {
	font-size: 2rem;
	padding: 1.5rem 2rem; }
ul.choiceUL { list-style: none; }
ul.choiceUL li { margin-bottom: 0.5rem; }
ul.choiceUL li:last-child { margin-bottom: 0; }

p.thanxP {
	width: 100%;
	margin: 10rem auto;
	font-size: 2rem; }
a.subContactLink {
	display: block;
	margin: 3rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #bf1e56 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	transition: .2s;
	background-color: #ffffff;
	color: #000000; }
a.subContactLink::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #bf1e56; }
a.subContactLink::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #b43c88;}
a.subContactLink:hover { color:#ffffff; background-color: #bf1e56; }
a.subContactLink:hover::before { background-color: #ffffff; }
a.subContactLink:hover::after{ background-color: #ffffff; }

/* ---------- Contact Submit Button ---------- */
input[type="button"].submitContactBtn,
input[type="submit"].submitContactBtn {
	display: block;
	margin: 5rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #bf1e56 ;
	text-decoration: none;
	font-weight: 400;
	font-size: 2rem;
	position: relative;
	background-color: #ffffff;
	color: #000000; }
input[type="button"].submitContactBtn:hover,
input[type="submit"].submitContactBtn:hover { color:#ffffff; background-color: #bf1e56; cursor: pointer; }
input[type="button"].submitNGBtn {
	display: block;
	margin: 5rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #cccccc ;
	text-decoration: none;
	font-weight: 400;
	font-size: 2rem;
	background-color: #dddddd;
	color: #666666; }
	/* Contact Personal Info */
dl.contactPersonalInfoDL {
	width: 100%;
	margin:5rem  auto;
	text-align: left; }
dl.contactPersonalInfoDL dt { padding-bottom: 2rem; }
dl.contactPersonalInfoDL dd { }
dl.contactPersonalInfoDL h3.personalInfoH3 {
	position: relative;
	font-size: 2.5rem;
	text-align: center;
	border-bottom: 5px solid #dddddd; }
dl.contactPersonalInfoDL h3.personalInfoH3::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 12em;
	height: 5px;
	background-color: #4590cb; }
ul.submitUL { list-style: none; width: 100%; }	
ul.submitUL li { text-align: center; }
a.correctLnk { text-decoration: none; color: #b43c88; }
a.correctLnk:hover { text-decoration: underline; }

ul.check_note_UL ul { }
ul.check_note_UL li {
	list-style: none;
	text-indent: -1rem;
	margin-left: 2rem;
	color: #e83658; }

/* ---------- 2025-06-25 ADDED ---------- */
div.check_gmail_pre { width: 100%; margin: 2em auto; }
span.check_gmail_bold { font-weight: 600; color: #338eff; }
img.check_gmail_image {
	display: block;
	border: 1px solid #cccccc;
	border-radius: 10px;
	width: 100%;
	margin: 2rem auto; }
div.check_gmail_pre dl { width: 100%; margin-top: 3rem; }
div.check_gmail_pre dl dt { font-weight: 600; padding-bottom: 8px; }
div.check_gmail_pre dl dd {
	text-align: center;
	border: 1px solid #cccccc;
	padding: 8px 0;
	border-radius: 10px; }
div.check_gmail_pre dl dd img { width: 100%; }
div.check_gmail_pre dl dd img.smallPict { width: 50%; }

/* ---------- 2025-06-27 ADDED ---------- */
h2.feature_h2 { }
ul.feature_ul, ul.feature_ul_2 {
	width: 100%;
	list-style: none; }
ul.feature_ul li {
	letter-spacing: 0.01rem;
	display: inline-block;
	vertical-align: middle;
	width: 47%;
	height: 17rem;
	background-color: #4590cb;
	padding: 1.6rem 0.5rem;
	border-radius: 10px;
	margin-bottom: 2rem;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.10); }
ul.feature_ul_2 li {
	letter-spacing: 0.01rem;
	display: inline-block;
	vertical-align: middle;
	width: 47%;
	height: 17rem;
	background-color: #119f97;
	padding: 1.6rem 0.5rem;
	border-radius: 10px;
	margin-bottom: 2rem;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.10); }
ul.feature_ul li:nth-child(odd),
ul.feature_ul_2 li:nth-child(odd) { margin-right: 1.1rem; }
ul.feature_ul li dl,
ul.feature_ul_2 li dl { height: 80%; }
ul.feature_ul li dl dt,
ul.feature_ul_2 li dl dt {
	text-align: center; }
ul.feature_ul li dl dd,
ul.feature_ul_2 li dl dd {
	vertical-align: middle;
	text-align: center;
	color: #ffffff; }
ul.feature_ul li dl dd p,
ul.feature_ul_2 li dl dd p {
	font-size: 1.6rem;
	margin: 1rem auto;
	line-height: 140%;
	vertical-align: middle;
	display: block;  }
ul.feature_ul li.none_li,
ul.feature_ul_2 li.none_li { display: none; }
p.small_TXT { font-size: 1.3rem!important; }

.op_apeal_1, .op_apeal_2 {
	margin-top: 2rem;
	margin-bottom: 3rem;
	position: relative;
	text-align: center;
	padding: 0.25em; }
.op_apeal_1:before,.op_apeal_1:after,
.op_apeal_2:before,.op_apeal_2:after { 
	content:'';
	width: 20px;
	height: 30px;
	position: absolute;
	display: inline-block; }
.op_apeal_1:before {
	border-left: solid 1px #5767bf;
	border-top: solid 1px #5767bf;
	top:0;
	left: 0; }
.op_apeal_1:after {
	border-right: solid 1px #5767bf;
	border-bottom: solid 1px #5767bf;
	bottom:0;
	right: 0; }
.op_apeal_2:before {
	border-left: solid 1px #119f97;
	border-top: solid 1px #119f97;
	top:0;
	left: 0; }
.op_apeal_2:after {
	border-right: solid 1px #119f97;
	border-bottom: solid 1px #119f97;
	bottom:0;
	right: 0; }
.op_apeal_1 p { margin: 0; padding: 0; font-size: 1.7rem; color: #5767bf;}
.op_apeal_2 p { margin: 0; padding: 0; font-size: 1.7rem; color: #119f97;}

/* ---------- 2025-07-31 ADDED ---------- */
div.plan_note { text-align: left; }
div.protect_plan {
	width: 100%;
	margin: 1rem auto;
	border: 1px solid #cecece;
	border-radius: 6px;
	padding: 1rem 1.5rem;
	font-size: 1.5rem;
	color: #666666; }
div.protect_plan h3 { font-weight: 600; color: #666666; }