@charset "utf-8";

body { margin:0; padding:0; border:none; }
img,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,form,fieldset,textarea,address,main,article,aside,dialog,figure,footer,header,hgroup,nav,section { margin:0; padding:0; border:0; font-size:100%; text-decoration:none; list-style-type:none; }
main,article,aside,dialog,figure,footer,header,hgroup,nav,section { display:block; }
h1,h2,h3,h4,h5,h6 { font-weight:inherit; }
table { border:none; border-collapse:collapse; border-spacing:0; }
th,td { text-align:left; vertical-align:top; }
caption { text-align:left; }
a,a:focus,a:hover,a:active { outline:none; }
input,textarea,select { -webkit-appearance:none; -moz-appearance:none; appearance:none; background:transparent; border:none; border-radius:0; box-sizing:border-box; outline:none; margin:0; padding:0; }
textarea { display:block; resize:none; }
select::-ms-expand { display:none; }
button { box-sizing:border-box; margin:0; padding:0; border-radius:none; background:none; outline:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer; }
input,input:focus,input:hover,input:active,textarea,textarea:focus,textarea:hover,textarea:active { outline:none; }
img { vertical-align:top; max-width:100%; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
picture { display:block; }

html { font-size:10px; }
@media screen and (max-width:374px) { html { font-size:2.677vw; } }

body { color:#000; font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif; font-size:1.4rem; line-height:1.4; }
@media screen and (max-width:1035px) { body { font-size:1.3rem; } }
.company table {max-width: 700px; }
.sp { display:none; }
@media screen and (max-width:1035px) {
    .pc { display:none; }
    .sp { display:block; }
}





/*============================
#header
============================*/
#header { overflow:hidden; position:fixed; z-index:100; width:100%; background:rgb(0 0 0 / 45%); }
#header h1 { float:left; padding:20px 56px 0 26px; }
#header h1 a img{height:38px;}
#header .modal nav.menu { float:left; padding-top:28px; letter-spacing:4px; }
#header .modal nav.menu ul li { float:left; margin-right:46px; }
#header .modal nav.menu ul li a { position:relative; display:inline-block; padding-bottom:8px; color:#fff; text-decoration:none; }
#header .modal nav.menu ul li:hover a:before{ position:absolute; display:block; content:''; bottom:0; left:5%; width:85%; height:2px; background:#000; }
#header .modal .contact { float:right; display:flex; height:78px; }
#header .modal .contact p.tel { margin:18px 24px 0 0; font-size:10px; color:#fff; text-align:center; }
#header .modal .contact p.tel a { display:inline-block; padding:0 0 3px 18px; font-size:21px; color:#000; text-decoration:none; font-weight:bold; letter-spacing:1px; background:url(../img/ico_tel.png) no-repeat 0 center; background-size:auto 18px; }
#header .modal .contact p.tel span { padding:0 10px; }
#header .modal .contact p.form { padding:28px 22px 0; background:#000; text-align:center; }
#header .modal .contact p.form a { display:inline-block; padding-left:32px; color:#fff; text-decoration:none; font-weight:bold; letter-spacing:1px; background:url(../img/ico_mail.png) no-repeat 0 center; background-size:24px auto; }


@media screen and (max-width:1035px) {
    #header .inner { overflow:hidden; position:fixed; z-index:5; width:100%; background:#000; height:58px; }
    #header p.menuOpen { float:left; padding:14px 0 0 12px; }
    #header p.menuOpen a.js-modal-open { display:block; }
    #header p.menuOpen a.js-modal-open img { width:26px; }
    #header h1 { float:left; padding:13px 0 0 0px; }
    #header h1 img { width:80px;height: auto !important; }
    #header .contact_sp { float:right; }
    #header .contact_sp p.contact { float:right; }
    #header .contact_sp p.contact a { display:flex; align-items:center; height:58px; padding:0 14px; }
    #header .contact_sp p.contact a img { height:18px; }
    #header .contact_sp p.tel { float:right; padding:8px 4px 0 0; font-size:10px; color:#fff; }
    #header .contact_sp p.tel a { display:block; padding-left:15px; font-size:14px; color:#000; text-decoration:none; font-weight:bold; letter-spacing:1px; background:url(../img/ico_tel.png) no-repeat 0 3px; background-size:11px auto; }
    #header .contact_sp p.tel span { padding-right:7px; }
    #header .modal { display:none; position:fixed; top:0; width:100%; height:100%; overflow:auto; z-index:10; }
    #header .modal .modal__content { position:relative; height:100%; background:rgb(255 255 255 / 90%); }
    #header .modal p.menuClose { position:absolute; top:14px; left:12px; }
    #header .modal p.menuClose a.js-modal-close img { width:26px; }
    #header .modal nav.menu { float:none; display:flex; align-items:center; height:100%; padding:0; font-size:16px; letter-spacing:0; font-weight:bold; }
    #header .modal nav.menu ul { width:100%; }
    #header .modal nav.menu ul li { float:none; margin:0; padding:0 0 41px; text-align:center; }
    #header .modal nav.menu ul li a { padding:0; color:#000; }
    #header .modal .contact { float:none; position:absolute; bottom:0; left:0; width:100%; height:56px; }
    #header .modal .contact p.tel { width:50%; margin:0; padding-top:7px; background:#000; }
    #header .modal .contact p.tel a { font-size:18px; background-size:auto 15px; }
    #header .modal .contact p.tel span { padding:0 7px 0 0; }
    #header .modal .contact p.form { width:50%; padding:20px 0 0; font-size:13px; }
}


@media screen and (max-width:320px) {
    #header h1 { padding-left:0px; }
}



/*============================
#footer
============================*/
#footer { background:#000; color:#fff; overflow:hidden; }
#footer h1 { float:left; padding:40px 56px 0 26px; }
#footer h1 a img{height:38px;}
#footer .contact { float:right; display:flex; height:78px; }
#footer .contact p.tel { margin:28px 22px 0; color:#fff; text-align:center; }
#footer .contact p.tel a { display:inline-block; padding-left:32px; color:#fff; text-decoration:none; font-weight:bold; letter-spacing:1px; background:url(../img/ico_soko.png) no-repeat 0 center; background-size:auto 18px; }
#footer .contact p.tel span { padding:0 10px; }
#footer .contact p.form { padding:28px 22px 0; background:#4d4d4d; text-align:center; }
#footer .contact p.form a { display:inline-block; padding-left:32px; color:#fff; text-decoration:none; font-weight:bold; letter-spacing:1px; background:url(../img/ico_mail.png) no-repeat 0 center; background-size:24px auto; }
#footer dl.address { float:left; clear:right; padding:40px 30px ; }
#footer dl.address dd { padding-bottom:20px; }
#footer nav.menu { float:right; clear:right; padding-top:50px; }
#footer nav.menu ul { display:flex; flex-wrap:wrap; width:560px; border-left:1px solid #fff; }
#footer nav.menu ul li { width :calc(100% / 3); padding:17px 0 17px 20px; box-sizing:border-box; border-right:1px solid #fff; }
#footer nav.menu ul li:nth-child(3n) { border:0; }
#footer nav.menu ul li a { color:#fff; text-decoration:none; }
#footer nav.menu ul li a:hover { text-decoration:underline; }


@media screen and (max-width:1035px) {
    #footer { position:relative; }
    #footer h1 { float:none; padding:76px 13px 25px; }
    #footer h1 a img { width:80px;height: auto !important; }
    #footer .contact { float:none; position:absolute; top:0; left:0; width:100%; height:56px; }
    #footer .contact p.tel { width:50%; margin:20px 0 0; padding-top:0; background:#000; }
    #footer .contact p.tel a { font-size:13px; background-size:auto 17px;margin-right: 10px; }
    #footer .contact p.tel span { padding:0 7px 0 0; }
    #footer .contact p.form { width:50%; padding:20px 0 0; font-size:13px; }
    #footer dl.address { float:none; padding:0 13px 15px; font-size:12px; }
    #footer dl.address dd { padding-bottom:15px; }
    #footer nav.menu { float:none; padding:0 13px 30px; font-size:12px; }
    #footer nav.menu ul { width:100%; }
    #footer nav.menu ul li { width:25%; padding:10px 0; text-align:center; }
    #footer nav.menu ul li:nth-child(3n) { width:50%; }
}




/*============================
#main
============================*/
#main .topicpath { padding:10px 0 0 30px; font-size:12px; }
#main .topicpath ul { display:flex; }
#main .topicpath ul li:after { content:'>'; margin:0 10px; }
#main .topicpath ul li:last-child:after { display:none; }
#main .topicpath ul li a { text-decoration:none; color:#000; }
#main .topicpath ul li a:hover { text-decoration:underline; }

.fadeIn { opacity:0; transition:2s; }
.fadeIn.is-show { opacity:1; }
.fadeIn_up { opacity:0; transform:translate(0, 50%); transition:2s; }
.fadeIn_up.is-show { transform:translate(0, 0); opacity:1; }

@media screen and (max-width:1035px) {
    #main { padding-top:50px; }
    #main .topicpath { padding-left:10px; }

    #header h1{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
    #header p.menuOpen a.js-modal-open{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
		margin-top: 10px;
    }
    #header p.menuOpen a.js-modal-open span{
        width: 26px;
        border-top: 1px solid #fff;
        display: block;
    }
    #header p.menuOpen a.js-modal-open span:nth-child(1),
    #header p.menuOpen a.js-modal-open span:nth-child(2){
        margin-bottom: 10px;
    }
	#header p.menuOpen a.js-modal-open span:nth-child(2){
        display:none;
    }
}


table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}