:root {
      --c-white: #ffffff;
      --c-black: #343434
}

* {
    box-sizing: border-box;
}

*::before,
*::after {display: inline-block;}
body{
   font-family: 'Noto Sans JP', sans-serif;
   color: var(--c-black);
   font-size: 16px;
   background-color: var(--c-white);

}

 /* コンポーネント */

.common_container{
   max-width:1048px ;
   width: 100%;
   height: 100%;
   padding: 0 24px;
   margin: 0 auto;
}

.wrapper{
   padding:160px 0px;
}

.section_ja_title{
   font-size: 40px;
   font-weight: bold;
   padding-bottom: 10px;
}

.section_en_title{
   font-size: 25px;
   font-family:'Josefin Sans', sans-serif ;
   padding-bottom: 80px;
}

.section_en_title:before{
   position: relative;
   top: -7px;
   margin: 0 7px 0 0;
   content: url(../img/line.png);
}

.pc_none{
   display: none;
}

/* ヘッダー */
header{
   width: 100%;
   height: 80px; 
   position: fixed;
   z-index: 100;
   transition: background-color 0.3s;
}

.header.change-color {
   background-color: #ffffff;
   box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
 }

.header_container{
   margin: 0 auto;
   max-width:1300px ;
   width:100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 100%;
   padding: 0 24px;
}

.nav_container {
   display: flex;
}
.nav {
   padding: 5px 15px;
   color:var(--c-black);
   font-size: 14px;
   text-align: center; 
   text-decoration: none;
   font-weight: bold;
}
@media screen and (max-width:1081px) {
   .nav_container {
      visibility: hidden;
      position: fixed;
      top: 0;
      right: 0;
      width: 70vw;
      height: 100vh;
      background-color: #ffffff;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 24px;
      transform: translateX(100%);
      padding-top: 100px;
      padding-left: 24px;
      transition: transform 0.3s;
   }
   .nav_container.open {
      visibility: visible;
      transform: translateX(0);
   }
}


 
/* ファーストビュー */
#firstview{
   background-color: #E0E0E0;
   /* position: fixed;
   z-index: -100; */

}

.back_ground_box{
   background:url(../img/first_back.png);
   background-repeat: no-repeat;
   background-size: cover;
   max-width: 1282px;
   margin: 0 auto;
}

.top_container{
   max-width:1048px ;
   width: 100%;
   height: 100%;
   padding: 0 24px;
   margin: 0 auto;
}

.top_text_box{
   padding-top: 220px;
   padding-bottom: 219px;
}

.jp_main_copy{
   font-size: 60px;
   line-height:1.4;
   padding-bottom: 15px;
   font-weight:bold;
}

.en_main_copy{
   font-size: 25px;
   font-family: 'Josefin Sans', sans-serif;
   padding-bottom: 35px;
}

.first_button{
   color:var(--c-black);
   font-size: 20px;
   font-weight:bold;
   text-decoration: none;
}

.first_button:after {
   position: relative;
   top: 7px;
   margin: 0 0 0 7px;
   content: url(../img/first_button.svg);
}

 /* アニメーション */

 


/* ========== お見舞い ========== */
#sympathy {
   width: calc(100% - calc(24px * 2));
   max-width: calc(1048px - calc(24px * 2));
   height: 100%;
   padding-top: 160px;
   margin: 0 auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #sympathy {
      padding-top: 80px;
   }
}

#sympathy p {
   text-align: center;
   font-size: 18px;
   font-weight: bold;
   color: #2F2A2A;
   line-height: 1.5;
}
/* SP */
@media screen and (max-width:1081px) {
   #sympathy p {
      text-align: left;
      font-size: 16px;
   }
}




/* ========== お知らせ ========== */
#news {
   width: calc(100% - calc(24px * 2));
   max-width: calc(1048px - calc(24px * 2));
   height: 100%;
   padding-top: 40px;
   margin: 0 auto;
}

