header {
    width: 100%;
    position: relative;
	background:#000;
}

#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
}

#top-head .in {
    position: relative;
}

#top-head h1.logo img {
	max-height:50px;
}

.in {
    background: #000;
    width: 100%;
    max-width: 2200px;
    margin-right: auto;
    margin-left: auto;
    height: 82px;
    padding: 1.5vh 4vh;
    box-sizing: border-box;
}

.title_wrap {
    width: 100%;
    background: #081975;
    padding: 20px 0;
}

.title_wrap .box {
    max-width: 1150px;
    padding: 20px 0px;
    margin: 0 auto;
}


.title_wrap .box p {
    font-size: 25px;
    color: #FFF;
}

.progress_wrap {
    width: 100%;
    background: #DCDCDC;
    padding: 20px 0;
    margin-bottom: 30px;
}
.progress_wrap ul {
    width: 1150px;
    margin: 0 auto;
}

.progress_wrap ul li.txt {
    font-size: 14px;
    color: #03313E;
    background: #FFF;
    padding: 5px 0;
    width: 195px;
}

.progress_wrap ul li {
    text-align: center;
    float: left;
}

.progress_wrap ul li:nth-child(even) {
    width: 40px;
    text-align: center;
    padding: 5px 0;
}


.progress_wrap ul li.txt.now {
    background: #03313E;
    color: #FFF;
}

#top-head {
	position:relative;
}

#top-head h1.logo {
    float: left;
    margin: 0px 20px 0 10px;
    padding: 0;
    width: auto;
    max-width: 150px;
}

#top-head h2 {
	line-height:2em;
	font-size:30px;
	font-weight:bold;
	padding:0px 0 0 40px;
}

.agreeTtl i {
	color:#f00;
}

.agreeTtl p {
	font-weight:bold;
}

span.mustEnq,
span.mustTxt,
.overview .table .table_left span,
.overview .table .table_up span {
    display: inline-block;
	font-size: 11px;
    color: #FFF;
    background: #C00;
    /*width: 3em;*/
    text-align: center;
    padding: 1px 6px;
    margin-left:0.5em;
}
span.mustTxt {
	margin-left:0;
	margin-right:0.5em;
}


/* footer
-----------------------------------*/

footer {
    width: 100%;
    margin: 0 auto;
    position: relative;
    color:#fff;
}
footer a:link,
footer a:visited,
footer a:hover {
	color:#fff;
}

footer #footerContact {
    background-color: #000;
    border-bottom: 1px solid #505050;
    padding: 0 40px;
}

footer #footerContact > div.mainArea {
    display: table;
    height: 150px;
}

footer #footerPrivacy {
    background-color: #000;
    padding: 0 40px;
}

footer #footerPrivacy > div.mainArea {
    display: table;
    height: 150px;
}

footer {
	background:none;
	text-align:left;
}

footer #footerContact > div.mainArea > div.title span {
    display: inline-block;
    color: #000;
    background-color: #fff;
    padding: 0.9em 2.5em;
}

footer #footerContact > div.mainArea > div {
    display: table-cell;
    font-size: 1.2em;
    line-height: 2;
    color: #fff;
    vertical-align: middle;
}

footer #footerContact > div.mainArea > div.text p br {
    display: none;
}
footer #footerContact > div.mainArea > div.title {
    padding: 0 20px 0 0;
}



footer #footerSubnav {
    background-color: #262626;
    padding: 3em 40px 60px;
}

footer #footerSubnav ul {
    float: left;
}

footer #footerSubnav ul li {
    float: left;
    color: #fff;
}
footer #footerSubnav ul:after {
    content: "";
    display: block;
    clear: both;
}
footer #footerSubnav p {
    float: right;
}

footer #footerSubnav ul li a {
    font-size: 1.2em;
    color: #fff;
    text-decoration: none;
}

footer #footerSubnav ul li+li:before {
    content: "/";
    padding: 0 1em;
}

footer #footerSubnav ul:after {
    content: "";
    display: block;
    clear: both;
}

footer #footerSubnav p small {
    color: #fff;
    font-size:1.1em;
}

