@charset "UTF-8";

/* ======================================================
 * layout.css
 -------------------------------------
 * PC Layout
 * 1-1 Body
 * 1-2 Header
 * 1-3 Contents
 * 1-4 Footer
 -------------------------------------
 * 2 colorbox
 -------------------------------------
 * 3 Clearfix
====================================================== */
/*
	01 PC Layout
=====================*/
/* 1-1 Body
------------------------------------------------------ */
* {
	box-sizing: border-box;
}

body {
	font-size: 1.4rem;
	line-height: 1.5;
}

img,
input[type="image"] {
	max-width:100%;
	height: auto;
}
select,
button {
	cursor: pointer;
}
.siteInner {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#topicPath {
	margin-top: 15px;
}
#topicPath li {
	font-size: 1.2rem;
	display: inline-block;
	margin-right: 5px;
}
#topicPath li + li:before {
	content: ">";
	margin-right: 10px;
}

/*  imageRollover  */
#header .topRow .functionArea .selectLang dt {
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#header .topRow .functionArea .selectLang dt:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
}


/*1-2 Header
------------------------------------------------------ */
#header {
}
#header .topRow {
	background-color: #f7f7f7;
}
#header .topRow .siteInner {
	padding-top: 8px;
	padding-bottom: 8px;
}
#header .topRow .boxMember {
	float: left;
	line-height: 28px;
}
#header .topRow .boxMember li {
	line-height: 1.2;
	display: inline-block;
	padding-top: 2px;
	color: #5c5c5c;
}
#header .topRow .boxMember li + li {
	padding-left: 10px;
	border-left: 1px solid #a6a6a6;
}
#header .topRow .functionArea {
	float: right;
}
#header .topRow .functionArea > * {
	display: inline-block;
	margin-left: 5px;
	position: relative;
}
#header .topRow .functionArea .boxSearch {
	background-color: #FFF;
	width: 180px;
	height: 28px;
	padding-right: 30px;
	border: 1px solid #cccccc;
	vertical-align: bottom;
}
#header .topRow .functionArea .boxSearch input {
	font-size: 1.2rem;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: none;
}
#header .topRow .functionArea .boxSearch button {
	background-color: #FFF;
	background-image: url(/img/common/com_ic01.png);
	background-repeat: no-repeat;
	height: 19px;
	width: 18px;
	margin-top: -10px;
	position: absolute;
	top: 50%;
	right: 5px;
	border-style: none;
}
#header .topRow .functionArea .boxSearch button span {
	display: none;
}
#header .topRow .functionArea .boxSearch .txtEx {
	top: 0;
	margin-top: 0;
	line-height: 26px;
}
.safari #header .topRow .functionArea .boxSearch .txtEx {
}

#header .topRow .functionArea .selectLang {
	background-color: #FFF;
	width: 160px;
	height: 28px;
	position: relative;
	z-index: 10;
}
/*#header .topRow .functionArea .selectLang:before {
	content: "";
	content: "Language";
	font-size: 1.3rem;
	color: #09529f;
	display: block;
	padding-left: 33px;
	padding-top: 5px;
	height: 100%;
	position: absolute;
	left: 6px;
	top: 0px;
	pointer-events: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#header .topRow .functionArea .selectLang:after {
}*/
#header .topRow .functionArea .selectLang select {
	font-size: 1.3rem;
	color: #09529f;
	line-height: 1.1;
	background-color: #FFF;
	background-image: url(/img/common/com_ic02.png);
	background-repeat: no-repeat;
	background-position: 6px center;
	background-size: 19px auto;
	height: 100%;
	width: 100%;
	padding-left: 39px;
	/*text-indent: 39px;*/
	border: 1px solid #98afc8;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}
/*#header .topRow .functionArea .selectLang select:selected {
	padding-left: 50px;
}*/
#header .topRow .functionArea .selectLang select::-ms-expand {
	display: none;
}
#header .topRow .functionArea .selectLang:after {
	content: "";
	height: 6px;
	width: 6px;
	border-right: 1px solid #0b58bb;
	border-bottom: 1px solid #0b58bb;
	margin-top: -6px;
	position: absolute;
	top: 50%;
	right: 10px;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#header .topRow .functionArea .selectLang form {
	height: 100%;
}

#header .topRow .functionArea .selectFontsize {
	margin-left: 15px;
}
#header .topRow .functionArea .selectFontsize > * {
	display: inline-block;
	vertical-align: middle;
}
#header .topRow .functionArea .selectFontsize ul li {
	color: #0b58bb;
	border: 1px solid #0b58bb;
	background-color: #fff;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	padding-top: 3px;
	width: 28px;
	height: 28px;
	cursor: pointer;
}
#header .topRow .functionArea .selectFontsize li.current {
	color: #8da7c3;
	border: 1px solid #8da7c3;
}

