*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html{
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body{
  background-color: #F8F8F8;
  font-size: 18px;
  font-weight: 500;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

ul,
ol{
  list-style: none;
}

li{
  position: relative;
}

a{
  color: #000;
  display: inline-block;
  position: relative;
  text-decoration: none;
  transition: 0.2s;
}

img{
  display: block;
  height: auto;
  max-width: 100%;
  position: relative;
}

::before,
::after{
  background-repeat: no-repeat;
  background-size: contain;
  transition: 0.2s;
}

.en{
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.mincho{
  font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 500;
}

.carbo{
  font-family: "Cardo", serif;
  font-weight: 400;
  font-style: italic;
}

.vertical{
  writing-mode: vertical-rl;
}

.flex_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.inner{
  margin-left: auto;
  margin-right: auto;
  max-width: 1780px;
  width: calc(100% - 30px);
}

.inner_1200{
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: calc(100% - 30px);
}

.center{
  text-align: center;
}

img.center{
  margin-left: auto;
  margin-right: auto;
}

.right{
  text-align: right;
}

.green{
  color: #00A377;
}

.bold{
  font-weight: 700;
}

.mb-10{ margin-bottom: 10px; }
.mb-20{ margin-bottom: 20px; }
.mb-30{ margin-bottom: 30px; }
.mb-40{ margin-bottom: 4rem; }
.mb-50{ margin-bottom: 5rem; }

.sp{
  display: none;
}

.js-fadeUp {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s, transform .8s;
}

.js-fadeUp.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .5s;
}

#page_top{
  height: 60px;
  position: fixed;
  right: 15px;
  bottom: 15px;
  width: 60px;
  z-index: 50;
}

#page_top a{
  background-color: #00A377;
  border: 2px solid #fff;
  border-radius: 10px;
  height: 100%;
  position: relative;
  width: 100%;
}

#page_top a::before{
  border: 15px solid transparent;
  border-bottom: 15px solid #fff;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -8px;
  transform: translate(-50%,-50%);
}



/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  html{
    font-size: 50%;
    scroll-padding-top: 80px;
  }
  
  body{
    font-size: 16px;
  }
  
  .sp{
    display: block;
  }
  .pc{
    display: none !important;
  }
  
  #page_top{
    height: 48px;
    width: 48px;
  }
  
  #page_top a::before{
    border: 10px solid transparent;
    border-bottom: 10px solid #fff;
    margin-top: -5px;
  }
}


.link_btn,
.more_btn,
.submit_btn{
  margin-top: 5rem;
}

#page .sitemap-page ul li a,
.link_btn a,
.submit_btn input,
.wp-block-button a{
  border: 2px solid #00A377;
  color: #00A377;
  font-size: 2rem;
  max-width: 325px;
  padding: 2rem 3rem;
  padding-right: 55px;
  text-align: center;
  width: 100%;
}

#front-page .link_btn a{
   outline: 10px solid #E7F3EF;
}

.submit_btn{
  margin-left: auto;
  margin-right: auto;
  max-width: 385px;
  position: relative;
  width: 100%;
}

.submit_btn::before{
  background-image: url("../img/common/icon_arrow.png");
  content: "";
  height: 16px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 28px;
  z-index: 1;
}

.submit_btn.back::before{
  display: none;
}

.submit_btn input{
  background-color: #00A377;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  max-width: 100%;
  letter-spacing: 0.01em;
  padding: 20px 30px;
  transition: 0.2s;
  width: 100%;
}

.submit_btn input.back_button{
  background-color: #7F7F7F;
  border: none;
  color: #fff;
  padding: 20px 30px;
}

.submit_btn input:hover{
  opacity: 0.7;
}

#page .sitemap-page ul li a:hover,
.link_btn a:hover,
.wp-block-button a:hover{
  background-color: #E7F3EF !important;
}

#page .sitemap-page ul li a::before,
.link_btn a::before,
.wp-block-button a::before{
  background-image: url("../img/common/btn_arrow.svg");
  content: "";
  display: inline-block;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  vertical-align: middle;
  width: 35px;
}

.wp-block-button a{
  background-color: transparent;
  border-radius: 0;
}

.link_btn.white a{
  background-color: #fff;
}

.more_btn p{
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  padding-right: 85px;
  position: relative;
}

.more_btn p::before{
  background-color: #000;
  border-radius: 999px;
  content: "";
  height: 60px;
  position: absolute;
  top: -15px;
  right: 0;
  width: 60px;
}

.more_btn p::after{
  content: '';
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 25px;
  top: 8px;
  transform: rotate(45deg);
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .link_btn a{
    text-align: left;
  }
  
  .more_btn p{
    font-size: 14px;
    padding-right: 40px;
  }
  
  .more_btn p::before{
    height: 30px;
    top: -5px;
    width: 30px;
  }
  
  .more_btn p::after{
    height: 6px;
    top: 6px;
    right: 12px;
    width:6px;
  }
}


/*===================================

header

===================================*/
header{
  align-items: stretch;
  background-color: #F8F8F8;
  display: flex;
  height: 80px;
  justify-content: space-between;
  position: sticky;
  top: 0;
  left: 0;
  z-index:1000;
}

header .logo > a{
  align-items: center;
  color: #00A377;
  display: flex;
  flex-shrink: 0;
  font-size: 2.5rem;
  font-weight: 700;
  padding: 5px 25px;
}

header .logo > a img{
  margin-right: 14px;
}

header .logo > a span{
  color: #444;
  font-size: 80%;
  margin-left: 14px;
}

header nav ul{
  display: flex;
  height: 100%;
}

header nav > ul > li{
  align-content: center;
  margin-left: 5rem;
}

header nav ul li > span{
  cursor: pointer;
  transition: 0.2s;
}

header nav ul li > span,
header nav > ul > li > a{
  font-weight: 700;
}

header nav > ul > li:not(.entry) > a:hover,
header nav > ul > li:not(.entry):hover > span,
header nav ul.level_02 li a:hover{
  color: #00A377;
}

header nav ul.level_02{
  background-color: #E7F2EF;
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
}

header nav ul.level_02 li{
  background-color: #E7F2EF;
  border-bottom: 1px dashed #ccc;
}
header nav ul.level_02 li:last-child{
  border-bottom: none;
}

header nav ul.level_02 li a{
  font-size: 16px;
  padding: 10px;
}

header nav ul li.level_01:hover ul.level_02{
  display: block;
}

header nav ul li.entry a{
  align-content: center;
  background-color: #00A377;
  border: 4px solid #00A377;
  border-bottom-left-radius: 20px;
  color: #fff;
  display: block;height: 100%;
  font-size: 20px;
  text-align: center;
  width: 210px;
}

header nav ul li.entry a:hover{
  background-color: #fff;
  color: #00A377;
}