.overview .table .table_left {
    width: 30%;
    vertical-align: middle;
    background-color: #fff;
    padding: 8px;
    font-weight: normal;
}
.overview .table td {
    border: 0;
    border-bottom: dotted 1px #ccc;
}


dl.table {

}
dl.table dt{
  float: left;
}

dl.table dd {
  margin-left: 1.1em;
}
dl.table:after {
    content: "";
    display: block;
    clear: both;
}

ul.circle {
    margin-left: 1.5em;
    list-style-type: disc;

}

a.accordion {
	display:inline-block;
	cursor:pointer;
	margin-bottom:1em;
}
a.accordion:link,
a.accordion:visited {
	color:#36c;
	text-decoration:underline;
}
a.accordion:hover,
a.accordion:active {
	color:#f00;
	text-decoration:none;
}



.profileBox {
	font-size:1.4em;
}
.profileBox .tblSchedule {
	width:100%;
}
.profileBox .tblSchedule th,
.profileBox .tblSchedule td {
	padding:0.5em;
	/*padding-bottom:1em;*/
	vertical-align: top!important;
	
	border-bottom:dotted 1px #ccc;
}

.profileBox .tblSchedule td.subBg {
	border:0;
	background:#b5d2f5;
	width:100%;
}

.profileBox .tblSchedule th {
	white-space:nowrap;
	width:15%;
}

.profileBox .tblSchedule td p.title {
	font-weight:bold;
	margin-bottom:1em;
	color:#0909c1;
	font-size:1.1em;
}
.profileBox .tblSchedule td p.title span {
	display:inline-block;
	background:#fff;
	border:solid 1px #5185c5;
	color:#5185c5;
	padding:0.2em 1em;
}

.profileBox .tblSchedule td .outline {
	display:none;
	margin-bottom:1em;
	padding:1.5em;
	background:#fff;
}


.profileBox .tblSchedule td p.spk {
	margin-bottom:0.5em;
}
.profileBox .tblSchedule td p.spk span {
	font-weight:bold;
}

.profileBox .tblSchedule td p.spk a.spkDtl {
	display:inline-block;
	margin:0.2em 0;
}
.profileBox .tblSchedule td p.spk a.spkDtl:link,
.profileBox .tblSchedule td p.spk a.spkDtl:visited {
	color:#36c;
	text-decoration:underline;
}
.profileBox .tblSchedule td p.spk a.spkDtl:hover,
.profileBox .tblSchedule td p.spk a.spkDtl:active {
	color:#f00;
	text-decoration:none;
}
.profileBox .tblSchedule td p.siteUrl a:link,
.profileBox .tblSchedule td p.siteUrl a:visited {
	color:#36c;
	text-decoration:underline;
}
.profileBox .tblSchedule td p.siteUrl a:hover,
.profileBox .tblSchedule td p.siteUrl a:active {
	color:#f00;
	text-decoration:none;
}

.profileBox .tblSchedule th.noBdr,
.profileBox .tblSchedule td.noBdr {
	border-bottom:0;
}

.profileBox .tblSchedule th span {
	display:inline-block;
	background:#5185c5;
	color:#fff;
	padding:0.3em 1em;
}

.profileBox .tblSchedule td p {
	word-break: break-all;
}


table.tblKome {

}
table.tblKome th,
table.tblKome td {
	vertical-align:top;
}
table.tblKome th {
	white-space:nowrap;
}

#updown {
    font-size: 25px;
    color: #00a1e0;
    background: #fff;
    text-align: center;
    z-index: 1000;
    position: fixed;
    right: 10px;
    bottom: 10px;
    border-radius: 18px;
    box-shadow: 0 1px 5px rgba(0,0,0,0.2);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;
    transition: opacity 0.2s ease-in-out, visibility 0s 0.2s;

    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s, 0s;
    transition-delay: 0s, 0s;

}

#updown a {
    line-height: 36px;
    color: #00a1e0;
    display: block;
    height: 36px;
    width: 36px;
}


[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


#updown .down:before {
    content: "";
    display: block;
    background: #ded6cf;
    width: 18px;
    height: 1px;
    margin: 0 auto;
}
.icon-up:before {
    content: "\e903";
}
.icon-down:before {
    content: "\e904";
}

