@font-face {
	font-family: "Montserrat";
	font-weight: 400;
	font-display: swap;
	src: url("../../webfonts/Montserrat-Regular.ttf") format("TrueType");
}
@font-face {
	font-family: "Montserrat";
	font-weight: 600;
	font-display: swap;
	src: url("../../webfonts/Montserrat-Bold.ttf") format("TrueType");
}
@font-face {
	font-family: "Noto Sans JP";
	font-weight: 400;
	font-display: swap;
	src: url("../../webfonts/NotoSansJP-Regular.ttf") format("TrueType");
}
@font-face {
	font-family: "Noto Sans JP";
	font-weight: 600;
	font-display: swap;
	src: url("../../webfonts/NotoSansJP-Bold.ttf") format("TrueType");
}
@font-face {
	font-family: "Outfit";
	font-weight: 400;
	font-display: swap;
	src: url("../../webfonts/Outfit-Regular.ttf") format("TrueType");
}
@font-face {
	font-family: "Outfit";
	font-weight: 600;
	font-display: swap;
	src: url("../../webfonts/Outfit-Bold.ttf") format("TrueType");
}
@font-face {
	font-family: "Poppins";
	font-weight: 400;
	font-display: swap;
	src: url("../../webfonts/Poppins-Regular.ttf") format("TrueType");
	unicode-range: U+0030-0039;
}
@font-face {
	font-family: "Poppins";
	font-weight: 600;
	font-display: swap;
	src: url("../../webfonts/Poppins-Bold.ttf") format("TrueType");
	unicode-range: U+0030-0039;
}

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

* {
	box-sizing: border-box;
}

.alignmiddle {
	vertical-align:middle !important;
}

.pc{
	display: none;
}

.txt_bold{
	font-weight: bold;
}

/* html
-------------------------------------------------- */
html {
	font-size: 62.5%;
}

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

a:link {
	color: #0066cc;
}

a:hover {
	color: #0066cc;
}

a:active {
	color: #0066cc;
}

a:visited {
	color: #0066cc;
}

a:focus {
	color: #0066cc;
}

.linkUnderline {
	text-decoration: underline;
}

/* body
-------------------------------------------------- */
body {
	line-height: 1.5;
	color: #333333;
	font-family: "Poppins", "Outfit", "Noto Sans JP", "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
	background: #ffffff;
}

body.active{
	overflow: hidden;
}

img {
	vertical-align: bottom;
	line-height: 1;
	font-size: 1px;
}

#wrapperArea {
	margin: 0 auto;
	width: 100%;
	background: #ffffff;
	padding-top: 51px;
}

.image {
	text-align: center;
	margin-bottom: 10px;
}

.image img {
	max-width: 100%;
	height: auto;
}

.imageType1 {
	z-index: 1;
	position: relative;
}

.imageBordered {
	border: 1px solid #cccccc;
	padding: 10px!important;
	text-align: center;
}

.imageBordered img {
	margin-bottom: 10px;
}

.imageBordered p {
	color: #000000;
	font-size: 10px;
	margin-bottom: 0;
}

/* contentArea
-------------------------------------------------- */
.contentArea, .contentAreaType1 {
	margin: 0 auto;
	padding: 0 10px;
	width: 100%;
}

.contentArea:after, .contentAreaType1:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

.contentAreaType1 {
	padding: 10px;
}

/* header
-------------------------------------------------- */
#header {
	padding: 10px 0 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9;
	border-bottom: 1px solid #cccccc;
}

#header:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

#header .logo {
	margin-bottom: 10px;
	width: 112px;
	float: left;
}

#header .siteName {
	margin-bottom: 0;
	vertical-align: top;
}

#header .siteName img {
	width: 112px;
	height: 30px;
	vertical-align: top;
}

#header .selectLanguage {
	float: right;
}

#header .headerBtnBlock {
	display: none;
}

#header .headerCustomerBlock {
	margin: 0 -10px;
	padding: 5px 10px;
	border-top: 1px solid #cccccc;
	background: #eeeeee;
	clear: both;
}

#header .headerCustomerBlock .headerCustomer {
	margin-bottom: 0;
	padding: 3px 0;
	width: 190px;
	font-size: 12px;
	font-size: 1.2rem;
	float: left;
}

#header .headerCustomerBlock .headerCustomerName {
	font-weight: bold;
}

#header .headerLogoutBtn {
	margin: 0 0 0 auto;
	width: 105px;
}

/* globalNav
-------------------------------------------------- */
#globalNav {
	display: none;
	background: #eeeeee;
	border-top: 1px solid #cccccc;
}

#globalNav ul {
	margin-bottom: 0;
}

#globalNav li {
	display: table-cell;
	width: 200px;
	text-align: center;
	vertical-align: middle;
	list-style: none;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
}

#globalNav a {
	padding: 1.3em 0;
	color: #000000;
	display: block;
}

#globalNav a span {
	display: block;
	border-left: 1px solid #cccccc;
}

#globalNav a:hover {
	color: #767676;
}

/* bodyArea
-------------------------------------------------- */
#bodyArea {
	width: 100%;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}

/* mainArea
-------------------------------------------------- */
#mainArea {
	width: 100%;
}

/*

.titStyle1 {
	background: #000000;
	color: #ffffff;
	font-size: 14px;
	text-align: center;
	padding: 10px;
	margin-bottom: 20px;
}

.titStyle2 {
	font-size: 14px;
}

.titStyle3 {
	margin-bottom: 12px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #000000;
}

.titStyle3 span {
	font-size: 19px;
	font-size: 1.9rem;
	color: #ce0404;
}

.titStyle5 {
	margin-bottom: 12px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2;
	font-weight: bold;
	color: #000000;
}

*/

/* sidebar
-------------------------------------------------- */
#sidebar {
	margin-top: 24px;
	display: none;
}

.sidebarNavBlock {
	margin-bottom: 30px;
	padding: 6px;
	background: #666666;
}

.sidebarNavBlock .orderSerchBlock {
	padding: 0 9px;
	color: #ffffff;
}

.sidebarNavBlock .orderSerchBlock dl {
	margin-bottom: 13px;
}

.sidebarNavBlock .orderSerchBlock dt {
	margin-bottom: 12px;
	font-size: 14px;
	font-size: 1.4rem;
}

.sidebarNavBlock .orderSerchBlock input[type="search"] {
	width: 150px;
}

#localNav {
	margin-bottom: 20px;
}

#localNav li {
	margin-bottom: 0;
	list-style: none;
	border-bottom: 1px dotted #bbbbbb;
	background: #ffffff;
	position: relative;
}

#localNav li.lnavMypagehome {
	margin-bottom: 6px;
	border-bottom: 0;
}

#localNav li:last-child {
	border-bottom: 0;
}

#localNav li .btnIcon {
	padding-left: 28px;
}

#localNav li .btnIcon:before {
	position: absolute;
	left: 10px;
	top: 1.2em;
	content: ' ';
	background-image: url("/common/mypage/img/icon_1.png");
	background-size: 16px 150px;
	background-position: 0 -32px;
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}

#localNav li a {
	padding: 1em 0;
	display: block;
	color: #000000;
}

/* pageHeader
-------------------------------------------------- */
#pageHeader {
	margin: 0 4px;
}

#pageHeader:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

h1 {
	margin-bottom: 8px;
}

/* backToTopNav
-------------------------------------------------- */
#backToTopNav {
	margin: 10px 0;
	cursor: pointer;
	text-indent: -999em;
	overflow: hidden;
}

#backToTopNav a {
	margin: 0 0 0 auto;
	display: block;
	width: 37px;
	height: 37px;
	border: 1px solid #cccccc;
	border-radius: 5px;
	position: relative;
}

#backToTopNav a:before {
	position: absolute;
	left: 10px;
	top: 10px;
	content: ' ';
	background-image: url("/common/mypage/img/icon_1.png");
	background-size: 16px 150px;
	background-position: 0 -96px;
	width: 16px;
	height: 16px;
}

/* .footerSerchBlock.orderSerchBlock
-------------------------------------------------- */
.footerSerchBlock {
	padding: 10px 0;
	border-top: 1px solid #cccccc;
	background: #eeeeee;
}

.footerSerchBlock dl {
	display: table;
	width: 100%;
}

.footerSerchBlock dt {
	font-weight: bold;
	display: table-cell;
	font-size: 12px;
	font-size: 1.2rem;
	vertical-align: middle;
}

.footerSerchBlock dd {
	display: table-cell;
	text-align: right;
}

.footerSerchBlock input[type="search"] {
	width: 154px;
}

/* footerNav
-------------------------------------------------- */
#footerNav {
	width: 100%;
}

#footerNav .aboutMenu {
	margin-bottom: 1px;
}

/* footerContactBlock
-------------------------------------------------- */
.footerContactBlock {
	padding: 10px 0;
	color: #000000;
	text-align: center;
}

.footerContactBlock .footerContact {
	padding: 20px;
	border: 1px solid #cccccc;
}

.footerContactBlock .footerContactTxt {
	padding-bottom: 17px;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
}

.footerContactBlock .footerContactTxt .contactLogo {
	padding-left: 15px;
}

.footerContactBlock .footerContactTxt .contactLogo img {
	width: 106px;
	vertical-align: top;
}

.footerContactBlock .contactPhoneNo {
	margin-bottom: 10px;
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1;
}

