a{
  text-decoration:none;
  word-break: break-all;
}
a:link {
  color:#0048a2;
}
a:visited{
  color:#803DAA;
}
a:active {
  color:#17A2B2;
}
a:hover {
  position:relative;
  color:#17A2B2;
  text-decoration:underline;
}
a:hover img{
  position: relative;
  top: 0; left: 0;
}

.bold{
  font-weight: bold;
}

/* HAMBURGER */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 30px;
  height: 26px;
}
.menu-trigger:hover{
  cursor: pointer;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #002063;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(11px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

/* ヘッダー */
#header{
  position: fixed;
  width: 100%;
  z-index: 999;
}
header{
  background-color: #ffffff;
}
.header_in{
  width: 100%;
  padding:0.5rem;
  box-sizing: border-box;
  border-bottom: 3px solid #002063;
}
.header_wrapper{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
.header_left{
  display: inline-block;
  width: 55%;
}
.sns_icon a,
.header_left a{
  display: inline-block;
}
.header_left img{
  max-height: 32px;
}
.header_right{
  width: 45%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.sns_icon{
  text-align: right;
  margin-right: 0.5rem;
}
.sns_icon img{
  width: 24px;
  height: 24px;
}

.header_menu{
  display: none;
  background: #002063;
}
.header_menu_in{
  padding: 0.5rem;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}
.header_menu_in ul{
  display: flex;
  flex-wrap: wrap;
}
.header_menu_in li{
  border: 1px solid #ffffff;
  box-sizing: border-box;
  width: calc((100% - 0.5rem) / 2);
}
.header_menu_in li:nth-child(odd){
  margin-right: 0.5rem;
}
.header_menu_in li:nth-child(n + 3){
  margin-top: 0.5rem;
}
.header_menu a{
  color: #ffffff;
  display: inline-block;
  width: 100%;
  padding: 0.5em 0;
  box-sizing: border-box;
  text-align: center;
}
.header_menu a:hover{
  text-decoration: none;
  background: rgba(255, 255, 255, 0.3);
}
.header_menu_bg{
  display: none;
}
.header_menu_bg.active{
  display: block;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.2);
  position: fixed;
  z-index: 998;
}

.yahoo{
  padding-top: 0 !important;
}
.yahoo div:first-child{
  font-size: 80%;
}
.yahoo *{
  line-height: 1.0 !important;
}
.yahoo_form dl{
  display: flex;
  align-items: center;
  width: 100%;
}
.yahoo_form dt{
  width: calc((100% - 47px) - 0.5rem);
}
.yahoo_form dt input[type="text"]{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cacaca;
  padding: 0.3rem;
}
.yahoo_form dd{
  margin-left: 0.5rem;
}

/* フッター */
.writing{
  text-align: right;
}
.page_navi,
.footer{
  display: flex;
  justify-content: center;
  border-top: 1px solid #c0c0c0;
}
.page_navi > div + div{
  margin-left: 1rem;
}
.page_navi a{
  display: inline-block;
  text-align: center;
}
.page_navi + .page_navi{
  border-top: 0;
}

/* コンテンツ */
#contents{
  padding-top: 60px;
}
.contents_in *{
  line-height: 1.5;
}
.yahoo,
.article > *,
.page_navi,
.footer{
  width: 100%;
  box-sizing: border-box;
  padding: 1rem 0.5rem;
}
.article > * > div + div{
  margin-top: 1rem;
}

.video{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
  margin-top: 1rem;
}
.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.small_title{
  padding: 0.5rem;
  margin: 0.5rem 0;
}
.small_title p{
  font-weight: bold;
}
.image_wrapper{
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.image_wrapper img{
  display: inline-block;
  width: 80%;
  margin: 0 auto;
}
.image_wrapper * + *{
  margin-top: 0.5rem !important;
}
.image_wrapper + .image_wrapper{
  margin-top: 1rem;
}


/* -------------------- */
/* ---------------- */
/*  プレスリリース　*/
.press .title{
  position: relative;
  font-size: 16px;
  font-weight: bold;
  border: 1px solid #000000;
  padding: 10px;
  text-align: center;
}
.press .title img{
  width: 100%;
}
.press .title_in{
  width: 33%;
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  padding: 0.5rem 1rem;
  left: 55%;
  top: 50%;
  transform: translateY(-50%);
}

.hap .sub_title{
  color: #ec008b;
  font-size: 18px;
}

.press .small_title{
  font-weight: bold;
}
.press .small_title p{
  color: #000000;
}
.press .image_wrapper img{
  object-fit: contain;
}
.press .image_border{
border: 1px solid #000000;
}
.press_table .table_title{
  background: #cccccc;
  padding: 0.3rem;
}
.press_table .table_title,
.press_table > dl > dt,
.press_table > dl > dd{
  border: 1px solid #999999;
  border-bottom: 0;
}
.press_table dd{
  padding: 0.3rem;
}
.press_table dt > dl dt{
  background: #fad5e5;
  border-bottom: 1px solid #999999;
  padding: 0.3rem;
}
.press_table > dl:last-of-type{
  border-bottom: 1px solid #999999;
}
.press .quote{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}


/* -------------------- */
/* ---------------- */
@media screen and (min-width: 768px){
  .civil .profile{
    width: 60%;
    position: absolute;
    top: 62%;
    left: 38%;
  }
  .civil .profile p{
    color: #ffffff;
    font-size: 0.7em;
  }
}
@media screen and (min-width: 501px){
  .image_wrapper img{
    width: 50%;
  }
  .yahoo,
  .article > *,
  .page_navi,
  .footer{
    padding: 0.5rem 1rem 1rem;
  }
  .shade.article > .profile{
    padding: 1rem;
  }
}

@media screen and (max-width: 500px){

  /* プレスリリース */
  .press .title_in{
    width: 100%;
    position: relative;
    background: none;
    left: 0;
    top: 0;
    transform: none;
    padding: 0;
    margin-top: 1rem;
  }

}