header .hamburger_btn,
.hamburger_menu{
  display: none;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1240px){
  header{
    align-items: center;
    background-color: #fff;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.16);
    padding: 0 15px;
  }
  
  header .logo{
    align-content: center;
  }
  
  header .logo > a{
    font-size: 14px;
    padding: 0;
  }
  
  header .logo > a img{
    max-width: 45px;
  }
  
  header .logo > a span{
    display: block;
    margin-left: 0;
  }
  
  header .pc_nav{
    display: none;
  }
  
  header .hamburger_btn{
    display: block;
    height: 35px;
    position: relative;
    width: 30px;
  }
  
  header .hamburger_btn::after{
    color: #00A377;
    content: "MENU";
    font-weight: 400;
    font-size: 11px;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    width: 100%;
  }
  
  header .hamburger_btn span{
    background-color: #00A377;
    display: block;
    height: 2px;
    position: absolute;
    transition: 0.2s;
    left: 0;
    width: 100%;
  }
  
  header .hamburger_btn span:nth-child(1){
    top: 0;
  }
  header .hamburger_btn span:nth-child(2){
    top: 8px;
  }
  header .hamburger_btn span:nth-child(3){
    top: 16px;
  }
  
  header .hamburger_btn.active::after{
    content: "CLOSE";
  }
  
  header .hamburger_btn.active span:nth-child(1){
    top: 8px;
    left: 2px;
    transform: rotate(-30deg);
  }
  
  header .hamburger_btn.active span:nth-child(2){
    opacity: 0;
  }
  
   header .hamburger_btn.active span:nth-child(3){
    top: 8px;
    left: 2px;
    transform: rotate(30deg);
  }
  
  .hamburger_menu{
    background-color: #fff;
    display: block;
    height: 100vh;
    opacity: 0;
    overflow: auto;
    padding-top: 80px;
    position: fixed;
    pointer-events: none;
    top: 0;
    left: 0;
    transition: 0.2s;
    width: 100%;
    z-index: 100;
  }
  
  .hamburger_menu.active{
    opacity: 1;
    pointer-events: auto;
  }
  
  .hamburger_menu ul{
    margin-bottom: 4rem;
  }
  
  .hamburger_menu ul li{
    border-top: 1px solid #DEDEDE;
    padding: 15px;
  }
  
  .hamburger_menu ul li.level_01{
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding-bottom: 15px;
  }
  
  .hamburger_menu ul li.level_01.open{
    padding-bottom: 0;
  }
  
  .hamburger_menu ul li.level_01::before{
      content: '';
      width: 7px;
      height: 7px;
      border-top: solid 2px #00A377;
      border-right: solid 2px #00A377;
      position: absolute;
      right: 20px;
      top: 25px;
      transform: rotate(45deg);
    }
  
  .hamburger_menu ul li.level_01.open::before{
    transform: rotate(135deg);
  }
  
  .hamburger_menu ul li.level_01 .ja{
    color: #A5A5A5;
    font-size: 13px;
    margin-left: 10px;
    letter-spacing: 0;
  }
  
  .hamburger_menu ul.level_02{
    display: none;
    margin-top: 20px;
  }
  
  .hamburger_menu ul.level_02 li a{
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    padding-left: 15px;
  }
  
  .hamburger_menu ul li.simple a{
    display: block;
    font-size: 16px;
    padding-left: 15px;
  }
  
  .hamburger_menu ul li.simple a::before,
  .hamburger_menu ul.level_02 li a::before{
    content: '';
    width: 5px;
    height: 5px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    position: absolute;
    left: 0;
    top: 9px;
    transform: rotate(45deg);
  }
  
  .hamburger_menu a.mail_btn{
    background-color: #00A377;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    margin-left: 15px;
    margin-right: 15px;
    padding: 20px;
    text-align: center;
  }
  
  .hamburger_menu a.mail_btn:hover{
   opacity: 0.7;
  }
  
  .hamburger_menu a.mail_btn::before{
    background-image: url("../img/common/icon_mail.svg");
    content: "";
    display: inline-block;
    height: 15px;margin-right: 15px;
    position: relative;
    vertical-align: middle;
    width: 20px;
  }
  
  .hamburger_menu a.tel_btn{
    border: 1px solid #00A377;
    color: #00A377;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin: 0 15px;
    padding: 20px;
    text-align: center;
  }
  
  .hamburger_menu a.tel_btn:hover{
    background-color: #E7F2EF;
  }
  
  .hamburger_menu a.tel_btn::before{
    background-image: url("../img/common/icon_tel.svg");
    content: "";
    display: inline-block;
    height: 15px;
    margin-right: 10px;
    position: relative;
    top: -3px;
    vertical-align: middle;
    width: 10px;
  }
  
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  header{
    height: 55px;
  }
}


/*===================================

footer

===================================*/
#entry_box{
  margin-top: 14rem;
}

#entry_box .img_box{
  height: 650px;
  overflow: hidden;
}

#entry_box .img_box img{
  height: 100%;
  object-fit: cover;
  width: 100%;
}

#entry_box a{
  align-content: center;
  background-color: #fff;
  border-radius: 80px 0;
  display: block;
  min-height: 465px;
  padding: 10rem;
  position: relative;
  text-align: center;
  top: -12rem;
}

#entry_box a:hover{
  background-color: #E7F2EF;
}

#entry_box a .en{
  font-size: clamp(24px,7.81vw,8rem);
  margin-bottom: clamp(20px,12.7vw,13rem);
}

#entry_box a:hover .en,
#entry_box a:hover .more_btn{
  color: #00A377;
}

#entry_box a:hover .more_btn p::before{
  background-color: #00A377;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #entry_box .img_box{
    height: 130px;
  }
  
  #entry_box a{
    border-radius: 20px 0;
    top: -15px;
    min-height: 0;
    padding: 20px;
  }
  
  #entry_box a .en{
    margin-bottom: 20px;
  }
  
  #entry_box .more_btn{
    margin-top: 0;
  }
  
}



footer{
  background-color: #fff;
}

footer .inner{
  max-width: 1230px;
}

footer .info{
  align-items: center;
  display: flex;
  font-weight: 400;
  padding-top: 5rem;
  padding-bottom: 30px;
}

footer .info .bold{
  font-size: 20px;
}

footer .info img{
  margin-right: 12px;
}

footer nav .item{
  width: 24%;
}

footer nav .item p{
  color: #00A377;
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 25px;
}

footer nav .item p span{
  color: #989898;
  display: block;
  font-size: 14px;
  font-weight: 500;
}


footer nav .item li a{
  margin-bottom: 1em;
  padding-left: 1em;
}

footer nav .item li a:hover{
  color: #00A377;
}

footer nav .item li a::before{
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #00A377;
  border-right: solid 2px #00A377;
  position: absolute;
  left: 0;
  top: 11px;
  transform: rotate(45deg);
}

footer nav .item li.corporate a{
  color: #00A377;
  padding-left: 1.4em;
}

footer nav .item li.corporate a:hover{
  text-decoration: underline;
}

footer nav .item li.corporate a::before{
  border: none;
  background-image: url("../img/common/btn_target.svg");
  height: 16px;
  width: 16px;
  top: 7px;
  transform: rotate(0);
}


footer .copy_right{
  background-color: #F8F8F8;
  color: #8D8D8D;
  font-size: 14px;
  padding: 5px 5px 20px 5px;
  text-align: center;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  footer .inner{
    display: none;
  }
}

/*===================================

front-page

===================================*/
#news-ticker .news-ticker_inner{
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  margin-top: 24px;
  max-width: 870px;
  width: 100%;
}

#news-ticker .news-ticker_inner p{
  align-content: center;
  background-color: #00A377;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;color: #fff;
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  width: 105px;
}

#news-ticker .news-ticker_inner ul{
  padding: 15px 24px;
  width: calc(100% - 175px);
}

#news-ticker .news-ticker_inner ul li a{
  font-size: 14px;
  font-weight: 700;
}

#news-ticker .news-ticker_inner ul li a:hover{
  opacity: 0.7;
  text-decoration: underline;
}

#news-ticker .news-ticker_inner ul li a .date{
  color: #B2B2B2;
  font-weight: 500;
  margin-right: 16px;
}

#news-ticker .news-ticker_inner a.all{
  align-content: center;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 800;
  padding-right: 35px;
  text-decoration: underline;
  width: 70px;
}

#news-ticker .news-ticker_inner a.all:hover{
  color: #00A377;
}

#news-ticker .news-ticker_inner a.all::before{
  background-color: #000;
  content: "";
  height: 1px;
  position: absolute;
    top: 50%;
    right: 12px;
  transform: translateY(-50%);
  width: 10px;
}

#news-ticker .news-ticker_inner a.all:hover::before{
  background-color: #00A377;
  color: #00A377;
  right: 10px;
}

#news-ticker .news-ticker_inner a.all::after{
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  content: "";
  height: 4px;
  margin-top: -1px;
  position: absolute;
    top: 50%;
    right: 14px;
  transform: rotate(45deg) translateY(-50%);
  width: 4px;
}

#news-ticker .news-ticker_inner a.all:hover::after{
  border-color:  #00A377;
  color: #00A377;
  right: 12px;
}


#front-page section{
  position: relative;
}

#front-page section::before{
  color: #FFE600;
  font-size: 10rem;
  font-weight: 600;
  position: absolute;
}

h2.clover{
  font-size: clamp(24px,3.42vw,3.5rem);
  font-weight: 500;
  margin-bottom: 20px;
  position: relative;
}

h2.clover span:not(.bold){
  color: #8F8F8F;
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  padding-left: 1.3em;
}

h2.clover span:not(.bold)::before{
  background-image: url("../img/common/icon_clover.png");
  background-position: center;
  content: "";
  height: 1em;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1em;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #news-ticker .news-ticker_inner{
    background-color: transparent;
    display: block;
  }
  
  #news-ticker .news-ticker_inner p{
    border-radius: 10px 10px 0 0;
    display: inline-block;
    font-size: 14px;
    padding: 10px;
  }
  
  #news-ticker .news-ticker_inner ul{
    background-color: #fff;
    width: 100%
  }
  
  #news-ticker .news-ticker_inner ul li a .date{
    display: block;
    margin-right: 0;
  }
  
  #news-ticker .news-ticker_inner a.all{
    display: none;
  }
}


/*------------------------
about
-------------------------*/
#front-page #about{
  font-size: 2rem;
  font-weight: 600;
  padding-top: 6rem;
}

#front-page #about::before{
  content: "ABOUT";
  top: 11rem;
  right: 0;
  transform: rotate(90deg);
  z-index: 1;
}

#front-page #about .item{
  margin-bottom: 50px;
  padding: 0 15px;
  position: relative;
  width: 49%;
}

