@charset "UTF-8";


/* ------------ common ------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, /*ol, ul, li,*/
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* Basic CSS */
html {
  text-size-adjust: none; /* no-change fontsize for tablet w-h */	
  font-smoothing: antialiased;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, copyright {
  display: block;
}

/**, no -padding effect */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


a {
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}


      a img:hover {
          opacity: 0.8;
          filter: alpha(opacity=80);
          transition: 0.3s ease-in-out;
      }






/* --- recaptcha hidden
https://www.ii-sys.jp/notes/1511 --- */
/*

.grecaptcha-badge { 
    visibility: hidden;
}
  p.recaptcha_policy { 
      text-align: center;
      margin:12px;
      padding: 12px;
      font-size: 10px!important;
      line-height: 1.4; 
  }
*/




/* --- body --- */

body {
	color: #333;
  letter-spacing: 1.8px;   
	font-size:100%;
	margin:0;
	padding:0;
	text-align: left;
  position: relative;
  text-size-adjust: 100%;
  font-smoothing: antialiased;
  font-family: "Noto Sans JP" , 'Lato', sans-serif;
}



#wrap {
	display: block;
	margin:0;
	width:100%;
	height:auto;
}



/* ---------- header ---------- */

header#header {
	width: 100%;
	height: auto;
	margin : 0 auto;
	padding: 0;
  background-image: linear-gradient(90deg, #000000, #1c0004 14%, #72040a 48% 52%, #1c0004 86%, #000000);
}
}
  header#header::before {
    content: "";
    height: 5px;
    background: red;
  }
    header#header .inner {
      margin: 0 auto;
      padding: 2rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
      header#header .inner a#logo {
        display: block;
        width: 380px;
        margin: 0;
      }



/* --- functions --- */

div#functions{
  width: 380px;
  height: 80px;
}
  #functions ul{
    list-style: none;
    margin:  0;
    padding: 0;
  }
  #functions ul li  {
    margin: 0;
    padding: 0;
  }
  #functions ul li a.btnContact {
    position: relative;
    display: block;
    margin: 0;
    width: 100%;
    border-radius: 0.2rem;
    padding: 1.6em 4.2em;
    text-align: center;
    transition-duration: 200ms;
    background: #fff;
    color:#333;
    cursor:pointer;
    box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.64);
  }
    #functions ul li a.btnContact::after {
      position: absolute;
      top: 50%;
      right: 2em;
      width: 0.5em;
      height: 0.5em;
      transform: translateY(-50%) rotate(45deg);
      border-right: 2px solid currentColor;
      border-top: 2px solid currentColor;
      content: "";
    }

        #functions ul li a.btnContact:hover {
          filter: brightness(1.5);
          text-decoration: none;
          box-shadow: 0 0 10px #ffc,0 0 16px #ffc;
        }
 


/* -------------------- footer -------------------- */

footer#footer {
	width:100%;
	height: auto;
	margin :0;
	padding: 2rem;
	background: #333;
}

/* ----------- companyInfo ---------- */

#companyInfo {
	margin :50px 0 30px;
	padding: 20px;
	border-radius: 3px;
	background: #80796F;
}
  #companyInfo a figure img {
      margin :-28px 0 40px;
      color: #fff!important;
  }
    #companyInfo div.compaddress address {
        color: #fff!important;
        font-style: normal;
		font-size: 12px;
        line-height: 1.6;
		text-align: center;
    }


  #companyInfo div.telfax  {
      margin :30px 0 0 0;
	  display: flex;
	  flex-wrap: wrap;
  }
    #companyInfo div.telfax address {
		display: flex;
		color: #fff!important;
        font-style: normal;
		font-size: 13px;
        line-height: 1.2;
		margin: 0 auto 30px;
    }



/* ---------------------- footerSub ---------------------- */