.footerContactBlock .contactInfo {
	margin-bottom: 0;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
}

/* footerAdress
-------------------------------------------------- */
#footerAdress {
	padding: 5px 0 20px;
}

#footerAdress .companyLogo {
	display: table-cell;
	width: 98px;
	text-align: center;
	vertical-align: middle;
}

#footerAdress .companyLogo img {
	width: 66px;
}

#footerAdress address {
	display: table-cell;
	line-height: 1.5;
	font-size: 12px;
	font-size: 1.2rem;
}

#footerAdress address .companyName {
	margin-bottom: 0;
	color: #000000;
}

#footerAdress address .companyAddress {
	margin-bottom: 0;
}

/* footer
-------------------------------------------------- */
#footer {
	width: 100%;
	background: #e7e7e7;
	color: #ffffff;
}

#footer .contentArea {
	padding-top: 10px;
}

#footer #copyright {
	font-size: 9px;
	font-size: 0.9rem;
	text-align: center;
	line-height: 28px;
	background: #000000;
}

.footer_banner{
	width: 100%;
}

.footer_banner_note{
	color: #000;
	margin-top: 3px;
}

#footer .footerContact {
	border: 1px solid #cccccc;
	background: #fff;
	padding: 20px;
	margin-bottom: 10px;
	color: #000000;
	text-align: center;
}

#footer .footerContact .callCenter {
	border-bottom: 1px solid #cccccc;
}

#footer .footerContact .callCenter .column {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 15px 15px;
}

#footer .footerContact .callCenter .column .text {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
}

#footer .footerContact .callCenterTel {
	font-weight: bold;
	color: #000000;
	font-size: 21px;
	font-size: 2.1rem;
	margin-top: 20px;
	margin-bottom: 15px;
}

#footer .footerContact .callCenterHrs, #footer .footerContact .callCenterSkype {
	color: #333333;
	font-size: 12px;
	font-size: 1.2rem;
	margin-bottom: 0px;
}

/* NWI-757 コールセンターの営業時間変更 */
.nwi-757{
	padding-top: 20px;
}

.nwi-757.tw p{
	text-align: left;
}

.nwi-757 .contact_box{
	display: inline-flex;
	flex-direction: column;
	margin: 0 auto;
}

.nwi-757 .contact_box p {
	display: inline-flex;
	align-items: center;
	font-weight: normal;
	margin: 0;
	padding: 3px;
}

.nwi-757 .contact_box p::before {
    content: "";
    width: 25px;
    height: 25px;
    display: inline-block;
    margin-right: 8px;
}

.nwi-757 .contact_box p.mail::before {
	background: url(../../images/icon_mail.png) no-repeat;
	background-position: center;
    background-size: contain;
}

.nwi-757 .contact_box p.tel::before {
	background: url(../../images/icon_phone.png?date=20230831) no-repeat;
	background-position: center;
    background-size: contain;
}

.nwi-757 .contact_box p.facebook::before {
	background: url(../../images/icon_facebook.png) no-repeat;
	background-position: center;
    background-size: contain;
}

.nwi-757 .contact_box p.whatsapp::before {
	background: url(../../images/icon_whatsapp.png) no-repeat;
	background-position: center;
    background-size: contain;
}

.nwi-757 .contact_box p.facebook a{
	text-decoration: underline;
	cursor: pointer;
}

.nwi-757 p.time{
    margin: 10px 0 0;
}

/* popup */
#popup-mask {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .7;
	display: none;
	z-index: 9000;
	top: 0;
	left: 0;
	right: 0;
}

#top-popup {
	display: none;
    z-index: 10000;
    width: 90%;
    background: #fff;
    height: auto;
    padding: 30px 20px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	max-height: 85%;
    overflow: scroll;
}

#top-popup img {
	width: 100%;
}

.popup-txt {
    margin-bottom: 20px;
	font-size: 1.2rem;
}

.popup-close-btn {
	background-color: #000;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	width: 120px;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgb(0 0 0 / 30%);
	cursor: pointer;
	line-height: 2.5rem;
	margin-top: 10px;
}

.popup-block {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px 10px;
	text-align: center;
}

.popup-title {
	cursor: pointer;
	margin: 0;
	font-size: 1.2rem;
	text-decoration: underline;
    font-weight: bold;
	color: #cc0000;
}


/* keyvisual
-------------------------------------------------- */
/* .kvWrapper {
	display: none;
} */

.keyvisual {
	background: #000000 url("/common/sp/img/top_bg4.jpg") no-repeat center;
	background-size: cover;
	text-align: center;
	position: relative;
	padding: 20px 0;
}

.keyvisual img {
    width: 160px;
	margin-right: 20px;
}

.keyvisual .keyvisualTxt {
	margin-bottom: 30px;
}

.keyvisual .keyvisualTxt h2 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #000000;
	margin-bottom: 0;
	margin-top: 5px;
}

.keyvisual .keyvisualTxt h2 span {
	color: #ffffff;
	font-size: 21px;
	margin-right: 10px;
}

.keyvisual .keyvisualTxt p {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #000000;
	margin-bottom: 0;
}

.keyvisual2 {
	background-color: #ed862b;
	background-image: url("/common/sp/img/top_bg3.png");
}

.keyvisual3 {
	background-color: #6c858f;
	background-image: url("/common/sp/img/top_bg2.png");
}

.keyVisualBtn {
	background: #e1a618;
	padding: 10px;
}

.keyVisualBtn .btnType1 a {
	border-color: #fff;
}

.keyVisualBtn2 {
	background: #ed862b;
	padding-top: 0;
	z-index: 1;
	position: relative;
}

.keyVisualBtn3 {
	background: #6c858f;
}

.kvDisplay {
	display: block;
}

.keyvisualInfo {
	color: #000000;
	font-size: 12px;
	font-weight: bold;
	display: flex;
    align-items: center;
    justify-content: center;
}

.keyvisualInfo span {
	color: #cc0000;
	display: block;
	font-size: 14px;
}

.keyvisualInfo .infoContents {
	width: 35%;
}

.keyvisualInfo .infoContents .infoBox {
	background: rgba(255,255,255,0.8);
    padding: 10px;
}

.keyvisualInfo .infoContents .infoBox + .infoBox{
	margin-top: 15px;
}

#keyvisual .highlight.affiliate_banner, .esim_banner img{
	width: 100%;
}

#keyvisual .mv_note{
    margin: 3px 3px 0;
}

.esim_banner{
	display: block;
	margin: 30px 0;
}

/* pointBlock
-------------------------------------------------- */
.pointBlock {
	margin: 0 10px;
}

.pointBlock .point {
	background: #fff3da;
	margin-bottom: 21px;
}

.pointBlock .point h2 {
	color: #fff;
	background: #000000;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 7px 7px 7px 35px;
	position: relative;
}

.pointBlock .point p {
	color: #333333;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 10px 15px;
	margin-bottom: 0px;
}

.pointBlock .point .btn {
	padding: 0 10px 10px;
}

.pointBlock .point1 h2:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_point1.png") no-repeat center;
	background-size: 35px;
	left: -10px;
	top: -4px;
	width: 35px;
	height: 40px;
}

.pointBlock .point2 h2:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_point2.png") no-repeat center;
	background-size: 35px;
	left: -10px;
	top: -4px;
	width: 35px;
	height: 40px;
}

.pointBlock .point3 h2:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_point3.png") no-repeat center;
	background-size: 35px;
	left: -10px;
	top: -4px;
	width: 35px;
	height: 40px;
}

/* redBlock
-------------------------------------------------- */
.redBlock {
	border: 2px solid #ce0404;
}

.redBlock h2 {
	background: #ce0404;
	color: #fff;
	text-align: center;
	font-size: 17px;
	font-size: 1.7rem;
	padding: 8px 10px 10px;
	font-weight: bold;
}

.redBlock h2 small {
	font-size: 12px;
	font-size: 1.2rem;
}

.redBlock .redBlockContent {
	padding: 10px;
}

.redBlock .yellowDiv {
	color: #000000;
	text-align: center;
	background: #fff3da;
	padding: 15px;
	font-weight: bold;
	margin-bottom: 10px;
}

.redBlock .yellowDiv span {
	font-size: 20px;
	font-size: 2rem;
	color: #ce0404;
}

.redBlock ul {
	margin-left: 16px;
}

.redBlock ul li {
	margin-bottom: 0;
}

/* button
-------------------------------------------------- */
.btn {
	margin-bottom: 15px;
}

.btn a {
	display: block;
	border: 1px solid transparent;
	background: #ce0404;
	border-radius: 3px;
	color: #fff;
	padding: 10px 15px;
	font-size: 10px;
	font-size: 1rem;
	text-align: center;
}

.btn a span {
	background: url("/common/sp/img/icon_arrowright.png") left center no-repeat;
	background-size: 7px;
	padding-left: 15px;
}

.btnType1 a, .btnType1R a {
	border: 1px solid #cccccc;
	background: #fff;
	color: #000000;
}

.btnType1 a span, .btnType1R a span {
	background-image: url("/common/sp/img/icon_arrowright2.png");
}

.btnType1R a span {
	background-image: url("/common/sp/img/icon_arrowleft2.png");
}

.btnType2 a {
	border: 1px solid #cc0000;
	background: #fff;
	color: #cc0000;
}