#header .logoArea {
	display: table;
	min-height: 78px;
}
#header .logoArea p {
	font-size: 1.2rem;
	color: #6e6e6e;
	vertical-align: bottom;
	display: table-cell;
	padding: 10px 20px 12px 0px;
}
#header .linkArea {
	position: absolute;
	top: 10px;
	right: 0px;
}
#header .linkArea .selectGuest {
	text-align: right;
}
#header .linkArea .selectGuest li {
	display: inline-block;
	margin-left: 12px;
}
#header .linkArea .selectGuest li:before {
	content: "";
	display: inline-block;
	margin-right: 7px;
	height: 6px;
	width: 6px;
	border-right: 1px solid #888888;
	border-bottom: 1px solid #888888;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: relative;
	top: -2px;
}
#header .linkArea .mypageArea {
	margin-top: 8px;
}
#header .linkArea .mypageArea li {
	display: table;
	float: left;
	height: 30px;
	margin-right: 10px;
}
#header .linkArea .mypageArea li:last-child {
	margin-right: 0px;
}
#header .linkArea .mypageArea li a {
	color: #333333;
	background-image: url(/img/common/com_ic03.png);
	background-repeat: no-repeat;
	background-position: 20px center;
	display: table-cell;
	vertical-align: middle;
	border: 1px solid #8da7c3;
	padding: 2px 17px 2px 45px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
#header .linkArea .mypageArea li a:hover {
	text-decoration: none;
	background-color: #d9eafc;
}
#header .linkArea .mypageArea li.reservation a {
	background-image: url(/img/common/com_ic04.png);
}
#header .linkArea .mypageArea li.favorite a {
	background-image: url(/img/common/com_ic05.png);
}

#header nav {
	border-top: 2px solid #09529f;
	border-bottom: 1px solid #e5e5e5;
}
#header nav ul {
	display: table;
	border-collapse:collapse;
}
#header nav ul li {
	display: table-cell;
}
#header nav ul li a {
	font-size: 1.5rem;
	color: #333333;
	font-weight: bold;
	background-image: url(/img/common/com_ic10.png);
	background-repeat: no-repeat;
	background-position: 24px center;
	display: block;
	padding: 10px 0px 10px 55px;
	position: relative;
}
#header nav ul li a:before,
#header nav ul li:last-child a:after {
	content: "";
	height: 20px;
	width: 1px;
	margin-top: -10px;
	position: absolute;
	left: 0px;
	top: 50%;
	border-left: 1px solid #e8edf3;
}
#header nav ul li:last-child a:after {
	left: auto;
	right: 0px;
}
#header nav ul li a:hover:before,
#header nav ul li:last-child a:hover:after,
#header nav ul li.current a:before {
	border-left: 1px solid #09529f;
}
#header nav ul li.feature a {
	background-image: url(/img/common/com_ic06.png);
}
#header nav ul li.campaign a {
	background-image: url(/img/common/com_ic07.png);
}
#header nav ul li.support a {
	background-image: url(/img/common/com_ic08.png);
}
#header nav ul li.club a {
	background-image: url(/img/common/com_ic09.png);
	padding-left: 63px;
}
#header nav ul li a:hover,
#header nav ul li.current a {
	color: #fff;
	text-decoration: none;
	background-color: #09529f;
}
#header nav ul li.search a:hover,
#header nav ul li.search.current a {
	background-image: url(/img/common/com_ic10_on.png);
}
#header nav ul li.feature a:hover,
#header nav ul li.feature.current a {
	background-image: url(/img/common/com_ic06_on.png);
}
#header nav ul li.campaign a:hover,
#header nav ul li.campaign.current a {
	background-image: url(/img/common/com_ic07_on.png);
}
#header nav ul li.support a:hover,
#header nav ul li.support.current a {
	background-image: url(/img/common/com_ic08_on.png);
}
#header nav ul li.club a:hover,
#header nav ul li.club.current a {
	background-image: url(/img/common/com_ic09_on.png);
}


/*1-3 Contents
------------------------------------------------------ */
#contents {
	margin-top: 20px;
}
#contents #mainArea {
	float: left;
	width: 802px;
}
#contents #sideArea {
	float: right;
	margin-left: 40px;
	width: 258px;
}
#contents.fullSize #mainArea > * {
	float: none;
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
#main.print {
	padding-bottom: 60px;
}
#main.iframe {
	padding: 20px 50px 50px;
}
#main.iframe #contents.fullSize {
	margin-top: 0;
}
#main.iframe #contents.fullSize #mainArea > * {
	width: 100%;
}