:after, :before {
    box-sizing: border-box;
}

.semiChkBox .txt {
	font-weight:bold;
}


/* Fixed */
#top-head.fixed {
	background:#fff;
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 0px;
    height: 70px;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
/*#top-head.fixed .logo {margin: 10px 0 0 0;}*/
/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 16px;
	top: 20px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #000;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}



/*----------ナビゲーション----------*/
#navigation{
  position: fixed;
  display: none;
  width: 100%;
  height: 100vh;
  top: 70px;
  left: 0;
  background-color: #fff;
  z-index: 99998;
}
#navigation .navigation_inner{
  display: table;
  width: 100%;
  height: 100%;
    font-size:0;
}
#navigation .navigation_inner .navigation_menu{
  display: table-cell;
  vertical-align: top;
	margin: 0 auto;
	padding: 0;
	background:  linear-gradient(90deg, #0068B4, #00AFDD);
}
#navigation .navigation_inner .navigation_menu .navigation_item{
  width: 20%;
  height: 46vh;
	display:inline-table;
	border-bottom: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
}
#navigation .navigation_inner .navigation_menu .navigation_item:nth-child(5){
	border-right: none;
}
#navigation .navigation_inner .navigation_menu .navigation_item:last-child{
	border-right: none;
}
#navigation .navigation_inner .navigation_menu .navigation_item p{
	margin: 0;
	padding: 48% 0 0;
	line-height: 1.6;
	
}
#navigation .navigation_inner .navigation_menu .navigation_item a{
	display: table-cell;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
#navigation .navigation_inner .navigation_menu .navigation_item a:link {color: #fff;text-decoration: none;}
#navigation .navigation_inner .navigation_menu .navigation_item a:visited { color: #fff; text-decoration: none;}
#navigation .navigation_inner .navigation_menu .navigation_item a:hover { background:#fff; color: #0068B4; text-decoration: none; }
#navigation .navigation_inner .navigation_menu .navigation_item a:active { background:#fff; color: #0068B4; text-decoration: none;}

#navigation .navigation_inner .navigation_menu .out {
  background:#F0AB00;
	vertical-align: top;
}
#navigation .navigation_inner .navigation_menu .out a:hover { background:#fff; color: #F0AB00; text-decoration: none; }
#navigation .navigation_inner .navigation_menu .out a:active { background:#fff; color: #F0AB00; text-decoration: none;}


span#totalPrice {
	font-size:150%;
	font-weight:bold;
}

#infoArea {
	font-size:140%;
}
#infoArea .featherlight .featherlight-content{
	padding:1em;
}

a.txtLink:link,
a.txtLink:visited {
	color:#36c;
	text-decoration:underline;
}
a.txtLink:hover,
a.txtLink:active {
	color:#c00;
	text-decoration:none;
}

ul.ulPtn {
	margin-bottom:1em;
}

ul.ulPtn li {
	float:left;
	margin-right:2em;
}


#footerPri,
#footerAten {
	font-size:140%;
}

.profileBox .tblSchedule td p.spk a.spkDtl {
	display:none;
}

