@charset "UTF-8";
/******************************************************************
com - reset
******************************************************************/
.com-header, .com-footer { -webkit-font-smoothing: antialiased; }
header, footer, .com-header *, .com-footer * { margin: 0; padding: 0; width: auto; height: auto; box-sizing: content-box; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-weight: 500; line-height: 1.8; color: #2f2f2f; font-size: 14px; background-color: transparent; text-align: left; }
.com-header a, .com-footer a { text-decoration: none; }
.com-header a:focus, .com-footer a:focus, .com-header a:hover, .com-footer a:hover { color: #2f2f2f; }
.com-header li, .com-footer li { list-style: none; }
.com-header img, .com-footer img { max-width: 100%; height: auto; vertical-align: middle; }
.com-header input[type="text"] { -webkit-appearance: none; box-sizing: border-box; vertical-align: middle; background-color: #ffffff; border: 0; }
.com-header button { background-color: transparent; border: none; cursor: pointer; padding: 0; appearance: none; }
/******************************************************************
com - header
******************************************************************/
	.com-header { border-top: 3px solid #e60012; background-color: #ffffff; }
	.com-header__main { border-bottom: 2px solid #dddddd; }
	.com-header__main-inner { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; display: flex; align-items: center; }
	.com-header__main-logo { padding-top: 8px; padding-bottom: 8px; }
	.com-header__main-logo a { display: block; width: 300px; height: 24px; text-indent: -9999px; overflow: hidden; background: url("/com_parts/img/logo.png") left top/contain no-repeat; }
	.com-header__main-nav-tb { display: none; }
	.com-header__main-nav-pc { flex-grow: 1; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; padding-top: 4px; padding-bottom: 4px; }
	.com-header__main-nav-pc li:not(:last-child) { margin-left: 32px; }
	.com-header__main-nav-pc li:last-child { margin-left: 20px; }
	.com-header__main-nav-pc a { font-weight: bold; transition-property: color; transition-duration: 0.3s; }
	.com-header__main-nav-pc a:focus, .com-header__main-nav-pc a:hover { color: #fa0014; }
	.com-header__main a.com-header__main-search-pc { position: relative; display: block; width: 26px; height: 27px; background: url("/com_parts/img/search.svg") left top/contain no-repeat; transition-property: opacity; transition-duration: 0.3s; }
	.com-header__main a.com-header__main-search-pc:focus, .com-header__main a.com-header__main-search-pc:hover { opacity: 0.6; }
	.com-header__main-searcharea { display: none; border-bottom: 2px solid #dddddd; background-color: #efefef; padding-top: 20px; padding-bottom: 20px; padding-right: 16px; padding-left: 16px; }
	.com-header__main-searcharea.is-active .com-header__main-searcharea-inner { opacity: 1; }
	.com-header__main-searcharea-inner { max-width: 900px; margin-right: auto; margin-left: auto; background-color: #ffffff; border-radius: 60px; padding: 8px 20px; display: flex; align-items: center; opacity: 0; transition-property: opacity; transition-duration: 0.3s; }
	.com-header__main-searcharea-inner input[type="text"] { flex-grow: 1; font-size: 20px; outline: 0; }
	.com-header__main-searcharea-inner button { display: block; width: 31px; height: 33px; background: url("/com_parts/img/search.svg") left top/contain no-repeat; transition-property: opacity; transition-duration: 0.3s; }
	.com-header__main-searcharea-inner button:focus, .com-header__main-searcharea-inner button:hover { opacity: 0.6; }
	.com-overlay { display: none; }
@media all and (-ms-high-contrast: none) { .com-header__main-nav-pc a:not(.com-header__main-search-pc) { display: inline-block !important; padding-top: 8px !important; }}

/******************************************************************
com - nav
******************************************************************/
	.com-header nav { background-color: #ffffff; }
	.com-header__sub-pc { border-bottom: 2px solid #dddddd; }
	.com-header__sub-inner-pc { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; display: flex; align-items: center; min-height: 35px; }
	.com-header__sub-logo-pc { font-size: 16px; font-weight: bold; line-height: 1.4; padding-top: 6px; padding-bottom: 6px; }
	.com-header__sub-logo-pc a { font-size: 16px; font-weight: bold; line-height: 1.4; transition-property: color; transition-duration: 0.3s; }
	.com-header__sub-logo-pc a:focus, .com-header__sub-logo-pc a:hover { color: #fa0014; }
	.com-header__sub-logoimg-pc { padding-top: 5px; padding-bottom: 5px; }
	.com-header__sub-nav-pc { flex-grow: 1; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
	.com-header__sub-nav-pc li:not(:first-child) { margin-left: 16px; }
	.com-header__sub-nav-pc a { display: inline-block; transition-property: color; transition-duration: 0.3s; font-size: 12px; padding: 7px 0; }
	.com-header__sub-nav-pc a:focus, .com-header__sub-nav-pc a:hover { color: #fa0014; }
	.com-header__sub-btn-red a { line-height: 1; transition-property: background,color; transition-duration: 0.3s; background-color: #d02d25; color: #ffffff; padding: 7px 0.8em; font-weight: bold; }
	.com-header__sub-btn-red a:focus, .com-header__sub-btn-red a:hover { background-color: #a5241d; color: #ffffff; }
	.com-header__sub-btn-gray a { line-height: 1; transition-property: background,color; transition-duration: 0.3s; background-color: #666666; color: #ffffff; padding: 7px 0.8em; font-weight: bold; }
	.com-header__sub-btn-gray a:focus, .com-header__sub-btn-gray a:hover { background-color: #4d4d4d; color: #ffffff; }
	.com-header__sub-btn-yellow a { line-height: 1; transition-property: background,color; transition-duration: 0.3s; background-color: #f68e1e; color: #ffffff; padding: 7px 0.8em; font-weight: bold; }
	.com-header__sub-btn-yellow a:focus, .com-header__sub-btn-yellow a:hover { background-color: #d87409; color: #ffffff; }
	.com-header__sub-btn-blue a { line-height: 1; transition-property: background,color; transition-duration: 0.3s; background-color: #006cad; color: #ffffff; padding: 7px 0.8em; font-weight: bold; }
	.com-header__sub-btn-blue a:focus, .com-header__sub-btn-blue a:hover { background-color: #004c7a; color: #ffffff; }
	.com-header__open-tb { display: none; } }
@media all and (-ms-high-contrast: none) { .com-header__sub-logo-pc { padding-top: 9px !important; padding-bottom: 3px !important; }
	.com-header__sub-logoimg-pc { padding-top: 6px !important; padding-bottom: 4px !important; }
	.com-header__sub-nav-pc a { padding-top: 9px !important; padding-bottom: 4px !important; } }

/******************************************************************
com - footer
******************************************************************/
.com-footer__pagetop { background-color: #ffffff; }
	.com-footer__pagetop-inner { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; padding-top: 16px; padding-bottom: 16px; }
	.com-footer__pagetop-inner a { position: relative; display: block; margin-left: auto; background-color: #757575; width: 60px; height: 40px; border-radius: 5px; transition-property: opacity; transition-duration: 0.3s; }
	.com-footer__pagetop-inner a:focus, .com-footer__pagetop-inner a:hover { opacity: 0.7; }
	.com-footer__pagetop-inner a::after { display: block; content: ""; position: absolute; top: calc(50% - 3px); left: calc(50% - 7px); width: 10px; height: 10px; border-top: solid 2px #fff; border-right: solid 2px #fff; transform: rotate(-45deg); }
	.com-footer__main { background-color: #757575; }
	.com-footer__main-inner { max-width: 1280px; margin-right: auto; margin-left: auto; padding-right: 16px; padding-left: 16px; text-align: center; padding-top: 14px; padding-bottom: 14px; }
	.com-footer__main-nav { display: flex; justify-content: center; flex-wrap: wrap; }
	.com-footer__main-nav li { margin-right: 12px; margin-left: 12px; }
	.com-footer__main-nav a { color: #ffffff; transition-property: opacity; transition-duration: 0.3s; }
	.com-footer__main-nav a:focus, .com-footer__main-nav a:hover { color: #ffffff; opacity: 0.7; }
	.com-footer__main-copy a { color: #ffffff; transition-property: opacity; transition-duration: 0.3s; }
	.com-footer__main-copy a:focus, .com-footer__main-copy a:hover { color: #ffffff; opacity: 0.7; }
.com-display-off { position: absolute; width: 0px; height: 0px; top: -999px; overflow: hidden; }