#front-page #about .item:nth-of-type(1){
  margin-bottom: 150px;
}

#front-page #about .item:nth-of-type(2){
  padding-top: 35px;
  margin-bottom: 80px;
}

#front-page #about .item:nth-of-type(3){
  top: -140px;
}

#front-page #about .item:nth-of-type(4){
  width: 37%;
}

#front-page #about .item.photo > div{
  position: relative;
}

#front-page #about .item .vertical{
  background-color: #00A377;
  color: #fff;
  font-size: clamp(16px,3.26vw,2.5rem);
  letter-spacing: 0.3em;
  padding: 2rem 0;
  position: absolute;
  left: 50px;
  top: 80%;
  text-align: center;
  word-break: keep-all;
  z-index: 1;
}

#front-page #about .img_box{
  width: 45%;
}

#front-page #about .text_box{
  padding-top: 10rem;
  width: 45%;
}

#front-page #about .text_box p{
  margin-top: 1em;
}

#front-page #about .text_box p.bold{
  font-size: 24px;
}

#front-page #about .text_box p.big{
  font-size: clamp(20px,3.91vw,3rem);
  font-weight: 600;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){  
  #front-page #about::before{
    display: none;
  }
  
  #front-page #about .item{
    margin-bottom: 30px;
    padding: 0;
    width: 100%;
  }
  
  #front-page #about .item:nth-of-type(1){
    margin-bottom: 35px;
  }
  
  #front-page #about .item:nth-of-type(2),
  #front-page #about .item:nth-of-type(4){
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 16px;
    padding: 0;
    padding-right: 30%;
    width: 100%;
  }
  
  #front-page #about .item:nth-of-type(2)::before{
    color: #FFE600;
    content: "ABOUT";
    font-size: 64px;
    font-weight: 600;
    position: absolute;
    top: 35%;
    right: -4%;
    transform: rotate(90deg) translateY(-50%);
    z-index: 1;
  }
  
  #front-page #about .item:nth-of-type(3){
    margin-left: auto;
    margin-right: 0;
    padding-left: 30%;
    top: 0;
  }
  
  #front-page #about .item .vertical{
    letter-spacing: 0;
    top: auto;
    left: 15px;
    bottom: -20px;
  }
  
  
  #front-page #about .img_box,
  #front-page #about .text_box p.big br{
    display: none;
  }
  
  #front-page #about .text_box{
    padding: 30px 20px;
    width: 100%;
  }
  
  #front-page #about .text_box p.small{
    font-size: 20px;
  }
  
}


/*------------------------
voice
-------------------------*/
#front-page #voice{
  background-color: #00A377;
  margin-top: 12rem;
  padding: 15rem clamp(20px,4.17vw,8rem) 9rem;
}

#front-page #voice .item{
  margin-bottom: 4rem;
  position: relative;
  width: 22.5%;
}

#front-page #voice .item img:not(.number){
  margin-left: auto;
  margin-right: 0;
  width: 75%;
}

#front-page #voice .item .number{
  position: absolute;
  top: 20px;
  left: 28px;
  width: 28%;
  z-index: 1;
}

#front-page #voice .item .vertical{
  background-color: #00A377;
  font-size: 16px;
  position: absolute;
  padding: 10px 12px 3rem;
  top: 0;
  right: 0;
  width: auto;
}

#front-page #voice .item .text_box{
  position: absolute;
  bottom: 40px;
  left: 0;
}

#front-page #voice .item .text_box .catch span{
  background-color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  padding: 2px 15px;
}

#front-page #voice .item .text_box .year{
  color: #fff;
  font-size: 14px;
}


#front-page #voice .vertical{
  color: #fff;
  font-size: clamp(24px,1.69vw,3rem);
  font-weight: 500;
  letter-spacing: 0.3em;
  padding: 0 clamp(15px,1.69vw,3rem);
  width: 14%;
}

#front-page #voice .vertical .big{
  font-size: 265%;
  position: relative;
  top: -5rem;
}

#front-page #voice .vertical .light{
  font-weight: 200;
}

#front-page #voice .name{
  color: #fff;
  font-size: 16px;
  margin-top: 1em;
  padding-left: 20%;
}

#front-page #voice .link_btn a{
  outline: none;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1240px){
  #front-page #voice .vertical,
  #front-page #voice .item{
    width: 49%;
  }
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #voice{
    padding-top: 50px;
  }
  
  #front-page #voice .item{
    margin-left: auto;
    margin-right: 0;
    order: 2;
    width: 95%;
  }
  
  #front-page #voice .item img:not(.number){
    width: 72%;
  }
  
  #front-page #voice .item .number{
    top: 10px;
    left: 10px;
    width: 32%;
  }
  
  #front-page #voice .item .vertical{
    border-bottom-left-radius: 10px;
    font-size: 14px;
    order: 1;
  }
  
  #front-page #voice .vertical{
    align-content: center;
    padding: 0;
    width: 100%;
  }

  
}


/*------------------------
strength
-------------------------*/
#front-page #strength{
  padding-top: 12rem;
  margin-bottom: 14rem;
}

#front-page #strength::before{
  content: "STRENGTH";
  transform: rotate(-90deg);
  top: 70%;
  left: -14rem;
  z-index: -1;
}

#front-page #strength .intro {
  align-items: flex-end;
  margin-bottom: 18rem;
  position: relative;
}

#front-page #strength .intro .img_box{
  width: 51%;
}

#front-page #strength .intro .text_box{
  width: 45%;
  margin-bottom: 8rem;
}

#front-page #strength .intro .text_box img{
  position: absolute;
  top: 0;
  left: 65%;
  transform: translateX(-50%);
  width: 44%;
}

#front-page #strength .intro .text_box .link_btn{
  margin-top: 6rem;
}

#front-page #strength .intro .text_box .link_btn a{
  background-color: #F8F8F8;
}

#front-page #strength .company{
  align-items: center;
  margin-left: 0;
  max-width: 1500px;
}

#front-page #strength .left_box{
  padding-left: 10%;
  width: 42%;
}

#front-page #strength .left_box h3{
  font-size: clamp(24px,5.21vw,4rem);
  margin-bottom: 4rem; 
}

#front-page #strength .left_box p{
  line-height: 1.5em;
  margin-bottom: 1.25em;
}

#front-page #strength .right_box{
  width: 55%;
}

#front-page #strength .right_box a{
  background-color: #fff;
  display: flex;
  flex-flow: column;
  margin-bottom: 2%;
  min-height: 230px;
  padding: 3rem;
  transition: 0.2s;
  width: 32%;
}

#front-page #strength .right_box a:hover{
  background-color: #E7F2EF;
}

#front-page #strength .right_box a .title{
  font-size: 2rem;
  font-weight: 700;
  margin: 2.5rem 0;
}

#front-page #strength .right_box a .more{
  margin-top: auto;
  text-align: right;
}

#front-page #strength .right_box a .more p{
  padding-right: 25px;
  position: relative;
}

#front-page #strength .right_box a .more p::before{
  background-color: #000;
  border-radius: 2px;
  content: "";
  height: 1.5px;
  position: absolute;
  bottom: 6px;
  right: 0;
  width: 20px;
}

#front-page #strength .right_box a .more p::after{
  background-color: #000;
  border-radius: 2px;
  content: "";
  height: 1.5px;
  position: absolute;
  bottom: 9.5px;
  right: -2px;
  transform: rotate(45deg);
  width: 10px;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #strength{
    padding-top: 70px;
    margin-bottom: 30px;
  }
  
  #front-page #strength::before{
    top: auto;
    bottom: 37%;
    left: -23rem;
  }
  
  #front-page #strength .intro{
     margin-bottom: 40px;
  }
  
  #front-page #strength .intro .img_box{
    padding-right: 20px;
    width: 100%;
  }
  
  #front-page #strength .intro .text_box{
    margin-bottom: 0;
    padding-top: 40px;
    width: 100%;
  }
  
  #front-page #strength .intro .text_box img{
    top: -20%;
    left: auto;
    right: 0;
    transform: translate(0);
    width: 80%;
  }
  
  #front-page #strength .left_box{
    padding-left: 0;
    width: 100%;
  }
  
  #front-page #strength .right_box{
    width: 100%;
  }
  
  #front-page #strength .left_box h3{
    text-align: center;
    margin-bottom: 20px;
  }
  
  #front-page #strength .right_box a{
    margin-bottom: 14px;
    min-height: 145px;
    width: 49%;
  }
  
  #front-page #strength .right_box a .icon img{
    max-width: 80%;
  }
}


/*------------------------
page-menu
-------------------------*/
#front-page #page-menu .img_box{
  height: 66rem;
  overflow: hidden;
}

#front-page #page-menu .img_box img{
  height: 100%;
  object-fit: cover;
  width: 100%;
}