#news .news-list {
   display: flex;
   flex-direction: column;
   gap: 16px;
   list-style: none;
}

#news .news-item {
   display: flex;
   gap: 8px 32px;
   text-decoration: none;
   padding: 32px;
   background-color: #f8f8f8;
}
/* SP */
@media screen and (max-width:1081px) {
   #news .news-item {
      flex-direction: column;
      padding: 24px;
   }
}

#news .news-date {
   font-size: 16px;
   font-weight: 500;
   color: #F4A62F;
   line-height: 1.5;
}

#news .news-title {
   font-size: 16px;
   color: #2F2A2A;
   line-height: 1.5;
}

#news .news-title:hover {
   text-decoration: none;
}

#news #newsArchiveLink {
   position: relative;
   width: fit-content;
   display: flex;
   align-items: center;
   gap: 16px;
   text-decoration: none;
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 13px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
   border-bottom: 1px solid #2F2A2A;
   padding-bottom: 8px;
   margin-top: 40px;
   margin-inline: auto 0;
   transition: all 0.2s;
   &:hover {
      opacity: 0.5;
   }
   &::after {
      content: "";
      position: relative;
      width: 14px;
      height: 12px;
      background-color: #F4A62F;
      mask-image: url(../img/arrow_right.svg);
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: 100% 100%;
   }
}




 /* アバウト */
.about_wrapper{
   padding: 240px 0px;
}

.about_container{
   max-width:1048px ;
   width: 100%;
   height: 100%;
   padding: 0 24px;
   margin: 0 auto;
}

.about_inner{
   display: flex;
   justify-content: space-between;
   gap: 24px;
}

.about_textbox {
   flex-shrink: 1;
}

.about_title {
   padding-bottom:65px ;
   font-size: 40px;
   font-weight: bold;
   line-height: 1.5;
}

.about_text {
   max-width: 530px;
   padding-bottom: 35px;
   font-size: 16px;
   line-height: 2.1;
}

.about_img {
   width: 348px;
   height: fit-content;
   flex-shrink: 0;
}

/* 間の画像 */
.separate_img {
   max-width:100%;
   width: 100%;
   height: auto;
}

/* 事業内容*/
.service_wrapper{
   padding: 160px 0;
}
.service_title_box{
   padding-bottom: 80px;
}

.service_jatitle{
   font-family:'Josefin Sans', sans-serif ;
   font-size: 32px;
   font-weight: bold;
}

.plus{
   font-size: 52px;
   font-weight: 400;
   color:#F4A62F;
   padding-left: 10px;
}

.service_container {
   width: 100%;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px 8px;
}

.service_box{
   background-color: #EDEDE7;
   padding: 40px 30px;
}

.service_name{
   font-size: 20px;
   font-weight: bold;
   padding-bottom: 20px;
}

.service_name:before{
   position: relative;
   top: 2px;
   margin: 0 5px 0 0;
   content: url(../img/service_ashirai.svg);
}

.service_detail{
   line-height:1.5;
}

 /* 製品 */
#products{
   background-color: #EDEDE7;
}

.product_wrapper{
   padding: 140px 0 200px 0;
}

.prein_box {
   display: flex;
   justify-content: space-between;
   gap: 40px 70px;
}

.prein_thumbnail {
   flex-shrink: 0;
}

.prein_detail {
   max-width: 500px;
   flex-shrink: 1;
}

.prein_title_box{
   padding-bottom : 40px;
}

.prein_hosoku{
   padding-bottom: 15px;
}

.prein_en_name{
   font-family: 'Josefin Sans', sans-serif;
   font-size: 30px;
   font-weight: bold;
}

.prein_text{
   line-height: 2;
   padding-bottom: 60px;
}

.prein_link{
   display: block;
   width: fit-content;
   color:var(--c-black);
   text-decoration: none;
   margin-inline: auto 0;
}

