@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@500;700&display=swap");
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

/* PC スマホ　横幅で切替指定
*/
.for-pc { display:block; }
.for-sp { display:none; }

@media only screen and (max-width : 767px){
  .for-pc { display:none; }
  .for-sp { display:block; }
}

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

html {
  font-size: 62.5%;
}

ul {
  list-style: none;
}

html{
 margin: 0px;
 font-size: 62.5%;
 padding:0;
 color:#333;
 font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
 } 
 
 body{
 font-size:15px;/*100%*/
 font-size:1.5rem;	 
 margin: 0px;
 padding:0;
 color:#333;
	 background:#e9edf3;
 } 
img {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: top;
    height: auto;
}
 *, ::after, ::before {
    box-sizing: border-box;
}
a:link { COLOR: #333333; TEXT-DECORATION: none } 
a:visited { COLOR: #333333; TEXT-DECORATION: none } 
a:hover { COLOR: #004a9a; TEXT-DECORATION: none } 

div {
margin:0;
padding:0;
}

h1,h2,h3,p{
margin:0;
padding:0;
}

img { border:none;}

ul,li{
list-style:none;
margin:0;
padding:0;
}

div#main_conts{
width:100%;
margin:0 auto;
padding:0;
	
}

div#conts {
width:650px;
padding:0;
    margin: 30px auto 30px auto;
height:100%;
}
.header_box{
background: #fff;
	box-shadow: 0px 0px 2px 2px rgb(218 223 229);
}
.header_logomark{
width: 650px;
margin:0 auto;
padding:0;
}

.header_logomark img{
    width: 135px;
    padding: 12px 0px 15px 0px;
}

div#main {
    text-align: left;
    width: 650px;
    padding: 30px 30px 0px 30px;
    height: 350px;
    overflow: hidden;
    background: #fff;
	    border-radius: 5px;
	    box-shadow: 0px 0px 2px 2px rgb(218 223 229);
}

.main_in {
height: 100%;
overflow:hidden;
margin:0 auto;
}

.sup_text {
float: left;	
color:#050507;
width:390px;
height: auto;
height: 100%;
}

.spacer{
	letter-spacing: 0.05em;
	font-size: 16px;
	line-height: 1.7;
}

.spacer_box{
	padding: 0px 0px 20px 0px;
}

/* ---first-link2----------------------------------------------------- */

.first-link2 .t_btn_top{
    height: 40px;
    font-size: 13px;
    color: #fff;
    font-weight: 600;
    text-align: center;
    padding: 6px 0px 0px 20px;
    letter-spacing: 0.19em;
    }
.first-link2 .t_btn1{
z-index: 999;
padding: 0px 0px 0px 35px;
display: block;
}
.first-link2 .t_btn2{
    z-index: 999;
    padding: 13px 4px 0px 35px;
    display: block;
    float: left;
}
.first-link2 .t_btn3{
z-index: 999;
padding: 13px 0px 0px 6px;
display: block;
float: left;
}
.first-link2 .t_btn4{
z-index: 999;
padding: 13px 0px 0px 35px;
display: block;
clear: both;
}

.first-link2 .t_btn5{
z-index: 999;
padding: 26px 0px 0px 20px;
}
.t_btn1 a{
text-decoration: none;
}
.t_btn2 a{
text-decoration: none;
}
.t_btn3 a{
text-decoration: none;
}
.t_btn4 a{
text-decoration: none;
}
.t_btn5 a{
text-decoration: none;
}

.first-link2{
    width: 200px;
    height: 310px;
    position: relative;
    right: 0;
    z-index: 9999;
    background: transparent url(../images/top_r_bg.png) top center no-repeat;
}

.first-link2Box{
    padding: 0px;
	float: right;
}
/* -トップだけ------------------------------------------------ */
.gNaviBtmBox_2 {
    grid-row: 3;
    grid-column: 1 / 4;
    padding: 14px 0px 2px 0px;
    background-color: #e9edf3;
}

/* =============================================
トップ右ボタン
============================================= */
.IndicatorButton2 {
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #c3dcfc 0%, #fff 100%);
    width: 70px;
    padding: 0 3px 0 3px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.12em;
  }
  .IndicatorButton2:hover {
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #9ec6fa 0%, #c4ddff 100%);
    width: 70px;
    padding: 0 3px 0 3px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.12em;
    animation: btn_animation 2s infinite;
  }