#footerSub {
	width:100%;
  height: auto;
	margin :0 auto;
	padding: 0 0 20px;
}

    /* ----------- companyInfo ---------- */

    #companyInfo {
        margin :60px 0 30px;
        padding: 20px;
        border-radius: 3px;
        background: #80796F;
        border: none;
    }
      #companyInfo a figure img {
          margin :-28px 0 40px;
          color: #fff!important;
      }
        #companyInfo div.compaddress address {
            color: #fff!important;
            font-style: normal;
            font-size: 12px;
            line-height: 1.6;
            text-align: center;
        }
	  
	 
/* ---------------------- copyright ---------------------- */

copyright {
  display: block;
  font-size: 0.8rem;
  line-height: 1.4;
  margin: 0 auto;
  padding: 5rem 0 0;
  text-align: center;
  color: #fff;
}
  copyright a {
    margin: 0 0.5rem;
    color: #fff!important;
    text-decoration: underline!important;
  }
  copyright a:hover {
    text-decoration: none!important;
  }



/*---------- Whatsnew  NewPostList without Thumbnail ----------*/

.whatsnew {
	display: block;
	width:100%;
  height: auto;
	margin : 3rem 0 0;
	padding: 0;
}

  .whatsnew .inner {
    width:100%;
	  max-width: 1200px;
    height:auto;
    margin : 0 auto;
    padding: 0;
  }

  .whatsnew .inner h2 {
    display: block;
    font-size: 2rem;
    margin :0 0 2rem;
    padding: 0;
  }

.whatsnew ul {
	display: block;
  margin: 0;
  padding:0 1.2rem;
  list-style:none;
}
  .whatsnew ul:nth-of-type(1) {
      padding:0 1.2rem 3rem;
  }

  .whatsnew ul li {
    display:flex;
    align-items: center;
    width:100%;
    height:auto;
    padding: 0;
    margin: 0 0 1.4rem;
    position: relative;
  }


/* --- date --- */
  .whatsnew ul li span {
		order: 1;
    display:block;
    width: 7rem;
    line-height:1;
    font-size: 0.9rem;
    color: #aaa;
		padding: 0;
    align-items: flex-start;
    }


/* --- newest --- */
  .whatsnew ul li > div {
    order: 2;
    display:block;
    width: 3rem;
	}
    .whatsnew ul li em {
      font-style: normal;
      font-size: 0.6rem;
      font-weight: 100;
      line-height: 1;
      color: #FFF;
      margin: 0;
      padding: 0.3rem;
      text-align: center;
      background: #FF4A4A;
      border-radius: 3px;
    }

/* --- title --- */
  .whatsnew ul li a {
		order: 3;
    display:block;
    width: 55rem;
    text-decoration:none;
    list-style:none;
    font-size: 1remå;
    line-height:1.4;
    padding: 0 0 0 0;
  }
    .whatsnew ul li a:hover {
       text-decoration: underline;
    }


/* -------- btn01 -------- */


  a.btn01 {
    position: relative;
    display: block;
    margin: 0;
    width: auto;
    border-radius: 50vh;
    padding: 1.6em 4.2em;
    text-align: center;
    transition-duration: 200ms;
    background: #CE89DE;
    color:#fff;
    cursor:pointer;
  }
    .btn01::after {
      position: absolute;
      top: 50%;
      right: 2em;
      width: 0.5em;
      height: 0.5em;
      transform: translateY(-50%) rotate(45deg);
      border-right: 2px solid currentColor;
      border-top: 2px solid currentColor;
      content: "";
    }



        a.btn01:hover {
          filter: brightness(1.5);
        }
 




/* ------------------ common table ------------------ */


table.tablepress {
    border-collapse:collapse;
	width: 100%;
	margin: 40px auto;
    padding:  16px 0 20px;
    background-color: #fff;
    box-shadow: 0 3px 6px -3px rgba(0, 0, 0, 0.3);
}

table.tablepress thead th,
table.tablepress tfoot th {
    background-color: transparent;
    font-size: 1rem;
    padding:1rem 0.5rem;
	box-sizing:border-box;
	text-align: left;
}


table.tablepress tr {
    border-top:1px solid #ececec;
}
/*
  table.tablepress tr:first-child {
      border-top:0;
  }
*/