.btnType2 a span {
	background-image: url("/common/sp/img/icon_arrowright2.png");
}

.btnType3 a {
	border: 1px solid #e9d8b3;
	background: #fff;
	color: #000000;
}

.btnType3 a span {
	background-image: url("/common/sp/img/icon_arrowright2.png");
}

.btnType4 a {
	border: 1px solid #cccccc;
	background: #fff;
	color: #000000;
}

.btnType5 a {
	border: 1px solid #00b5aa;
	background: #00b5aa;
}

.btnType4 a span {
	background: url("/common/sp/img/icon_arrowdown3.png") right center no-repeat;
	background-size: 11px;
	padding: 0 15px 0 0;
}

.btnBlock a span {
	padding: 0 0 15px 0;
	background: url("/common/sp/img/icon_arrowdown3.png") bottom center no-repeat;
	background-size: 11px;
	display: block;
}

.btnBlock a span b {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
}

.btnCal a {
	background: #666666;
	display: table;
	width: 100%;
	border-spacing: 0px;
	color: #fff;
	border-radius: 3px;
	font-size: 10px;
	font-size: 1rem;
}

.btnCal a .calDate {
	display: table-cell;
	vertical-align: middle;
	width: calc(100% - 30px);
	padding: 12px 10px;
	text-align: left;
}

.btnCal a .calIcon {
	background: #7e7e7e url("/common/sp/img/icon_cal.png") center no-repeat;
	background-size: 11px;
	width: 30px;
	height: 30px;
	display: table-cell;
	vertical-align: middle;
	border-radius: 0px 3px 3px 0px;
}

.btnCal.selected a {
	position: relative;
}

.btnCal.selected a:after {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #666666;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}

.btnMap {
	float: right;
	margin-bottom: 0;
	margin-left: 10px;
}

.btnMap a {
	border: 1px solid #cccccc;
	background: #fff;
	display: inline-block;
	color: #000000;
	line-height: 18px;
}

.btnMap a span {
	background-image: url("/common/sp/img/icon_pin.png");
	padding: 5px 0 5px 15px;
}

.btnType6 {
	width: 100%;
	text-align: center;
}

.btnType6 a {
	display: inline-block;
	position: relative;
	line-height:30px;
	border: solid #000000 1px;
	border-radius: 0.2em;
	background-color: #ffffff;
	text-align: center;
	color: #000000 !important;
	font-size: 9pt;
	font-weight: bold;
	margin-right: 2%;
	margin-bottom: 7px;
    padding: 2px 30px;
}

.btnType6 a:after {
	content: "\025b6";
	font-size: 9pt;
	color: #cc0000;
	position: absolute;
	top: 3px;
	right: 8px;
}

/* calendar
-------------------------------------------------- */
.calendarSection .oneColumn {
	padding: 10px;
	text-align: center;
}

.calendarSection .twoColumns {
	display: table;
	width: 100%;
	border-spacing: 10px;
}

.calendarSection .twoColumns .column {
	display: table-cell;
	width: 50%;
	margin: 0;
	float: none;
	text-align: center;
}

.calendarSection h3 {
	font-weight: bold;
	color: #000000;
	margin-bottom: 10px;
}

.calendarSection .calendar {
	border: 2px solid #666666;
	margin: 0px 10px 15px;
	display: none;
}

.calendarSection .calendar .cMonth {
	text-align: center;
	display: block;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	background: #666666;
	padding: 10px;
	position: relative;
}

.calendarSection .calendar .cMonthLeft {
	position: absolute;
	background: url("/common/sp/img/icon_arrowleft.png") center no-repeat;
	background-size: 7px;
	width: 7px;
	height: 11px;
	left: 15px;
	top: 50%;
	margin-top: -7px;
}

.calendarSection .calendar .cMonthRight {
	position: absolute;
	background: url("/common/sp/img/icon_arrowright.png") center no-repeat;
	background-size: 7px;
	width: 7px;
	height: 11px;
	right: 15px;
	top: 50%;
	margin-top: -7px;
}

.calendarSection .calendar .cBody {
	font-size: 9px;
	font-size: 0.9rem;
}

.calendarSection .calendar .cBody ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: table;
	width: 100%;
	background: #d3d3d3;
	border-spacing: 1px;
	margin-top: -1px;
}

.calendarSection .calendar .cBody ul li {
	display: table-cell;
	width: 14.29%;
	text-align: center;
	padding: 5px;
}

.calendarSection .calendar .cBody .cWeek li {
	color: #999999;
	font-weight: bold;
}

.calendarSection .calendar .cBody .cWeek li:first-child {
	color: #ce0404;
}

.calendarSection .calendar .cBody .cWeek li:last-child {
	color: #3490bb;
}

.calendarSection .calendar .cBody .cDay li {
	background: #fff;
	color: #000000;
	font-weight: bold;
	padding: 10px;
}

.calendarSection .calendar .cBody .cDay li.blank {
	background: #eeeeee;
}

.calendarSection .calendar .cBody .cDay li.selected {
	background: #ce0404;
	color: #fff;
}

.calendarSectionInline .twoColumns {
	display: block;
	text-align: center;
}

.calendarSectionInline .twoColumns .column {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}

.calendarSectionInline h3 {
	margin-bottom: 0;
	margin-right: 10px;
}

/* custom select box
-------------------------------------------------- */
span.customSelect {
	background-color: #fff;
	color: #000000;
	padding: 10px;
	border: 1px solid #cccccc;
	width: 100%;
	margin-bottom: 15px;
	font-size: 10px;
	font-size: 1rem;
}

span.customSelect.changed {
	background-color: #fff;
}

.customSelectInner {
	background: url("/common/sp/img/icon_arrowdown.png") no-repeat center right;
	background-size: 11px;
	width: 100% !important;
}

.selectBlk {
    margin: 7px 3px 7px 0px;
}

.selectBlk .headerSelect{
	position: relative;
	background-color: #888888;
	color: #fff;
	border: none;
	border-radius: 3px;
}

.selectBlk span.customSelect {
	font-size: 0;
	width: 50px;
	height: 37px;
	border-radius: 3px;
	vertical-align: top;
	border: none;
	background: none;
	margin-bottom: 0;
	padding: 0;
}
.selectBlk .headerSelect img{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.selectBlk .headerSelect select{
	z-index: 1;
}

.selectBlk span.customSelect.changed {
	background-color: #000;
}
.top-langage .selectBlk span.customSelect{
	margin-bottom: 0;
}

.selectBlk .customSelectInner {
	background: url("/common/sp/img/icon_arrowdown2.png") no-repeat center right;
	background-size: 11px;
	width: 100% !important;
}

.hamburgerMenu{
	background-color: transparent;
    border-color: transparent;
	height: 37px;
	width: 35px;
	padding: 0;
	position: relative;
	background: #000;
	border-radius: 3px;
}

.hamburgerMenu span{
    width: 70%;
  	height: 3px;
  	background-color: #fff;
  	position: absolute;
  	transition: ease .4s; /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
  	display: block;
	border-radius: 3px;
    left: 50%;
    transform: translateX(-50%);
}

.hamburgerMenu span:nth-child(1) {
	top: 7px;
}

.hamburgerMenu span:nth-child(2) {
	top: 50%;
	transform: translate(-50%, -50%);
}

.hamburgerMenu span:nth-child(3) {
	bottom: 7px;
}

.hamburgerMenu.active span:nth-child(1) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.hamburgerMenu.active span:nth-child(2) {
	opacity: 0;
}

.hamburgerMenu.active span:nth-child(3) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* section grayArea
-------------------------------------------------- */
.grayArea {
	background: #eeeeee;
	padding: 10px;
	font-size: 10px;
	font-size: 1rem;
	overflow: hidden;
	color: #000000;
}

.grayArea .btn {
	display: inline-block;
}


/* grayBlock
-------------------------------------------------- */
.grayBlock {
	background: #eeeeee;
	padding: 15px;
}

.grayBlock .threeCol .tableCell {
	background: #ffffff;
	padding: 10px;
	vertical-align: top;
}

/* section stepArea
-------------------------------------------------- */
.stepArea h2 {
	text-align: center;
	font-weight: bold;
	font-size: 17px;
	font-size: 1.7rem;
	color: #000000;
	position: relative;
	margin-bottom: 15px;
}

.stepArea h2:before {
	content: '';
	position: absolute;
	background: url("/common/sp/img/stepbg1.png") no-repeat center;
	background-size: 18px;
	left: 0px;
	top: -4px;
	width: 18px;
	height: 36px;
}

.stepArea h2:after {
	content: '';
	position: absolute;
	background: url("/common/sp/img/stepbg2.png") no-repeat center;
	background-size: 18px;
	right: 0px;
	top: -4px;
	width: 18px;
	height: 36px;
}

.stepArea .stepBlock {
	margin: 0 10px;
}

.stepArea .stepBlock .step {
	margin-bottom: 10px;
	background: url("/common/sp/img/stepbg.png") 4px 116px repeat-y;
	background-size: 18px;
	position: relative;
}

.stepArea .stepBlock .step:after {
	content: ' ';
	position: absolute;
	background: #fff url("/common/sp/img/icon_arrowdown.png") no-repeat center;
	background-size: 16px;
	bottom: -4px;
	width: 16px;
	height: 10px;
	left: 5px;
}

.stepArea .stepBlock .step h3 {
	color: #fff;
	background: #000000;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 7px 7px 7px 45px;
	position: relative;
	text-align: left;
}

.stepArea .stepBlock .step p {
	color: #333333;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 10px 0px 0px 45px;
	margin-bottom: 0px;
}

.stepArea .stepBlock .step ul {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 64px;
}

.stepArea .stepBlock .step ul li {
	margin-bottom: 0px;
}

.stepArea .stepBlock .step ul li span{
	font-size: 1.2rem;
}

.stepArea .stepBlock .step1 h3:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_step1.png") no-repeat center;
	background-size: 45px;
	left: -10px;
	top: -5px;
	width: 45px;
	height: 45px;
}