#contents.fullSize #mainArea {
	float: none;
	width: 100%;
}

#contents.fullSize #mainArea .fullSize {
	width: 100%;
}

#sideArea .navMymenu h2 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFF;
	background-color: #09529f;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 18px;
}
#sideArea .navSecond > *:first-child {
	margin-top: 0 !important;
}
#sideArea .navSecond h2 a,
#sideArea .navSecond h2 span {
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFF;
	background-color: #09529f;
	text-align: center;
	display: block;
	padding-top: 20px;
	padding-bottom: 18px;
}
#sideArea .navMymenu dl,
#sideArea .navSecond ul {
	border: 1px solid #CCC;
	border-top: none;
	padding-bottom: 20px;
}
#sideArea .navMymenu dl dt {
	font-size: 1.6rem;
	font-weight: bold;
	background-color: #f7f7f7;
	padding: 15px 10px 13px 20px;
}
#sideArea .navMymenu dl dd,
#sideArea .navSecond ul {
	padding-right: 10px;
	padding-left: 10px;
}
#sideArea .navMymenu dl dd ul li + li,
#sideArea .navSecond ul li + li {
	border-top: 1px solid #CCC;
}
#sideArea .navMymenu dl dd:last-child ul li + li:last-child,
#sideArea .navSecond ul li:last-child {
	border-bottom: 1px solid #CCC;
}
#sideArea .navMymenu dl dd ul li a,
#sideArea .navSecond ul li a {
	background-image: url(/img/common/com_ic18.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	display: block;
	padding: 12px 0px 10px 45px;
	color: #333;
}
#sideArea .pointerEventNone {
	pointer-events: none;
	background-color: #cecece !important;
}
#sideArea .color {
	color: #888888;
}
#sideArea .navSecond ul li a {
	background-image: url();
	padding: 12px 15px 10px 5px;
	position: relative;
}
#sideArea .navSecond ul li a:after {
	content: "";
	display: inline-block;
	margin-top: -5px;
	height: 6px;
	width: 6px;
	border-right: 1px solid #888;
	border-bottom: 1px solid #888;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 3px;
}
#sideArea .navMymenu dl dd ul li.current a,
#sideArea .navMymenu dl dd ul li a:hover,
#sideArea .navSecond ul li.current a,
#sideArea .navSecond ul li a:hover {
	font-weight: bold;
	color: #09529f;
	text-decoration: none;
}
#sideArea .navMymenu dl dd ul li.current a,
#sideArea .navSecond ul li.current a {
	webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}
#sideArea .navMymenu dl dd ul li.icn02 a {
	background-image: url(/img/common/com_ic19.png);
}
#sideArea .navMymenu dl dd ul li.icn03 a {
	background-image: url(/img/common/com_ic20.png);
}
#sideArea .navMymenu dl dd ul li.icn04 a {
	background-image: url(/img/common/com_ic21.png);
}
#sideArea .navMymenu dl dd ul li.icn05 a {
	background-image: url(/img/common/com_ic22.png);
}
#sideArea .navMymenu dl dd ul li.icn06 a {
	background-image: url(/img/common/com_ic23.png);
}
#sideArea .navMymenu dl dd ul li.icn07 a {
	background-image: url(/img/common/com_ic24.png);
}
/* 追加 P18028_2019GWキャッシュレスキャンペーン対応 2019.04.26 START*/
#sideArea .navMymenu dl dd ul li.icn11 a {
	background-image: url(/img/common/com_ic97.png);
	background-size: 25px 20px;
}
/* 追加 P18028_2019GWキャッシュレスキャンペーン対応 2019.04.26 END */
#sideArea .personalArea {
	padding-bottom: 15px;
	background-color: #ffffff;
	border: solid 1px #f2f2f2;
	border-top: solid 2px #09529f;
}
#sideArea .personalArea > *:first-child {
	margin-top: 0 !important;
}
#sideArea .personalArea .personalInfo {
	padding: 15px 20px;
	text-align: center;
}
#sideArea .personalArea > .heading {
	margin-top: 20px;
	padding: 10px 20px;
	background-color: #d7ebff;
	font-weight: bold;
	font-size: 15px;
	font-size: 1.5rem;
}
#sideArea .personalArea > .inner {
	margin-top: 15px;
	padding: 0 20px;
}
#sideArea .personalArea > .inner > *:first-child {
	margin-top: 0 !important;
}
#sideArea .personalArea .personalInfo .name {
	position: relative;
	padding: 0 1em;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
}
#sideArea .personalArea .personalInfo .name span {
	position: absolute;
	right: 0;
	bottom: 0;
	font-weight: normal;
}
#sideArea .personalArea .personalInfo .type01 {
	margin-top: 10px;
	padding: 3px;
	background-color: #f1f0da;
	border: solid 1px #b9aa8d;
	line-height: 1.4;
}
#sideArea .personalArea .questionIcon a {
	display: inline-block;
	padding-left: 20px;
	background: url(/img/common/com_ic25.png) no-repeat 0 0.1em;
	font-size: 13px;
	font-size: 1.3rem;
}
#sideArea .personalArea .pointText {
	padding: 10px;
	background-color: #f1f0da;
	font-weight: bold;
	font-size: 15px;
	font-size: 1.5rem;
	text-align: center;
}
#sideArea .personalArea .holdingPoint {
	margin-top: 15px;
	padding: 0 10px;
	text-align: center;
	line-height: 1;
}
#sideArea .personalArea .questionIcon {
	text-align: center;
}
#sideArea .personalArea .holdingPoint span {
	display: inline-block;
	margin-right: 3px;
	font-weight: bold;
	font-size: 28px;
	font-size: 2.8rem;
}



