@charset "utf-8";
/* CSS Document */


/*CSS変数*/
:root{
  --c-bk:#1d1d1d;/*ベース色*/
  --c-gy:#5D5D5C;/*文字中間色*/
  --c-lgy:#A7A7A7;/*文字中間色*/
  --c-led:#d32248;/*アクセントカラー*/
  --b-lgy:#F4F4F4;/*背景用グレー*/
  --mw:1200px;/*コンテンツ幅*/
  --scmg-pc:10%;/*セクション共通マージン PC*/
  --scmg-sp:20%;/*セクション共通マージン SP*/
  --bar-lgy:#d3d3d3;/*囲み用ライトグレー*/
  --cmg-pc:110px;/*ページ内コンテンツマージン PC*/
  --cmg-sp:70px;/*ページ内コンテンツマージン SP*/
  --csmg-pc:70px;/*ページ内サブコンテンツマージン PC*/
  --csmg-sp:40px;/*ページ内サブコンテンツマージン SP*/
}



html{
  font-size:62.5%;
}

body {
  font-family: "Hiragino Sans","ヒラギノ角ゴシック",sans-serif; 
  background: #fff;
  color:var(--c-bk);
  letter-spacing: 1px;
  margin: 0 auto;
  /* overflow: hidden; */

}

body,p,h1,h2,h3,h4,h5,li,dt,dd{
  font-weight: normal;
  font-size:1.6rem;
/* line-height:1.6; */
}
ul {
  list-style: none;
}

a {
  text-decoration: none; 
  color:inherit;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

*{
  box-sizing: border-box;
}

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

  body,p,h1,h2,h3,h4,h5,li,dt,dd{
    font-size:1.4rem;
    /* line-height:1.5; */
  }

}

/**********************************************************
共通CSS
**********************************************************/
section{
  margin-bottom:var(--scmg-pc);
}

.inner{
  max-width:var(--mw);
  height:auto;
  margin:0 auto;
  padding:0 2%;
}

section.container_gy{
  background:var(--b-lgy);
  padding:var(--cmg-pc) 0;
  /* margin-bottom:0; */
  }

  section.container_gy.mgbnone{
   margin-bottom:0;
    }

.t-en{
  font-family: poppins, sans-serif;
  font-style: normal;
  font-weight: 300;
}

.br_sp{
  display: none;
}



@media screen and (max-width: 767px) {
  section{
    margin-bottom:var(--scmg-sp);
  }

  section.container_gy{
    padding:var(--cmg-sp) 0;
    }

  section .inner{
    padding:0 4%;
  }

  .br_sp{
    display:block;
  }

  .br_pc{
    display: none;
  }
}

/**********************************************************
共通リンクなど
**********************************************************/

.more-link{
  text-align: center;
  padding:10px 0;
  letter-spacing: 2px;
  width:calc(4em + 8%);
  margin:var(--csmg-pc) auto 0;
  position: relative;
}

.more-link.mgbnone{
  margin:0;
}

.link_right{
 display: flex;
 justify-content: flex-end;
}

.more-link p{
  position: relative;
  z-index:1000;
  transition: .2s;
}

.more-link span{
display: block;
width:100%;
height:2px;
background:var(--c-bk);
position: absolute;
bottom:0;
z-index: 1;
transition: .2s;
}


.more-link a:hover span{
 height:100%;
}

.more-link a:hover p{
  color:#fff;
}

.more-link a:hover:before{
  height:100%;
  }

.web_link{
  width:80%;
  max-width:250px;
  font-size: 1.4rem;
  border: solid 1px var(--c-bk);
  margin:80px auto 0;
}

.web_link.mgtnone{
  margin:auto 0;
}