.prein_button{
   font-weight: bold;
   text-align: right;
}

.prein_button:after{
   position: relative;
   top: 11px;
   margin: 0 0 0 5px;
   content: url(../img/prein_button.svg);
}

/* 沿革 */
.history_wrapper{
   padding: 160px 0;
}

.history_container{
   background-image: url(../img/light.svg);
   background-position: left 14px bottom;
   padding-bottom: 188px;
	background-repeat: no-repeat;
}

.year{
   font-family: 'Josefin Sans', sans-serif;
   font-size: 45px;
   width: 107px;
   margin-right: 55px;
}

.history_list:before {
   content: "";
   width: 18px;
   height: 18px;
   background:#F4A62F;
   position: relative;
   border-radius: 50%;
   left: 0;
   top: 11px;
   transform: translateX(-50%);
}

.history_list{
   display: flex;
   padding-bottom: 100px;
   border-left: 1px solid #F4A62F;
}

.list_name{
   font-weight: bold;
   padding-bottom: 6px;
}

.list_text{
   max-width: 500px;
   line-height: 1.5;
}

/* 会社概要 */
#information{
   background-color: #EDEDE7;
}

.information_wrapper{
   padding: 160px 0 200px 0;
}

.information_box{
   display: flex;
   justify-content: space-between;
}

.information_list{
   display: flex;
   gap: 55px;
   padding-bottom: 40px;
   align-items: baseline;

}

.information_name{
   font-weight: bold;
   width: 50px;
}

.information_text{
   line-height: 2;
}

.information_map{
   color: #2F2A2A;
   text-decoration:none;
   border-bottom:1px solid #2F2A2A;
}

.information_map:before{
   position: relative;
   top: 5px;
   margin: 0 2px 0 0;
   content: url(/img/map_icon.svg);
}

/* コンバージョンエリア */
#contact{
   background-image:url("../img/contact_back.png");
   background-repeat: no-repeat;
   background-size: cover;
   height: 374px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
}
#contact:hover{
   filter: brightness(90%);
   transition: filter 0.2s;
}
.conversion_area{
   display: flex;
}

.contact_inner{
   position: relative;
   width: 100%;
   max-width: 1048px;
   padding: 0 24px;
}

.contact_ja_title{
   text-align: center;
   color:  var(--c-white);;
   font-size: 40px;
   font-weight: bold;
   padding-bottom: 10px;
}

.contact_en_title{
   text-align: center;
   color:  var(--c-white);;
   font-size: 25px;
   font-family:'Josefin Sans', sans-serif ;
}

.contact_en_title:before{
   position: relative;
   top: -7px;
   margin: 0 7px 0 0;
   content: url(../img/white_line.png);
}

/* contactボタン */
.conver_button{
   position: absolute;
   top: 50%;
   right: 24px;
   width: 75px;
   height: 75px;
   background-color:  var(--c-white);;
   border-radius: 50%;
   transform: translate(0,-50%);
}
#contact:hover .conver_button{
   background-color: #F4A62F;
   transition: background-color 0.2s;
}
.conver_button::before{
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   width: 24px;
   height: 20px;
   background-image:url(../img/arrow_right.svg);
   background-repeat: no-repeat;
   background-size: contain;
   transform: translate(-50%,-50%);
}

/* フッター */
footer{
   width: 100%;
   height: 140px;
   background: #2F2A2A;
}

.footernav_container{
   max-width:1048px ;
   padding: 40px 24px;
   margin: 0 auto;
}

.footer_nav{
   padding: 5px 15px;
   color: var(--c-white);;
   font-size: 14px;
   text-align: center; 
}

