@charset "UTF-8";
/*
Version: 1.0.3
Update: 2021-02-17
*/
/* reset-fonts.css
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.0 + 03
*/
/*html{color:#000;background:#FFF;}*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote { margin: 0; padding: 0; }

table { border-collapse: collapse; border-spacing: 0; }

fieldset, img { border: 0; }

address, caption, cite, code, dfn, em, th, var { font-style: normal; font-weight: normal; }

li { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

q:before, q:after { content: ''; }

abbr, acronym { border: 0; font-variant: normal; }

/*sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}*/
/*input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}*/
legend { color: #000; }

body { font: 13px/1.231 arial,helvetica,clean,sans-serif; *font-size: small; *font: x-small; }

table { font-size: inherit; font: 100%; }

pre, code, kbd, samp, tt { font-family: monospace; *font-size: 108%; line-height: 100%; }

html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

/* Noto Font */
@font-face { font-family: "Noto Sans Regular"; src: url("../_lib/font/NotoSansJP-Regular.eot?x20201104"); src: url("../_lib/font/NotoSansJP-Regular.eot?x20201104") format("eot"), url("../_lib/font/NotoSansJP-Regular.woff?x20201104") format("woff"); font-display: swap; }

@font-face { font-family: "Noto Sans Medium"; src: url("../_lib/font/NotoSansJP-Medium.eot?x20201104"); src: url("../_lib/font/NotoSansJP-Medium.eot?x20201104") format("eot"), url("../_lib/font/NotoSansJP-Medium.woff?x20201104") format("woff"); font-display: swap; }

@font-face { font-family: "Noto Sans Bold"; src: url("../_lib/font/NotoSansJP-Bold.eot?x20201104"); src: url("../_lib/font/NotoSansJP-Bold.eot?x20201104") format("eot"), url("../_lib/font/NotoSansJP-Bold.woff?x20201104") format("woff"); font-display: swap; }

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

/* タッチデバイス対応 */
a, area, button, [role="button"], input:not([type="range"]), label, select, summary, textarea { -ms-touch-action: manipulation; touch-action: manipulation; }

/* PC・モバイル切替 */
.pcHide { display: none; }

@media screen and (max-width: 767px) { img { max-width: 100%; height: auto; }
  .spHide { display: none; }
  .pcHide { display: inline; } }

html { font-size: 62.5%; }

body { font-family: "Noto Sans Regular", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; font-size: 1.6rem; line-height: 1.5; color: #646464; text-align: center; }

body.no-scroll { overflow: hidden; }

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

#wrapper { min-width: 980px; max-width: 1920px; margin: auto; overflow: hidden; }

@media screen and (max-width: 767px) { #wrapper { min-width: 1px; } }

.container { width: 980px; margin: auto; }

@media screen and (max-width: 767px) { .container { width: 100%; } }

a { color: #000; }

a:link { color: #000; }

a:visited { color: #000; }

a:hover { color: #999; }

/* テーブル */
td, th { vertical-align: top; }

/* float解除 */
.cl:after { content: ""; clear: both; display: block; }

.contentHr { clear: both; height: 1px; /*\*/ overflow: hidden; /**/ }

/* CSS無効時用 */
.nocsscomment, .nocsshr { display: none; visibility: hidden; }

.btn { user-select: none; transition: 0.3s; }

.btn:hover { opacity: 0.7; }

@media screen and (max-width: 767px) { img { max-width: 100%; height: auto; } }

#wrapper { position: relative; }

.sitelogo { position: absolute; top: 80px; left: 50%; z-index: 800; margin-left: -370px; }

@media screen and (max-width: 767px) { .sitelogo { top: 15px; left: 15px; margin-left: 0; } }

header { position: relative; /* スマホメニューボタン */ }

header .topImage { height: 400px; background: url(./img/topimage-pc.jpg?ver=2) no-repeat center top; }

@media screen and (max-width: 767px) { header .topImage { height: 0; padding-top: 85.3%; background-image: url(./img/topimage-mb.jpg?ver=2); background-size: cover; } }

header .headFloatNavi { position: absolute; top: 0; left: 50%; z-index: 300; width: 900px; margin-left: -480px; }

@media screen and (max-width: 767px) { header .headFloatNavi { position: static; top: auto; left: auto; width: 100%; margin-left: 0; } }

header .headFloatNavi ul { overflow: hidden; }

@media screen and (max-width: 767px) { header .headFloatNavi ul { padding: 20px 0 10px; } }

header .headFloatNavi ul li { float: left; width: 300px; padding: 0 10px; }

@media screen and (max-width: 767px) { header .headFloatNavi ul li { float: none; width: 100%; padding: 10px 40px; } }

header .headFloatNavi ul li a { display: block; padding: 14px 0; color: #282d6e; font-size: 1.8rem; font-weight: bold; text-decoration: none; background-color: #fff; border-radius: 0 0 10px 10px; }

@media screen and (max-width: 767px) { header .headFloatNavi ul li a { padding: 5px 0; border: 1px solid #282d6e; border-radius: 10px; } }

@media screen and (max-width: 767px) { header .headFloatNavi ul .corporate { display: none; } }

header .headFloatNavi ul .mynavi a { padding: 0; }

@media screen and (max-width: 767px) { header .headFloatNavi ul .contact a { padding: 17px 0; } }

header .headFloatNavi .search { position: absolute; top: 18px; right: 0; }

@media screen and (max-width: 767px) { header .headFloatNavi .search { display: none; } }

header .headFloatNavi .search .inText { display: none; }

header .headerMenu { display: none; position: absolute; width: 360px; top: 0; left: 50%; margin-left: 190px; padding: 3px; z-index: 1000; background-color: #fff; border: 3px solid #282d6e; }

@media screen and (max-width: 1120px) { header .headerMenu { margin-left: 130px; } }

@media screen and (max-width: 767px) { header .headerMenu { width: 100%; left: 0; margin-left: 0; } }

header .headerMenu .spHeader { padding-right: 80px; overflow: hidden; }

header .headerMenu .spHeader .logo { float: left; width: 130px; padding: 10px 20px; }

header .headerMenu .spHeader .logo img { max-width: 100%; height: auto; }

header .headerMenu .contentMenu { text-align: left; }

header .headerMenu .contentMenu li a { display: block; padding: 15px 20px; color: #282d6e; font-size: 1.5rem; font-weight: bold; line-height: 1; text-decoration: none; border-bottom: 1px solid #282d6e; transition: 0.3s; }

header .headerMenu .contentMenu li a:hover { color: #fff; background-color: #282d6e; }

header .headerMenu .contentMenu li li a { padding-left: 35px; }

header .headerMenu .expNavi { padding: 60px 20px 20px; font-size: 1.1rem; text-align: left; }

header .headerMenu .expNavi a { display: inline-block; padding-right: 20px; color: #282d6e; text-decoration: none; }

header .contentNaviMenu { background-color: #282d6e; }

@media screen and (max-width: 767px) { header .contentNaviMenu { display: none; } }

header .contentNaviMenu .contentMenu { width: 980px; margin: auto; overflow: hidden; }

@media screen and (max-width: 767px) { header .contentNaviMenu .contentMenu { width: 100%; } }

header .contentNaviMenu .contentMenu li { float: left; }

@media screen and (max-width: 767px) { header .contentNaviMenu .contentMenu li { float: none; } }

header .contentNaviMenu .contentMenu li a { display: block; padding: 26px; color: #fff; line-height: 1; text-decoration: none; border-bottom: 3px solid #282d6e; transition: 0.3s; }

header .contentNaviMenu .contentMenu li a:hover, header .contentNaviMenu .contentMenu li.current a { border-bottom: 3px solid #00beff; }

header .contentNaviMenu .contentMenu li a:hover { background-color: rgba(255, 255, 255, 0.2); }

header #spMenuBtn { position: absolute; top: 0; right: 50%; margin-right: -550px; z-index: 1001; width: 80px; height: 80px; padding: 22px 20px; cursor: pointer; }

@media screen and (max-width: 1120px) { header #spMenuBtn { margin-right: -490px; } }

@media screen and (max-width: 767px) { header #spMenuBtn { right: 0; margin-right: 0; } }

header #spMenuBtn .menu-trigger { position: relative; display: block; float: left; width: 40px; height: 36px; }

header #spMenuBtn .menu-trigger .line, header #spMenuBtn .menu-trigger .line:nth-of-type(2)::after { position: absolute; display: inline-block; left: 0; width: 100%; height: 4px; background-color: #282d6e; transition: all 0.3s; }

header #spMenuBtn .menu-trigger .line:nth-of-type(1) { top: 0; }

header #spMenuBtn .menu-trigger .line:nth-of-type(2) { top: 14px; }

header #spMenuBtn .menu-trigger .line:nth-of-type(3) { bottom: 4px; }

header #spMenuBtn .menu-trigger .line:nth-of-type(2)::after { top: 0; content: ""; transition: all 0.3s; }

header #spMenuBtn.active .menu-trigger .line:nth-of-type(1) { transform: translateY(20px) scale(0); }

header #spMenuBtn.active .menu-trigger .line:nth-of-type(2) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

header #spMenuBtn.active .menu-trigger .line:nth-of-type(2)::after { -webkit-transform: rotate(90deg); transform: rotate(90deg); }

header #spMenuBtn.active .menu-trigger .line:nth-of-type(3) { transform: translateY(-20px) scale(0); }

footer { border-top: 1px solid #282d6e; }

@media screen and (max-width: 767px) { footer { padding: 0 20px; } }

footer a { text-decoration: none; }

footer .topicPath { float: right; width: 660px; padding: 30px 0 20px; font-size: 1.1rem; overflow: hidden; }

@media screen and (max-width: 767px) { footer .topicPath { float: none; width: 100%; padding: 20px 0; } }

footer .topicPath li { position: relative; float: left; padding-left: 3.2rem; }

footer .topicPath li.item-home { padding-left: 0; }

footer .topicPath li::before { content: ""; position: absolute; top: 5px; left: 12px; width: 6px; height: 6px; border-top: 1px solid #646464; border-right: 1px solid #646464; transform: rotate(45deg); }

footer .topicPath li.item-home::before { display: none; }

footer .topicPath li a { text-decoration: none; }

footer .logo { float: left; padding: 50px 60px 30px; text-align: left; }

@media screen and (max-width: 767px) { footer .logo { float: none; padding: 0; } }

footer .contentNavi { float: right; width: 660px; }

@media screen and (max-width: 767px) { footer .contentNavi { float: none; width: 100%; padding: 20px 0; } }

footer .contentNavi .contentMenu { overflow: hidden; }

footer .contentNavi .contentMenu li { float: left; }

footer .contentNavi .contentMenu li a { display: block; padding: 7px 0 0; padding-right: 20px; font-size: 1.3rem; }

@media screen and (max-width: 767px) { footer .contentNavi .contentMenu li a { padding-right: 10px; font-size: 1.3rem; } }

footer .contentNavi .character { text-align: left; margin: 20px 0; }

footer .contentNavi .character a {display: inline-block;text-decoration: none;margin: 0 20px 0 0;}

@media screen and (max-width: 767px) { footer .contentNavi .character a { margin: 10px 0; } }

footer .contentNavi .character a { display: inline-block; text-decoration: none; }

footer .contentNavi .character a img { zoom: 0.35; }

@-moz-document url-prefix(){
footer .contentNavi .character { height: 75px; }
footer .contentNavi .character a { width: 42%; height: 75px; }
footer .contentNavi .character a img {
    transform-origin: 0 0;
    transform: scale(0.35);
	}
}

@media screen and (max-width: 767px) { footer .contentNavi .character a img { zoom: inherit;max-width: 100%; } }

@media screen and (max-width: 767px) {
@-moz-document url-prefix(){
footer .contentNavi .character { height: inherit; }
footer .contentNavi .character a { width: 100%; height: inherit; }
footer .contentNavi .character a img {
    transform-origin: 0 0;
    transform: scale(1.0);
	}
}
}

footer .bottomContainer { clear: both; color: #fff; background-color: #ab1c23; }

@media screen and (max-width: 767px) { footer .bottomContainer { margin: 0 -20px; } }

footer .bottomContainer .expNavi { padding: 20px; padding-right: 120px; float: right; font-size: 1.1rem; }

@media screen and (max-width: 767px) { footer .bottomContainer .expNavi { float: none; padding: 20px 0 0; text-align: left; } }

footer .bottomContainer .expNavi a { display: inline-block; padding-left: 20px; color: #fff; }

footer .bottomContainer .copyright { padding: 20px 0; font-size: 1.1rem; text-align: left; }

@media screen and (max-width: 767px) { footer .bottomContainer .copyright { padding: 20px; } }

.subContentNavi { display: none; }

.content { position: relative; margin: auto; padding: 0; line-height: 2; }

@media screen and (max-width: 767px) { .content { padding: 0 20px; line-height: 1.7; } }

.content .pageTitle { padding: 60px 0; }

@media screen and (max-width: 767px) { .content .pageTitle { padding: 10px 0 30px; }
  .content .pageTitle img { zoom: 0.5; } }

.content section { padding: 30px 0; }

.content section .heading, .content section.introduction .copy { padding: 30px 0 60px; color: #282d6e; font-size: 2.5rem; font-weight: bold; line-height: 1; text-align: center; }

@media screen and (max-width: 767px) { .content section .heading, .content section.introduction .copy { padding: 10px 0 20px; line-height: 1.5; } }

.content section.introduction .copy { padding: 0 0 40px; }

@media screen and (max-width: 767px) { .content section.introduction .copy { padding: 0 0 20px; } }

@media screen and (max-width: 767px) { .content section.introduction .comment { font-size: 1.4rem; } }

.content a.pageLink { position: relative; display: inline-block; padding: 15px 40px; padding-right: 20px; color: #fff; text-decoration: none; background-color: #ab1c23; margin-right: 20px; }

.content a.pageLink::after { content: ""; position: absolute; top: 0; right: -20px; bottom: 0; border: 20px solid #ab1c23; border-top-color: transparent; border-right-width: 0; }

.content .noArticle { width: 980px; margin: auto; padding: 8em 0; text-align: center; }

@media screen and (max-width: 767px) { .content .scroll { overflow: auto; } }

.gotopNavi { position: fixed; bottom: 160px; right: 0; z-index: 999; transform: translateX(100%); transition: 0.5s; font-size: 0; line-height: 1; }

.gotopNavi.show { transform: translateX(0%); }

@media screen and (max-width: 767px) { .gotopNavi { bottom: 10px; width: 70px; } }

#fullOverlay { display: none; }

#fullOverlay.active { display: block; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 2147483646; }

#fullOverlay.active .console { position: absolute; left: 50%; top: 50%; min-width: 320px; transform: translate(-50%, -50%); text-align: center; background-color: #fff; }

@media screen and (max-width: 767px) { #fullOverlay.active .console { min-width: 1px; max-width: 100%; font-size: 90%; } }

#fullOverlay.active .console .text { padding: 30px 20px 30px; font-size: 1.6rem; }

@media screen and (max-width: 767px) { #fullOverlay.active .console .text { font-size: 16px; } }

#fullOverlay.active .console .text .errorMessage { padding-top: 10px; color: #c33; }

#fullOverlay.active .console .inputform { display: none; padding: 0 30px 20px; }

#fullOverlay.active .console .inputform.active { display: block; }

#fullOverlay.active .console .inputform p { padding-bottom: 10px; }

#fullOverlay.active .console .inputform .inText { padding: 0.3em 0.5em; font-size: 1.6rem; }

@media screen and (max-width: 767px) { #fullOverlay.active .console .inputform .inText { font-size: 16px; } }

#fullOverlay.active .console .buttons { overflow: hidden; }

#fullOverlay.active .console .buttons p { padding: 10px; color: #fff; background-color: #282d6e; cursor: pointer; }

#fullOverlay.active .console .buttons p.cancel { color: #333; background-color: #ccc; }

#fullOverlay.active .console .buttons p.w1 { width: 100%; }

#fullOverlay.active .console .buttons p.w2 { float: left; width: 50%; }