.stepArea .stepBlock .step2 h3:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_step2.png") no-repeat center;
	background-size: 45px;
	left: -10px;
	top: -5px;
	width: 45px;
	height: 45px;
}

.stepArea .stepBlock .step3 {
	background: none;
}

.stepArea .stepBlock .step3 h3:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/icon_step3.png") no-repeat center;
	background-size: 45px;
	left: -10px;
	top: -5px;
	width: 45px;
	height: 45px;
}

.stepArea .stepBlock .step3:after {
	display: none;
}

/* section faqArea
-------------------------------------------------- */
.faqArea {
	color: #010000;
	padding-bottom: 5px;
}

.faqArea p {
	font-weight: bold;
	padding: 16px 0px;
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0;
}

.faqArea ul {
	list-style-type: none;
	list-style-position: outside;
	list-style-image: none;
}

.faqArea ul li {
	margin-bottom: 1px;
}

.faqArea ul li a {
	display: block;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	font-weight: bold;
	color: #000000;
	font-size: 12px;
	font-size: 1.2rem;
	background: #fff url("/common/sp/img/icon_arrowright2.png") right center no-repeat;
	background-size: 7px;
}

/* footerLinks
-------------------------------------------------- */
.footerLinks ul {
	list-style-type: none;
	list-style-position: outside;
	list-style-image: none;
	margin-bottom: 0;
}

.footerLinks ul li {
	margin-bottom: 1px;
}

.footerLinks ul li a {
	display: block;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	font-weight: bold;
	color: #000000;
	font-size: 12px;
	font-size: 1.2rem;
	background: #e7e7e7 url("/common/sp/img/icon_arrowright2.png") right center no-repeat;
	background-size: 7px;
}

#footer .footerLinks ul li a {
	background-color: #ffffff;
}

#footer .footerLinks ul li.pdfLink a {
	background-image: url("/common/sp/img/icon_pdf.png");
	background-size: 12px 14px;
}

#footer .footerLinks ul {
	margin-bottom: 20px;
}

.footerLogo{
	display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.footerLogo img{
	margin: 0 10px;
}

/* lcBlock
-------------------------------------------------- */
.lcBlock {
	font-weight: bold;
	color: #000000;
	font-size: 10px;
	font-size: 1rem;
}

.lcBlock .tableCell {
	width: 50%;
}

.lcBlock .tableCell div {
	position: relative;
}

.lcBlock .tableCell:first-child {
	padding-right: 1px;
}

.lcBlock ul li {
	margin-bottom: 0px;
	border-top: 1px solid #fff;
}

/* couponDiv
-------------------------------------------------- */
.couponDiv {
	padding: 15px;
	background: #fff3da;
	border: 2px solid #ebbc5d;
}

.couponDiv h2 {
	color: #db7600;
	font-weight: bold;
	font-size: 19px;
	font-size: 1.9rem;
	line-height: 1.2;
}

.couponDiv .couponTxt {
	overflow: hidden;
	margin-bottom: 10px;
}

.couponDiv .displayTable {
	margin-bottom: 10px;
}

.couponDiv .redCircle {
/*
	background: #cc0000;
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	text-align: center;
	border-radius: 50%;
	padding: 14px 6px;
	font-weight: bold;
	line-height: 1.2;
*/
	width: 49px;
	height: 49px;
	padding-right: 10px;
}

/* grayBox
-------------------------------------------------- */
.grayBox {
	background: #eeeeee;
	border: 5px solid transparent;
	margin-bottom: 15px;
}

.grayBox p.heading {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 5px 5px 8px;
	margin-bottom: 0;
}

.grayBox p.qHeading {
	padding: 5px 5px 8px 20px;
	background: url("/common/sp/img/icon_q.png") 5px center no-repeat;
	background-size: 10px;
}

.grayBox .text {
	background: #fff;
	padding: 10px;
}

.grayBox .text p {
	margin-bottom: 0;
}

/* callout
-------------------------------------------------- */
.callout {
	border: 1px solid #e0d6c1;
	background: #fff3da;
	color: #333333;
	padding: 10px;
	margin: 0 25px;
	text-align: center;
	font-weight: bold;
	position: relative;
	margin-top: 20px;
}

.callout:before {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/callout_bg.png") no-repeat center;
	background-size: 223px 35px;
	left: 50%;
	top: -35px;
	width: 223px;
	height: 35px;
	margin-left: -111px;
	z-index: 0;
}

/* reasonBlock
-------------------------------------------------- */
.reasonBlock {
	text-align: center;
	margin-bottom: 20px;
}

.reasonBlock h3 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #000000;
	margin: 15px 0px;
}

.reasonBlock .text {
	padding: 15px;
	background: #eeeeee;
	text-align: justify;
}

/* calculations
-------------------------------------------------- */
.calculations {
	padding: 15px;
	background: #eeeeee;
}

.calculations .block {
	color: #000000;
	background: #ffffff;
	border: 1px solid #cccccc;
	padding: 10px;
	text-align: center;
}

.calculations .lastBlock {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #ce0404;
	background: #fff3da;
	border: 1px solid #e0d6c1;
}

.calculations .cImg {
	text-align: center;
	margin: 5px 0px;
}

/* twoColumnLink
-------------------------------------------------- */
.tableWrapper {
	margin: 0 -10px;
}

.twoColumnLink {
	display: table;
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
}

.twoColumnLink .column {
	display: table-cell;
	width: 50%;
}

/* productTable
-------------------------------------------------- */
.productTable {
	border: 1px solid #bbbbbb;
	margin-bottom: 10px;
}

.productTable h2 {
	background: #bbbbbb;
	text-align: center;
	color: #ffffff;
	padding: 10px;
	font-size: 14px;
	font-size: 1.4rem;
}

.productTable h2 span{
	font-weight: bold;
}

.productTable .product {
	display: table;
	width: 100%;
	margin-top: 5px;
}

.productTable .product div {
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
}

.productTable .product div:first-child {
	width: 90px;
}

.productTable .product div:first-child img{
	height: auto;
}

.productTable .product div:first-child img.cellphone{
	width: 57px;
}

.productTable .product div.price {
	color: #cc231c;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: left;
}

.productTable .productType1 {
	padding: 0 10px;
}

.productTable .productType1 .product {
	background: #fff3da;
	margin-top: 0;
	margin-bottom: 15px;
	text-align: center;
}

.productTable .productType1 .product div {
	display: inline-block;
	padding: 15px 10px;
}

.productTable .productType1 .product div:first-child {
	width: auto;
}

.productTable .threeColumns {
	display: table;
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
}

.productTable .threeColumns .column {
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
	color: #000000;
	background: #fff3da;
	text-align: center;
	width: 33.33%;
}

.productTable .text {
	padding: 5px 10px 10px;
}

.productTable .productDetail {
	margin-bottom: 0;
}

.productTable .productDetail th {
	background: #eeeeee;
	border-left: 0;
	text-align: left;
}

.productTable .productDetail td {
	border-right: 0;
}

.productTable .productDetail2 {
	margin-bottom: 0;
}

.productTable .productDetail2 th {
	border-left: 0;
	text-align: left;
	width: 50%;
}

.productTable .productDetail2 td {
	color: #cc231c;
	font-weight: bold;
	border-right: 0;
}

.productTable .productDetail2 tr:first-child th, .productTable .productDetail2 tr:first-child td {
	border-top: 0;
}

.productTable .link {
	background: #cccccc;
	padding: 10px;
}

.productTable .selected a span {
	background-image: url("/common/sp/img/icon_arrowup.png");
}

.productTable .collapseTable {
	display: none;
}

.productTable .collapseTable .link {
	background: #eeeeee;
}

.productTable .totalDiv {
	margin-bottom: 20px;
}

.contentArea.model .productTable h2{
	background: #cc231c;
}

.productModel{
	text-align: center;
	margin-bottom: 30px;
}
.productModel img{
	width: 50%;
	height: auto;
}
.anchorlink516-1{
	margin: 0;
}
.anchorlink516-2,
.anchorlink516-3{
	text-align: center;
	margin: 20px 0 0;
}
.anchorlink516-2 a,
.anchorlink516-3 a{
	display: inline-block;
	width: 200px;
	height: 40px;
	border: 0px;
	color: #ffffff;
	font-size: 1.2em;
	line-height: 40px;
	text-align: center;
	background: #000000 url(../../img/btn_common_000.gif) right top no-repeat;
}
/* totalDiv
-------------------------------------------------- */
.totalDiv {
	padding: 15px;
	background: #eeeeee;
}