#front-page #page-menu .link_box a{
  align-content: center;
  background-color: #fff;
  border-bottom: 3px solid #00A377;
  display: block;
  margin-bottom: 6rem;
  min-height: 450px;
  padding: 9rem clamp(3rem,5.06vw,9rem);
  position: relative;
  top: -12rem;
  width: 50%;
}

#front-page #page-menu .link_box a:hover{
  background-color: #E7F2EF;
}

#front-page #page-menu .link_box a:nth-of-type(odd)::before{
  background-color: #707070;
  content: "";
  height: 75%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
}

#front-page #page-menu .link_box a h2{
  font-size: clamp(20px,1.88vw,5rem);
  padding-left: 80px;
  position: relative;
}

#front-page #page-menu .link_box a h2::before{
  content: "";
  height: 65px;
  position: absolute;
  top: 20px;
  left: 0;
  width: 65px;
}

#front-page #page-menu .link_box a#kaiteki h2:before{
  background-image: url("../img/common/icon_clover.png");
}
#front-page #page-menu .link_box a#career-plan h2:before{
  background-image: url("../img/common/icon_stairs.png");
}
#front-page #page-menu .link_box a#q-and-a h2:before{
  background-image: url("../img/common/icon_question.png");
}
#front-page #page-menu .link_box a#flow h2:before{
  background-image: url("../img/common/icon_document.png");
}

#front-page #page-menu .link_box a > p{
  padding-left: 80px;
}

#front-page #page-menu .link_box a .more_btn{
  color: #00A377;
  text-align: right;
  margin-top: 9rem;
}

#front-page #page-menu .link_box a .more_btn p::before{
  background-color: #00A377;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #front-page #page-menu .img_box{
    height: 185px;
  }
  
  #front-page #page-menu .link_box a{
    margin-bottom: 20px;
    min-height: 0;
    top: -20px;
    padding: 20px;
    width: 100%;
  }
  
  #front-page #page-menu .link_box a:nth-of-type(odd){
    border: none;
    margin-bottom: 0;
  }
  
  #front-page #page-menu .link_box a:nth-of-type(odd)::before{
    height: 1px;
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,0);
    width: 90%;
  }
  
  #front-page #page-menu .link_box a h2,
  #front-page #page-menu .link_box a > p{
    padding-left: 45px;
  }
  
  #front-page #page-menu .link_box a h2:before{
    height: 30px;
    width: 30px;
  }
  
  #front-page #page-menu .link_box a .more_btn{
    margin-top: 20px;
  }
  
}


/*===================================

下層ページ

===================================*/
.sub_mv{
  aspect-ratio: 128 / 39;
  margin-bottom: 10rem;
  overflow: hidden;
  position: relative;
}

.sub_mv img{
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.sub_mv .title{
  align-content: flex-end;
  max-width: 1620px;
  height: 100%;
  padding-bottom: clamp(10px,3.65vw,7rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: calc(100% - 30px);
}

.sub_mv h1,
.sub_mv .page_title{
  color: #00A377;
  font-size: clamp(20px,3.91vw,4rem);
  line-height: clamp(20px,3.91vw,4rem);
  font-weight: 500;
}

.sub_mv h1 span,
.sub_mv .page_title span{
  align-content: center;
  background-color: #fff;
  border: 2px solid #00A377;
  display: inline-block;
  height: clamp(28px,5.86vw,60px);
  text-align: center;
  width: clamp(28px,5.86vw,60px);
}

.sub_mv .title .green{
  font-size: 16px;
  font-weight: 600;
  margin-top: 1.2rem;
}

#page .white_box,
#archive .white_box,
#single .white_box{
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 8rem 15px;
  width: calc(100% - 30px);
}

#page .white_box .inner_in,
#archive .white_box .inner_in,
#single .white_box .inner_in{
  max-width: 990px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

#page .white_box h2.clover,
#page h2.clover_02{
  font-size: clamp(22px,3.52vw,3.6rem);
  font-weight: 600;
  margin-top: 8rem;
  margin-bottom: 4rem;
  padding-bottom: 45px;
  position: relative;
  text-align: center;
}

#page .white_box h2.clover::after,
#page h2.clover_02::after{
  background-image: url("../img/common/icon_clover.png");
  content: "";
  height: 15px;
  position: absolute;
  left: 50%;
  bottom: 0;
  text-align: center;
  transform: translateX(-50%);
  width: 15px;
}


h2.line{
  margin-top: 4rem;
}

h2.line,
h3.line,
#entry-form h2{
  font-size: 2.4rem;
  margin-bottom: 25px;
  position: relative;
}

h2.line::before,
h3.line::before,
#entry-form h2::before{
  background-color: #000;
  content: "";
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}

h2.line span,
h3.line span,
#entry-form h2 span{
  background-color: #fff;
  display: inline-block;
  padding-right: 2.5rem;
  position: relative;
  z-index: 2;
}

#page .white_box h2.clover:first-of-type,
#page .white_box h2.line:first-of-type{
  margin-top: 0;
}

#page .section_block{
  margin-bottom: 10rem;
}

.wp-block-image,
.wp-block-gallery{
  margin: 30px 0;
}

.wp-block-column .wp-block-image{
  margin-top: 0;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .sub_mv .title{
    padding-bottom: 10px;
  }
  
  .sub_mv h1 span{
    border-width: 1.5px;
  }
  
  .sub_mv .title .green{
    font-size: 13px;
    margin-top: 0;
  }
  
  h2.line span,
  #entry-form h2 span{
    padding-right: 10px;
    max-width: 90%;
  }
  
  #page .white_box h2.line span br{
    display: none;
  }
  
  .wp-block-gallery .wp-block-image{
    width: 100% !important;
  }
}


/*===================================

活躍する女性たち

===================================*/
#womens-intro.inner{
  max-width: 1620px;
  margin-bottom: 10rem;
}

#womens-intro .left_box{
  width: 38%;
}

#womens-intro .right_box{
  width: 60%;
}

#womens-intro .right_box .item{
  width: 30%;
}

#womens-intro .right_box .item .img_box{
  margin-bottom: 15px;
  position: relative;
}

#womens-intro .right_box .item .img_box p{
  background-color: #00A377;
  border-top-right-radius: 10px;
  color: #fff;
  line-height: 1.2em;
  font-size: 16px;
  font-weight: 600;
  padding: 5px 20px;
  position: absolute;
  left: 0;
  bottom: 0;
}

#womens-intro .right_box .item .text_box .name{
  display: inline-block;
  font-size: 2.4rem;
  margin-top: 7px;
  margin-right: 10px;
}

#womens-intro .right_box .item .text_box .year{
  color: #878787;
  display: inline-block;
  font-weight: 700;
  font-size: 90%;
}


#womens-interview .comment_box{
  align-items: center;
  display: flex;
  font-size: 16px;
  margin-bottom: 40px;
}

#womens-interview .comment_box .img_box{
  flex-shrink: 0;
  padding-right: 30px;
  text-align: center;
  width: 110px;
}

#womens-interview .comment_box .text_box{
  border-left: 1px solid #A6A6A6;
  font-weight: 400;
  padding-left: 30px;
  width: calc(100% - 110px);
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #womens-intro .left_box{
    margin-bottom: 30px;
    width: 100%;
  }
  
  #womens-intro .right_box{
    width: 100%;
  }
  
  #womens-intro .right_box .item{
    margin-bottom: 20px;
    width: 48%;
  }
  
  #womens-intro .right_box .item .img_box p{
    font-size: 12px;
    padding: 5px 10px;
  }
  
  #womens-intro .right_box .item .text_box .post,
  #womens-intro .right_box .item .text_box .year{
    display: block;
    font-size: 14px;
  }
  
  #page #womens-interview h2.clover br{
    display: none;
  }
  
  #womens-interview .comment_box{
    align-items: flex-start;
  }
  
  #womens-interview .comment_box .img_box{
    padding-right: 10px;
    width: 70px;
  }
  
  #womens-interview .comment_box .text_box{
    font-size: 15px;
    line-height: 1.7em;
    padding-left: 15px;
    width: calc(100% - 70px);
  }
}

/*===================================

社内ツアー

===================================*/
#tour_map{
  background-repeat: no-repeat;
  background-image: url("../img/company-tour/bg_sky.webp");
  background-position: top;
  background-size: cover;
  position: relative;
  padding-top: clamp(20px,8.3vw,8.5rem);
}

#tour_map .inner{
  max-width: 1200px;
}

#company_tour .floor_guide{
  display: flex;
  justify-content: space-between;
  margin-bottom: 10rem;
}

#company_tour .floor_guide:nth-of-type(even){
  flex-flow: row-reverse;
}

#company_tour .floor_guide .img_box{
  width: 62.5%;
}

