@charset "utf-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

/* =Reset default browser CSS.
Based on work by Eric Meyer:http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}
:focus{outline:0;}

ol, ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after{content:"";}
blockquote, q{quotes:"" "";}
a img{border:0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}
/* -------------------------------------------------------------- */

/********************************************************************/
/*   public style   */
/********************************************************************/
body {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-flow: column;
  min-height: 100vh;
  color:#000;
  font-size:62.5%;
  font-family: "ヒラギノ角ゴ Pro W3","ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  line-height:1.618;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background:#e6effb;
}


/********************************************************************/
/*   ONLY style in this system  */
/********************************************************************/
:root {
  --c-o1: #F3410B;
  --c-o2: #F77E2F;
  --c-b1: #0066FF;
  --c-b2: #000066;
  --c-b3: #0051A2;
  --c-g1: #eee;
}

header,footer,.main {
  margin:0 auto;
  width:94%;
  max-width: 1280px;
  background-color:#fff;
}

/*---------------------------------------------*/
/* public                                      */
/*---------------------------------------------*/
.wf-mplus1p { font-family: "M PLUS 1p"; }

a {
  color:#003399;
  text-decoration:none;
}

a:hover {
  /*color:#0099FF;*/
}

a:active,a:focus {
  outline:0;
}

h1 {
  text-align:center;
  font-size:1.4rem;
}

h2 {
  margin-top: 1rem;
  text-align:center;
  font-size:1.2rem;
}

p {
  font-size: 0.9rem;
}

.comment {
  font-size: 0.8rem;
  margin: 0.5rem;
  padding: 1rem;
  border-top: 1px solid #0066FF;
  border-top: 1px solid var(--c-b1);  
  line-height: 0.9rem;
}


.attention {
  text-align: center;
  font-size: 0.9rem;
  margin: 1rem 0;
  line-height: 1.3rem;
  color: #f00;
  border: 1px solid #f00;
}

/*-------------------------------------------------------*/
/* header                                                */
/*-------------------------------------------------------*/
header {
  margin:0 auto;
  border-bottom: 1px solid #0066FF;
  border-bottom: 1px solid var(--c-b1);
  padding-bottom:1.3rem;
  background:#fff url(../../img/head_line3.jpg) no-repeat;
}

/*---   header style   for PC   -------------------------*/
@media only screen and (min-width:954px) {

header .contact {
  position: relative;
  float:right;
  right: 15px;
  margin-top:-27px;
  font-size:0.7rem;
}
}
/*---   header style   for Tablet   ----------------------*/
@media only screen and (max-width:953px) {

header .contact {
  position: relative;
  float:right;
  right: 15px;
  margin-top:-29px;
  font-size:0.7rem;
  top: 30px;
}
}
/*---   header style   for SmartPhone   -------------------*/
@media only screen and (max-width:480px) {

}

/*-------------------------------------------------------*/
/* main                                                  */
/*-------------------------------------------------------*/
.main {
  -webkit-box-flex:1;
  -ms-flex:1 1 100%;
  flex: 1;
  font-size: 0.9rem;
  padding: 0.3rem 0rem;
  line-height: 1.0rem;
}
/*---   main style   for IE   -------------------*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .main {
    min-height: 650px; /*--- IE対応 */
  }
}
/*-------------------------------------------------------*/
/* footer                                                */
/*-------------------------------------------------------*/
footer {
  clear:both;
  text-align:center;
  background-color:#000033;
  color:#fff;
}

footer .copyright {
   padding:10px 0;
   font-size:0.8rem;
   font-style:normal;
   color:#999;
   text-align:center;
}

footer a {
   color:#fff;
}
footer a:hover {
   color:#999;
}
/*---------------------------------------------*/
/* pagebody                                    */
/*---------------------------------------------*/
.pagebody {
  margin: 15px 0;
  width: 100%;
  height: 100%;
}

.linklist {
  margin-top: 15px;
  margin-bottom: 50px;
  text-indent: 1.5rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}
.linklist li {
  font-size: 1.1rem;
  width: 350px;
  height: 50px;
  line-height: 3.5rem;
  position: relative;
  text-decoration: none;
  margin-right: 20px;
  border-bottom: 1px solid #99e5ff;
}
.linklist li::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: #99e5ff;
  border-radius: 50%;
  position: relative;
  margin-right: 8px;
}
.linklist a:hover {
  color: #5900b2;
  font-weight: bold;
}
.linklist a::after {
  content: '';
  position: absolute;
  top: 33%;
  left: 20px;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  background-color: rgba(232,223,255,0.5);
  border-radius: 50%;
  transition: 0.3s;
}