.c_mark{
   text-align: center;
   font-size: 12px;
   color:  var(--c-white);;
   padding: 15px 0;
   background: #2F2A2A;
}





 /* ここからスマホデザイン */
 @media screen and (max-width:1081px) {

/* コンポーネント */
.sp_none{
   display: none;
}

.pc_none{
   display: initial
}
.sp_wrapper{
   padding:80px 0px;
}

.section_ja_title{
   font-size: 24px;
}

.section_en_title{
   font-size: 16px;
   padding-bottom: 50px;
}

.section_en_title:before{
   top: -4px;
}

/* ヘッダー */
.logo_img{
   width: 214px;
   height: 43px;
}

/* 開く前 */
.humberger {
   position: relative;
   width: 30px;
   height: 30px;
   cursor: pointer;
   z-index: 10;
}
.hum_line{
   position: absolute;
   top: 50%;
   left: 50%;
   width: 30px;
   height: 2px;
   background-color: #F4A62F;
   border-radius: 8px;
   transition: all 0.3s;
   transform: translate(-50%,-50%);
}
.hum_line:nth-of-type(1) {top: 2px;}
.hum_line:nth-of-type(3) {top: 28px;}

/* 開いた後 */
.humberger.open > .hum_line:nth-of-type(1) {
   top: 50%;
   transform: translate(-50%,-50%) rotate(45deg);
}
.humberger.open > .hum_line:nth-of-type(2) {
   display: none;
}
.humberger.open > .hum_line:nth-of-type(3) {
   top: 50%;
   transform: translate(-50%,-50%) rotate(-45deg);
}

 
/* ファーストビュー */

.back_ground_box{
   background:url(../img/sp_back.png) no-repeat center center;
   background-size: cover;
   max-width: 1282px;
   margin: 0 auto;
}

.top_text_box{
   padding-top: 156px;
   padding-bottom: 403px;
}

.jp_main_copy{
   font-size: 35px;
}

.en_main_copy{
   font-size: 18px;
   padding-bottom: 25px;
}

.first_button{
   font-size: 16px;
}

.first_button:after {
   top: 5px;
   content: url(../img/sp_first_button.svg);
}

 /* アニメーション */

 

/* アバウト */
.about_wrapper {
   position: relative;
}

.about_container{
   padding: 0 24px;
}
.about_container::before {
   content: "";
   position: absolute;
   bottom: 40px;
   right: 0;
   width: 100%;
   height: 100%;
   max-height: 340px;
   background-image: url(../img/sp_about_back.png);
   background-repeat: no-repeat;
   background-position: right bottom;
   background-size: contain;
   z-index: -1;
}

.about_inner{
   display: initial;
}

.about_title{
   padding-bottom:20px ;
   font-size: 23px;
}

.about_text{
   max-width: 100%;
   padding-bottom: 35px;
   font-size: 16px;
   line-height: 2.1;
}

.about_img{
   height:340px;
   margin-top: -800px;
}

/* 間の画像 */
.separate_sp_img{
   max-width:100%;
   width: 100%;
   height: auto;
}

/* 事業内容*/

.service_title_box{
   padding-bottom: 80px;
}

.service_jatitle{
   font-size: 20px;
}

.service_entitle{
   line-height: 1.6;
}

.plus{
   font-size: 32px;
   padding-left: 10px;
}

.service_container {
   grid-template-columns: repeat(1, 1fr);
}

.service_box{
   width: 100%;
}


 /* 製品 */

.prein_box{
   flex-direction: column;
}

.prein_img {
   width: 100%;
}

.prein_detail {
   max-width: 100%;
}

.prein_title_box{
   padding-bottom : 30px;
}

.prein_hosoku{
   padding-bottom: 15px;
}

.prein_en_name{
   font-size: 24px;
}

.prein_text{
   padding-bottom: 40px;
}

/* 沿革 */

.history_container{
   background-image: url(../img/sp_light.svg);
   background-position: left 16px bottom;
   padding-bottom: 90px;
	background-repeat: no-repeat;
}

.history_list{
   display: initial;
   padding-bottom: 60px;
   border-left: 1px solid #F4A62F;
   display: block;
}

.history_list:before {
   content: "";
   width: 18px;
   height: 18px;
   background:#F4A62F;
   position: relative;
   border-radius: 50%;
   left: 0;
   top: 23px;
   transform: translateX(-50%);
}

.year{
   font-size: 30px;
   margin-left: 15px;
}

.list_name{
   margin-left: 15px;
}

.list_text{
   max-width: 100%;
   line-height: 1.5;
   margin-left: 15px;
   padding-bottom: 0px ;
}
.prein_button{
   font-weight: bold;
   text-align: right;
}

.prein_button:after{
   position: relative;
   top: 11px;
   margin: 0 0 0 5px;
   content: url(../img/prein_button.svg);
}

/* 会社概要 */
.information_box{
   display: initial;
   justify-content: space-between;
}

.information_list{
   display: flex;
   gap: 5px;
   padding-bottom: 40px;
}

.information_name{
   font-weight: bold;
   width: 80px;
}

.information_text{
   line-height: 2;
   max-width: 230px;
}

.information_map{
   color: #2F2A2A;
   text-decoration:none;
   border-bottom:1px solid #2F2A2A;
}

.information_map:before{
   position: relative;
   top: 5px;
   margin: 0 2px 0 0;
   content: url(../img/map_icon.svg);
}

/* コンバージョンエリア */
#contact{
   background-image:url(../img/sp_contact.png);
   height: 160px;
}