/* -----------------------------------------------
ヘッダー・グローバルナビ部分
----------------------------------------------- */
@media only screen and (max-width:768px) {

    #top-head,
    .inner {
        width: 100%;
        padding: 0;
		height:60px;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
		text-align:left;
		z-index: 99;
    }
	#navigation .navigation_inner .navigation_menu .navigation_item{
	  width: 50%;
	  height: 14.6vh;
	}
	#navigation .navigation_inner .navigation_menu .navigation_item:nth-child(even){
		border-right: none;
	}
	#navigation .navigation_inner .navigation_menu .navigation_item a{
	  font-size: 1rem;
	}
	
	
	body.timeSchedule #top-head .logo {
		margin:0;
	}
	body.timeSchedule #title {
		margin: 60px auto 0;
	}
	
	body.timeSchedule #top-head.fixed .logo img,
	body.timeSchedule #top-head .logo img {
		margin:0;
		position:relative;
		top:0;
		left:0;
	}


    #top-head,
    .in {
        width: 100%;
        padding: 0;
		height:80px;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
		text-align:left;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {

    }
    #top-head.fixed .logo,
    #top-head .logo {
        position: absolute;
		margin: 0;
        left: 14px;
        top: 16px;
	}
    #top-head.fixed .logo img,
    #top-head .logo img{
		height:auto;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -508px;
		right:0;
        width: 100%;
        padding: 12px 0 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        font-size: 18px;
		text-align:left;
		margin:0;
		padding:0;
		line-height:30px;
		width:100%;
		
    }
    #global-nav ul li {
	box-sizing: border-box;
	display:block;
	padding:0;
	margin:0 auto 0;
	border-bottom:solid 1px #ccc;
	background:  linear-gradient(90deg, #0068B4, #00AFDD);
    }
    #global-nav ul li:last-child {
		border-bottom:none;
    }
    #global-nav ul li.out {
	  background: linear-gradient(90deg,#F0AB00, #FFDF29);
	}
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        display: block;
		padding:.5em 1.5em;
		

    }


}



/* スマホ
----------------------------------------------*/

@media screen and (max-width: 600px){
	#top-head h2 {
	    line-height: 1.2em;
	    font-size: 20px;
	    font-weight: bold;
	    padding: 10px 5px 10px 5px;
	    text-align:center;
	}
	
	.title_wrap .box {
	    padding: 20px 24px 0;
	    text-align: center;
	}

	.title_wrap .box p {
	    font-size: 20px;
	}

	.progress_wrap {
	    padding: 20px 0 10px 20px;
	}


	.progress_wrap ul {
	    width: 100%;
	    margin: 0 auto;
	    display: flex;
	    flex-wrap: wrap;
	}

	.progress_wrap ul li {
	    margin-bottom: 15px;
	}

	.progress_wrap ul li.txt {
	    font-size: 14px;
	    line-height: 1.2;
	    color: #03313E;
	    background: #FFF;
	    padding: 5px 10px;
	    width: 10em;
	}


	.progress_wrap ul li:nth-child(even) {
	    width: 30px;
	    text-align: center;
	    padding-top: 15px;
	}


	.progress_wrap ul li.txt.now {
	    background: #03313E;
	    color: #FFF;
	}



	footer {
	    width: 100%;
	    margin: 0 auto;
	    position: relative;
	}
	footer #footerContact {
	    background-color: #000;
	    border-bottom: 1px solid #505050;
	    padding: 2em 3%;
	}

	footer #footerContact > div.mainArea {
	    display: block;
	    height: auto;
	}

	footer #footerContact > div.mainArea > div.title {
	    margin: 0 0 1em 0;
	    padding: 0;
	}
	footer #footerContact > div.mainArea > div.title span {
	    display: inline-block;
	    color: #000;
	    background-color: #fff;
	    padding: 0.1em 1.5em;
	}
	footer #footerContact > div.mainArea > div {
	    display: block;
	    font-size: 1.2em;
	    line-height: 1.6;
	    color: #fff;
	    vertical-align: middle;
	}
	footer #footerPrivacy {
	    background-color: #000;
	    padding: 2em 3%;
	}
	footer #footerPrivacy > div.mainArea {
	    display: table;
	    height: auto;
	}
	footer #footerPrivacy > div.mainArea > p {
	    display: table-cell;
	    font-size: 1.2em;
	    line-height: 1.6;
	    color: #fff;
	    vertical-align: middle;
	}
	footer #footerSubnav {
	    background-color: #262626;
	    padding: 1.5em 3%;
	}
	footer #footerSubnav ul {
	    float: none;
	    margin: 0 0 0.5em 0;
	}
	footer #footerSubnav ul li {
	    float: left;
	    color: #fff;
	}
	footer #footerSubnav ul:after {
	    content: "";
	    display: block;
	    clear: both;
	}

	footer #footerSubnav p {
	    float: none;
	}
	footer #footerSubnav:after {
	    content: "";
	    display: block;
	    clear: both;
	}
	.overview .table td {
		border:solid 1px #ccc;
	}
	.overview .table .table_left {
		background:#eee;
		width:100%;
	}



}