.totalDiv .block {
	border: 1px solid #cccccc;
	color: #000000;
	margin-bottom: 5px;
	text-align: center;
}

.totalDiv .block .tableCell {
	width: 50%;
	padding: 12px;
	background: #fff;
}

.totalDiv .block .tableCell:first-child {
	background: #cccccc;
}

.totalDiv .totalBlock {
	margin: 10px 0px 8px;
	background: #fff3da;
	border-color: #e0d6c1;
	color: #ce0404;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 12px;
}

.totalDiv .nextStep {
	height: 15px;
	margin-bottom: 5px;
	background: url("/common/sp/img/icon_arrowdown4.png") bottom center no-repeat;
	background-size: 40px;
}

.totalDiv .redBlock {
	padding: 12px;
	color: #fff;
	background: #cc231c;
	border: 1px solid #ce0404;
	text-align: center;
	margin: 0 -15px -15px;
}

.totalDiv .redBlock span {
	font-size: 15px;
	font-size: 1.5rem;
}

/* receiveArea
-------------------------------------------------- */
.receiveArea {
	background: #eeeeee;
	margin-bottom: 15px;
}

.receiveArea table {
	width: 100%;
	border: 10px solid #eeeeee;
}

.receiveArea table th, .receiveArea table td {
	vertical-align: center;
	border: 10px solid #eeeeee;
}

.receiveArea table th {
	width: 40%;
}

.receiveArea table th img {
	width: 100%;
	height: auto;
}

.receiveArea table td {
	background: #fff;
	text-align: center;
}

.receiveArea table td.text {
	background: none;
}

.receiveArea p {
	padding: 0 10px 10px;
	text-align: center;
	margin-bottom: 0;
}

.receiveAreaHalf {
	width: 50%;
}

.receiveArea table td.text2 {
	height: 50px;
	background: #cc0000;
	font-weight: bold;
	text-align: center;
	font-size: 16px;
	color: #ffffff;
}

/* accList
-------------------------------------------------- */
.accList li {
	margin-bottom: 1px;
}

.accList li a {
	background: #fff url("/common/sp/img/icon_arrowdown3.png") right center no-repeat;
	background-size: 11px;
	color: #000000;
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}

.accList li a span {
	display: inline-block;
	padding: 5px 0px 5px 32px;
	background: url("/common/sp/img/icon_plane.png") left center no-repeat;
	background-size: 24px;
}

.accList li a span.car {
	background-image: url("/common/sp/img/icon_car.png");
}

.accList li a span.bus {
	background-image: url("/common/sp/img/icon_bus.png");
}

.accList li a span.train {
	background-image: url("/common/sp/img/icon_train.png");
}

.accList li a.selected {
	background-image: url("/common/sp/img/icon_arrowup.png");
}

.accList .accContent {
	display: none;
	text-align: center;
	margin-bottom: 15px;
}

.accList .accContent .accDesc {
	display: inline-block;
	color: #ffffff;
	background: #666666;
	padding: 10px 20px;
	font-weight: bold;
	position: relative;
	margin-top: 30px;
	margin-bottom: 33px;
}

.accList .accContent .accDesc span {
	background: url("/common/sp/img/icon_walk.png") left center no-repeat;
	background-size: 11px;
	padding-left: 20px;
}

.accList .accContent .accDesc:before {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/acc_before.png") no-repeat center;
	background-size: 4px;
	left: 50%;
	top: -18px;
	width: 4px;
	height: 18px;
	margin-left: -2px;
}

.accList .accContent .accDesc:after {
	content: ' ';
	position: absolute;
	background: url("/common/sp/img/acc_after.png") no-repeat center;
	background-size: 15px;
	left: 50%;
	bottom: -33px;
	width: 15px;
	height: 33px;
	margin-left: -7px;
}

.accList .addBox {
	margin: 10px 33px 0px;
	background: #fff3da;
	border: 1px solid #e0d6c1;
}

.sectionType2 .accList .narita1_box,
.sectionType2 .accList .narita2_box,
.sectionType2 .accList .haneda_box,
.sectionType2 .accList .kansai_box{
	margin: 0;
}

.accContent .addBox .tableCell.jal{
	background: #fff;
}

@media screen and (max-width: 480px) {
	.jw_gl_logo {
		width: 100%;
		background: #fff;
		padding-left: 3px;
	}
	.accContent .addBox .tableCell.jal img{
		width: 60%;
	}

	.sectionType2 .narita1_box .displayTable .tableCell,
	.sectionType2 .narita2_box .displayTable .tableCell,
	.sectionType2 .haneda_box .displayTable .tableCell,
	.sectionType2 .kansai_box .displayTable .tableCell{
		width: 63%;
	}
}

@media screen and (max-width: 360px) {
	.sectionType2 .narita1_box .displayTable .tableCell {
		width: 55%;
	}
}

@media screen and (max-width: 320px) {
	.sectionType2 .narita1_box .displayTable .tableCell {
		width: 50%;
	}
}

.accList .addBox .displayTable {
	border-spacing: 5px;
	border-collapse: separate;
}

/* twocol
-------------------------------------------------- */
.twoCol {
	margin: 0 -10px;
}

.twoCol .displayTable {
	border-spacing: 10px;
	border-collapse: separate;
}

/* twocol
-------------------------------------------------- */
.threeCol {
	margin: 0 -10px;
}

.threeCol .displayTable {
	border-spacing: 10px;
	border-collapse: separate;
	table-layout: fixed;
}

.threeCol .displayTable .tableCell {
	width: 30%;
}

.threeColType1 .displayTable .tableCell {
	border: 1px solid #cccccc;
	border-radius: 3px;
	padding: 10px 10px 20px;
	color: #000;
	font-size: 10px;
	font-size: 1rem;
	position: relative;
	text-align: center;
}

.threeColType1 .displayTable .tableCell .lrgTxt {
	font-size: 12px;
	font-size: 1.2rem;
}

.threeColType1 .displayTable .tableCell .image {
	margin: 5px 0px;
}

.threeColType1 .displayTable .tableCell a {
	display: block;
	color: #000;
}

.threeColType1 .displayTable .tableCell:after {
	background: url("/common/sp/img/icon_arrowdown3.png") bottom center no-repeat;
	background-size: 11px;
	content: ' ';
	position: absolute;
	left: 50%;
	bottom: 10px;
	width: 11px;
	height: 7px;
	margin-left: -7px;
}

/* tabs
-------------------------------------------------- */
.tabs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: table;
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
}

.tabs li {
	display: table-cell;
	vertical-align: middle;
	width: calc(100% / 5);
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 3px;
	padding: 5px;
	text-align: center;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
}

.tabs li.current {
	background: #ce0404;
	border-color: #ce0404;
	color: #ffffff;
	position: relative;
}

.tabs li.current:after {
	content: ' ';
	position: absolute;
	left: 50%;
	margin-left: -5px;
	bottom: -6px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #ce0404;
}

.tab-content {
	display: none;
}

.tab-content.current {
	display: inherit;
}

/* contactStep
-------------------------------------------------- */
.contactStep {
	margin-bottom: 5px;
}

.contactStep .tableCell {
	background: #eeeeee;
	color: #666666;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	padding: 10px;
	text-align: center;
	position: relative;
}

.contactStep .tableCell:after {
	content: ' ';
	position: absolute;
	right: -5px;
	top: 50%;
	margin-top: -5px;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 5px solid #eeeeee;
}

.contactStep .tableCell:last-child:after {
	display: none;
}

.contactStep .selected {
	color: #ffffff;
	background: #ce0404;
}

.contactStep .selected:after {
	border-left: 5px solid #ce0404;
}

/* inquiryForm
-------------------------------------------------- */
.inquiryForm label {
	display: block;
	margin-bottom: 5px;
}

.inquiryForm input, .inquiryForm textarea {
	display: block;
	border-radius: 3px;
	margin-bottom: 5px;
	width: 100%;
	font-size: 12px;
	font-size: 1.2rem;
	font-family: "Hiragino Kaku Gothic Pro",Meiryo, "MS PGothic", sans-serif;
}

.inquiryForm .highlight {
	background: #fff3da;
}

.inquiryForm textarea {
	height: 100px;
}

.inquiryForm hr {
	margin: 15px -10px;
	border-top: 1px solid #fff;
}

.inquiryForm .checkbox{
	display: flex;
	align-items: center;
}
.inquiryForm input[type="checkbox"]{
	width: auto;
	display: inline-block;
	margin: 0;
}
.inquiryForm .checkbox label{
	display: inline-block;
	margin: 0 0 0 5px;
}

.whatsapp_banner_link{
    display: block;
	margin-bottom: 15px;
}
.whatsapp_banner_link img{
	width: 100%;
}

/* submitBtn
-------------------------------------------------- */
.submitBtn input[type="submit"] {
	color: #ffffff;
	background: #ce0404;
}

/* errorMsg
-------------------------------------------------- */
.errorMsg {
	color: #ce0404;
	background: #fff3da;
	padding: 10px;
	margin-bottom: 15px;
}

.errorMsg ul {
	margin: 0;
}

/* calendar ui
================================== */
.calendar {
	margin-top: 10px;
}

.calendar .ui-datepicker .ui-datepicker-header {
	padding: 0;
}

.calendar .ui-widget-header {
	border-color: #666666;
	background: #666666;
}