.contact_inner{
   position: relative;
   width: 100%;
   max-width: 1048px;
   padding: 0 24px;
}

.contact_ja_title{
   text-align: left;
   font-size: 24px;
   padding-bottom: 5px;
}

.contact_en_title{
   text-align: left;
   font-size: 16px;
}

.contact_en_title:before{
   top: -5px;
}

/* contactボタン */
.conver_button{
   right: 24px;
   width: 45px;
   height: 45px;
}

.conver_button::before{
   width: 14px;
   height: 10px;
}

/* フッター */
footer{
   height: 320px;
}

.footernav_container{
   padding: 40px 24px 26px 24px;
}

.footer_nav{
   padding: 5px 12px;
   display: flex;
   padding-bottom: 16px;
}


}




/* ===============================================================
下層ページ共通
=============================================================== */
#pageHeroHeader {
   width: 100%;
   height: 236px;
   background: url(../img/machinami.png) no-repeat center center / cover;
}

#newsArchiveHeader,
#newsPostHeader {
   display: flex;
   flex-direction: column;
   gap: 10px;
}
#newsArchiveHeader-title,
#newsPostHeader-title {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 40px;
   font-weight: 700;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0.045em;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchiveHeader-title,
   #newsPostHeader-title {
      font-size: 24px;
   }
}
#newsArchiveHeader-subtitle,
#newsPostHeader-subtitle {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   text-align: left;
   font-family:'Josefin Sans', sans-serif ;
   font-size: 25px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.2;
   letter-spacing: 0.01875em;
   &::before {
      content: "";
      position: relative;
      width: 16px;
      height: 1px;
      background-color: #2F2A2A;
   }
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchiveHeader-subtitle,
   #newsPostHeader-subtitle {
      font-size: 16px;
   }
}




/* ===============================================================
下層：お知らせ一覧ページ
=============================================================== */
#newsArchive {
   width: 100%;
   max-width: 1040px;
   padding: 160px 20px 184px 20px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchive {
      padding-block: 80px 100px;
   }
}

#newsArchiveList {
   width: 100%;
   max-width: 864px;
   display: flex;
   flex-direction: column;
   gap: 16px;
   list-style: none;
   margin-top: 80px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchiveList {
      margin-top: 40px;
   }
}

#newsArchiveNoneText {
   text-align: center;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
}

#newsArchiveList .newsArchive-item {
   display: flex;
   gap: 32px;
   background-color: #F8F8F8;
   padding: 32px;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchiveList .newsArchive-item {
      flex-direction: column;
   }
}