.linklist a:hover::after {
  width: 25px;
  height: 25px;
}
/*---------------------------------------------*/
/* form control                                */
/*---------------------------------------------*/
input {
  margin-bottom: 10px;
}

textarea {
  height: 100px;
  margin-bottom: 10px;
}

input:first-of-type {
  margin-top: 35px;
}

input, textarea {
  font-size: 1rem;
  padding: 15px 10px 10px;
  border: 0px solid #0066FF;;
  border: 0px solid var(--c-b1);
  background: #eee;
  background: var(--c-g1);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 400px;
}
::-webkit-input-placeholder {
   color: #AAA;
}
:-moz-placeholder {
   color: #AAA;  
}
::-moz-placeholder {
   color: #AAA; 
}
:-ms-input-placeholder {
   color: #AAA;  
}

input[type="month"] {
  font-family: "ヒラギノ角ゴ Pro W3","ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ";
  width: 165px;
}

label {
  position: relative;
  display: inline-block;
  margin: 1.5em 15px 0.5em 0;
  padding: 7px 10px;
  min-width: 80px;
  max-width: 100%;
  color: #FFF;
  font-size: 16px;
  background: #0051A2;
  background: var(--c-b3);
  border-radius: 10px;
  line-height: 2rem;
}

label:before {
  border: solid transparent;
  content:'';
  height:0;
  width:0;
  pointer-events:none;
  position:absolute;
  border-color: rgba(0, 153, 255, 0);
  border-top-width:15px;
  border-bottom-width:0px;
  border-left-width:17px;
  border-right-width:20px;
  margin-top: -10px;
  border-left-color:#0051A2;
  border-left-color:var(--c-b3);
  left:100%;
  top:70%;
}

label p {
  margin: 0;
  padding: 0;
}

#btnEye {
  margin-left: -50px;
  margin-top: 5px;
  font-size: 1rem;
  padding: 15px 10px 10px;
  border: 0px solid #0066FF;
  border: 0px solid var(--c-b1);
  background: #eee;
  background: var(--c-g1);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 99;
}

/*---------------------------------------------*/
/* login form                                  */
/*---------------------------------------------*/
.cls-login {
  display: block;
  width: 410px;
  margin:0 auto;
  padding-top: 1.5rem;
}

.cls-login .ctl input {
  margin-top: 5px;
  margin-left: 6px;
  padding: 14px 10px;
}

.cls-login p {
  text-align:center;
  font-size:0.9rem;
  margin: 0.5rem 0 1rem 0;
}
.cls-login .btn {
  height: 80px;
  text-align: center;
  margin-top: 40px;
}

.btn-pub {
  width: 100%;
  text-align: center;
  color: #fff;
  background-color: #000066;
  background-color: var(--c-b2);
  font-size: 1.5rem;
  position: relative;
  top: 1.5rem;
  padding: 0.8rem 1.3rem;
  margin-right: 5px;
  border-radius: 100vh;
  font-family: 'M PLUS 1p';
}
.btn-pub:hover {
  background-color: #0066FF;
  background-color: var(--c-b1);
}
.btn-pub i.fa {
  margin-right: 1rem;
}

.cls-cancel {
  width: 120px;
  margin-right: 3px;
}

.btn-cancel {
  padding: 0.8rem 1.2rem;
  color: #666;
  background-color: #eee;
  font-size: 1.2rem;
  border-radius: 100vh;
  margin-top: 30px;
  margin-right: 2px;
}

.btn-cancel:hover {
  background-color: #000066;
  background-color: var(--c-b2);
  color: #fff;
}

.btn-pub-mini {
  width: 100px;
  text-align: center;
  color: #fff;
  background-color: #0066FF;
  background-color: var(--c-b1);
  font-size: 1.2rem;
  position: relative;
  top: 0rem;
  padding: 0.4rem 1rem;
  margin-left: 5px;
  border-radius: 100vh;
  font-family: 'M PLUS 1p';
}
.btn-pub-mini:hover {
  background-color: #000066;
  background-color: var(--c-b2);
}
.btn-pub-mini i.fa {
  margin-right: 1rem;
}

.alertarea {
  margin-left: 115px;
  margin-bottom: 0.8rem;
  font-size: 0.9rem;
  color: #f00;
  font-weight: bold;
}