.calendar #datepicker1, .calendar #datepicker2 {
	border: 0;
}

.calendar .ui-datepicker-title {
	padding: 0 31px;
	background: #666666;
	color: #fff;
	position: relative;
	font-weight: bold;
	line-height: 31px;
	text-align: center;
	font-family: "Hiragino Kaku Gothic Pro",Meiryo, "MS PGothic", sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
}

.calendar .ui-datepicker-prev {
	left: 3px;
	background: #666666 url(/common/direct/img/ico_arrow_3.png) center center no-repeat;
	background-size: 7px 11px;
}

.calendar .ui-datepicker-next, .calendar .ui-datepicker-prev {
	width: 25px;
	height: 25px;
	text-indent: -9999px;
	overflow: hidden;
	box-shadow: 0;
	position: absolute;
	top: 3px;
}

.calendar .ui-datepicker-next {
	right: 3px;
	background: #666666 url(/common/direct/img/ico_arrow_4.png) center center no-repeat;
	background-size: 7px 11px;
}

.calendar .ui-datepicker-next span, .calendar .ui-datepicker-prev span {
	background: 0;
}

.calendar .ui-datepicker-next a {
	display: block;
	width: 25px;
	height: 25px;
}

.calendar .ui-datepicker {
	padding: 0;
	width: 100%;
	border: 0;
	background: 0;
}

.calendar .ui-datepicker-calendar {
	table-layout: fixed;
	font-family: "Hiragino Kaku Gothic Pro",Meiryo, "MS PGothic", sans-serif;
	font-size: 10px;
	font-size: 1rem;
}

.calendar .ui-datepicker-calendar thead th {
	padding: 7px 5px;
	text-align: center;
	font-weight: 700;
	color: #999;
	background: #d3d3d3;
}

.calendar .ui-datepicker-calendar thead th:first-child {
	color: #ce0404;
}

.calendar .ui-datepicker-calendar thead th:last-child {
	color: #3490bb;
}

.calendar .ui-datepicker-calendar td {
	padding: 0;
	border: 1px solid #d3d3d3;
	background: #fff;
	text-align: center;
	height: 50px;
}

.calendar .ui-datepicker-calendar td:last-child {
	border-right: 0;
}

.calendar .ui-datepicker-calendar td:first-child {
	border-left: 0;
}

.calendar .ui-datepicker-calendar .ui-datepicker-other-month {
	background: #eee;
	opacity: 1;
}

.calendar .ui-datepicker-calendar td a {
	display: table;
	width: 100%;
	line-height: 3pc;
	text-align: center;
}

.calendar .ui-state-hover {
	border: 0 !important;
}

.calendar .ui-datepicker-calendar td a, .calendar .ui-datepicker-calendar td span {
	text-align: center;
	font-weight: 400;
}

.calendar .ui-state-default, .calendar .ui-widget-content .ui-state-default, .calendar .ui-widget-header .ui-state-default {
	border: 0;
	background: none;
}

.calendar .ui-datepicker table {
	margin: 0;
}

.calendar .ui-datepicker-calendar .ui-state-active {
	background: #ce0404;
	color: #fff;
	height: 50px;
}

/* input
-------------------------------------------------- */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea {
	padding: 10px;
	border: 1px solid #cccccc;
	font-size: 12px;
	font-size: 1.2rem;
}

input[type="submit"] {
	padding: 12px 2em;
	border: 1px solid #cccccc;
	border-radius: 3px;
	font-size: 10px;
	font-size: 1rem;
	background: #ffffff;
}

/* errorBlock
-------------------------------------------------- */
.errorBlock .errorImg {
	margin-bottom: 20px;
	padding-top: 48px;
	text-align: center;
}

.errorBlock .errorTxt {
	text-align: center;
}

/* section Element
-------------------------------------------------- */
.sectionType1 {
	margin: 20px 0;
}

.sectionType2 {
	background: #eeeeee;
}

/* heading Element
-------------------------------------------------- */
h1 {
	font-size: 17px;
	font-size: 1.7rem;
	text-align: center;
	font-weight: bold;
	color: #000000;
	margin-top: 8px;
}

#coupon h1 {
	margin: 0;
}

#coupon h1 .coupon_badge {
	margin: 0 16px 0 0;
	padding-top: 14px;
	color: #ffffff;
	background: #db0000;
	border-radius: 25px;
	height: 50px;
	width: 50px;
	font-size: 1rem;
	line-height: 1.2;
	box-sizing: border-box;
	display: inline-block;
}
#coupon .coupon_title {
		margin-top: -13px;
		display: inline-block;
		vertical-align: middle;
		line-height: 1;
}

h1 .redText {
	display: inline-block;
	background: #cc0000;
	color: #ffffff;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 2px 5px;
	margin-left: 5px;
}

.titStyle1 {
	margin-bottom: 12px;
	padding: 5px 0 5px 19px;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.2;
	color: #000000;
	font-weight: bold;
	border-bottom: 1px solid #000000;
	position: relative;
}

.titStyle1:before {
	margin-top: -8px;
	position: absolute;
	left: 0;
	top: 50%;
	background-image: url("/common/mypage/img/icon_1.png");
	background-size: 16px 150px;
	background-repeat: no-repeat;
	background-position: left -80px;
	content: " ";
	width: 16px;
	height: 16px;
}

.titStyle2 {
	margin-bottom: 12px;
	font-size: 14px;
	font-size: 1.4rem;
	color: #ffffff;
	font-weight: bold;
	padding: 13px;
	background: #000000;
}

.titStyle2 .redText {
	display: inline-block;
	background: #cc0000;
	font-size: 10px;
	font-size: 1rem;
	padding: 1px 5px;
	margin-left: 5px;
}

.titStyle2 .whiteText {
	display: inline-block;
	background: #ffffff;
	color: #000000;
	font-size: 10px;
	font-size: 1rem;
	padding: 1px 5px;
	margin-left: 5px;
}

.titStyle3 {
	margin-bottom: 12px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #000000;
}

.titStyle3 span {
	font-size: 19px;
	font-size: 1.9rem;
	color: #ce0404;
}

.titStyle4 {
	margin-bottom: 12px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2;
	font-weight: bold;
	color: #000000;
}

.titStyle5 {
	padding: 13px;
	margin-bottom: 12px;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	color: #fff;
	background: #cc231c;
}

.titStyle9 {
	padding: 13px;
	margin-bottom: 12px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #cc231c;
	background: #fff;
}

.titStyle5 span {
	font-weight: bold;
}

.titStyle6 {
	color: #ce0404;
	text-align: center;
	font-size: 17px;
	font-weight: bold;
	margin-top: 15px;
}

.titDisnone {
	display: none;
}

.bl5_666{
	border-left: 5px solid #666666;
    line-height: 1;
    padding: 0px 0px 0px 0.5em;
}

/* paragraph Element
-------------------------------------------------- */
p {
	margin: 0 0 .8em 0;
}

.strongType_1 {
	font-weight: bold;
}

.strongType_2 {
	color: #000000;
	font-weight: bold;
}

.colorRed {
	color: #cc0000;
}

.colorGray {
	color: #333333;
}