#newsArchiveList .newsArchive-date {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-weight: 500;
   color: #F4A62F;
   line-height: 1.5;
   letter-spacing: 0;
}

#newsArchiveList .newsArchive-title {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
   &:hover {
      text-decoration: none;
   }
}

#newsArchivePager {
   width: 100%;
   max-width: 864px;
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   align-items: center;
   justify-items: center;
   margin-top: 64px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsArchivePager {
      margin-top: 40px;
   }
}

#newsArchivePager #pagerCurrent {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 13px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
}
#newsArchivePager #pagerPrev,
#newsArchivePager #pagerNext {
   position: relative;
   width: fit-content;
   display: flex;
   align-items: center;
   gap: 16px;
   text-decoration: none;
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 13px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
   border-top: none;
   border-inline: none;
   border-bottom: 1px solid #2F2A2A;
   background-color: transparent;
   padding-top: 0;
   padding-inline: 0;
   padding-bottom: 8px;
   cursor: pointer;
   transition: all 0.2s;
   &:hover {
      opacity: 0.5;
   }
}
#newsArchivePager #pagerPrev {
   visibility: hidden; /* -- 初期値 -- */
   margin-inline: 0 auto;
   &::before {
      content: "";
      position: relative;
      width: 14px;
      height: 12px;
      background-color: #F4A62F;
      mask-image: url(../img/arrow_right.svg);
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: 100% 100%;
      rotate: 180deg;
   }
}
#newsArchivePager #pagerNext {
   visibility: hidden; /* -- 初期値 -- */
   margin-inline: auto 0;
   &::after {
      content: "";
      position: relative;
      width: 14px;
      height: 12px;
      background-color: #F4A62F;
      mask-image: url(../img/arrow_right.svg);
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: 100% 100%;
      rotate: 0deg;
   }
}
#returnTop {
   width: 100%;
   max-width: 864px;
   border-top: 1px solid #DDDDDD;
   margin-top: 80px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #returnTop {
      margin-top: 56px;
   }
}

#returnTopLink {
   display: block;
   text-decoration: underline;
   text-underline-offset: 0.4em;
   text-align: center;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-weight: 500;
   color: #F4A62F;
   line-height: 1.5;
   letter-spacing: 0;
   margin-top: 80px;
   margin-inline: auto;
   transition: all 0.2s;
   &:hover {
      opacity: 0.5;
   }
}
/* SP */
@media screen and (max-width:1081px) {
   #returnTopLink {
      margin-top: 56px;
   }
}




/* ===============================================================
下層：お知らせ詳細ページ
=============================================================== */
#newsPost {
   width: 100%;
   max-width: 1040px;
   padding: 160px 20px 184px 20px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsPost {
      padding-block: 80px 100px;
   }
}

#newsPostArchive {
   width: 100%;
   max-width: 864px;
   margin-inline: auto;
}

#newsPostArchive #newsPostArchiveLink {
   position: relative;
   width: fit-content;
   display: flex;
   align-items: center;
   gap: 16px;
   text-decoration: none;
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 13px;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
   border-bottom: 1px solid #2F2A2A;
   padding-bottom: 8px;
   margin-top: 40px;
   margin-inline: 0 auto;
   transition: all 0.2s;
   &:hover {
      opacity: 0.5;
   }
   &::before {
      content: "";
      position: relative;
      width: 14px;
      height: 12px;
      background-color: #F4A62F;
      mask-image: url(../img/arrow_right.svg);
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: 100% 100%;
      rotate: 180deg;
   }
}

#newsPostItem {
   width: 100%;
   max-width: 864px;
   margin-top: 80px;
   margin-inline: auto;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsPostItem {
      margin-top: 56px;
   }
}

#newsPostItem #newsPostItem-date {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-weight: 500;
   color: #F4A62F;
   line-height: 1.5;
   letter-spacing: 0;
}