.web_link a{
  padding:12px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.web_link span img{
  vertical-align: middle;
}

.web_link_right{
  display: flex;
  justify-content: flex-end;
}

.bnr-link{
 width:100%;
 height:200px;
 position: relative;
}

.bnr-link img{
  object-fit: cover;
  width:100%;
  height:100%;
}

.bnr-inner::before{
  content:"";
  display: block;
  width:100%;
  height:200px;
  background: rgb(0,0,0);
  background: linear-gradient(20deg, rgba(0,0,0,0.5998774509803921) 0%, rgba(0,0,0,0.258140756302521) 41%, rgba(0,0,0,0) 100%);
  position: absolute;
  top:0;
  left:0;
  transition: .2s;
}

.bnr-link a:hover .bnr-inner::before{
 opacity: 0;
}

.bnr-link .bnr-inner{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  color:#fff;
  top:0;
  left:0;
  right:0;
  bottom:0;

}

.bnr-link .bnr-inner p{
  font-size:4rem;
  letter-spacing: 2px;
  line-height: 1.0;
  text-align: center;
  position: absolute;
  z-index: 2000;
}



.bnr-link.ajmgt{
margin-top:var(--csmg-pc);
}

.bnr-flex{
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  width:100%;
}

.bnr-link.col2{
  width:49.5%;
}



@media screen and (max-width: 767px) {
  .more-link{
    padding:10px 0;
   width:calc(4em + 20%); 
    margin:var(--csmg-sp) auto 0;
  }

  .more-link p{
    font-size:1.8rem;
  }


  .web_link{
    width:80%;
    max-width:250px;
  }
  
  .web_link a{
    padding:10px 15px;
  }

  .bnr-link{
    height:150px;
   }

   .bnr-link::before{
    height:150px;
  }

  .bnr-inner::before{
    height:150px;
  }

  .bnr-link.ajmgt{
    margin-top:var(--csmg-sp);
    }

  .bnr-link .bnr-inner p{
    font-size:2.8rem;
  } 

  .bnr-link.ajmgt{
    margin-top:var(--csmg-sp);
    }

    .bnr-link.col2{
      width:100%;
      margin-bottom:10px;
    }
    

}


/*ヘッダー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/


header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 7;
  height: 90px;
  background: #fff;
  z-index:9000;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding:0 2%;

}    
  
.header-logo {
  width: 50px;
  height: 90px;
  background:url(../img/common/nol_logo_bk.png) left center no-repeat;
  background-size:contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.header-logo a{
  display: block;
  width: 50px;
  height: 90px;
}

/*ナビゲーション*/
.gnav {
  width: calc(100% - 50px);
  display: flex;
  justify-content: flex-end;
  font-size: 1.6rem;
}

.gnav_wrapper {
  width:100%;
  display: flex;
  justify-content: flex-end; 
}

.gnav_list {
  padding:40px 1% 0;
  text-align: center;
}

.gnav_list a.active{
  display: block;
}

.gnav_list.lang{
  /* margin-left:1.5%; */
  position: relative;
  margin-left:1%;
  padding-right:1%;
}

.gnav_list.lang::before{
  content:"";
  width:1px;
  height:60px;
  top:15px;
  left:0;
  position: absolute;
  background:var(--c-lgy);
}

.gnav_list a.active{
  transition: .2s;
  /* border-bottom: 2px solid var(--c-bk); */
}

.gnav_list a.active:hover {
  /* border-bottom: 2px solid var(--c-bk); */
  color:var(--c-lgy);
}

.gnav_list .gnav_inner {
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  width: 100%;
  background:var(--b-lgy);
  overflow: auto;

}
.gnav_list:hover .gnav_inner {
  display: block;
}

.gnav_flex{
  display: flex;
  justify-content: center;
  max-width:80%;
  margin:0 auto;
  padding:4% 5%;
}

.gnav_title {
  width:20%;
  font-size:3rem;
  border-right: solid 1px var(--c-bk);
  display: flex;
  align-items: center;
  justify-content: center;
}


.gnav_inner ul {
  width:80%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 0;
  padding:0 3%;
}

.gnav_inner ul li{
  font-size:1.8rem;
  width:calc(91% / 3);
  margin-right:3%;
}

.gnav_inner ul li:last-child{
  margin-right:0;
}

.gnav_inner_link a{
  display: flex;
  padding:10% 0;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  line-height:2;
}

.gnav_inner_link a:hover{
color:var(--c-led);
transition: .2s;
}

.gnav_inner_link span{
  font-family: inherit;
  display: block;
  font-size:1.0rem;
  margin-top:5px;
}

.arrow {
	display: inline-block;
	vertical-align: middle;
	width: 25px;
	height: 1px;
	background: var(--c-bk);
	position: relative;
  margin-right:10%;
}
.arrow:before {
	content: "";
	display: block;
	width: 10px;
	height: 1px;
	background: var(--c-bk);
	position: absolute;
	top: -3px;
	right: -2px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.gnav_inner_link a:hover .arrow{
  margin-right:8%;
  transition: .2s;
  background: var(--c-led);
}

.gnav_inner_link a:hover .arrow:before{
  background: var(--c-led);
}


.hamburger-menu {
  display: none;
}


/*
スマホ切り替え表示
***********************************/
@media screen and (max-width: 767px) {       
  header {
    height: 60px;
  }

  .header-logo {
    margin: 8px 10px;
    width: 32px;
    height: 44px;
  }

  .header-logo a{
    width: 32px;
    height: 44px;
  }


  /*ナビゲーション*/
  .gnav {
    display: none;
  }

  .hamburger-menu {
    display: block;
  }

  .menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 9;
  }
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #1d1d1d;
    position: absolute;
  }
  .menu-btn span:before {
    bottom: 8px;
  }
  .menu-btn span:after {
    top: 8px;
  }

  #menu-btn-check:checked ~ .menu-btn {
    background-color: rgba(0, 0, 0, 0);
  }
  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #fff;
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #fff;
  }

  #menu-btn-check {
    display: none;
  }

  .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 8;
    background-color: rgba(0, 0, 0, .8);
    transition: all 0.5s;/*アニメーション設定*/
    overflow: auto;
  }

  .menu-container {  
    padding: 100px 8%;
    color: #fff;
  }

  .menu-container ul{

  }

  .menu-container ul li{
    margin:0 auto 2%;
    font-size: 2rem;
  }

  .menu-container ul li a{
    display: block;
    padding:3% 0;
  }

  .acd-content li a{
    font-size:2rem;
  }

  .acd-content li a span{
    display: block;
    font-size:1.3rem;
  }

  #menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
  }

  .acd-check {
    display: none;
  }
  .acd-label {
    display: flex;
    justify-content: space-between;
    padding:3% 0;
  }

  .acd-label span,
  .acd-label span:before {
    content: '';
    display: block;
    height: 1px;
    width: 19px;
    background-color: #fff;
  }
  .acd-label span {
    margin: 12px 0;    
  }
  .acd-label span:before {
    transform: rotate(90deg);
  }

  .acd-content {
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
    font-size: 1.4rem;
  }
  .acd-check:checked + .acd-label span:before {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
  }
  .acd-check:checked + .acd-label + .acd-content {
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
  }


  .language {
    display: flex;
    flex-wrap: nowrap;
    margin: 30px 0;
    padding: 0 10px;
    color: #fff;
    font-size: 18px;
    font-family: poppins, sans-serif;
    font-weight: 500;
    font-style: normal;
    border-top: solid 1px #fff;
  }

  .language li {
    margin: 20px 0;
    padding: 0 10px;
  }
  .language li:first-child {
    border-right: solid 1px #fff;
  }
  
}