.lrgTxt {
	font-size: 15px;
	font-size: 1.5rem;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.floatLeft {
	float: left;
}

.floatRight {
	float: right;
}

.fileIcon,
.windowIcon {
	padding-left: 15px;
	line-height: 1;
}

.fileIcon img,
.windowIcon img {
	vertical-align: middle;
}

.fontS {
	font-size: 14px;
	font-size: 1.4rem;
}

.note {
	padding: 4px 0;
	font-size: 12px;
	font-size: 1.2rem;
}

.depositTxt {
	margin: 3px 0 0;
	text-align: center;
	line-height: 1.2;
}

/* list Element
-------------------------------------------------- */
/* ul */
ul {
	margin: 0 0 .8em 0;
	list-style: disc;
}

ul li {
	padding: 0;
	margin: 0 0 8px;
}

ul.listType1 {
	margin-left: 16px;
}

ul.listType1 li {
	margin: 0;
}

ul.listType0 {
	list-style: none;
	padding-left: 15px;
}

ul.listType0 li {
	margin: 0;
}

/* ol */
ol {
	margin: 0 0 .8em 1.8em;
	list-style: decimal;
}

ol li {
	margin: 0 0 8px;
}

/* attention */
.attention {
	margin: 0 0;
	list-style: none;
	font-size: 12px;
	font-size: 1.2rem;
	color: #666;
}

.attention li {
	padding: 0 0 0 1em;
	margin: 0;
	text-indent: -1em;
}

.attention li.strong {
	color: #cc0000;
}

/* link Element
-------------------------------------------------- */
.link {
	padding: 0;
}

.link li {
	padding: 0;
	list-style: none;
	position: relative;
}

.link li a {
	padding-left: 13px;
	color: #000000;
}

.link li:before {
	margin-top: -8px;
	position: absolute;
	left: 0;
	top: 50%;
	background-image: url("/common/mypage/img/icon_1.png");
	background-size: 16px 150px;
	background-repeat: no-repeat;
	background-position: 0 -32px;
	content: " ";
	width: 16px;
	height: 16px;
}

/* table Element
-------------------------------------------------- */
.tableBlock {
	padding: 3px 0;
}

.generalTable {
	margin-bottom: 15px;
}

.generalTable table {
	width: 100%;
	border-collapse: collapse;
	background: #ffffff;
}

.generalTableType1 th, .generalTableType1 td,
.generalTableType2 th, .generalTableType2 td,
.generalTableType6 th, .generalTableType6 td {
	border: 1px solid #cccccc;
	padding: 2px;
	vertical-align: top;
	position: relative;
}

.generalTableType6 th, .generalTableType6 td {
	text-align: center;
}

.generalTableType1 th, .generalTableType2 th, .generalTableType6 th {
	background: #fff3da;
	color: #000000;
	font-weight: bold;
	text-align: center;
	width: 30%;
}

.generalTableType6 th {
	background-color: #eeeeee;
}

.generalTableType6 th.alt,
.generalTableType6 td.alt {
	background: #fff3da;
	color: #000000;
	font-weight: bold;
	text-align: center;
	/*width: 50px;*/
}

.generalTableType1 th .image, .generalTableType2 th .image {
	margin-top: 15px;
}

@-moz-document url-prefix() {
	.generalTableType1 th, .generalTableType2 th {
		position: static;
	}
}

.generalTableType2 th {
	text-align: left;
	background: #eeeeee;
}

.generalTableType2 table.tableItem th {
	background: #fff;
	font-weight: normal;
}

.generalTableType2 table.tableItem th.thItem, .generalTableType2 table.tableItem td.tdValue {
	background: #eeeeee;
	font-weight: bold;
}

.generalTableType2 tr.total th {
	background: #fff3da;
}

.generalTableType2 tr.total td, .generalTableType2 tr.total th {
	color: #cc0000;
}

.generalTableType2 th.thMap {
	width: 94px;
}

.generalTableType2 th.thMap .btnMap {
	margin-left: 0px;
}

.generalTableType3 table, .generalTableType6 table {
	table-layout: fixed;
}

.generalTableType3 td, .generalTableType3 th {
	color: #333333;
	text-align: center;
	vertical-align: middle;
}

.generalTableType3 td:first-child {
	text-align: left;

}

.generalTableType3 th {
	text-align: center;
	padding: 0px;
}
.generalTableType3 th.grayCell {
	background: #999999;
	color: #ffffff;
	width: 3em;
	text-align: center;
	padding: 0px;
}

.generalTableType3 th.redCell {
	background: #ce0404;
	color: #ffffff;
	width: 80px;
	padding: 0px;
}

.generalTableType3 td.lastCell {
	background: #fff3da;
	padding: 0px;
}

.generalTableType4 th {
	text-align: left;
	font-weight: normal;
	color: #333333;
}

.generalTableType5 th {
	text-align: left;
	font-weight: normal;
	color: #ffffff;
	background: #999999;
}

.valignMiddle th, .valignMiddle td {
	vertical-align: middle !important;
}

.area_head td {
	background-color: #f3f3f3;
	border: solid #cccccc 1px;
	padding-left:5px;
	font-weight: bold;
}

.blank_line td {
	background-color: #ffffff;
	border:none;
	padding: 4px;
}

/* image Element
-------------------------------------------------- */
.image {
	padding: 3px 0;
}

.caption {
	margin: 3px 0 0;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.5;
	color: #000000;
}

/* hr Element
-------------------------------------------------- */
hr {
	margin: 20px 0;
	height: 1px;
	border: 0;
	border-top: 1px solid #ddd;
}

/* small
-------------------------------------------------- */
.small {
	font-size: 10px;
	font-size: 1rem;
}

/* btnBlock
-------------------------------------------------- */
.btnBlock .btn {
	margin: 0;
	padding: 3px 0;
}

.btnBlock .btn li {
	margin-bottom: 0;
	border-radius: 5px;
	list-style: none;
	text-align: center;
}

.btnBlock .btn li.btnInline {
	display: inline-block;
}

.btnBlock .btn a {
	display: block;
}

.btnBlock .btn .btnIcon {
	padding-left: 13px;
	position: relative;
}

.btnBlock .btn .btnIcon:before {
	position: absolute;
	content: ' ';
	background-image: url("/common/mypage/img/icon_1.png");
	background-size: 16px 150px;
}

.btnBlock li {
	position: relative;
	vertical-align: bottom;
}

.btnBlock .btnColorType1 {
	font-size: 10px;
	font-size: 1rem;
	color: #000000;
}

.btnBlock .btnColorType1 li {
	border: 1px solid #cccccc;
	background: #ffffff;
}

.btnBlock .btnColorType1 .btnIcon:before {
	width: 16px;
	height: 16px;
	left: 0;
	top: 0;
	background-position: -5px -32px;
}

.btnBlock .btnColorType1 a {
	padding: .5em 1em;
	color: #000000;
}

.btnBlock .btnColorType1.settleBtn {
	position: absolute;
	right: 0;
	top: 0;
	font-weight: bold;
}

.btnBlock .btnColorType1.settleBtn li {
	font-size: 12px;
	font-size: 1.2rem;
}

.btnBlock .btnColorType1.settleBtn a {
	padding: .8em 3em;
}

.btnBlock .btnColorType1.receiptBtn {
	position: absolute;
	right: 0;
	top: 0;
}

.btnBlock .btnColorType1.receiptBtn li {
	font-size: 10px;
	font-size: 1rem;
}

.btnBlock .btnColorType1.receiptBtn a {
	padding: .8em 2.5em;
}

.btnBlock .btnColorType2 {
	font-size: 14px;
	font-size: 1.4rem;
	color: #ffffff;
}

.btnBlock .btnColorType2 li {
	background: #cc0000;
}

.btnBlock .btnColorType2 .btnIcon:before {
	width: 16px;
	height: 16px;
	left: 0;
	top: 0;
	background-position: -5px -46px;
}

.btnBlock .btnColorType2 a {
	color: #ffffff;
}

/* bnrBlock
-------------------------------------------------- */
.bnrBlock li {
	margin-bottom: 15px;
	list-style: none;
}

/* siegeTextBox1
-------------------------------------------------- */
.siegeTextBox1 {
	margin: 0 0;
}

.siegeTextBox1 .body {
	padding: 50px 60px;
	background: #000000;
	line-height: 1.2;
	font-size: 14px;
	font-size: 1.4rem;
}

/* oneColumnsType1
-------------------------------------------------- */
.oneColumnsType1 {
	margin: 0 0;
}

/* twoIntoColumnsType1
-------------------------------------------------- */
.twoIntoColumnsType1 {
	margin: 0 0;
}

.twoIntoColumnsType1 .imageL {
	float: left;
	margin: 0 20px 20px 0;
}

.twoIntoColumnsType1 .imageR {
	float: right;
	margin: 0 0 20px 20px;
}

/* twoColumns
--------------------------------------------------

.twoColumns {
	margin: 0 0 ;
	@include clearfix;
	.column {
		margin-right: 30px;
		float: left;
	}
}

*/
/* twoColumnsType1
-------------------------------------------------- */
.twoColumnsType1 .column {
	width: 465px;
	box-sizing: border-box;
}

.twoColumnsType1 .columnEnd {
	margin-right: 0;
}

/* fourColumns
-------------------------------------------------- */
.fourColumns {
	margin: 0 0;
}

.fourColumns:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

/* fourColumnsType1
-------------------------------------------------- */
.fourColumnsType1 .column {
	width: 216px;
	margin: 0 32px 0 0;
	float: left;
}

.fourColumnsType1 .columnEnd {
	margin-right: 0;
	float: right;
}

/* newsBlock
-------------------------------------------------- */
.newsBlock {
	padding: 3px;
	border: 3px solid #eeeeee;
}

.newsBlock dl {
	padding: 10px;
	border-bottom: 1px dotted #eeeeee;
}

.newsBlock dl:last-of-type {
	border-bottom: 0;
}

/* detailBtnBlock
-------------------------------------------------- */
.detailBtnBlock {
	padding: 7px 10px;
	background: #dddddd;
	clear: both;
}

.detailBtnBlock .btn {
	font-weight: bold;
	font-size: 12px;
	font-size: 1.2rem;
}

.detailBtnBlock .btn li {
	margin-bottom: 5px;
}

.detailBtnBlock .btn li:last-child {
	margin-bottom: 0;
}

/* editBtnBlock
-------------------------------------------------- */
.editBtnBlock {
	padding: 7px 10px;
	background: #dddddd;
}

.editBtnBlock:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

.editBtnBlock .btn {
	font-weight: bold;
	font-size: 12px;
	font-size: 1.2rem;
}

.editBtnBlock .btn li {
	width: 49%;
}

.editBtnBlock .btn li:first-child {
	float: left;
}

.editBtnBlock .btn li:last-child {
	float: right;
}

/* orderBtnBlock
-------------------------------------------------- */
.orderBtnBlock:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	font-size: 0;
}

.orderBtnBlock .btn {
	font-weight: bold;
	font-size: 12px;
	font-size: 1.2rem;
}

.orderBtnBlock .btn li {
	padding: .8em 2em;
}

/* coupon
-------------------------------------------------- */

#coupon .bottom_copy {
	margin-bottom: 1em;
}

#coupon .bottom_catch {
	margin-bottom: 1em;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
}

#coupon .bottom_couponbook {
	margin-bottom: 2rem;
	padding: 15px;
	border: 10px solid #ececec;
}