#company_tour .floor_guide .text_box{
  padding-left: 75px;
  position: relative;
  width: 34%;
}

#company_tour .floor_guide .text_box::before{
  color: #FFE600;
  font-size: clamp(25px,3.52vw,3.6rem);
  font-weight: 600;
  line-height: 1em;
  position: absolute;
  top: 0;
  left: 0;
  writing-mode: vertical-rl;
}

#company_tour .floor_guide#exterior .text_box::before{ content: "EXTERIOR"; }
#company_tour .floor_guide#entrance .text_box::before{ content: "ENTRANCE"; }
#company_tour .floor_guide#freezer .text_box::before{ content: "FREEZER"; }
#company_tour .floor_guide#meeting-room .text_box::before{ content: "MEETING ROOM"; }
#company_tour .floor_guide#training-room .text_box::before{ content: "TRAINING ROOM"; }
#company_tour .floor_guide#break-room .text_box::before{ content: "BREAK ROOM"; }
#company_tour .floor_guide#nap-room .text_box::before{ content: "NAP ROOM"; }
#company_tour .floor_guide#kitchen .text_box::before{ content: "KITCHENETTE"; }
#company_tour .floor_guide#reception-room .text_box::before{ content: "RECEPTION ROOM"; }


#company_tour .floor_guide .text_box p.floor{
  color: #00A377;
  font-size: clamp(30px,4.88vw,5rem);
  line-height: normal;
}

#company_tour .floor_guide .text_box p.floor small{
  font-size: 80%;
}

#company_tour .floor_guide .text_box h3{
  font-size: 2.4rem;
  margin-bottom: 3rem;
  margin-top: 16px;
  position: relative;
}

#company_tour .floor_guide .text_box h3::before{
  background-color: #000;
  content: "";
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}

#company_tour .floor_guide .text_box h3 span{
  background-color: #fff;
  display: inline-block;
  padding-right: 20px;
  position: relative;
  z-index: 1;
}

#company_tour .floor_guide .text_box p{
  line-height: 1.8em;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #company_tour .floor_guide{
    display: block;
    margin-bottom: 0;
  }
  
  #company_tour .floor_guide .img_box{
    margin-bottom: 30px;
    width: 100%;
  }
  
  #company_tour .floor_guide .text_box{
    min-height: 235px;
    padding-left: 50px;
    padding-bottom: 70px;
    width: 100%;
  }
  
  #company_tour .floor_guide .text_box h3{
    margin-top: 5px;
    margin-bottom: 15px;
  }
}

/*===================================

あなたは快適ですか

===================================*/
body.person #page .sub_mv{
  margin-bottom: 0;
}

body.person #entry_box{
  margin-top: 0;
}

#page #person{
  background-image: url("../img/person/bg_person.png");
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 0;
  padding-top: 10rem;
  padding-bottom: 100rem;
  position: relative;
  z-index: 2;
}

#page #person h2{
  max-width: 1090px;
  position: relative;
}

#page #person .text_box{
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  padding-right: 30rem;
  position: relative;
  width: calc(100% - 30px);
}

#page #person .text_box p{
  font-size: 2rem;
  line-height: 1.9em;
  margin-top: 7rem;
}

#page #person .text_box .inner_600{
  max-width: 600px;
}
#page #person .text_box .inner_650{
  max-width: 650px;
}
#page #person .text_box .inner_700{
  max-width: 700px;
}

#page #person .img_triangle{
  position: absolute;
  top: 4%;
  left: -2%;
  width: 29%;
  z-index: -1;
}

#page #person .img_circle{
  position: absolute;
  top: 3%;
  right: 6%;
  width: 27%;
}

#page #person .img_square{
  position: absolute;
  top: 34%;
  right: 4%;
  width: 27%;
}

/*--- under1499px -----------------------------------*/
@media screen and (max-width:1499px){
  #page #person .img_triangle{
    top: 17%;
    left: auto;
    right: 2%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #page #person{
    padding-bottom: 25rem;
  }
  
  #page #person .text_box{
    padding-right: 0;
  }
  #page #person .text_box p{
    margin-top: 0;
    margin-bottom: 5rem;
  }
  
  #page #person .text_box p:last-child{
    margin-bottom: 0;
  }
  
  #page #person .img_triangle,
  #page #person .img_circle,
  #page #person .img_square{
    position: static;
    width: 70%;
  }
  
  #page #person .img_triangle{
    margin-left: 0;
    margin-right: auto;
  }

  #page #person .img_circle{
    margin-left: auto;
    margin-right: 0;
  }
  
}

/*===================================

募集要項

===================================*/
#flow.recruitment-page .flow_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#flow.recruitment-page .flow_box .item{
  align-content: center;
  background-color: #fff;
  border: 1px solid #C5C5C5;
  border-radius: 10px;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  padding: 16px;
  position: relative;
  width: 22%;
}

#flow.recruitment-page .flow_box .item:not(:last-of-type)::after{
  background-image: url("../img/recruitment/icon_arrows.png");
  content: "";
  height: 18px;
  position: absolute;
  top: 50%;
  left: 105%;
  transform: translateY(-50%);
  width: 20px;
}

#flow.recruitment-page .flow_box .item small{
  font-size: 16px;
}

#flow.recruitment-page .flow_box .item img{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 14px;
}


#flow.recruitment-page .notes{
  font-size: 15px;
  font-weight: 600;
  margin-top: 8px;
}

#recruit-info .anchor_box{
  gap: 0 18px;
  justify-content: flex-start;
  margin-bottom: 6rem;
  max-width: 1200px;
}

#recruit-info .anchor_box .link_btn{
  width: auto;
}

#recruit-info .anchor_box .link_btn a{
  padding-left: 2rem;
}

#recruit-info section{
  margin-bottom: 5rem;
}

#recruit-info section table,
#recruit-info section table tbody{
  width: 100%;
}

#recruit-info section table tr{
  align-items: center;
  border-bottom: 1px solid #ccc;
  display: flex;
  padding: 20px 0;
  position: relative;
}
#recruit-info section table tr::before{
  background-color: #00A377;
  content: "";
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 20%;
}

#recruit-info section table tr th{
  display: block;
  font-size: 16px;
  line-height: 1.7em;
  padding: 0 15px;
  text-align: left;
  width: 20%;
}

#recruit-info section table tr td{
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7em;
  padding: 0 15px;
  width: 80%;
}

#recruit-info section table span.pink{color: #f78da7;}
#recruit-info section table span.red{color: #cf2e2e;}
#recruit-info section table span.orange{color: #ff6900;}
#recruit-info section table span.yellow{color: #fcb900;}
#recruit-info section table span.green{color: #00d084;}
#recruit-info section table span.blue{color: #0693e3;}
#recruit-info section table span.purple{color: #9b51e0;}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #flow.recruitment-page .flow_box .item{
    margin-bottom: 30px;
    width: 100%;
  }
  
  #flow.recruitment-page .flow_box .item:not(:last-of-type)::after{
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
  
  #recruit-info section table tr{
    flex-wrap: wrap;
  }
  #recruit-info section table tr th{
    font-size: 18px;
    margin-bottom: 10px;
    padding: 0;
    width: 100%;
  }
  
  #recruit-info section table tr td{
    padding: 0;
    width: 100%;
  }
}

/*===================================

エントリーフォーム

===================================*/
.confirm_wrap{
  display: none;
}

#entry-form .box{
  margin-bottom:  6.4rem;
}


#entry-form table{
  width: 100%;
}

#entry-form table tr{
  border-bottom: 1px solid #ccc;
  display: flex;
  padding: 20px 0;
}

#entry-form table tr th{
  display: block;
  position: relative;
  text-align: left;
  width: 30%;
}

#entry-form table tr th .hissu,
#entry-form .checkbox_wrap .hissu{
  align-content: center;
  background-color: #fff;
  border: 1px solid #00A377;
  border-radius: 999px;
  color: #00A377;
  display: inline-block;
  font-size: 16px;
  height: 30px;
  margin-left: 15px;
  text-align: center;
  width: 80px;
}

#entry-form table tr td{
  display: block;
  font-size: 16px;
  width: 70%;
}

#entry-form table tr td input[type="text"],
#entry-form table tr td input[type="tel"],
#entry-form table tr td input[type="email"],
#entry-form table tr td textarea{
  background-color: #F0F0F0;
  border: 1px solid #CCC;
  font-size: 16px;
  padding: 10px;
  width: 100%;
}

#entry-form table tr td textarea{
  height: 190px;
  line-height: 1.5em;
  overflow: auto;
}

#entry-form table tr td .address_yubin input{
  margin: 0 5px 15px;
  width: 70px;
}

#entry-form table tr td #pref{
  margin-bottom: 15px;
}

#entry-form table tr td.flex{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