/**********************************************************
下層ページ共通
**********************************************************/
.common_header {
  background: var(--b-lgy);
  /* margin: 90px 0 var(--cmg-pc); */
  margin: 90px 0 var(--csmg-pc);
  padding: 3% 0;
}

.index_ttl{
  font-size: 3.9rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom:var(--csmg-pc);
  letter-spacing: 4px;
}

.index_ttl p{
  font-size: 1.3rem;
  letter-spacing: 2px;
}


.common_header h1{
  font-size: 4.2rem;
  line-height: 1.3;
}

.common_header p {
  font-size: 1.3rem;
}

.common_article {
   max-width: var(--mw); 
   margin: 0 auto;
   padding:0 2%;
}

.common_article h2 {
  font-size: 3.4rem;
  margin-bottom:35px;
  line-height: 1.7;
}

.common_article .mainimg{
  width:100%;
  height:335px;
}

.common_article .mainimg img{
  width:100%;
  height:100%;
  object-fit: cover;
}

/*中見出し*/
.page_ttl{
 font-size:1.7rem;
 font-weight: 600;
 text-align: center;
 position: relative;
 margin-bottom:var(--csmg-pc);
}

.page_ttl::before{
  content:"";
  position: absolute;
  bottom:-15px;
  right:0;
  left:0;
  margin:0 auto;
  width:40px;
  height:3px;
  background:var(--c-bk);
}

