@charset "utf-8";

/* header
--------------------------------------------------------------------*/
header { background-color: #ffffff; text-align: left; position: relative; z-index: 100; }
header input { -webkit-box-sizing: border-box; box-sizing: border-box; background-color: #ffffff; border: none; font-size: 0.9375em; line-height: 34px; margin-right: 30px; padding: 0 15px; width: 100%; height: 34px; }
header button { -webkit-box-sizing: border-box; box-sizing: border-box; background-color: #ffffff; border: none; -webkit-border-radius: 17px; border-radius: 17px; color: #7266a8; cursor: pointer; font-size: 1.125em; font-weight: bold; line-height: 34px; outline: none; padding: 0; appearance: none; width: 148px; height: 34px; }
header .header__main { display: flex; align-items: center; justify-content: space-between; }
header .main__logo { border-right: 1px solid #dadada; display: table-cell; vertical-align: middle; padding: 0 20px 0 30px; white-space: nowrap; }
header .main__logo a { display: table; text-decoration: none; position: relative; }
header .main__logo a span { display: table-cell; vertical-align: middle; }
header .main__logo a span:nth-of-type(1) { font-size: 0; line-height: 0; padding-right: 10px; }
header .main__logo a span:nth-of-type(1) img { width: 84px; }
header .main__logo a span:nth-of-type(2) { color: #6356a3; font-size: 0.8125em; font-weight: bold; }
header .header_br { display: none; }
@media (min-width: 1001px) {
	.header__bg { display: none !important; }
	header .main__logo a { height: 86px; }
	header .main__navi ul { display: table; }
	header .main__navi ul li { display: table-cell; font-size: 0.875em; font-weight: bold; line-height: 1.2; vertical-align: middle; text-align: center; }
	header .main__navi ul li a { color: #303030; cursor: pointer; display: table; text-decoration: none; position: relative; padding: 0 15px; height: 86px; }
	header .main__navi ul li a b { display: table-cell; vertical-align: middle; }
	header .main__navi ul li a:hover { color: #6356a3; text-decoration: underline; }
	header .main__navi ul li a.hover { background-color: #7266a8; color: #ffffff; text-decoration: none; }
	header .main__navi ul li a.selected { position: relative; }
	header .main__navi ul li:nth-of-type(8) span small { background: url(../images/icon_search.png) center top no-repeat; display: block; font-size: 0.9285em; padding-top: 30px; }
	header .main__navi ul li:nth-of-type(8) span:hover { color: #6356a3; }
	header .main__navi ul li:nth-of-type(8) span.hover,
	header .main__navi ul li:nth-of-type(8) span:hover.hover { background-color: #7266a8; color: #ffffff; }
	header .main__navi ul li:nth-of-type(8) span:hover small { background: url(../images/icon_search_ov2.png) center top no-repeat; }
	header .main__navi ul li:nth-of-type(8) span.hover small,
	header .main__navi ul li:nth-of-type(8) span:hover.hover small { background: url(../images/icon_search_ov.png) center top no-repeat; }
	header .main__navi ul li:nth-of-type(9) a { background-color: #fff747; color: #303030; border-left: 1px solid #dad450; display: flex; align-items: center; justify-content: center; text-decoration: none; width: 6em; height: 86px; }
	header .main__navi ul li:nth-of-type(9) a small { font-size: 0.8761em; display: block; }
	header .main__navi ul li:nth-of-type(9) a:hover { background-color: #7266a8; color: #ffffff; }
	header.selected_1 .main__navi ul li:nth-of-type(1) a,
	header.selected_2 .main__navi ul li:nth-of-type(2) a,
	header.selected_3 .main__navi ul li:nth-of-type(4) a,
	header.selected_4 .main__navi ul li:nth-of-type(5) a,
	header.selected_5 .main__navi ul li:nth-of-type(3) a,
	header.selected_6 .main__navi ul li:nth-of-type(6) a,
	header.selected_7 .main__navi ul li:nth-of-type(7) a { position: relative; }
	header.selected_1 .main__navi ul li:nth-of-type(1) a:after,
	header.selected_2 .main__navi ul li:nth-of-type(2) a:after,
	header.selected_3 .main__navi ul li:nth-of-type(4) a:after,
	header.selected_4 .main__navi ul li:nth-of-type(5) a:after,
	header.selected_5 .main__navi ul li:nth-of-type(3) a:after,
	header.selected_6 .main__navi ul li:nth-of-type(6) a:after,
	header.selected_7 .main__navi ul li:nth-of-type(7) a:after { border-top: 3px solid #7266a8; content: ""; position: absolute; bottom: 4px; left: 2px; width: calc(100% - 4px); }
	
	header.selected_1 .main__navi ul li:nth-of-type(1) a.hover,
	header.selected_2 .main__navi ul li:nth-of-type(2) a.hover,
	header.selected_3 .main__navi ul li:nth-of-type(4) a.hover,
	header.selected_4 .main__navi ul li:nth-of-type(5) a.hover,
	header.selected_5 .main__navi ul li:nth-of-type(3) a.hover,
	header.selected_6 .main__navi ul li:nth-of-type(6) a.hover,
	header.selected_7 .main__navi ul li:nth-of-type(7) a.hover { background-color: transparent; color: #303030; }
	
	header .main__navi ul li:nth-of-type(8) span { border-left: 1px solid #dadada; cursor: pointer; display: flex; align-items: center; justify-content: center; position: relative; padding: 0; width: 65px; height: 86px; }
	header .main__menu { display: none; }
	header .header__navi { background-color: #7266a8; display: block !important; position: absolute; top: 100%; left: 0px; width: 100%; height: auto !important; }
	header .header__navi .navi__contact { display: none; }
	header .header__navi .navi__search { background-color: #7266a8; display: none; }
	header .header__navi .navi__search form { display: flex; align-items: center; justify-content: space-between; height: 60px; }
	header .header__navi .column__cell { display: none; padding: 10px 0; }
	header .header__navi .column__cell dt { display: none; }
	header .header__navi .column__cell dt span { display: none; }
	header .header__navi .column__cell dd { display: block !important; }
	header .header__navi .column__cell ul { border-left: 1px solid #8c83b5; display: table; margin: 0 auto; }
	header .header__navi .column__cell ul li { border-right: 1px solid #8c83b5; display: table-cell; vertical-align: top; }
	header .header__navi .column__cell ul li a { display: flex; align-items: center; justify-content: space-between; color: #ffffff; font-size: 0.9375em; line-height: 1.2; text-align: center; text-decoration: none; position: relative; padding: 0 15px; height: 60px; }
	header .header__navi .column__cell ul li a:hover { text-decoration: underline; }
	header .header__navi .column__cell ul li.selected a:after { border-top: 2px solid #7266a8; content: ""; position: absolute; bottom: 0px; left: 10px; width: calc(100% - 20px); }
	header .header__navi .column__cell ul li a small { display: block; font-size: 0.6666em; }
	
	header.selected_1 .header__navi,
	header.selected_2 .header__navi,
	header.selected_3 .header__navi,
	header.selected_4 .header__navi,
	header.selected_5 .header__navi,
	header.selected_6 .header__navi,
	header.selected_7 .header__navi { display: block !important; position: relative; top: auto; left: auto; width: auto; height: 80px !important; }
	header.selected_1 .header__navi > .mdl__lo_center,
	header.selected_2 .header__navi > .mdl__lo_center,
	header.selected_3 .header__navi > .mdl__lo_center,
	header.selected_4 .header__navi > .mdl__lo_center,
	header.selected_5 .header__navi > .mdl__lo_center,
	header.selected_6 .header__navi > .mdl__lo_center,
	header.selected_7 .header__navi > .mdl__lo_center { width: auto; max-width: inherit; }
	header.selected_1 .header__navi .navi__column,
	header.selected_2 .header__navi .navi__column,
	header.selected_3 .header__navi .navi__column,
	header.selected_4 .header__navi .navi__column,
	header.selected_5 .header__navi .navi__column,
	header.selected_6 .header__navi .navi__column,
	header.selected_7 .header__navi .navi__column { position: relative; }
	header.selected_1 .header__navi .navi__search,
	header.selected_2 .header__navi .navi__search,
	header.selected_3 .header__navi .navi__search,
	header.selected_4 .header__navi .navi__search,
	header.selected_5 .header__navi .navi__search,
	header.selected_6 .header__navi .navi__search,
	header.selected_7 .header__navi .navi__search { background-color: #7266a8; position: absolute; top: 0px; left: 0px; padding: 10px 0; width: 100%; height: 60px; z-index: 102; }
	header.selected_1 .header__navi .column__cell,
	header.selected_2 .header__navi .column__cell,
	header.selected_3 .header__navi .column__cell,
	header.selected_4 .header__navi .column__cell,
	header.selected_5 .header__navi .column__cell,
	header.selected_6 .header__navi .column__cell,
	header.selected_7 .header__navi .column__cell { background-color: #7266a8; position: absolute; top: 0px; left: 0px; width: 100%; height: 60px; z-index: 102; }
	header.selected_1 .header__navi .navi_0,
	header.selected_2 .header__navi .navi_1,
	header.selected_3 .header__navi .navi_3,
	header.selected_4 .header__navi .navi_4,
	header.selected_5 .header__navi .navi_2,
	header.selected_6 .header__navi .navi_5,
	header.selected_7 .header__navi .navi_6 { background-color: #f4efe7; display: block !important; z-index: 101; }
	header.selected_1 .header__navi .navi_0 ul,
	header.selected_2 .header__navi .navi_1 ul,
	header.selected_3 .header__navi .navi_3 ul,
	header.selected_4 .header__navi .navi_4 ul,
	header.selected_6 .header__navi .navi_5 ul,
	header.selected_7 .header__navi .navi_6 ul { border-left: 1px solid #cccccc; }
	header.selected_5 .header__navi .navi_2 ul { display: none; }
	header.selected_1 .header__navi .navi_0 ul li,
	header.selected_2 .header__navi .navi_1 ul li,
	header.selected_3 .header__navi .navi_3 ul li,
	header.selected_4 .header__navi .navi_4 ul li,
	header.selected_6 .header__navi .navi_5 ul li,
	header.selected_7 .header__navi .navi_6 ul li { border-right: 1px solid #cccccc; }
	header.selected_1 .header__navi .navi_0 ul li a,
	header.selected_2 .header__navi .navi_1 ul li a,
	header.selected_3 .header__navi .navi_3 ul li a,
	header.selected_4 .header__navi .navi_4 ul li a,
	header.selected_6 .header__navi .navi_5 ul li a,
	header.selected_7 .header__navi .navi_6 ul li a { color: #303030; }
	
	header .header_br { display: inline; }
}
@media (min-width: 768px) and (max-width: 1000px) {
	.header__bg { background-color: rgba(0,0,0,0.95); position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 99; }
	header button { color: inherit; }
	header .main__logo a { height: 86px; }
	header .main__navi { display: none; }
	header .main__menu { display: block; position: relative; height: 86px; }
	header .main__menu p { background: url(../images/icon_menu.png) no-repeat; background-size: 25px 22px; cursor: pointer; font-size: 0; line-height: 0; position: absolute; top: 32px; right: 10px; width: 25px; height: 22px; }
	header .main__menu p.opened { background: url(../images/icon_menu_close.png) no-repeat; background-size: 25px 22px; }
	header .header__navi { background-color: rgba(0,0,0,0); border-top: 1px solid #999999; display: none; position: absolute; top: 100%; left: 0px; width: 100% }
	header .header__navi .navi__contact { display: block; margin: 40px 30px 0 30px; }
	header .header__navi .navi__contact a { background-color: #fff747; color: #303030; display: block; font-weight: bold; line-height: 56px; text-align: center; text-decoration: none; }
	header .header__navi .navi__contact a:hover { background-color: #7266a8; color: #ffffff; }
	header .header__navi .navi__search { background-color: transparent; display: block !important; padding: 35px 30px 0 30px; }
	header .header__navi .navi__search form { display: flex; align-items: center; justify-content: space-between; }
	header .header__navi .navi__column { display: flex; justify-content: space-between; margin: 30px 30px 0 30px; }
	header .header__navi .column__cell { display: block !important; width: 30.43%; }
	header .header__navi .column__cell a { color: #ffffff; text-decoration: none; }
	header .header__navi .column__cell a:hover { text-decoration: underline; }
	header .header__navi .column__cell dl { border-top: 1px solid #494949; font-size: 0.875em; line-height: 1.2; padding-top: 15px; }
	header .header__navi .column__cell dt { padding-left: 1em; }
	header .header__navi .column__cell dt a { font-weight: bold; }
	header .header__navi .column__cell dd { display: block !important; padding-left: 2em; height: auto !important; }
	header .header__navi .navi__column:nth-of-type(1) .column__cell:nth-of-type(3) dd { display: none !important; }
	header .header__navi .column__cell ul li { margin-top: 10px; }
	header .header__navi .column__cell ul li a small { display: block; font-size: 0.6666em; }
}
@media (max-width: 767px) {
	.header__bg { background-color: rgba(0,0,0,0.95); position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 99; }
	header { background-color: #ffffff; text-align: left; position: relative; z-index: 100; }
	header input { -webkit-box-sizing: border-box; box-sizing: border-box; background-color: transparent; border: none; color: #ffffff; font-size: 1.1666em; line-height: 2.3571em; margin-right: 0; padding: 0 35px 0 10px; width: 100%; height: 2.3571em; }
	header button { -webkit-box-sizing: border-box; box-sizing: border-box; background-color: transparent; background: url(../images/icon_search_sp.png) no-repeat; background-size: 18px 18px; border: none; -webkit-border-radius: 0px; border-radius: 0px; color: inherit; cursor: pointer; font-size: 0; font-weight: bold; line-height: 0; outline: none; padding: 0; appearance: none; position: absolute; top: 50%; right: 10px; margin-top: -9px; width: 18px; height: 18px; }
	header .header__main { display: flex; align-items: center; justify-content: space-between; }
	header .main__logo { border-right: none; padding: 0 0 0 20px; }
	header .main__logo a { display: table; text-decoration: none; position: relative; height: 60px; }
	header .main__logo a span { display: table-cell; vertical-align: middle; }
	header .main__logo a span:nth-of-type(1) { font-size: 0; line-height: 0; padding-right: 10px; }
	header .main__logo a span:nth-of-type(1) img { width: 62px; }
	header .main__logo a span:nth-of-type(2) { color: #6356a3; font-size: 0.9166em; font-weight: bold; }
	header .main__navi { display: none; }
	header .main__menu { display: block; position: relative; height: 60px; }
	header .main__menu p { background: url(../images/icon_menu.png) no-repeat; background-size: 20px 18px; cursor: pointer; font-size: 0; line-height: 0; position: absolute; top: 21px; right: 20px; width: 20px; height: 18px; }
	header .main__menu p.opened { background: url(../images/icon_menu_close.png) no-repeat; background-size: 20px 18px; }
	header .header__navi { background-color: rgba(0,0,0,0); border-top: 1px solid #8c83b5; border-bottom: none; display: none; position: absolute; top: 100%; left: 0px; width: 100%; }
	header .header__navi .navi__contact { display: block; margin: 20px 0 0 0; }
	header .header__navi .navi__contact a { background-color: #fff747; color: #303030; display: block; font-size: 1.1666em; font-weight: bold; line-height: 3.5714; text-align: center; text-decoration: none; }
	header .header__navi .navi__search { background-color: transparent; display: block !important; padding: 25px 0 20px 0; }
	header .header__navi .navi__search form { border: 1px solid #ffffff; display: block; align-items: center; justify-content: space-between; position: relative; }
	header .header__navi .navi__column { border-top: 1px solid #494949; }
	header .header__navi .navi__column:nth-of-type(2) { border-top: none; }
	header .header__navi .column__cell { border-bottom: 1px solid #494949; display: block !important; width: auto; }
	header .header__navi .column__cell a { color: #ffffff; display: block; text-decoration: none; }
	header .header__navi .column__cell dl { line-height: 1.2; padding-top: 0; }
	header .header__navi .column__cell dt { position: relative; }
	header .header__navi .column__cell dt a { font-weight: bold; margin-right: 20px; padding: 10px 0 10px 1em; }
	header .header__navi .column__cell dt.toggle a { pointer-events: none; }
	header .header__navi .column__cell dt span { background: url(../images/icon_toggle.png) center center no-repeat; background-size: 11px 11px; display: block; font-size: 0; line-height: 0; position: absolute; top: 50%; right: -5px; margin-top: -10px; width: 21px; height: 21px; }
	header .header__navi .column__cell dt span.opened { background: url(../images/icon_toggle_close.png) center center no-repeat; background-size: 11px 11px; }
	header .header__navi .column__cell dd { display: none; padding-bottom: 5px; }
	header.selected_1 .header__navi .navi_0 dd,
	header.selected_2 .header__navi .navi_1 dd,
	header.selected_3 .header__navi .navi_3 dd,
	header.selected_4 .header__navi .navi_4 dd,
	header.selected_6 .header__navi .navi_5 dd { display: block; }
	header .header__navi .column__cell ul li a { padding: 5px 0 5px 2em; }
	header .header__navi .column__cell ul li a small { display: block; font-size: 0.8333em; }
}

/* footer
--------------------------------------------------------------------*/
footer {}
footer .footer__navi { background-color: #1a1a1a; padding: 65px 0 55px 0; }
footer .footer__navi a { color: #ffffff; display: block; line-height: 1.2; text-decoration: none; }
footer .footer__navi a:hover { text-decoration: underline; }
footer .footer__navi .navi__column { display: flex; justify-content: space-between; }
footer .footer__navi .navi__column:nth-of-type(1) { margin-bottom: 40px; }
footer .footer__navi .navi__cell { width: 17.5%; }
footer .footer__navi .navi__cell dt { border-bottom: 1px solid #363636; font-size: 0.875em; font-weight: bold; margin-bottom: 8px; padding-bottom: 8px; }
footer .footer__navi .navi__cell dt.second { border-top: 1px solid #363636; border-bottom: none; margin-top: 10px; padding: 8px 0 0 0; }
footer .footer__navi .navi__cell dt span { display: none; }
footer .footer__navi .navi__cell li { margin-bottom: 10px; }
footer .footer__navi .navi__cell li:last-of-type { margin-bottom: 0; }
footer .footer__navi .navi__cell li a { font-size: 0.8125em; }
footer .footer__navi .navi__cell li a small { display: block; font-size: 0.6666em; }
footer .footer__info { background-color: #ffffff; font-size: 0.75em; line-height: 1.2; padding: 20px 0 10px 0; }
footer .footer__info a { color: #303030; text-decoration: none; }
footer .footer__info a:hover { text-decoration: underline; }
footer .footer__info p { text-align: center; }
footer .footer__info dl { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
footer .footer__info dl dt { border-right: 1px solid #dadada; display: flex; align-items: center; padding-right: 6%; width: 31%; }
footer .footer__info dl dt span:nth-of-type(1) { font-size: 0; line-height: 0; width: 44.59%; }
footer .footer__info dl dt span:nth-of-type(1) img { width: 100%; }
footer .footer__info dl dt span:nth-of-type(2) { font-weight: bold; margin-left: 4.83%; }
footer .footer__info dl dd { flex: 1; padding-left: 6%; }
footer .footer__info dl dd ul { display: flex; align-items: center; }
footer .footer__info dl dd ul li { margin-right: 5.66%; }
footer .footer__info dl dd ul li:last-of-type { margin-right: 0; }
@media (min-width: 768px) {
	footer .footer__navi .navi__cell dd { display: block !important; }
}
@media (max-width: 767px) {
	footer {}
	footer .footer__navi { background-color: #1a1a1a; padding: 40px 0; }
	footer .footer__navi a { color: #ffffff; display: block; line-height: 1.2; text-decoration: none; padding: 10px 0 10px 1em; }
	footer .footer__navi a:hover { text-decoration: none; }
	footer .footer__navi .navi__column { display: block; justify-content: space-between; }
	footer .footer__navi .navi__column:nth-of-type(1) { margin-bottom: 0; }
	footer .footer__navi .navi__column:nth-of-type(2) { border-bottom: 1px solid #363636; }
	footer .footer__navi .navi__cell { width: auto; }
	footer .footer__navi .navi__cell dt { border-bottom: none; border-top: 1px solid #363636; font-size: 1em; font-weight: bold; position: relative; margin-bottom: 0; padding: 0 30px 0 0; }
	footer .footer__navi .navi__cell dt.second { border-top: 1px solid #363636; border-bottom: none; margin-top: 0; padding: 0 30px 0 0; }
	footer .footer__navi .navi__cell dt span { background: url(../images/icon_toggle.png) center center no-repeat; background-size: 11px 11px; display: block; font-size: 0; line-height: 0; position: absolute; top: 50%; right: 5px; margin-top: -10px; width: 21px; height: 21px; }
	footer .footer__navi .navi__cell dt span.opened { background: url(../images/icon_toggle_close.png) center center no-repeat; background-size: 11px 11px; }
	footer .footer__navi .navi__cell dt.toggle a { pointer-events: none; }
	footer .footer__navi .navi__cell dd { display: none; }
	footer .footer__navi .navi__cell ul { margin-top: -5px; padding-bottom: 5px; }
	footer .footer__navi .navi__cell li { margin-bottom: 0; }
	footer .footer__navi .navi__cell li:last-of-type { margin-bottom: 0; }
	footer .footer__navi .navi__cell li a { font-size: 1em; padding: 5px 0 5px 2em; }
	footer .footer__navi .navi__cell li a small { display: block; font-size: 0.8333em; }
	footer .footer__info { background-color: #ffffff; font-size: 1em; line-height: 1.2; padding: 20px 0 40px 0; }
	footer .footer__info a { display: inline-block; text-decoration: none; }
	footer .footer__info a:hover { text-decoration: underline; }
	footer .footer__info p { font-size: 0.8333em; text-align: center; }
	footer .footer__info dl { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; margin-bottom: 15px; }
	footer .footer__info dl dt { border-right: none; border-top: 1px solid #dadada; display: flex; align-items: center; justify-content: center; order: 2; padding: 15px 0 0 0; width: 100%; }
	footer .footer__info dl dt span:nth-of-type(1) { font-size: 0; line-height: 0; width: 35.78vw; }
	footer .footer__info dl dt span:nth-of-type(1) img { width: 100%; }
	footer .footer__info dl dt span:nth-of-type(2) { font-size: 0.8333em; font-weight: bold; margin-left: 3.12vw; }
	footer .footer__info dl dd { flex: auto; order: 1; padding: 0 0 20px 0; width: 100%; }
	footer .footer__info dl dd ul { display: block; align-items: center; }
	footer .footer__info dl dd ul li { text-align: center; margin: 0 0 10px 0; }
	footer .footer__info dl dd ul li:last-of-type { margin: 0; }
}