/*1-4 Footer
------------------------------------------------------ */
#footer {
	margin-top: 60px;
}
#footer .footBnr {
	background-color: #f5f4eb;
	padding-top: 1px;
	padding-bottom: 20px;
}
#footer .footBnr li {
	float: left;
	width: 204px;
	margin-right: 19px;
	margin-top: 20px;
}
#footer .footBnr li:nth-child(5n) {
	margin-right: 0px;
}
#footer .footLink {
	text-align: center;
	background-image: url(/img/common/com_bg01.png);
	background-repeat: repeat;
	background-position: center top;
	padding-top: 30px;
	padding-bottom: 30px;
}
#footer .footLink li {
	display: inline-table;
	margin-right: -5px;
}
#footer .footLink li + li {
	border-left: 1px solid #a38779;
}
#footer .footLink li a {
	font-size: 1.2rem;
	color: #FFF;
	display: block;
	padding-right: 12px;
	padding-left: 12px;
}
#footer .footLink .txtCopy {
	font-size: 1.3rem;
	color: #c0a585;
	margin-top: 15px;
}

#pageTopBtn {
	position: fixed;
	right: 20px;
	bottom: 80px;
}


/* 02 colorbox
------------------------------------------------------ */
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#000;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{border:5px solid #000; background:#fff;}
        #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
        #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
        #cboxLoadingGraphic{background:url(/img/common/cbLoading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
        #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(/img/common/cbControls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
        #cboxPrevious:hover{background-position:bottom left;}
        #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(/img/common/cbControls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
        #cboxNext:hover{background-position:bottom right;}
        #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(/img/common/cbControls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{background-position:bottom center;}

/* colorbox overwrite */
#cboxOverlay {
	opacity: 0.5;
	filter: alpha(opacity = 50);
}
#cboxLoadedContent {
	border: none;
}
#cboxClose {
	text-indent: -9999px;
	width: 25px;
	height: 25px;
	background: #ffffff;
	position: absolute;
	top: 15px;
	right: 30px;
	border: 1px solid #09529f;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}
#cboxClose:before {
	content: "×";
	color: #09529f;
	line-height: 1;
	font-size: 2.6rem;
	text-indent: 0px;
	position: absolute;
	top: -4px;
	left: 2px;
}
.modalWrap {
	display: none;
}


/* 03 Clearfix
------------------------------------------------------ */
#header .topRow .siteInner:after,
#header .linkArea .mypageArea:after,
#footer .footBnr ul:after,
#contents:after,
.anchorList02:after {
  content: "";
  display: block;
  clear: both;
}

/* 追加 C24001 START ひとりプラン表示 2024.06.30 中尾友彦 */
.singlePlan {
	background-color: #00489D;
	border: 7px #00489D solid;
	margin-top: 100px;
	color: #FFFFFF;
}
.singlePlan span {
	padding-bottom: 1px;
}

.dateSinglePlan {
	background-color: #00489D;
	border: 7px #00489D solid;
	color: #FFFFFF;
}
.dateSinglePlan span {
	padding-bottom: 1px;
}
/* 追加 C24001 END */