/*中見出し 調整*/
.page_ttl.ajmg{
  margin-bottom:30px;
}

/*小見出し*/
.page_subttl{
  font-size: 1.7rem;
  font-weight: 600;
  color: var(--c-gy);
  padding-left: 40px;
  margin: var(--cmg-pc) 0 40px;
  display: inline-block;
  position: relative;
}


.page_subttl:before {
  content: '';
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 15px;
  width: 25px; /*下線の幅*/
  height: 1px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background: #7c7c7c; /*下線の色*/
}

.page_subttl span {
  font-size: 15px;
  font-weight: 500;
  margin-left: 5px;
  color:var(--c-lgy);
}


/*SP切り替え*/
@media screen and (max-width: 767px) { 

  .common_header {
    margin: 60px 0 var(--csmg-sp);
    padding: 10% 2%;
  }

  .index_ttl{
    font-size: 2.6rem;
    line-height: 1.3;
    text-align: center;
    margin-bottom:var(--csmg-sp);
  }
  
  .index_ttl p{
    font-size: 1.2rem;
  }

  .common_header h1 {
    font-size: 2.8rem;
  }

  .common_article {
  padding:0 4%;
 }
 
.common_article h2 {
    font-size: 1.7rem;
    margin-bottom:20px;
    /* padding: 70px 0 10px; */
  }

.common_article .mainimg{
  height:25vh;
}

  .page_ttl{
    font-size:1.6rem;
    margin-bottom:var(--csmg-sp);
   }

   .page_subttl {
    font-size: 1.5rem;
    margin: var(--cmg-sp) 0 20px;
  }

  .page_subttl span {
    font-size: 1.2rem;
    display: block;
    margin-top:4px;
    margin-left:0;
  }

}





/*▼いるか？判断ーーーーーーーーーーーーーーーーーーーーーーーーー*/

.common_footer .breadcrumb {
  max-width: 1089px;
  text-align: left;
  margin: 0 auto;
  font-size: 17px;
  font-weight: 300;
  padding: 25px 0 25px 15px;
}



/*SP切り替え*/
@media screen and (max-width: 767px) { 




  .common_footer .breadcrumb {
    font-size: 13px;
  }
}

/**********************************************************
フッター
**********************************************************/
footer {
  background: var(--c-bk);
  color: #fff;
}

.footer-wrapfix{
  max-width: var(--mw);
  padding:0 2%;
  margin: 0 auto;
}

.footer_nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding:5% 0;
  border-bottom: solid 1px var(--c-lgy);
}

.footer_logo {
  width: 30%;
  text-align: center;
}

.footer-inner{
   width:65%;
  display: flex;
}
.footer-inner ul{
  width:fit-content;
  padding-right:8%;
}

.footer_nav h4 {
  font-size: 1.6rem;
  padding-bottom: 0;
}



.footer-inner  li {
  font-size: 1.2rem;
  padding-bottom: 15px;

}

.footer-menu-container {
  display: none;
}

.sns {
  height: 100px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin: 0 auto;
}

.sns div {
  width: 32px;
  height: 32px;
  margin: 38px 16px 30px;
}

.sns a{
  display: block;
  transition: .2s;
}

.sns a:hover{
  opacity: .8;
}

.sns .insta {
  background: url(../img/common/icon/instagram.png) center / contain no-repeat;
}

.sns .fb {
  background: url(../img/common/icon/facebook.png) center /  contain no-repeat;
}

.white {
  background: #fff;
  color: var(--c-bk);
}