#coupon .couponbook_img {
	margin-bottom: .8em;
	text-align: center;
}

#coupon .couponbook_img img {
	max-width: 100%;
}

#coupon .couponbook_note {
	font-size: 1rem;
	color: #666666;
}

#coupon .coupon_block {
	margin-bottom: 2em;
}

#coupon .coupon_block .coupon_name_txt {
	margin-bottom: 1.2em;
	border-bottom: 1px solid #cc0000;
	text-align: center;
	line-height: 1.3;
}

#coupon .coupon_block .coupon_companycatch {
	margin-bottom: 0;
}

#coupon .coupon_block .coupon_name {
	margin-bottom: .2em;
	font-weight: bold;
	font-size: 1.4rem;
}

#coupon .coupon_block .coupon_box {
	padding: 2px;
	background: #edd8ad;
}

#coupon .coupon_block .coupon_detail_block {
	padding: 2px;
	background: #fff3da;
}

#coupon .coupon_block .coupon_detail_inner {
	padding: 21px;
	border: 1px solid #edd8ad;
	background: url(/common/sp/img/coupon/bg_coupondetail_1.png) repeat;
	background-size: 6px 6px;
}

#coupon .coupon_block .coupon_off {
	margin-bottom: 1em;
	padding: .3em 10px;
	background: #f48809;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
}

#coupon .coupon_block .coupon_off p {
	margin-bottom: 0;
}

#coupon .coupon_block .coupon_off .coupon_note2 {
	font-weight: normal;
	font-size: 1rem;
}

#coupon .coupon_block .coupon_link {
	margin-bottom: 0;
	text-align: center;
	list-style: none;
	font-size: 1rem;
}

#coupon .coupon_block .coupon_link a {
	padding-left: 8px;
	color: #cc0000;
	background: url(/common/sp/img/coupon/ico_arrow_1.png) no-repeat left center;
	background-size: 3px 6px;
}

#coupon .coupon_link li {
	margin-bottom: 0;
}

#coupon .coupon_name_image {
	padding: 8px 12px;

}

#coupon .coupon_name_image {
	padding: 8px 12px;

}
#coupon .coupon_name_image a {
	display: block;
	text-align: center;
	background: #fff;
	position: relative;
}

.coupon_ico_search {
	position: absolute;
	right: 1px;
	top: 1px;
}

#coupon .coupon_img {
	width: 100%;
	max-width: 280px;
	height: auto;
}

#coupon .coupon_thumb {
		margin-bottom: 1em;
	text-align: center;
}

#coupon .coupon_thumb img {
	text-align: center;
	max-width: 304px;
}

#coupon .coupon_thumb_note {
	margin-left: 1em;
	margin: 0 auto;
	width: 160px;
	text-indent: -1em;
	font-size: .8em;
	color: #666666;
}

/* margin
-------------------------------------------------- */
.marginBottom0 {
	margin-bottom: 0 !important;
}

.margin0 {
	margin: 0 !important;
}

.marginBottom32 {
	margin-bottom: 20px !important;
}

.marginBottom15 {
	margin-bottom: 15px !important;
}

.marginBottom5 {
	margin-bottom: 5px !important;
}

.marginBottom20 {
	margin-bottom: 20px !important;
}

.marginTop15 {
	margin-top: 15px !important;
}

.marginTop10 {
	margin-top: 10px !important;
}

.marginTop5 {
	margin-top: 5px !important;
}

/* padding
-------------------------------------------------- */
.paddingTop0 {
	padding-top: 0 !important;
}

.paddingBottom0 {
	padding-bottom: 0 !important;
}

/* displaytable
-------------------------------------------------- */
.displayTable {
	display: table;
	width: 100%;
}

.displayTable .tableCell {
	display: table-cell;
	vertical-align: middle;
}

.tableRow {
	display: table-row;
}

.valignTop .tableCell:first-child {
	padding-right: 5px;
}

.valignTop .tableCell {
	vertical-align: top;
}

.tableMin {
	width: 30px;
}

/* listStyle
-------------------------------------------------- */
ul.listStyle1 {
	list-style: disc;
	margin-left: 15px;
}

ul.listStyle1 li {
	margin-bottom: 0;
}

ol.parentheses > li {
	list-style-type:none;
	list-style-position:outside;
	counter-increment: number;
	margin-bottom: 5px;
}
ol.parentheses > li:before {
	display: marker;
	margin-left:-3em;
	content: "(" counter(number) ") ";
}
ol.parentheses_r > li {
	list-style-type:none;
	list-style-position:outside;
	counter-increment: i;
	margin-bottom: 5px;
}
ol.parentheses_r > li:before {
	display: marker;
	margin-left:-4em;
	content: counter(i, lower-roman) ") ";
}
ol.round_num {
	position: relative;
	margin:0;
	padding-left:6px!important;
}
ol.round_num > li {
	list-style-type: none;
	margin:0;
	padding-left:1rem;
}

ol.round_num > li > span {
	position: absolute;
	left:0;
	margin:0
}

ul.list-style_none{
	list-style: none;
}

/* train line icons
-------------------------------------------------- */
.trainE, .trainF {
	display: inline-block;
	padding-left: 20px;
	background: url("/common/sp/img/icon_train_e.png") left center no-repeat;
	background-size: 15px;
	margin-right: 10px;
}

.trainF {
	background-image: url("/common/sp/img/icon_train_f.png");
}

/*matcha*/
ul.station_way{
	margin-left: 13px;
}
ul.station_way li span.underline{
    display: inline-block;
    margin-bottom: 3px;
}
.underline.yellow{
	border-bottom: 3px solid #FFE500;
}
.underline.blue{
	border-bottom: 3px solid #0074BE;
}
.underline.red{
	border-bottom: 3px solid #E14131;
}
.underline.green{
	border-bottom: 3px solid #B0C124;
}

.trainJB, .trainJO, .trainA, .trainS {
	display: inline-block;
	padding-left: 20px;
	background: url("/common/sp/img/icon_train_jb.png") left top 1px no-repeat;
	background-size: 15px;
	margin-right: 10px;
}

.trainJO {
	background-image: url("/common/sp/img/icon_train_jo.png");
}

.trainA {
	background-image: url("/common/sp/img/icon_train_a.png");
}

.trainS {
	background-image: url("/common/sp/img/icon_train_s.png");
}

.data-2 {
	display: none;
}

/* privacyList
-------------------------------------------------- */
.privacyList {
	padding-left: 10px;
}

.privacyList .noStyle {
	list-style: none;
}

.privacyList ol, .privacyList ul {
	padding-left: 20px;
	word-break: break-all;
}

.privacyListType2 {
	margin-left: 20px;
}
.airport_notice {
	border: 1px solid #cccccc;
	background: #f3f3f3;
}
.airport_notice .notice_title{
	text-align: center;
	color: #ff0000;
	margin-top: 10px;
	font-weight: bold;
}
.airport_notice .notite_txt {
	margin: 5px;
}
.airport_notice .notice_detail{
	margin: 0 auto;
	width: 75%;
	margin-bottom: 20px;
	font-weight: bold;
}
.airport_notice table td{
	font-weight: bold;
}

/* font
-------------------------------------------------- */
.txt_12 {
	font-size: 12px;
}

/* social banner
-------------------------------------------------- */
.snsArea{
	margin-top: 10px;
}
.sns {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-top: 10px;
}
.sns .left {
	margin-right: 5px;
}

.sns a{
	margin: 0 10px;
}

.sns img{
	vertical-align: top;
	height: 40px;
}

/* 空港カウンター
-------------------------------------------------- */
.apBlock {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 310px;
	background-image:url(/common/sp/img/receive/img_airport_map.jpg?date=20230706);
	background-repeat:no-repeat;
	background-position: 10px 0px;
	background-size: 100% 100%;
}
.apBlock .apText {
	width:240px;
	padding-left:10px;
}

.apBlock .apText p.apTextHead {
	color:#ce0000;
	font-size:16pt;
	font-weight:bold;
	font-family:Arial;
	margin: 0px 0px 0px 0px !important;
}

/* Map空港カウンター
-------------------------------------------------- */
.mapBlock {
	width: 100%;
	text-align: left;
}

.mapBlock .btn_airport_map {
	display: inline-block;
	position: relative;
	width: 30%;
	line-height:30px;
	border: solid #000000 1px;
	border-radius: 0.2em;
	background-color: #ffffff;
	text-align: center;
	color: #000000 !important;
	font-size: 9pt;
	font-weight: bold;
	margin-right: 2%;
	margin-bottom: 7px;
	padding: 2px;
	padding-right: 5px;
}

.mapBlock .btn_airport_map:after {
	content: "\025bc";
	font-size: 9pt;
	color: #cc0000;
	position: absolute;
	top: 3px;
	right: 8px;
}

/* 新規デザイン（esim） 共通CSS */
.layoutArea .wrapper{
	width: 100%;
	padding: 50px 20px;
}
.layoutArea h2{
	font-weight: bold;
	font-size: 1.5rem;
	margin-bottom: 20px;
}
.layoutArea p{
	font-size: 14px;
	margin-bottom: 0;
}
.font-montserrat{
    font-family: "Montserrat";
}

/* margin
-------------------------------------------------- */
.mgt10 {
	margin-top:10px !important;
}
.mgt40 {
	margin-top:40px !important;
}