#entry-form table tr td input.day{
  margin: 0 10px;
  max-width: 100px;
  width: auto;
}

#entry-form table tr td input#your-month,
#entry-form table tr td input#your-day,
#entry-form table tr td input#your-g-month{
  max-width: 50px;
}

#entry-form table tr td.radio .wpcf7-list-item{
  margin-left: 0;
  margin-right: 2rem;
}

#entry-form .privacy_box{
  border: 1px solid #ccc;
  height: 400px;
  overflow: auto;
  padding: 28px;
}

#entry-form .privacy_box p{
  font-size: 16px;
  line-height: 2em;
}

#entry-form .checkbox_wrap{
  background-color: #F0F0F0;
  margin-top: 35px;
  padding: 20px;
  text-align: center;
}

.wpcf7-spinner{
  display: none !important;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #entry-form table tr{
    display: block;
  }
  
  #entry-form table tr th,
  #entry-form table tr td{
    width: 100%;
  }
  
  #entry-form table tr th{
    margin-bottom: 20px;
  }
  
  #entry-form table tr td input.day{
    margin-bottom: 10px;
  }
}


/*===================================

よくある質問

===================================*/
.anchor_box{
  max-width: 990px;
}

.anchor_box .link_btn{
  margin-top: 2%;
  width: 32%;
}

.anchor_box .link_btn a{
  background-color: #fff;
  color: #000;
  max-width: 100%;
  padding-right: 40px;
}

.anchor_box .link_btn a::before{
  background-image: none;
  background-color: #00A377;
  border-radius: 999px;
  height: 16px;
  right: 20px;
  width: 16px;
}

.anchor_box .link_btn a::after{
  content: '';
  width: 4px;
  height: 4px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-top: -6px;
  position: absolute;
  right: 27px;
  top: 50%;
  transform: rotate(135deg) translateY(-50%);
}

.faq_wrap{
  max-width: 1200px;
}

.faq_item{
  background-color: #fff;
  margin-bottom: 20px;
  padding: 3.5rem 5rem;
}

.faq_item .question{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  padding-left: 5.2rem;
  position: relative;
}

.faq_item .question::before{
  color: #00A377;
  content: "Q";
  font-size: 40px;
  position: absolute;
  top: -0.4em;
  left: 0;
}

.faq_item .answer,
.faq_item ul{
  line-height: 1.8em;
  margin-bottom: 5px;
  padding-left: 52px;
}

.faq_item ul li{
  font-weight: 700;
  padding-left: 1.5em;
}

.faq_item ul li:before{
  background-color: #000;
  border-radius: 999px;
  content: "";
  height: 0.8em;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.8em;
}

.faq_item ul li p{
  font-weight: 500;
  margin: 5px 0 5px 1em;
}

.faq_item .link_btn{
  margin-top: 20px;
  padding-left: 52px;
}

.anchor_box .link_btn a,
.faq_item .link_btn a{
  font-size: 18px;
  font-weight: 700;
}

.faq_item .flex_box{
  align-items: center;
}

.faq_item .flex_box .link_btn{
  margin-top: 0;
  padding-left: 0;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .anchor_box .link_btn,
  .faq_item .flex_box .link_btn{
    margin-top: 20px;
    width: 100%;
  }
  
  .faq_item{
    padding: 30px 15px;
  }
  
  .faq_item .question::before{
    font-size: 30px;
  }
  
  .faq_item .answer,
  .faq_item ul,
  .faq_item .link_btn{
    padding-left: 0;
  }
  
  .faq_item .link_btn a,
  .faq_item .flex_box .link_btn a{
    font-size: 16px;
  }
}


/*===================================

快適生活のひと

===================================*/
#employee-list{
  max-width: 1200px;
}

#employee-list .item{
  margin-bottom: 20px;
  width: 32%;
}

#employee-list .item .img_box{
  position: relative;
}

#employee-list .item .img_box p{
  background-color: #00A377;
  border-top-right-radius: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 2.8rem;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
}

#employee-list .item a{
  background-color: #fff;
  display: block;
  padding: 22px 17px;
  padding-right: 50px;
  position: relative;
}

#employee-list .item a::before{
  border: 2px solid #00A377;
  border-radius: 999px;
  content: "";
  height: 30px;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 30px;
}

#employee-list .item a::after{
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #00A377;
  border-right: solid 2px #00A377;
  margin-top: -5px;
  position: absolute;
  right: 35px;
  top: 50%;
  transform: rotate(135deg) translateY(-50%);
}

#employee-list .item a .post{
  display: inline-block;
  margin-right: 15px;
}

#employee-list .item a .year{
  color: #878787;
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
}

#employee-list .item a .name{
  font-size: 2.4rem;
  margin-top: 8px;
}

#employee-list .item a .name span{
  display: inline-block;
  font-size: 16px;
  margin-left: 15px;
  vertical-align: middle;
}

.employee_interview .head_visual{
  margin: 10rem 0;
  position: relative;
}

.employee_interview .head_visual::before{
  background-color: #00A377;
  content: "";
  height: 83%;
  position: absolute;
  top: 0;
  left: 0;
  width: 24%;
}

.employee_interview:nth-of-type(2n+1) .head_visual::before{
  left: auto;
  right: 0;
}

.employee_interview .head_visual .img_box{
  margin-left: auto;
  margin-right: 0;
  max-width: 1620px;
  padding-top: 6rem;
  position: relative;
  width: 95%;
  z-index: 2;
}

.employee_interview .head_visual .img_box img{
  padding-left: 5rem;
}

.employee_interview:nth-of-type(2n+1) .head_visual .img_box{
  margin-left: 0;
  margin-right: auto;
  padding-left: 0;
  padding-right: 6rem;
}

.employee_interview:nth-of-type(2n+1) .head_visual .img_box img{
  padding-left: 0;
  padding-right: 5rem;
}

.employee_interview .head_visual .text_box{
  max-width: 1620px;
  position: absolute;
  top: 40%;
  right: 0;
  transform: translateY(-50%);
  width: 95%;
  z-index: 2;
}

.employee_interview:nth-of-type(2n+1) .head_visual .text_box{
  right: auto;
  left: 0;
  text-align: right;
}

.employee_interview .head_visual .text_box img{
  margin-bottom: 8rem;
  transform: scale(1.4) translateX(15%);
}

.employee_interview:nth-of-type(2n+1) .text_box img{
  margin-left: auto;
  margin-right: 0;
  transform: scale(1.4) translateX(-15%);
}

.employee_interview .head_visual .text_box h2 span{
  background-color: #fff;
  display: inline-block;
  font-size: clamp(22px,4.88vw,5rem);
  font-weight: 500;
  margin-top: 2rem;
  padding: 5px 2.5rem;
}

.employee_interview .white_box .profile{
  align-items: center;
  border-bottom: 1px solid #000000;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 30px;
}

.employee_interview .white_box .profile .department{
  background-color: #00A377;
  color: #fff;
  padding: 1.4rem 2.2rem;
  text-align: center;
}

.employee_interview .white_box .profile .post{
  background-color: #F0F0F0;
  margin-right: 2rem;
  padding: 1.4rem 2rem;
}

.employee_interview .white_box .profile .name{
  font-size: 3rem;
  margin-left: 3.8rem; 
}

.employee_interview .white_box .profile .name span{
  font-size: 16px;
  margin-left: 2rem;
  vertical-align: middle;
}

.white_box .column_02.reverse{
  flex-flow: row-reverse;
}

.white_box .column_02 .item{
  font-size: 16px;
  font-weight: 400;
  margin-top: 4rem;
  line-height: 2em;
  width: 48%;
}

.employee_interview .white_box h2.clover{
  margin-top: 8rem !important;
}

.employee_interview .white_box dl{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 730px;
  position: relative;
  width: 100%;
}

.employee_interview .white_box dl::before{
  border-left: 2px dashed #00A377;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 62px;
  width: 2px;
}

.employee_interview .white_box dl dt{
  align-content: center;
  background-color: #00A377;
  color: #fff;
  flex-shrink: 0;
  font-size: 2.5rem;
  margin-bottom: 20px;
  padding: 3px;
  position: relative;
  text-align: center;
  width:120px;
  z-index: 2;
}

.employee_interview .white_box dl dd{
  background-color: #F0F0F0;
  border-left: 2px solid #00A377;
  font-weight: 400;
  margin-bottom: 20px;
  padding: 8px 22px;
  position: relative;
  width: calc(100% - 150px);
  z-index: 2;
}

.employee_interview .white_box dl dt:last-of-type,
.employee_interview .white_box dl dd:last-of-type{
  margin-bottom: 0;
}