.white div {
  display: flex;
  justify-content: space-between;
  max-width: var(--mw);
  margin: 0 auto;
}

.white div ul {
  margin: 10px 0;
  display: flex;
  flex-wrap: nowrap;
}

.white div ul li {
  margin: 10px 0;
  padding: 0 20px;
  font-size: 1.5rem;
  border-right: solid 1px var(--c-bk);
}
.white div ul li:last-child {
  border-right: none;
}

.white div p {
  padding: 20px 20px;
  font-size: 1.4rem;
}

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

  .footer-inner {
    display: none;
  }
  
  .footer-menu-container {
    display: block;
    /* padding: 50px 0; */
  }

  .footer_nav {
    display: block;
    padding:5% 2%;
    border-bottom: solid 1px var(--c-lgy);
  }
  
  .footer_logo {
    margin: 0 auto 40px;
    max-width:175px;
  }
  
  .footer-menu-container .acd-label {
    font-size: 1.9rem;
    padding:7px 0;
    margin:0;
  }

  .footer_nav h4.ajmgt {
    padding:8px 0;
  }

  .footer-menu-container .acd-label span,
  .footer-menu-container .acd-label span:before {
    width: 11px;
  }


  .acd-content ul li a{
    display: block;
    font-size: 1.3rem ;
    padding: 8px 0;
  }
 
  .sns {
    height: auto;
  }

  .sns div {
    width: 28px;
    height: 28px;
    margin: 20px 14px 20px;
  }

  .white div {
    flex-direction: column;
  }

  .white div ul {
    margin: 0;
  }
  
  .white div ul li {
    margin: 15px 0;
    padding: 0 15px;
    font-size: 12px;
  }
  
  .white div p {
    padding: 0 15px 20px;
    font-size: 11px;
  }

}

/**********************************************************
共通部分インクルード
**********************************************************/


.common_links {
  display: flex;
}

.common_contents {
  width: calc(33% - 15px);
  margin-right: 15px;
  margin-bottom: 15px;
}

.common_img {
  width: 100%;
  padding-top: 66%;
}

.common_aboutus {
  background: url(../img/company/c_aboutus.png) 20% 25% / 450% no-repeat;
}

.common_message {
  background: url(../img/company/message.jpg) top / cover no-repeat;
}

.common_profile {
  background: url(../img/company/link_profile.png) top / cover no-repeat;
}

.common_quality {
  background: url(../img/company/c_quality.png) left / cover no-repeat;
}

.common_txt {
  font-size: 13px;
  font-weight: 300;
}