#newsPostItem #newsPostItem-title {
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 24px;
   font-weight: 700;
   color: #2F2A2A;
   line-height: 1.5;
   letter-spacing: 0;
   margin-top: 24px;
}

#newsPostItem #newsPostItem-body {
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 1rem;
   font-weight: 400;
   color: #2F2A2A;
   line-height: 1.875;
   letter-spacing: 0;

   border-block: 1px solid #2F2A2A;
   padding-block: 40px 80px;
   margin-top: 24px;
}
/* SP */
@media screen and (max-width:1081px) {
   #newsPostItem #newsPostItem-body {
      padding-bottom: 48px;
   }
}

#newsPostItem #newsPostItem-body > *:first-child {
   margin-top: 0 !important;
}
/* -- h1 -- */
#newsPostItem #newsPostItem-body h1 { font-size: 2rem; margin-top: 2.5rem; }
/* -- h2 -- */
#newsPostItem #newsPostItem-body h2 { font-size: 1.75rem; margin-top: 2.5rem; }
/* -- h3 -- */
#newsPostItem #newsPostItem-body h3 { font-size: 1.5rem; margin-top: 2.5rem; }
/* -- h4 -- */
#newsPostItem #newsPostItem-body h4 { font-size: 1.25rem; margin-top: 2.5rem; }
/* -- h5 -- */
#newsPostItem #newsPostItem-body h5 { font-size: 1rem; margin-top: 2.5rem; }
/* -- p -- */
#newsPostItem #newsPostItem-body p { font-size: 1rem; margin-top: 0.5lh; }
/* -- ul -- */
#newsPostItem #newsPostItem-body ul { padding-left: 1rem; margin-block: 1.5rem; }
/* -- ol -- */
#newsPostItem #newsPostItem-body ol { padding-left: 1rem; margin-block: 1.5rem; }
/* -- img -- */
#newsPostItem #newsPostItem-body img { max-width: 100%; height: auto; margin-top: 1.5rem; }
/* -- figcaption -- */
#newsPostItem #newsPostItem-body figcaption { font-size: 0.875rem; color: #909090; }
/* -- a -- */
#newsPostItem #newsPostItem-body p a[target="_blank"] {
   position: relative;
   transition: all 0.2s;
   &:hover {
      opacity: 0.5;
   }
   &::after {
      content: "";
      position: relative;
      width: 1em;
      height: 1em;
      background-color: #2F2A2A;
      mask-image: url(../img/icon--external.svg);
      mask-repeat: no-repeat;
      mask-position: center center;
      mask-size: 100% 100%;
      margin-left: 0.5rem;
   }
}
/* -- blockquote -- */
#newsPostItem #newsPostItem-body blockquote {
   border-left: 2px solid #909090;
   background-color: #f8f8f8;
   padding: 1.5rem;
   margin-top: 0.5lh;
}
/* -- hr -- */
#newsPostItem #newsPostItem-body hr {
   margin-block: 2.5rem;
}




/* -- ローディング中アイコン -- */
#loadingIcon {
   width: 100%;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 24px;
   text-align: center;
   font-size: 0.875rem;
   margin-block: 48px;
   margin-inline: auto;
   &::before {
      content: "";
      position: relative;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      border: 4px solid #ccc;
      border-top-color: #333;
      animation: spinner 1.5s linear infinite;
      cursor: progress;
   }
}
@keyframes spinner {
   to {
      transform: rotate(360deg);
   }
}


.langNav{padding-top:3px}
.langNav a{font-size:1rem}
.langNav a:first-of-type{position:relative;padding-right:9px}
.langNav a:first-of-type:after{content:"/";display:block;color:#343434;font-size:0.875rem;position:absolute;top:5px;right:-4px;line-height: 1.6;}
.langNav a:last-of-type{padding-left:7px}.langNav a.active{color:#F39800}