/*--- under1024px -----------------------------------*/
@media screen and (max-width:1024px){
  .employee_interview .head_visual .text_box img{
    transform: scale(1) translateX(0);
  }
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .white_box .column_02.reverse{
    flex-flow: wrap;
  }

  #employee-list .item,
  .white_box .column_02 .item{
    width: 100%;
  }
  
  .employee_interview .head_visual .img_box{
    padding-top: 3rem;
    height: 300px;
  }
  
  .employee_interview .head_visual .img_box img,
  .employee_interview .head_visual:nth-of-type(2n+1) .img_box img{
    height: 100%;
    object-fit: cover;
    padding: 0;
    width: 100%;
  }
  
  .employee_interview#interview-01 .head_visual .img_box img{
    object-position: right;
  }
  
  .employee_interview .head_visual .text_box img{
    margin-bottom: 0;
  }
  
  .employee_interview .white_box .profile .year{
    color: #878787;
    padding-top: 10px;
    width: 100%;
  }
  
  .employee_interview .white_box .profile .name{
    margin-left: 0;
    width: 100%;
  }
  
  .employee_interview .white_box dl::before{
    left: 43px;
  }
  
  .employee_interview .white_box dl dt{
    width: 85px;
  }
  
  .employee_interview .white_box dl dd{
    width: calc(100% - 100px);
  }
}


/*===================================

部署紹介

===================================*/
.department_back{
  height: 63rem;
  margin-top: 8rem;
  position: relative;
}

.department_back img{
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.department_back p{
  max-width: 1200px;
  position: absolute;
  left: 50%;
  bottom: 12.5rem;
  transform: translateX(-50%);
  width: calc(100% - 30px);
}

.department_back p span{
  background-color: #fff;
  display: inline-block;
  font-size: 3.6rem;
  margin-bottom: 1.7rem;
  padding: 5px 20px;
}

.department_back p span:last-child{
  margin-bottom: 0;
}

section .department_list{
  position: relative;
  top: -8.5rem;
  z-index: 2;
}

section .department_list h3,
section .department_list h4{
  font-size: 2.4rem;
  line-height: normal;
  margin-bottom: 10px;
}

section .department_list .unit{
  align-items: center;
  border-bottom: 1px solid #A9A9A9;
  font-size: 16px;
  font-weight: 400;
  line-height: 2em;
  padding: 30px 0;
}

section .department_list .unit:last-child{
  border-bottom: none;
}

section .department_list .unit .icon{
  flex-shrink: 0;
  padding-right: 10px;
  width: 125px;
}

section .department_list .unit .text_box{
  width: calc(100% - 125px);
}

section .department_list .ul_wrap ul{
  width: 48%;
}

#accounting .text_box.ul_wrap ul{
  width: 30%;
}

section .department_list p,
section .department_list ul li,
section.department_list p,
section.department_list ul li{
  font-size: 16px;
  font-weight: 400;
  line-height: 2em;
}

section .department_list ul,
section.department_list ul{
  margin: 10px 0;
}

section .department_list .text_box ul li,
section.department_list .text_box ul li{
  padding-left: 20px;
}

section .department_list .text_box ul li::before,
section.department_list .text_box ul li::before{
  background-color: #000;
  border-radius: 999px;
  content: "";
  height: 6px;
  position: absolute;
  top: 0.85em;
  left: 0;
  width: 6px;
}

section .department_list .division{
  background-color: #00A377;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  margin-right: 17px;
  min-width: 118px;
  padding: 0 12px;
  text-align: center;
}

section .department_list .under_wrap p{
  border-bottom: 1px solid #A9A9A9;
  margin-top: 22px;
  padding-bottom: 22px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .department_back{
    height: auto;
  }
  
  .department_back p{
    background-color: rgba(255,255,255,0.7);
    bottom: 0;
    left: 0;
    padding: 5px;
    transform: none;
    width: 100%;
  }
  
  .department_back p span{
    background-color: transparent;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0;
    padding: 0;
  }
  
  .department_back p br{
    display: none;
  }
  
  section .department_list{
    top: 0;
  }
  
  section .department_list .unit{
    flex-flow: column;
  }
  
  section .department_list .unit .icon{
    padding-right: 0;
  }
  
  section .department_list .unit .text_box{
    margin-top: 20px;
    width: 100%;
  }
  
  section .department_list .unit h4{
    text-align: center;
  }
  
  section .department_list .ul_wrap ul,
  #accounting .text_box.ul_wrap ul{
    width: 100%;
  }
}

/*===================================

商品開発物語

===================================*/
.story-page p{
  line-height: 2em;
}

.story-page.intro{
  margin-right: 0;
  margin-bottom: 10rem;
  max-width: 1770px;
}

.story-page.intro .left_box{
  align-content: center;
  padding-left: 16px;
  position: relative;
  width: 33%;
}

.story-page.intro .left_box::before{
  color: #FFE600;
  content: "DEVELOPMENT";
  font-size: 6rem;
  font-weight: 600;
  line-height: 1em;
  position: absolute;
  top: 0;
  left: -8px;
  writing-mode: sideways-lr;
  z-index: -1;
}

.story-page.intro .left_box h2{
  font-size: 3.5rem;
  margin-bottom: 20px;
}

.story-page.intro .left_box p{
  font-size: 2rem;
  padding-right: 12px;
}

.story-page.intro .right_box{
  background: linear-gradient(106deg, #EFEFEF 26.59%, #E7F3EF 78.91%);
  display: flex;
  width: 62%;
}

.story-page.intro .right_box .img_box{
  margin-left: 6rem;
  margin-right: 4rem;
  width: 39%;
}

.story-page.intro .right_box .img_box img{
  transform: scale(1.1) translateY(-5%);
}

.story-page.intro .right_box .text_box{
  align-content: center;
  max-width: 380px;
  width: 61%;
}

.story-page.intro .right_box .department{
  background-color: #00A377;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  margin-bottom: 16px;
  padding: 10px 20px;
}

.story-page.intro .right_box .name{
  font-size: 2.4rem;
  line-height: normal;
  margin-bottom: 16px;
}

.story-page.intro .right_box .name .year{
  color: #878787;
  font-size: 16px;
  font-weight: 700;
  margin-left: 2rem;
}

.story-page.white_box img{
  margin: 50px 0;
}


/*--- under1280px -----------------------------------*/
@media screen and (max-width:1280px){
  .story-page.intro{
    width: 90%;
  }
  
  .story-page.intro .left_box{
    margin-bottom: 8rem;
    min-height: 44rem;
    width: 100%;
  }
  
  .story-page.intro .right_box{
    width: 100%;
  }
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .story-page.intro{
    margin-right: auto;
    width: clac(100% - 30px);
  }
  
  .story-page.intro .right_box{
    display: block;
  }
  
  .story-page.intro .right_box .img_box{
    margin: 0;
    width: 100%;
  }
  
  .story-page.intro .right_box .img_box img{
    margin-left: auto;
    margin-right: auto;
    transform: none;
    width: 65%;
  }
  
  .story-page.intro .right_box .text_box{
    padding: 30px 10px;
    width: 100%;
  }
}

/*===================================

ここが快適

===================================*/
.workplace-page.intro_text{
  font-size: 16px;
  max-width: 705px;
  margin-bottom: 8rem;
}

.workplace-page.white_box{
  padding-bottom: 50px;
}

.workplace-page div.flex_box .item{
  width: 48%;
}

.workplace-page ul{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 5rem;
}

.workplace-page ul li{
  border: 2px solid #F0F0F0;
  border-radius: 50px 35px 0 50px;
  padding: 7px 26px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  .workplace-page div.flex_box .item{
    width: 100%;
  }
}


/*===================================

サイトマップ

===================================*/
#page .sitemap-page h2{
  color: #00A377;
  font-size: 5rem;
}

#page .sitemap-page h2 span{
  color: #989898;
  display: block;
  font-size: 16px;
}

#page .sitemap-page ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin-top: 4rem;
  margin-bottom: 8rem;
  padding-left: 0;
}

#page .sitemap-page ul li{
  width: 48%;
}

#page .sitemap-page ul li a{
  max-width: 100% !important;
  min-width: auto !important;
}

#page .sitemap-page ul.entry{
  background-color: #F8F8F8;
  justify-content: center;
  padding: 4rem 15px;
}

#page .sitemap-page ul.entry li a{
  background-color: #00A377;
  color: #fff;
  text-align: left;
}
#page .sitemap-page ul.entry li a:hover{
  color: #00A377;
}

#page .sitemap-page ul.entry li a::before{
  background-color: #fff;
}
#page .sitemap-page ul.entry li a:hover::before{
  background-color: #00A377;
}

#page .sitemap-page ul.entry li a::after{
  border-color: #00A377;
}
#page .sitemap-page ul.entry li a:hover::after{
  border-color: #fff;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #page .sitemap-page h2{
    font-size: 30px;
  }
  
  #page .sitemap-page ul li{
    width: 100%;
  }
}