.common_txt p{
  font-size: 24px;
  font-family: poppins, sans-serif;
  font-weight: 500;
  font-style: normal;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.common_txt p .arrow {
	display: inline-block;
  margin-top: 40px;
	width: 35px;
	height: 1px;
	background-color: #1d1d1d;
	position: relative;
}
.common_txt p .arrow:before {
	content: "";
	display: block;
	width: 8px;
	height: 1px;
	background-color: #1d1d1d;
	position: absolute;
	top: -3px;
	right: -2px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

/*ページ下部リンクエリア-------------*/

.toplink-area .bnr-link p,.commonlink-area .bnr-link p{
  font-size:3rem;
}

.toplink-area .bnr-link p span,.commonlink-area .bnr-link p span{
  font-size:1.3rem;
  display: block;
  margin-top:5px;
}
.toplink-area .bnr-flex, .commonlink-area .bnr-flex{
  margin-bottom:1%;
}

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

.common_area {
  padding-left: 0;
}
       
.common_contents {
  width: 100%;
  margin-right: 0;
}

.common_txt {
  margin: 0 15px;
}

}

/**********************************************************
アニメーション
**********************************************************/

.inview{
	-webkit-transition: 0.8s;
	transition: .8s;
	opacity: 0;
	-webkit-transform: translate(0px,50px); 
	transform: translate(0px,40px);
}

.inview_lazy{
	-webkit-transition: 0.8s;
	transition: .8s;
  transition-delay: .5s;
	opacity: 0;
	-webkit-transform: translate(0px,50px); 
	transform: translate(0px,40px);
}

.inviewOn{
	opacity: 1.0;
	-webkit-transform: translate(0,0) !important;
	transform: translate(0,0) !important;
}

.inviewOFF{
	opacity: 0;
}


.fadein{
	opacity: 0;
	-webkit-transition:2.5s;
	transition:2.5s;
}

.fadeout{
	opacity: 0;
}


.inviewL{
	-webkit-transition: 0.8s;
	transition: 0.8s;
	opacity: 0;
	-webkit-transform: translate(-40px,0px); 
	transform: translate(-40px,0px);
}

.inviewR{
	-webkit-transition: 0.8s;
	transition: 0.8s;
	opacity: 0;
	-webkit-transform: translate(40px,0px); 
	transform: translate(40px,0px);
}

.inviewF{
	-webkit-transition: 1s;
	transition: 1s;
	opacity: 0;
	transition-delay:5.5s;
	-webkit-transform: translate(0,20px); 
	transform: translate(0,20px);
}

.inviewOn{
	opacity: 1.0;
	-webkit-transform: translate(0,0) !important;
	transform: translate(0,0) !important;
}

.inviewOFF{
	opacity: 0;
}



/* ローディング 導入
---------------------------------------------------- */
/*ローディング部分の回転エフェクト定義*/
@-webkit-keyframes loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes loading {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*ローディング画面の背景部分*/
#loading {
  width: 100vw;
  height: 100vh;
  background-color: #f6f7f8;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100; }

/*ローディング回転部分*/
#loading-main:after, #loading-main:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin-left: -50%;
  position: absolute;
  top: 40%;
  left: 50%;
  border-radius: 110%; }

#loading-main {
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 105; }
  #loading-main:after {
    -webkit-animation: loading 0.75s linear infinite;
    animation: loading 0.75s linear infinite;
    border: 1px solid transparent;
    border-top-color: #666; }
  #loading-main:before {
    border: 1px solid rgba(51, 51, 51, 0.15); }


#loading.end{
	opacity: 0;
	z-index: -1;
}



/**********************************************************
ニュース単体ページ共通
**********************************************************/

.news_article {
  max-width:980px;
  margin: 90px auto var(--scmg-pc);
  padding: 0 15px;
}

.news_article .news_top {
  display: flex;
  align-items: center;
  padding-bottom:15px;
  border-bottom: solid 1px var(--c-bk);
}

.news_article .news_date {
  color:var(--c-gy);
  font-size: 1.7rem;
  margin: 0 20px 0 5px;
}

.news_article .news_category {
  border: solid 1px var(--c-bk);
  display: inline-block;
  font-size: 1.3rem;
  width: 110px;
  padding:8px 0;
  text-align: center;
}

.news_article h1 {
  font-size: 2.4rem;
  line-height: 1.6;
  padding: 30px 0;
}

.news_article h2 {
  height: 50px;
  background:var(--b-lgy);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 50px;
  padding:0 2%;
  margin-bottom:20px;
}

.news_article h3 {
  font-size: 1.6rem;
  font-weight: 600;
  padding:0 2%;
  margin-bottom:10px;
}

.news_article h4 {
  font-size: 1.5rem;
  font-weight: 600;
  padding:10px 2% 10px;
  text-align: left;
  line-height: 1.4;
}

.news_article .textbox{
  font-size:1.5rem;
  line-height: 1.6;
  padding:0 2%;
}

.news_article .textbox.center{
text-align: center;
}


.news_article .img_block{
  padding:0 2%;
  text-align: center;
}

.news_article .img_block.col1{
  max-width:800px;
  margin:0 auto;
}


.col2_box,.col3_box{
  display: flex;
}

.col2_box.center, .col3_box.center{
align-items: center;
}

.col2_box .textbox, .col2_box .img_block{
  width:50%;
}

.col2_box.reverse{
  flex-direction: row-reverse;
}

.col3_box .img_block{
  width:33.33%;
}

.news_hosoku, .news_hosokutxt{
color:var(--c-lgy);
font-size:1.2rem;
line-height: 1.4;
}

.news_hosokutxt{
display: block;
margin-top:4px;
}