.IndicatorButton3 {
    display: flex;
    align-items: center;
    color: #FFFFFF;
    background: linear-gradient(to right, #004a9a 0%, #2a80de 100%);
    border: none;
    width: 150px;
    padding: 0 10px 0 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    font-size: 15px;
    letter-spacing: 0.07em;
  }

  .IndicatorButton3:hover {
    display: flex;
    align-items: center;
    color: #FFFFFF;
    background: linear-gradient(to right, #0068d8 0%, #1c8aff 100%);
    border: none;
    width: 150px;
    padding: 0 10px 0 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    font-size: 15px;
    letter-spacing: 0.07em;
    animation: btn_animation 2s infinite;
  }

  .IndicatorButton4 {
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #c3dcfc 0%, #fff 100%);
    width: 70px;
    padding: 0 3px 0 3px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.12em;
  }
  .IndicatorButton4:hover {
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #9ec6fa 0%, #c4ddff 100%);
    width: 70px;
    padding: 0 3px 0 3px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.12em;
    animation: btn_animation 2s infinite;
  }
  .IndicatorButton5{
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #c3dcfc 0%, #fff 100%);
    width: 150px;
    padding: 0 10px 0 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.04em;
  }
  .IndicatorButton5:hover  {
    display: flex;
    align-items: center;
    color: #004a9a;
    background: linear-gradient(to right, #9ec6fa 0%, #c4ddff 100%);
    width: 150px;
    padding: 0 10px 0 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #a4bcdd;
    font-weight: 500;
    font-size: 12.5px;
    letter-spacing: 0.04em;
    animation: btn_animation 2s infinite;
  }
  .IndicatorButton6 {
    display: flex;
    align-items: center;
    color: #fff;
    background: linear-gradient(to right, #c50000 0%, #f85252 100%);
    width: 180px;
    padding: 0 13px 0 13px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #c4d2e5;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.09em;
  }
  .IndicatorButton6:hover {
    display: flex;
    align-items: center;
    color: #fff;
    background: linear-gradient(to right, #ff0000 0%, #ff707c 100%);
    width: 180px;
    padding: 0 13px 0 13px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .16);
    border: 1px solid #c4d2e5;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.09em;
    animation: btn_animation 2s infinite;
  }

  @keyframes btn_animation {
    0% {
        transform: translate(4px, 0px);
    }
    5% {
        transform: translate(-4px, 0px);
    }
    10% {
        transform: translate(4px, 0px);
    }
    15% {
        transform: translate(-4px, 0px);
    }
    20% {
        transform: translate(4px, 0px);
    }
    25% {
        transform: translate(-4px, 0px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

    .IndicatorButton2.IB2Line {
      height: 62px;
      border-radius: 7px 7px 7px 7px;
    }
    .IndicatorButton3.IB3Line {
        height: 103px;
        border-radius: 10px 10px 10px 10px;
      }
      .IndicatorButton4.IB4Line {
        height: 62px;
        border-radius: 7px 7px 7px 7px;
      }
      .IndicatorButton5.IB5Line {
        height: 45px;
        border-radius: 8px 8px 8px 8px;
      }
      .IndicatorButton6.IB6Line {
        height: 59px;
        border-radius: 10px 10px 10px 10px;
      }

    .IndicatorButton2:hover {
      background-color: #516ddc;
    }
    .IndicatorButton2:active {
      background-color: #63a1ed;
    }
  .IndicatorButtonCaption2 {
    flex: 1;
    text-align: left;
  }
  .IndicatorButtonIndicator2 {
    flex: 1;
    max-width: 1rem;
  }

  
  .IndicatorButton3:hover {
    background-color: #516ddc;
  }
  .IndicatorButton3:active {
    background-color: #63a1ed;
  }
.IndicatorButtonCaption3 {
  flex: 1;
  text-align: left;
  line-height: 1.5;
}
.IndicatorButtonIndicator3 {
  flex: 1;
  max-width: 1rem;
}


.IndicatorButton4:hover {
    background-color: #516ddc;
  }
  .IndicatorButton4:active {
    background-color: #63a1ed;
  }
.IndicatorButtonCaption4 {
  flex: 1;
  text-align: left;
}
.IndicatorButtonIndicator4 {
  flex: 1;
  max-width: 1rem;
}


.IndicatorButton5:hover {
    background-color: #516ddc;
  }
  .IndicatorButton5:active {
    background-color: #63a1ed;
  }
.IndicatorButtonCaption5 {
  flex: 1;
  text-align: left;
}
.IndicatorButtonIndicator5 {
  /*flex: 1;*/
  max-width: 1rem;
}

.IndicatorButton6:hover {
    background-color: #516ddc;
  }
  .IndicatorButton6:active {
    background-color: #63a1ed;
  }
.IndicatorButtonCaption6 {
  flex: 1;
  text-align: left;
}
.IndicatorButtonIndicator6 {
  flex: 1;
  max-width: 1rem;
}

.IndicatorButtonCaption6_in{
        background: #f96868;
        padding: 3px 5px 3px 5px;
        font-size: 60%;
        line-height: 60%;
        font-weight: normal;
        font-weight: lighter;
        position: relative;
        top: -2px;
  }
  .IndicatorButtonCaption3_in{
    letter-spacing: -0.15em;
}
.IndicatorButtonCaption_in{
    font-size: 75%;
    font-weight: lighter;
    letter-spacing: -0.02em;
}
.tb_in{
    letter-spacing: -0.17em;
}

/* 緊急メンテナンス案内：文字情報のみ（既存のログイン導線には影響させない） */
.maintenance-notice {
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.maintenance-notice__lead {
  margin: 0 0 13px;
  font-size: 15px;
  line-height: 1.6;
}
.maintenance-notice__lead strong {
  font-weight: 700;
  color: #173d66;
}
.maintenance-notice__sp-break {
  display: none;
}
.maintenance-notice__detail {
  margin: 0 0 13px;
}
.maintenance-notice__assurance {
  font-weight: 700;
}
.maintenance-notice__contact {
  padding-top: 9px;
  border-top: 1px solid #d5dfec;
  font-size: 13px;
  line-height: 1.5;
}
.maintenance-notice__contact-label {
  display: block;
  font-weight: 700;
}
.maintenance-notice__tel,
.maintenance-notice__tel:link,
.maintenance-notice__tel:visited {
  display: inline-block;
  color: #004a9a;
  font-size: 16px;
  font-weight: 700;
  text-decoration: underline;
  white-space: nowrap;
}
.maintenance-notice__hours {
  font-size: 13px;
  white-space: nowrap;
}

.maintenance-notice__login-guide {
  font-weight: 700;
  color: #b43d46;
}