/*===================================

一覧ページ（アーカイブ）

===================================*/
#archive .category_list{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 6.5rem;
}

#archive .category_list a{
  background-color: #fff;
  border: 1px solid #00A377;
  border-radius: 999px;
  color: #00A377;
  min-width: 200px;
  padding: 15px 10px;
  text-align: center;
}

#archive .category_list a:hover{
  background-color: #E7F3EF;
}

#archive .category_list .current-cat a{
  background-color: #00A377;
  color: #fff;
  pointer-events: none;
}

.post_list a{
  border-bottom: 1px solid #AAAAAA;
  display: block;
  padding: 18px 0;
  width: 100%;
}

.post_list a .date,
#single .info .date{
  color: #707070;
  display: inline-block;
  font-weight: 700;
  margin-right: 10px;
}

.post_list a .category,
.post_list a .new,
#single .info .category{
  border: 1px solid #00A377;
  border-radius: 999px;
  color: #00A377;
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  margin-right: 8px;
  padding: 4px 20px;
}

.post_list a .new{
  background-color: #FF4A4A;
  border: 1px solid #FF4A4A;
  color: #fff;
}

.post_list a .title{
  font-size: 2rem;
  font-weight: 600;
  margin-top: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: 0.2s;
  white-space: nowrap;
}

.post_list a:hover .title{
  color: #00A377;
  text-decoration: underline;
}

.nav-links{
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 6rem;
}

.nav-links .page-numbers{
  align-content: center;
  border: 1px solid #AAAAAA;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 600;
  height: 50px;
  text-align: center;
  width: 50px;
}

.nav-links a.page-numbers:hover{
  background-color: #CCCCCC;
}

.nav-links a.page-numbers.prev,
.nav-links a.page-numbers.next{
  position: relative;
}

.nav-links a.page-numbers.prev::before,
.nav-links a.page-numbers.next::before{
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  content: '';
  height: 10px;
  position: absolute;
  top: 50%;
  width: 10px;
}

.nav-links a.page-numbers.prev::before{
  margin-top: -10px;
  left: 25px;
  transform: rotate(-135deg) translateY(-50%);
}

.nav-links a.page-numbers.next::before{
  margin-top: -2px;
  right: 25px;
  transform: rotate(45deg) translateY(-50%);
}

.nav-links .page-numbers.current{
  background-color: #00A377;
  border-color: #00A377;
  color: #fff;
}


/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #archive .category_list{
    gap: 10px;
  }
  
  #archive .category_list a{
    font-size: 14px;
    min-width: 150px;
    padding: 5px 10px;
  }
  
  #archive .category_list li:first-child{
    text-align: center;
    width: 100%;
  }
  
  .post_list a .date,
  #single .info .date{
    font-size: 14px;
  }
  
  .post_list a .category, 
  .post_list a .new,
  #single .info .category{
    font-size: 12px;
  }
  
  .nav-links .page-numbers{
    font-size: 16px;
    height: 40px;
    width: 40px;
  }
  
  .nav-links a.page-numbers.prev::before, 
  .nav-links a.page-numbers.next::before{
    height: 8px;
    width: 8px;
  }
  
  .nav-links a.page-numbers.prev::before{
    margin-top: -8px;
    left: 20px;
  }
  
  .nav-links a.page-numbers.next::before{
    margin-top: -1px;
    right: 20px;
  }
  
}


/*===================================

詳細ページ

===================================*/
#single .white_box{
  padding-bottom: 10rem;
}

#single .info h1{
  border-bottom: 1px solid #000000;
  font-size: clamp(22px,3.13vw,3.2rem);
  margin-top: 15px;
  padding-bottom: 23px;
  margin-bottom: 5rem;
}

#single .back_btn{
  border-top: 1px solid #AAAAAA;
  font-weight: 600;
  margin-top: 8rem;
  margin-bottom: 12rem;
  padding-top: 50px;
  text-align: center;
}

#single .back_btn a{
  padding-left: 8rem;
}

#single .back_btn a:hover{
  color: #00A377;
  text-decoration: underline;
}

#single .back_btn a::before{
  background-color: #00A377;
  border-radius: 999px;
  content: "";
  height: 6rem;
  position: absolute;
  top: -1em;
  left: 0;
  width: 6rem;
}

#single .back_btn a::after{
  content: '';
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  margin-top: -0.7em;
  left: 3rem;
  top: 50%;
  transform: rotate(-135deg) translateY(-50%);
}


#single article p{
  font-size: 16px;
  line-height: 2em;
  margin-bottom: 30px;
}

#single article p span{
  background-color: #FFF6A8;
  text-decoration: none !important;
}

#single article a{
  color: #00A377;
  text-decoration: underline;
}

#single article a:hover{
  opacity: 0.7;
}

#single article a[target="_blank"]::after{
  margin: 0 3px;
}

#single h2.wp-block-heading{
  border-bottom: 3px solid #CCCCCC;
  font-size: 24px;
  font-weight: 600;
  padding-bottom: 16px;
  margin: 5rem 0;
  position: relative;
}

#single h2.wp-block-heading::before{
  background-color: #00A377;
  content: "";
  height: 3px;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 163px;
}

#single h3.wp-block-heading{
  background-color: #E7F3EF;
  font-size: 20px;
  font-weight: 600;
  margin: 4rem 0;
  padding: 16px 36px;
  position: relative;
}

#single h3.wp-block-heading::before{
  background-color: #00A377;
  content: "";
  height: 50%;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
}

#single h4.wp-block-heading{
  border-bottom: 2px dashed #00A377;
  font-size: 18px;
  font-weight: 600;
  margin: 30px 0;
  padding-bottom: 13px;
}

#single h5.wp-block-heading{
  border-left: 3px solid #00A377;
  font-size: 16px;
  font-weight: 600;
  margin: 30px 0;
  padding: 5px 20px; 
}

#single ul.wp-block-list,
#single ol.wp-block-list{
  margin: 40px 0;
}

#single ul.wp-block-list li{
  font-size: 16px;
  margin-bottom: 15px;
  padding-left: 22px;
}
#single ul.wp-block-list li::before{
  background-color: #00A377;
  border-radius: 999px;
  content: "";
  height: 12px;
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 12px;
}

#single ol.wp-block-list{
  counter-reset: ol_block;
}

#single ol.wp-block-list li{
  font-size: 16px;
  margin-bottom: 15px;
  padding-left: 20px;
}

#single ol.wp-block-list li::before{
  color: #00A377;
  counter-increment: ol_block;
  content: counter(ol_block);
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
}

#single ul.wp-block-list li:last-child{
  margin-bottom: 0;
}

#single .wp-block-buttons{
  gap: 1.5em;
  margin: 40px 0;
}

#single .wp-block-button{
  display: block;
  width: 100%;
}

#page .sitemap-page ul li a,
#single .wp-block-button a{
  border-width: 1px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  min-width: 320px;
  text-decoration: none;
}
#page .sitemap-page ul li a:hover,
#single .wp-block-button a:hover{
  opacity: 1;
}
#page .sitemap-page ul li a::before,
#single .wp-block-button a::before{
  background-color: #00A377;
  background-image: none;
  border-radius: 999px;
  height: 30px;
  width: 30px;
}
#page .sitemap-page ul li a::after,
#single .wp-block-button a::after{
  content: '';
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-top: -1px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
}

#page .sitemap-page ul li a[target="_blank"]::before,
#single article a[target="_blank"]::after,
#single .wp-block-button a[target="_blank"]::before{
  background-color: transparent;
  background-image: url("../img/common/btn_target.svg");
  border-radius: 0;
  content: "";
  display: inline-block;
  height: 16px;
  right: 20px;
  width: 16px;
}
#page .sitemap-page ul li a[target="_blank"]::after,
#single .wp-block-button a[target="_blank"]::after{
  display: none;
}

#single .wp-block-image figcaption{
  font-size: 16px;
}

#single .wp-block-table{
  border: 1px solid #00A377;
}

#single table tr{
  display: flex;
}

#single table tr th,
#single table tr td{
  border: none;
  border-left: 1px solid #E7F3EF;
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  padding: 2.4rem;
  width: 100%;
}

#single table tr:last-child th,
#single table tr:last-child td{
  border-bottom: none;
}

#single table tr th,
#single table tr td:first-child{
  align-content: center;
  background-color: #E7F3EF;
  max-width: 290px;
}

/*--- under767px -----------------------------------*/
@media screen and (max-width:767px){
  #single h2.wp-block-heading{
    font-size: 22px;
  }
  
  #single .back_btn a::before{
    height: 40px;
    top: -0.3em;
    width: 40px;
  }
  
  #single .back_btn a::after{
    height: 10px;
    margin-top: -0.5em;
    left: 21px;
    width: 10px;
  }
}