﻿@charset "utf-8";

/* ---------------------------------------------
　layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
	margin: 20px 0 0;
	line-height:1.8em;
}

.content strong.ex-large {
	font-size:22px;
}

.content blockquote{
	background:#f8f8f8;
	padding:15px 20px;
	border:1px solid #d2d2d2;
}
.content blockquote p{
	padding:0;
}
.content blockquote p:first-child{
	margin:0;
}

.content ul p, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, 
.content table p, .content table ul, .content table dl, .content table ol{
	margin: 0;
}

.content p img, .content dl img, .content ul img,
.content th img {
	vertical-align: middle;
}

.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }

/* common modules
------------------------------------------------ */

.small    { font-size:87%;  }
.x-small  { font-size:78%;  }

.large    { font-size:107%; }
.x-large  { font-size:120%; }
.xx-large  { font-size:150%; }

.attention{ color: #E30000;   }
.bold     { font-weight:bold; }
.normal   { font-weight:normal; }

.heading {
	font-size: 22px !important;
	font-weight:bold;
	margin: 30px 0 0 !important;
	color:#f80 !important;
	padding:0 !important;
	background:none !important;
}

.center{ text-align: center; }
.right { text-align:right;   }
.left  { text-align:left;    }

.middle{ vertical-align:middle; }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 20px 10px 0; }
.img-r{ float:right; margin:0 0 10px 20px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.nomarginbottom    { margin-bottom: 0 !important; }
.content .nocss { maring:0; padding:0; border:none; background:none; }

.mt10 { margin-top:10px !important; }
.mt20 { margin-top:20px !important; }
.mt30 { margin-top:30px !important; }
.mt40 { margin-top:40px !important; }

.bg01 { background:#ffcf99; }
.bg02 { background:#fff3e5; }

.bg04 { background:#fed5d5; }
.bg05 { background:#cfe5f8; }

.clr01 { color:#e30000; }
.clr02 { color:#f80; }
.clr03 { color:#ffc000; }
.clr04 { color:#fa5858; }
.clr05 { color:#3e99e3; }
.clr06 { color:#a9cf26; }

/* --- anchor --- */

.anchor{
	background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
	padding-left:13px;
}

.anchor-ex{
	background:url(../images/icon_window01.png) no-repeat right 0.3em;
	padding-right:15px !important;
}

/* --- ext icon --- */

a[href$='.xls'], a[href$='.xlsx']{
	background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
	background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='pdf']{
	background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a.no-icon {
	background: none;
	padding-right: 0;
}

/* --- openwin --- */

.openwin{ 
	padding-right: 15px;
}

/* ---　pagetop-in　 --- */

.pagetop-in {
	text-align:right;
}

.pagetop-in a {	
	background:url(../images/icon_arrow_pagetop.png) no-repeat 0 0.4em;
	padding-left: 15px;
	font-size: 92%;
}



/* ------ title -------------------------------- */

.content h2{
	background:url(../images/bg_h2.png) no-repeat left center #f6f6f6;
	clear:both;
	margin:40px 0 20px;
	font-size:24px;
	font-weight:bold;
	padding:5px 5px 5px 25px;
}
.content h2 a:link          { color:#333; text-decoration:underline; }
.content h2 a:visited       { color:#333; text-decoration:underline; }
.content h2 a:hover,a:active{ color:#333; text-decoration:none; }

.content h3,
.content .wysiwyg h1 {
	clear:both;
	margin:30px 0 15px;
	color:#333;
	font-size:22px;
	font-weight:bold;
	border-bottom:1px solid #fa0;
	padding:0 0 5px;
}

.content h4,
.content .wysiwyg h2{
	clear:both;
	font-size:18px;
	font-weight:bold;
	margin:30px 0 15px;
	color:#f80;
}

.content h5,
.content .wysiwyg h3{
	color:#333;
	font-size:16px;
	font-weight:bold;
	margin:30px 0 15px;
	padding:0;
	border:none;
}

/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li{
	background:url(../images/icon_list01.png) no-repeat 0 0.75em;
	padding-left:13px;
	margin-bottom:5px;
}

.list li li {
	background:url(../images/icon_list02.png) no-repeat 0 0.6em;
}

/* --- link list --- */

.link li{
	background:url(../images/icon_arrow01.png) no-repeat 0 0.6em;
	padding-left:15px;
	margin-bottom:5px;
}

.link li li{
	background:url(../images/icon_arrow02.png) no-repeat 0 0.5em;
	padding-left: 10px;
}

/* --- number list --- */

ol li {
	list-style-type:decimal;
	margin-left:25px;
	margin-bottom:5px;
}

ol ul li{
	list-style-type:none;
	margin-left:10px;
}
ol.ol_indices li{
	list-style: none;
	padding-left: 1.3em;
	text-indent: -1.3em;
	margin-left: 0;
}

/* --- attention list --- */

.rice li{
	margin:0 0 5px 1em;
	text-indent:-1em;
}

/* --- compact list --- */

.compact li{
	display:inline;
	margin-right:10px;
}

/* --- within compact list --- */

.within{
	padding: 8px;
	border: 1px solid #ddd;
}

.within li{
	background:url(../images/icon_arrow_within.png) no-repeat 0 0.25em;
	padding-left:20px;
	margin-right:20px;
	display:inline;
}

.site-link li{
	background:url(../images/icon_arrow_navi.png) no-repeat 0 0.25em;
	padding-left:20px;
	margin-right:20px;
	display:inline;
}

.content ul ul, .content dl dl, .content ol ol {
	margin-top: 5px;
}

a.title-link{
	background:url(../images/icon_arrow_navi.png) no-repeat 0 center;
	padding-left:19px;
	color:#e30000;
	text-decoration:none;
}

/* ------ dl ----------------------------------- */

/* --- normal list --- */

.list dt{
	background:url(../images/icon_list01.png) no-repeat 0 0.5em;
	padding-left:13px;
	font-weight:bold;
}

.list dd{
	padding-left:13px;
}

/* --- link list --- */

.link dt{
	background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
	padding-left:15px;
	font-weight:bold;
}

.link dd{
	padding-left:15px;
}

/* --- horizonal --- */

.horizonal dt {
  clear: left;
  float: left;
  width: 10em;
  padding:8px 8px 8px 0;
}

.horizonal dd {
  padding:8px 15px 8px 11em;
  border-bottom:1px solid #ddd;
}



/* ------ decoration-box ------------------------- */
.decoration-box{
	margin:20px 0 0;
	padding:20px;
}

.decoration-box .first-child{
	margin:0;
}

.deco01{
	background:#f4f2e6;
}

.deco01 h3{
	font-size:16px;
	color:#333;
	margin:0 0 20px;
	padding:0;
	border:none;
	clear:none;
}

.deco02{
	border:1px solid #e30000;
}

.deco02 h3{
	font-size:16px;
	color:#e30000;
	margin:0 0 20px;
	padding:0;
	border:none;
	clear:none;
}

.decoration-box .line{
	border-top:1px solid #d2d2d2;
	font-weight:bold;
	padding-top:20px;
	text-align:center;
}

/* ------ layout frame ------------------------- */

.content .layout-frame {
	clear: both;
	margin-left: -20px;
}

.content .layout-3col {
	margin-left: -15px;
}

.content .layout-unit {
	float: left;
	display: inline;
	margin-left: 20px;
}

.content .layout-3col .layout-unit {
	margin-left: 15px;
}

/* 720px */
.grid-1 { width: 60px; }
.grid-2 { width:110px; }
.grid-3 { width:170px; }
.grid-4 { width:230px; }
.grid-5 { width:290px; }
.grid-6 { width:350px; }
.grid-7 { width:410px; }
.grid-8 { width:470px; }
.grid-9 { width:530px; }
.grid-10{ width:590px; }
.grid-11{ width:650px; }

.content .border{
	padding-bottom:30px;
	border-bottom:1px solid #d8d8d8;
	margin-bottom:10px;
}

/* ------ layout box ------------------------- */

.content .layout-box {
	clear:both;
	margin-top:30px;
	border-bottom:1px solid #ccc;
}

.content .box-both {
	border:1px solid #ccc;
	border-bottom:none;
	width:678px;
	padding:20px;
}

.content .box-l, .content .box-r {
	float:left;
	display:inline;
	border:1px solid #ccc;
	border-bottom:none;
	width:318px;
	padding:20px;
}

.content .box-l {
	border-right:none;
	width:319px;
}

.content .layout-box h2, .content .layout-box h3, .content .layout-box h4 {
	color:#f37619;
	font-size:22px;
	line-height:30px;
	margin:15px 0 0;
	padding:0;
	background:none;
	border:none;
}

.content .layout-box p {
	margin-top: 10px;
}

/* 3col */
.content .layout-box-3col {
	clear:both;
	margin-top:30px;
	border-bottom:1px solid #ccc;
}

.layout-box-3col .box-l,
.layout-box-3col .box-c,
.layout-box-3col .box-r {
	float:left;
	display:inline;
	border:1px solid #ccc;
	border-bottom:none;
	width:198px;
	padding:20px;
}

.layout-box-3col .box-l,
.layout-box-3col .box-c {
	border-right:none;
	width:199px;
}
.layout-box-3col .box-3col {
	width:720px;
	border: 1px solid #ccc;
	border-top:none;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.content .layout-box-3col h2,
.content .layout-box-3col h3,
.content .layout-box-3col h4 {
	color:#f37619;
	font-size:18px;
	margin:0;
	padding:0;
	background:none;
	border:none;
}

/* ------ bottom contact ------------------------- */
ul.bottom-contact {
	margin-top:50px;
	margin-left:-15px;
}

.bottom-contact li {
	display:inline;
	margin-left:15px;
}
/* ------ timetable ------------------------- */
ul.timetable {
	margin-top:20px;
	margin-left:-15px;
}

.timetable li {
	width:350px;
	display:inline-block;
	margin-left:15px;
}

.timetable li a{
	background:none;
	padding:0;
}

/* ------ toggle-table ------------------------- */

table.toggle-table .table-head,
table.toggle-table .table-head th {
	position: relative;
}
.table-head {
	cursor: pointer;
	position: relative;
	border: 1px solid #d2d2d2;
}
.toggle-table .table-content {
	display: none;
}
.table-head .accordion_icon,
.table-head .accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.table-head .accordion_icon {
    position: absolute;
    width: 30px;
    margin-right: 5px;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    height: 10px;
}
.table-head .accordion_icon span {
	position: absolute;
    left: 6px;
    width: 50%;
	height: 2px;
    background-color: #e30000;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.table-head .accordion_icon span:nth-of-type(1) {
    top: 5px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.table-head .accordion_icon span:nth-of-type(2) {
    top: 5px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.table-head .accordion_icon.active span:nth-of-type(1) {
	display:none;
}
.table-head .accordion_icon.active span:nth-of-type(2) {
	top: 5px;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}
.toggle-table + .footnote {
	display: none;
}

/* ------ lower list ------------------------- */
.lowerlist-frame {
	background: url(../images/bg_lowerlist.png) repeat-y center #f5f5f5;
}

.lowerlist-frame2 {
	background: url(../images/bg_lowerlist2.png) repeat-x top #f5f5f5;
}

.picklist-frame {
	background: url(../images/bg_picklist.png) repeat-y center;
	border:1px solid #fa0;
	margin-top:20px;
}

.lowerlist-link {
	float:left;
	width:320px;
	padding:15px 10px 30px 30px;
	margin-top:0 !important;
}
.picklist-frame .lowerlist-link {
	width:319px;
}

.lowerlist-link li {
	margin-top:15px;
}

.lowerlist-link li {
	background: url(../images/icon_arrow_navi.png) no-repeat 0 0.5em;
}

.picklist-frame .lowerlist-link li {
	padding-left:20px;
}
.picklist-frame .lowerlist-link li a {
	padding-left:0;
}

.lowerlist-frame.mt40 .lowerlist-link li {
	padding-left:20px;
}
.lowerlist-frame.mt40 .lowerlist-link li a {
	padding-left:0;
}

.lowerlist-link li a {
    padding-left:20px;
}


.lowerlist-link ul ul,
.lowerlist-link li li {
	margin-top:0;
}

.lowerlist-link li li{
	background:url(../images/icon_arrow01.png) no-repeat 20px 0.7em;
}
.lowerlist-link li li.description {
	font-size:12px;
	padding-left:20px;
	padding-bottom:7px;
	background:none;
}
.lowerlist-link li li li.description {
	padding-left:34px;
}

.lowerlist-link li li a{
	padding:0 10px 0 34px;
	font-size:12px;
}

.lowerlist-link li li li{
	background:url(../images/icon_arrow02.png) no-repeat 34px 0.7em;
}

.lowerlist-link li li li a{
	padding:0 10px 0 48px;
}


.lowerlist-link li li li li{
	background:url(../images/icon_arrow03.png) no-repeat 48px 0.7em;
}

.lowerlist-link li li li li a{
	padding:0 10px 0 62px;
}

/* ------ Q&A ------------------------- */
.faq { border: 1px solid #d8d8d8; padding: 20px 20px 0; margin-bottom: 30px; }

.faq p { margin: 0; }

.qu { background:url(../faq/images/bg_q.png) 0 0 no-repeat; padding: 0 0 20px 55px; border-bottom: 1px dotted #d8d8d8; }

.qu p { font-weight: bold; }

.an { background:url(../faq/images/bg_a.png) 0 20px no-repeat; padding: 20px 0 20px 55px; }

.an p { margin-bottom: 0; }



/* ------ social media ------------------------- */

.social-icon ul{
	margin:20px auto;
	text-align:center;
}

.social-icon ul li{
	display:inline-block;
}

.social-icon ul li a {
	display: block;
	width: 60px;
	height: 60px;
	text-indent: -99999px;
	font-size: 50%;
	border-radius:50%;
}

@media screen and ( min-width:750px ){
	.facebook:hover {
		background:url(../images/svg/facebook.svg) center center no-repeat;
		background-size: 100%;
		background-color: #3b5998!important;
	}
}
.facebook {
	background:url(../images/svg/facebookClick.svg) center center no-repeat;
	background-size: 100%;
	background-color: #ffffff!important;
	border: 1px solid #3b5998;
}
@media screen and ( min-width:750px ){
	.twitter:hover {
		background:url(../images/svg/twitter.svg) center center no-repeat;
		background-size: 100%;
		background-color: #00aced!important;
	}
}
.twitter {
	background:url(../images/svg/twitterClick.svg) center center no-repeat;
	background-size: 100%;
	background-color: #ffffff!important;
	border: 1px solid #00aced;
}
@media screen and ( min-width:750px ){
	.google:hover {
		background:url(../images/svg/google.svg) center center no-repeat;
		background-size: 100%;
		background-color: #d64136!important;
	}
}
.google {
	background:url(../images/svg/googleClick.svg) center center no-repeat;
	background-size: 100%;
	background-color: #ffffff!important;
	border: 1px solid #d64136;
}
@media screen and ( min-width:750px ){
	.line:hover {
		background:url(../images/svg/line.svg) center center no-repeat;
		background-size: 100%;
		background-color: #2cbf13!important;
	}
}
.line {
	background:url(../images/svg/lineClick.svg) center center no-repeat;
	background-size: 100%;
	background-color: #ffffff!important;
	border: 1px solid #2cbf13;
}


/* ------ table -------------------------------- */

table{
	border-collapse:collapse;
	border:1px solid #d2d2d2;
	width:100%;
	-webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

}

table th,
table td{
	padding:10px;
	vertical-align:top;
	border:1px solid #d2d2d2;
	/*background:#fff;*/
}

table th{
	background:#f4f2e6;
	font-weight:bold;
}

table thead th,
th.head {
	background:#eeebda;
	text-align:center;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
	border:0;
	background: none;
}

/* index
------------------------------------------------ */

.index {
	clear: both;
	margin: 0 0 0 -20px;
}

.index dl {
	position: relative;
	float: left;
	display: inline;
	margin-left: 20px;
	width: 350px;
	background: #eee;
}

.index dt {
	padding: 7px;
	background:#ddd;
}

.index dt a {
	text-decoration:none;
}

.index dd {
	padding: 7px;
}


/* cms
------------------------------------------------ */

/* --- entry-date --- */

.entry-date {
	text-align: right;
	font-size: 87%;
}

/* --- entry-navigation / pager-navigation --- */

.entry-navigation, 
.pager-navigation{
	font-size:87%;
	margin:50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active, 
.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active{
	text-decoration:none;
}

.entry-navigation ul, 
.pager-navigation ul{
	margin:0;
}

/* entry-navigation */

.entry-navigation{
	background:#eee;
	padding:10px;
}

.entry-navigation li{
	width:280px;
}

.entry-navigation .entry-old{
	float:left;
}

.entry-navigation .entry-new{
	float:right;
	text-align:right;
}

.entry-navigation .home{
	text-align:center;
	margin-top:-20px;
}

.entry-navigation ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .entry-navigation ul             { zoom:1; } /* IE6 */
*:first-child+html .entry-navigation ul { zoom:1; } /* IE7 */

/* pager-navigation */

.pager-navigation ul li{
	float:left;
	text-align:center;
	margin-right:10px;
	line-height:1;
}

.pager-navigation ul li span.cur{
	background:#f6f6f6;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:link, 
.pager-navigation ul li a:visited{
	background:#fff;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:hover, 
.pager-navigation ul li a:active{
	background:#CECECE;
}

/* 続きを読むリンク */
.search.entry p.continue {
	margin: 0;
	padding: 0;
}

.search.entry p.continue a {
	display: block;
	margin: 0;
	padding: 10px 0 10px 40px;
	border-top: 1px solid #E8E8E8;
	background: url(../images/icn_arrow01.png) no-repeat 20px 15px;
}

.search.entry p.continue a:hover {
	background-color: #F0F0F0;
}

.lowerlist-link li a.banner {
    padding:7px 0 0 0;
}

.lowerlist-link.banner-float {
	padding: 183px 0 30px 0;
}


/* margin
------------------------------------------------ */

.margin_b01 {
    margin-bottom: 20px!important;
}

/* 20180710追加 */

a[href*="tel:"] {
	pointer-events: none;
	text-decoration:none;
}

.bn-support{
	border:1px solid #ffc000;
	padding:10px;
}
.bn-support li{
	float:left;
}
.bn-support li:first-child{
	margin-right:40px;
}