table.tablepress td {
    border: none;
    font-size: 0.82rem;
    padding:0.75rem 0.5rem
}

table.tablepress th:first-child,
table.tablepress td:first-child {
    border: none;
    padding-left:1.5rem
}


table.tablepress th:last-child,
table.tablepress td:last-child {
    border: none;
    padding-right:1.5rem
}


/* link color */

a:link     { color: #0066CC; text-decoration: none; font-weight: bolder; }
a:visited  { color: #004489; text-decoration: none; }
a:hover    { color: #0D86FF; text-decoration: underline; }



.bgGreen { background: #e25d56; }
.bgOrange { background: #EAAD5A; }
.bgPink { background: #EA8C5A; }

.longurl {word-break: break-all; }


.brsp { display: none; }
.brpc { display: block; }





/* --- HPリンク --- */

a.siteLink {
  display: inline-block;
  margin: 0.5rem 0 0 0;
	word-break: break-all;
}
  a.siteLink:after {
    content: '';
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 0.3rem;
    background-image: url( 'data:image/svg+xml;utf-8,<svg fill="%23999" version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"><g><path d="M260.8,41.5v416h416v-416H260.8z M636.8,417.5h-336v-336h336V417.5z"/><polygon points="204.8,513.5 204.8,337.5 204.8,177.5 204.8,137.5 164.8,137.5 164.8,553.5 580.8,553.5 580.8,513.5 540.8,513.5"/><polygon points="397.6,354.4 515.5,236.5 515.5,321.3 555.5,321.3 555.5,168.2 402.4,168.2 402.4,208.2 487.2,208.2 369.4,326.1"/></g></svg>' );
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
  }
    a.siteLink:hover {
      text-decoration: underline;
    }

a.siteLinkBtn {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 80%;
  height: 2rem;
  padding: 0 1rem;
  margin: 0.5rem 0 0 0;
	word-break: break-all;
  font-size: 0.6rem;
  color: #fff!important;
  background: skyblue;
/*  padding: 0.5rem 1rem;*/
  border-radius: 0.3rem;
  position: relative;
}
  a.siteLinkBtn:after {
    content: '';
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 0.3rem;
    background-image: url( 'data:image/svg+xml;utf-8,<svg fill="%23fff" version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 841.9 595.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve"><g><path d="M260.8,41.5v416h416v-416H260.8z M636.8,417.5h-336v-336h336V417.5z"/><polygon points="204.8,513.5 204.8,337.5 204.8,177.5 204.8,137.5 164.8,137.5 164.8,553.5 580.8,553.5 580.8,513.5 540.8,513.5"/><polygon points="397.6,354.4 515.5,236.5 515.5,321.3 555.5,321.3 555.5,168.2 402.4,168.2 402.4,208.2 487.2,208.2 369.4,326.1"/></g></svg>' );
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
  }
  a.siteLinkBtn:hover {
    background:#95E6FF;
    text-decoration: none!important;
  }



/* ---------------------------------------- */
/* ------------ margin padding ------------ */
/* ---------------------------------------- */

.m20 { margin:20px !important;}
.m30 { margin:30px !important;}
.m40 { margin:40px !important;}
.m50 { margin:50px !important;}

.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt80 { margin-top:80px !important;}

.mb20 { margin-bottom:20px !important;}
.mb30 { margin-bottom:30px !important;}
.mb40 { margin-bottom:40px !important;}
.mb50 { margin-bottom:50px !important;}
.mb80 { margin-bottom:80px !important;}

.p10 { padding:10px !important;}
.p20 { padding:20px !important;}
.p30 { padding:30px !important;}
.p40 { padding:40px !important;}
.p50 { padding:50px !important;}
.p60 { padding:60px !important;}
.p70 { padding:70px !important;}
.p80 { padding:80px !important;}
.p90 { padding:90px !important;}
.p100 { padding:100px !important;}
.p110 { padding:110px !important;}
.p120 { padding:120px !important;}

.moView { display: none; }
.pcView { }