.itemspec_txt li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom:1%;
}

.itemspec_txt li span{
  display: inline-block;
  width:1em;
  margin-right:0.5em;
}

.itemspec_txt li p{
  /* width:calc(100% - 1.5em); */
  font-size:1.4rem;
  line-height: 1.4;
}

.more-link.newpage{
  width:calc(9em + 4%);
}

.news_article .textbig{
  font-weight: 600;
  font-size:1.7rem;
  line-height: 1.6;
}

.aj_line{
  display: block;
  height:1px;
  width:100%;
  background:var(--bar-lgy);
  margin:3% 0;
}

.news_article .bottom{
  background:var(--b-lgy);
  padding:4%;
  margin-top:30px;
}

.news_article .bottom a{
  color:var(--c-led);
}

.col3_box .itemspec_txt li p{
  font-size:1.4rem;
}

.news_article .bottom a span{
  display: inline-block;
  text-indent: 1em;
  font-size:1.4rem;
  margin-top:8px;
  text-decoration: underline;
}

/*マージン調整用*/
.news_article .mgb5{margin-bottom:5px;}
.news_article .mgb10{margin-bottom:10px;}
.news_article .mgb20{margin-bottom:20px;}
.news_article .mgb30{margin-bottom:30px;}
.news_article .mgb40{margin-bottom:40px;}

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

  .news_article .news_top {
    padding-bottom:10px;
  }

  .news_article .news_date {
    font-size: 1.5rem;
    margin: 0 15px 0 5px;
  }

  .news_article .news_category {
    font-size: 1.2rem;
    width: 100px;
    padding:5px 0;
  }

  .news_article h1 {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 20px 0;
  }
  
  .news_article h2 {
    height: 40px;
    font-size: 1.5rem;
    line-height: 40px;
  }
  
  .news_article h3 {
    font-size: 1.4rem;
    margin-bottom:8px;
  }
  
  .news_article h4 {
    font-size: 1.3rem;
    padding:5px 2%;
  }

  .news_article .textbox{
    font-size:1.3rem;
    line-height: 1.4;
  }
  
  .news_article .img_block{
    padding:0 2%;
  }
  
  
  .col2_box,.col3_box{
    display: block;
  }
  
  .col2_box .textbox, .col2_box .img_block{
    width:100%;
  }

  .news_hosoku, .news_hosokutxt{
font-size:1.0rem;
    }
    

  .news_article .textbig{
    font-size:1.6rem;
  }
  
  .col3_box .img_block{
    width:100%;
  }

  .itemspec_txt li p{
    font-size:1.3rem;
  }
  
  .more-link.newpage{
    width:calc(9em + 8%); 
  }

  .more-link.newpage p{
    font-size:1.3rem;
  }

  .aj_line{
    margin:8% 0;
  }

  .news_article .bottom{
    padding:10%;
  }

}

/* news share */

.urlCopy {
  text-align: center;
}

.articleFooter {
  width: 95%;
  max-width: 700px;
  display: grid;
  grid-template-columns: 20% 50% 30%;
  grid-template-rows: 100px;
  margin: 0 auto;
  height: auto;
  align-items: center;
}

.shareBtn {
  display: grid;
  grid-template-columns: 40% 20% 20% 20%;
  width: 100%;
  align-items: center;
}

.shareBtn img {
  height: auto;
  padding-left: 20px;
}

.lineBtn {
  display: block;
  width: 95%;
  max-width: 700px;
  letter-spacing: 1px;
  font-weight: bold;
  margin: 0 auto;
  border: 1px solid #333;
  font-weight: 14px;
  padding: 2%;
  white-space: nowrap;
  margin-bottom: 20px;
  text-align: center;
}

.lineBtn img {
  width: 20px;
  height: auto;
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .articleFooter {
      grid-template-columns: 1fr;
      grid-auto-flow: column;
      white-space: nowrap;
      text-align: center;
      justify-content: center;
  }

  .shareBtn {
      width: 60%;
      margin: 0 auto;
      margin-top: 5px;
      margin-bottom: 5px;
  }

}