@charset "UTF-8";

:root {
  /* 色管理用の変数 */
  --black-color: #333;
  --bg-color:#2B2B2B;
  --white-color: #fff;
  --gray-color: #707070;
  --gray-color02: #fafafa;
  --primary-color: #1863af;
  --accent-color: #fc7f24;
}

:root {
  /* コンテンツ幅管理用の変数 */
  --content-width-sm: 760px;
  --content-width: 960px;
  --content-width-lg: 1088px;
}

:root {
  /* z-index管理用の変数 */
  --z-index-back: -1;
  --z-index-default: 1;
  --z-index-page-top: 50;
  --z-index-header: 100;
  --z-index-menu: 150;
}

/* ---------- base ---------- */
.index {
  color: var(--white-color);
  background: var(--bg-color);
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-family: din-2014, sans-serif;
  line-height: 1.75;
}

.others {
  color: var(--black-color);
  background: var(--white-color);
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-family: din-2014, sans-serif;
  line-height: 1.75;
}

/* ---------- utility ----------

@media screen and (min-width: 375px) {
  .u_break-sm {
    display: none;
  }
}

@media screen and (min-width: 1280px) {
  .u_break-lg {
    display: none;
  }
}

@media screen and (min-width: 1280px) {
  .u_hide-lg {
    display: none;
  }
} */
/* ---------loading-------- */
.c-loader-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 9999;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.c-loader-dot {
  display: inline-flex;
  align-items: center;
  justify-content: start;
  pointer-events: none;
}

.c-loader-dot > span {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff;
}

.c-loader-dot > span + span {
  margin-left: 3rem;
}

/* ---------- layout ---------- */
.l_container{
  margin: 0 auto;
}

@media screen and (min-width: 375px) {
  .l_container {
    max-width: 343px;
  }  
}

@media screen and (min-width:768px) {
  .l_container {
    max-width: 90%;
  }  
}

@media screen and (min-width:1280px) {
  .l_container {
    max-width: 1200px;
  }  
}

@media screen and (min-width:1400px) {
  .l_container {
    max-width: 1320px;
  }  
}

.l_contents {
  padding-top: 80px;
}

.l_top_company_padding0 {
  padding: 0;
}

@media screen and (min-width: 1280px) {
  .l_contents {
    padding-top: 240px;
  }
}

.l_header {
  height: 60px;
  width: 100%;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-default);
}

@media screen and (min-width:1280px) {
  .l_header {
    padding: 32px 40px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-header);
  }
}

.l_header-2 {
  height: 60px;
  width: 100%;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-default);
}

@media screen and (min-width:1280px) {
  .l_header-2 {
    padding: 32px 40px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-header);
    background-color: var(--white-color);
  }
}

.l_header-logo_index {
  font-size: 24px;
  font-weight: bold;
  color: var(--white-color);
}

@media screen and (min-width:1280px) {
  .l_header-logo_index {
    font-size: 32px;
  }
}

.l_header-logo {
  font-size: 24px;
  font-weight: bold;
  color: var(--black-color);
}



.l_header-nav {
  opacity: 0; /*見えなくしている*/
  pointer-events: none; /*後でなんかつける*/
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bg-color);
  z-index: var(--z-index-header);
  transition: 0.5s;
  text-align: left;
  color: var(--white-color);
}

.l_header-nav_index {
  opacity: 0; /*見えなくしている*/
  pointer-events: none; /*後でなんかつける*/
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bg-color);
  z-index: var(--z-index-header);
  transition: 0.5s;
  text-align: left;
  color: var(--white-color);
}

@media screen and (min-width:1280px) {
  .l_header-nav_index {
    position: relative;
    background: transparent;
    width: auto;
    height: auto;
    display: block;
    opacity: 1;
    pointer-events: inherit;
  }
}

/* @media screen and (min-width:1280px) {
  .l_header-nav_index{
    opacity: ;
  }
} */

@media screen and (min-width:1280px) {
  .l_header-nav {
    color: var(--black-color);
  }
}

@media screen and (min-width:1280px) {
  .l_header-nav {
    position: relative;
    background: transparent;
    width: auto;
    height: auto;
    display: block;
    opacity: 1;
    pointer-events: inherit;
  }
}

.l_header-nav_list {
  margin-top: 154px;
  margin-left: 16px; 
}

@media screen and (min-width: 1280px) {
  .l_header-nav_list {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translate(-50%, -50%);
    display: flex;
    position: static;
    transform: translate(0, 0);
    gap: 0 72px;
    margin: 0;
  }
}

.l_header-nav_item {
  font-size: 16px;
  font-weight: bold;
  margin-top: 60px;
  position: relative;
  max-width: 768px;
}

.l_header-nav_item::before {
  content: "";
  width: calc(100vw - 3%);
  height: 1px;
  background-color: var(--white-color);
  position: absolute;
  top: -30px;
  left: -5px;
}

/* @media screen and (min-width:1280px){
  .l_header-nav_item {
    margin-top: 0;
    position: static;
  }
} */

@media screen and (min-width:1280px){
  .l_header-nav_item{
    display:inline-block;
    position:relative;
    cursor:pointer;
    margin-top: 0;
  }
  .l_header-nav_item::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-3px;
    width:60%;
    height:3px;
    opacity:0;
    background-color:#f39c12;
    transform:translate(-50%,0);
    transition:all .3s ease-in-out
  }
  .l_header-nav_item:hover::after{
    width:100%;
    opacity:1
  }
}
        
@media screen and (min-width:1280px){
  .l_header-nav_item::before  {
    display: none;
  }
}

.l_header-nav_sub {
  font-size: 16px;
  font-weight: normal;
  margin-left: 16px;
}

@media screen and (min-width:1280px) {
  .l_header-nav_sub {
    display: none;
  }
}

.l_header-nav_sub::before {
  content: "";
  width: 343px;
  border-top: 1px solid var(--gray-color);
}
/* 
.instagram_icon {
  width: 24px;
  height: 24px;
} */

.l_footer {
  width: 100%;
  height: 431px;
  padding: 48px 0 48px 0;
  background-color: var(--bg-color);
  display: flex;
  flex-direction: column;
  align-items: center; 
  position: relative;
}

@media screen and (min-width:1280px) {
  .l_footer {
    height: 451px; 
    justify-content: center;
  }
}

.l_footer_list {
  display: flex;
  flex-direction: column;
  align-items: center; 
}

@media screen and (min-width:1280px) {
  .l_footer_list {
    display: flex;
    flex-direction: row;
    align-items: center; 
    gap: 72px;
  }
}

.l_footer_logo {
  font-size: 24px;
  font-weight: bold;
  color: var(--white-color);
  margin-bottom: 32px;
}

@media screen and (min-width:1280px) {
  .l_footer_logo {
    font-size: 40px;
  }
}

.l_footer_item {
  color: var(--white-color);
}

@media screen and (min-width:1280px) {
  .l_footer_item {
    font-size: 20px;
  }
}

.l_footer_item:not(:first-child) {
  margin-top: 24px;
}

@media screen and (min-width:1280px) {
  .l_footer_item:not(:first-child) {
    margin-top: 0;
  }
}

.l_footer_item:last-child {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: relative;
  background: var(--white-color);
}

.instagram_icon {
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.l_footer-copyright {
  font-size: 12px;
  color: var(--white-color);
  margin-top: 32px;
}

@media screen and (min-width: 1280px) {
  .l_footer-copyright {
    font-size: 14px;
  }
}

/* ---------- module ---------- */
.m_hamburger {
  width: 30px;
  height: 22px;
  position: relative;
  z-index: var(--z-index-menu);
}

@media screen and (min-width: 1280px) {
  .m_hamburger {
    display: none;
  }
}

.m_hamburger-bar_index {
  width: 100%;
  height: 2px;
  display: block;
  position: absolute;
  background: var(--white-color);
  left: 50%;
  transition: 0.3s;
}

.m_hamburger-bar_index:first-child {
  top: 0;
  transform: translate(-50%, 0);
}

.m_hamburger-bar_index:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}

.m_hamburger-bar_index:last-child {
  top: 100%;
  transform: translate(-50%, -100%);
}

.m_hamburger-bar {
  width: 100%;
  height: 2px;
  display: block;
  position: absolute;
  background: var(--black-color);
  left: 50%;
  transition: 0.3s;
}

.m_hamburger-bar:first-child {
  top: 0;
  transform: translate(-50%, 0);
}

.m_hamburger-bar:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}

.m_hamburger-bar:last-child {
  top: 100%;
  transform: translate(-50%, -100%);
}

.m_kv {
  height: 150px;
  position: relative;
}

.m_kv-inner {
  position: absolute;
  top: 108px;
}

.m_section-title{
  top: 108px;
  left: 16px;
}

/* nth-child(1)がかからない */
/* .m_section-title:nth-child(1){
  color: var(--black-color);
} */

.m_section-title_main {
  font-size: 20px;
  font-weight: bold;
}

.top_contact_main-black {
  color: var(--black-color);
}

@media screen and (min-width: 1280px) {
  .m_section-title_main {
    font-size: 40px;
  }
}

.m_section-title_main_black {
  font-size: 20px;
  font-weight: bold;
  color: var(--black-color);
}

@media screen and (min-width: 1280px) {
  .m_section-title_main_black {
    font-size: 40px;
  }
}

.m_section-title_sub {
  font-size: 12px;
  display: flex;
  align-items: center;
  color: var(--black-color);
}

@media screen and (min-width: 1280px) {
  .m_section-title_sub {
    font-size: 16px;
  }
}

.m_section-title_sub_white {
  font-size: 12px;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1280px) {
  .m_section-title_sub_white {
    font-size: 16px;
  }
}


.m_section-title_sub::before {
  content: "";
  border-top: 1px solid black;
  width: 16px;
  margin-right: 8px; 
}

.m_section-title_sub_white::before {
  content: "";
  border-top: 1px solid var(--white-color);
  width: 16px;
  margin-right: 8px;
}

.m_section-title_contact {
  position: absolute;
  top: 48px;
  left: 0;
}

.m_contact-wrapper {
  width: 100%;
  height: 234px;
  position: relative;
}

@media screen and (min-width:1280px) {
  .m_contact-wrapper {
    padding-top: 48px;
  }
}

.m_btn_contact {
  width: 200px;
  height: 60px;
  position: absolute;
  top: 134px;
  right: 0;
  background-color: var(--bg-color);
  padding: 20px 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: ease .2s;
  font-weight: bold;
  color: var(--white-color);
}

.m_btn_contact-wrapper {
  position: relative;
}
.bgleft_contact::before {
  content: '';
  /*絶対配置で位置を指定*/
position: absolute;
top: 0;
left: 0;
z-index: 2;
  /*色や形状*/
  background-color: #f39c12;/*背景色*/
width: 100%;
height: 100%;
  /*アニメーション*/
transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
transform: scale(0, 1);
transform-origin: right top;
}

.bgleft_contact:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}

.m_btn_contact span {
  z-index: var(--z-index-page-top);
}

.m_btn_contact:hover span{
  color:var(--black-color);
}

@media screen and (min-width:1280px) {
  .m_btn_contact {
    width: 500px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
  }
}

.m_btn_form {
  text-align: center;
  margin-bottom: 40px;
  font-size: 14px;
} 

.m_btn_check{
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  border: 1px solid var(--black-color);
  padding: 7px 30px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: var(--black-color);
  outline: none;
  /*アニメーションの指定*/
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_btn_check {
    padding: 24px 120px;
    font-size: 20px;
  }
}

.m_btn_check:hover{
background:var(--bg-color);
color:var(--white-color);
}

/*矢印と下線の形状*/
.m_btn_check::before{
content:"";
  /*絶対配置で下線の位置を決める*/
position: absolute;
top:50%;
right:-26px;
  /*下線の形状*/
width:40px;
height:1px;
background:var(--black-color);
  /*アニメーションの指定*/
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_btn_check::before {
    width: 72px;
    right: -36px;
  }
}

.m_btn_check::after{
content:"";
  /*絶対配置で矢印の位置を決める*/
position: absolute;
  top: 30%;
  right: -22px;
  /*矢印の形状*/
width:1px;
height:8px;
background:#333;
  transform:skewX(45deg);
  /*アニメーションの指定*/
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_btn_check::after {
    height: 11px;
    top: 37%;
    right: -31px;
  }
}

/*hoverした際の移動*/
.m_btn_check:hover::before{
right:-30px;
}

.m_btn_check:hover::after{
right:-25px;
}

@media screen and (min-width:1280px) {
  .m_btn_check:hover::before{
    right: -62px;
    }
    
    .m_btn_check:hover::after{
    right: -57px;
    }
}

.m_contact_top-line {
  border-top: 1px solid var(--black-color);
  margin-top: 40px;
}


/* トップのボタン */
.m_top_btn-wrapper-black {
  position: relative;
  border: 2px solid var(--black-color);
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: var(--black-color);
  outline: none;
  transition: all .2s linear;
  width: 100px;
  height: 30px;
}

@media screen and (min-width: 1280px) {
  .m_top_btn-wrapper-black {
    width: 200px;
    height: 60px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 32px;
  }
}

.m_top_btn-wrapper-white {
  position: relative;
  border: 2px solid var(--white-color);
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: var(--white-color);
  outline: none;
  transition: all .2s linear;
  width: 100px;
  height: 30px;
}

@media screen and (min-width: 1280px) {
  .m_top_btn-wrapper-white {
    width: 200px;
    height: 60px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.m_top_btn-wrapper-white:nth-of-type(1) {
  /* margin-top: 32px; */
  margin-left: 50%;
  transform: translateX(-50%);
  margin-bottom: 120px;
}

/* .m_top_btn-wrapper-news{
  border: 2px solid var(--white-color);
  color: var(--white-color);
  margin-left: 50%;
  transform: translateX(-50%);
  margin-bottom: 120px;
} */

.m_top_btn-wrapper-black:hover{
  background:var(--bg-color);
  color:var(--white-color);
  }

  .m_top_btn-wrapper-white:hover{
  background:var(--white-color);
  color:var(--bg-color);
  }

/*矢印と下線の形状*/
.m_top_btn-wrapper-black::before{
  content: "";
  position: absolute;
  top: 50%;
  right: -17px;
  width: 24px;
  height: 2px;
  background: var(--black-color);
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_top_btn-wrapper-black::before {
    width: 52px;
    right: -26px;
  }
}

.m_top_btn-wrapper-white::before{
  content: "";
  position: absolute;
  top: 50%;
  right: -12px;
  width: 24px;
  height: 2px;
  background: var(--white-color);
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_top_btn-wrapper-white::before {
    width: 52px;
    right: -26px;
  }
}

.m_top_btn-wrapper-black::after{
  content: "";
  position: absolute;
  top: 33%;
  right: -15px;
  width: 2px;
  height: 5px;
  background: #333;
  transform: skewX(45deg);
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_top_btn-wrapper-black::after {
    height: 11px;
    top: 34%;
    right: -22px;
  }
}

.m_top_btn-wrapper-white::after{
  content: "";
  position: absolute;
  top: 33%;
  right: -10px;
  width: 2px;
  height: 5px;
  background: var(--white-color);
  transform: skewX(45deg);
  transition: all .2s linear;
}

@media screen and (min-width:1280px) {
  .m_top_btn-wrapper-white::after {
    height: 11px;
    top: 34%;
    right: -22px;
  }
}

/*hoverした際の移動*/
.m_top_btn-wrapper-black:hover::before{
right: -20px;
}
@media screen and (min-width:1280px){
  .m_top_btn-wrapper-black:hover::before {
    right: -38px;
  }
}
.m_top_btn-wrapper-white:hover::before{
right: -17px;
}
@media screen and (min-width:1280px){
  .m_top_btn-wrapper-white:hover::before {
    right: -38px;
  }
}
.m_top_btn-wrapper-black:hover::after{
right: -18px;
}
@media screen and (min-width:1280px){
  .m_top_btn-wrapper-black:hover::after {
    right: -34px;
  }
}
.m_top_btn-wrapper-white:hover::after{
right: -15px;
}
@media screen and (min-width:1280px){
  .m_top_btn-wrapper-white:hover::after {
    right: -34px;
  }
}


/* トップへ戻るボタン */
.m_btn_back-wrapper {
  width: 200px;
  height: 50px;
  border: 1px solid #333;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;

}

@media screen and (min-width:1280px) {
  .m_btn_back-wrapper {
    width: 436px;
    height: 70px;
  }
}

.m_btn_back {
  font-size: 14px;
}

@media screen and (min-width:1280px) {
  .m_btn_back {
    font-size: 20px;
  }
}
.m_member-position {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (min-width: 1280px) {
  .m_member-position {
    font-size: 24px;
  }
}

.m_member-name {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (min-width: 1280px) {
  .m_member-name {
    font-size: 32px;
  }
}

.m_member-info {
  position: absolute;
  bottom: 8px;
  left: 8px;
  text-align: start;
}

@media screen and (min-width: 1280px) {
  .m_member-info {
    bottom: 24px;
    left: 24px;
  }
}

/* ---------- top ---------- */
.top_video-area-wrapper {
  position: relative;
  /* height: 100vh; */
}

.top_video-area {
  /* position: sticky;
  top: 0;
  left:0;
  z-index: 0;
  width: 100vw;
  height: 100vh; */
  /* z-index: -1;最背面に設定 */
  /* position: fixed;

  top: 0;
  right:0;
  left:0;
  bottom:0;
  overflow: hidden; */

/* 
  overflow: hidden;
  position: absolute;
  width: 125vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1; */

  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

.top_video{
  /* position: absolute;
  top: 50%;
  left: 50%; */
  /* transform: translate(-16px, 0%);
  object-fit: cover;
  overflow: hidden;
  width: 100%;
  height: 100%; */
  /* position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
  /*縦横幅指定*/
  /* width: 100%; /*16:9 の幅→16 ÷ 9＝ 177.77% */
  /* height: 100%; 16:9の幅 → 9 ÷ 16 = 56.25% */
  /* min-height: 100%;
  min-width: 100%; */
  /* object-fit: contain;
  overflow-clip-margin: content-box;
  overflow: clip; */

  /* position: absolute;
  top: 40%;
  left: 50%;
  min-width: 100%;
  min-height: 100%; */
  position: fixed;
  top: 40%;
  left: 50%;
  height: 150vh;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  /* transform: translate(-50%, -50%); */
}

/* @media screen and (min-width:1280px){
  .top_video-area,.top_video {
    display: none;
  }

  .top_video-area_pc {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
  }
  .top_video_pc {
    display: block;
    width: 100%; 
    object-fit: contain;
    overflow-clip-margin: content-box;
    overflow: clip;
  }
} */

.overlay::after {
  /* position: absolute; */
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.4);
}

.top_video-area_pc,.top_video_pc {
  display: none;
}

@media screen and (min-width:1280px){
  /* .top_video-area {
    display: none;
  } */

  .top_video-area_pc {
    /* width: 100vw;
    /* height: 100vh;
    opacity: 1;
    position: fixed; */
    /* z-index: -1;最背面に設定 */
    /* top: 0;
    right:0;
    left:0;
    bottom:0;*/ 
    /* overflow: hidden;  */
    /* width: 110vw; */

    overflow: hidden;
    position: absolute;
    width: 110vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
}
/* background-attachment: fixed;
background-size: cover;
background-position: center;
position: relative; 
display: block; */

/* .top_kv::before { 
  content: ""; 
  background: linear-gradient(90deg, #0003, #000d); 
  position: absolute; 
  top: 0; F
  right: 0; 
  bottom: 0; 
  left: 0; 
} */

.top_kv_area {
  /* position: absolute;
  top: 0%;
  left: 0%;
  height: 100vh;
  max-height: 600px;
  width: 100%; */

  /* position: relative;
  z-index: 1; */

  position: absolute;
  top: 1200px;
  left: 50%;
  /* width: 100%; */
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  /* transform: translate(-50%, -50%); */
}

@media screen and (min-width:1280px) {
  .top_kv_area {
    top: 1600px;
  }
}

/* .top_kv_items{
  position: absolute;
  width: 100%;
}  */

.top_kv-inner {
  margin-bottom: 180px;
}
/* .top_kv_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
  /* margin-top: 80px;
} */

.top_kv_copy {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  font-family: din-2014, sans-serif;
  line-height: 1.2;
}
@media screen and (min-width:1280px) {
  .top_kv_copy {
    font-size: 70px;
  }
}

.top_kv_sub-copy {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-top: 16px;
}

@media screen and (min-width:1280px) {
  .top_kv_sub-copy {
    font-size: 32px;
  }
}

@media screen and (min-width:768px) {
  .top_about_flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 24px;
  }
}

@media screen and (min-width:768px) {
  .top_about_img-wrapper {
    width: 320px;
    position: static;
  }
}

.top_about_img {
  height: 200px;
  object-fit: cover;
  object-position: 100% 50%;
  position: relative;
  margin: 16px 0 24px 0;
}

@media screen and (min-width:768px) {
  .top_about_img {
    margin: 0;
    height: auto;
  }
}

@media screen and (min-width:1280px) {
  .top_about_img {
    width: 443px;
    height: 618px;
    object-position: 50% 50%;
  }
}

.top_about_txt {
  font-weight: bold;
}

@media screen and (min-width: 1280px) {
  .top_about_txt {
    font-size: 36px;
  }
}

.top_service {
  position: relative;
  margin-bottom: 72px;
}

.top_service_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.top_service_list {
  display: flex;
  white-space: nowrap;
  overflow-x: scroll;
  scrollbar-width: none; /*Firefox対応のスクロールバー非表示コード*/  
  -ms-overflow-style: none;/*Internet Explore対応のスクロールバー非表示コード*/ 
}

.top_service_list::-webkit-scrollbar {  
  display: none; /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
}

.top_service_item {
  margin-bottom: 380px;
}

.top_service_img-wrapper {
  width: 250px;
  height: 165px;
}

@media screen and (min-width: 1280px) {
  .top_service_img-wrapper {
    width: 480px;
    height: 330px;
  }
}

.service_item_img {
  width: 250px;
  height: 165px;
  display: block;
  object-fit: cover;
  width: 100%;
}

@media screen and (min-width: 1280px) {
  .service_item_img {
    width: 480px;
    height: 330px;

  }
}

.top_service_item-title{
  font-size: 26px;
  font-weight: bold;
}

@media screen and (min-width: 1280px) {
  .top_service_item-title {
    font-size: 42px;
  }
}
.top_service_item_sub-title {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (min-width: 1280px) {
  .top_service_item_sub-title {
    font-size: 26px;
  }
}

.top_company {
  margin-top: 1000px;
  background: var(--bg-color);
  position: relative;
  /* z-index: var(--z-index-page-top); */
}

@media screen and (min-width: 1280px) {
  .top_company {
    margin-top: 1700px;
  }
}

@media screen and (min-width: 1280px) {
  .top_company-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.top_company_head {
  width: 100vw;
  height: 116px;
  background: var(--white-color);
  /* z-index: var(--z-index-page-top); */
}

@media screen and (min-width: 1280px) {
  .top_company_head {
    height: 550px;
    width: calc(100% - 800px);
    position: relative;
  }
}

.top_company_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  padding-right: 32px;
  padding-top: 40px;
  padding-left: 16px;
  background: var(--white-color);
  margin-right:calc(50% - 50vw);
  margin-left:calc(50% - 50vw);
}

@media screen and (min-width: 1280px) {
  .top_company_flex {
    display: block;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0;
  }
}

.top_company_member-wrapper {
  display: flex;
  /* width: 100%; */
}


@media screen and (min-width: 1280px) {
  .top_company_member-wrapper {
    height: 550px;
    width: 800px;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.top_company_member {
  position: relative;
}
@media screen and (min-width: 1280px) {
  .top_company_member {
    width: 400px;
    max-height: 550px;
    margin: 0 auto;
    overflow: hidden;
  }
}

.top_company_member-img {
  object-fit: cover;
  width: 50vw;
  max-height: 500px;
  object-position: 50% 23%;
}
@media screen and (min-width: 1280px) {
  .top_company_member-img {
    max-height: 550px;
    width: 400px;
    transition:0.8s all;
  }
}
@media screen and (min-width: 1280px) {
  .top_company_member-img:hover {
    transform:scale(1.2,1.2);
    transition:0.8s all;
  }
}

/* CEO */
.modal_pop{
      width: 100vw;
      height: 100vh;
      position:fixed;
      top: 0;
      left:0;
      z-index:9997;
  }
  .bg{
      background-color: #1119;
      width: 100%;
      height: 100%;
      position:fixed;
      z-index:9998;
  }
  .modal_pop img{
      height: 600px;
      width: 337px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index:9999;
  }

  @media screen and (min-width:1280px) {
    .modal_pop img {
      height: 840px;
      width: 472px;
    }
  }

/* COO */
.modal_pop-1{
      width: 100vw;
      height: 100vh;
      position:fixed;
      top: 0;
      left:0;
      z-index:9997;
  }
  .bg-1{
      background-color: #1119;
      width: 100%;
      height: 100%;
      position:fixed;
      z-index:9998;
  }
  .modal_pop-1 img{
    height: 600px;
    width: 337px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index:9999;
  }

  @media screen and (min-width:1280px) {
    .modal_pop-1 img {
      height: 840px;
      width: 472px;
    }
  }


.top_news {
  background: var(--bg-color);
  position: relative;
  /* z-index: var(--z-index-page-top); */
}

.top_news_list {
  margin-top: 32px;
}

@media screen and (min-width: 1280px) {
  .top_news_list {
    display: flex;
    gap: 76px;
  }
}

@media screen and (min-width: 1280px) {
  .top_news_main {
    width: 500px;
    height: 572px;
  }
}

@media screen and (min-width: 1280px) {
  .top_news_main_div {
    width: 500px;
    overflow:hidden; 
  }
}

.top_news_main-img {
  width: 100%;
  object-fit: cover;
}

@media screen and (min-width: 1280px) {
  .top_news_main-img {
    width: 500px;
    height: 282px;
    object-fit: cover;
    transition:1s all;
  }
  .top_news_main-img:hover {
    transform:scale(1.1,1.1);
    transition:1s all;
  }
}

.top_news_main_desc {
  font-size: 20px;
  font-weight: bold;  
  margin-top: 16px;
  margin-bottom: 0px;
  line-height: 1.45;
}

.top_news_main_date {
  font-size: 14px;
}

@media screen and (min-width: 1280px) {
  .top_news_main_date {
    font-size: 20px;
    right: 0;
    bottom: 0;
  }
}

.top_news_sub-list {
  margin-bottom: 40px;
}

.top_news_sub-item {
  margin: 20px 0;
  position: relative;
}

@media screen and (min-width: 1280px) {
  .top_news_sub-item {
    margin: 36px 0;
  }
}

.top_news_sub-item::before {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--gray-color);
  position: absolute;
  top: -10px;
  left: 0;
}

@media screen and (min-width: 1280px) {
  .top_news_sub-item::before {
    top: -20px;
  }
}

.top_news_sub-item:last-child::after{
  content: "";
  width: 100%;
  height: 1px;
  background: var(--gray-color);
  position: absolute;
  bottom: -10px;
  left: 0;
}

@media screen and (min-width: 1280px) {
  .top_news_sub-item:last-child::after {
    bottom: -20px;
  }
}

.top_news_item_sub_link {
  display: flex;
}

.top_news_sub_img {
  width: 100px;
  height: 70px;
  margin-right: 8px;
}

@media screen and (min-width: 1280px) {
  .top_news_main_div_sub {
    width: 200px;
    overflow:hidden; 
    margin-right: 16px;
  }
  .top_news_sub_img {
    width: 200px;
    height: 140px;
    transition: 1s all;
    object-fit: cover;
  }
  .top_news_sub_img:hover {
    transform: scale(1.2, 1.2);
    transition: 1s all;
  }
}

.top_news_sub_desc {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 1280px) {
  .top_news_sub_desc {
    font-size: 20px;
    max-width: 408px;
  }
}

.top_news_sub_date {
  font-size: 12px;
  position: absolute;
  bottom: -8px;
  right: 0;
}

@media screen and (min-width: 1280px) {
  .top_news_sub_date {
    font-size: 20px;
  }
}

.top_news_btn-wrapper {
  margin-top: 40px;
}

.top_contact {
  height: 234px;
  position: relative;
}
.top_contact-front-page {
  background: linear-gradient(rgba(255,255,255,0.8),rgba(255,255,255,0.8));
}

@media screen and (min-width:1280px) {
  .top_contact {
    height: 371px;
  }
}


/* service */
.service_article {
  margin-bottom: 40px;
}

.service_article:not(:first-child) {
  position: relative;
}

@media screen and (min-width:1280px) {
  .service_article {
    height: 500px;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.service_img-wrapper {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

@media screen and (min-width:1280px) {
  .service_img-wrapper {
    height: 500px;
  }
}

.service_img {
  width:100vw;
  height: 200px;
  object-fit: cover;
  object-position: 100% 50%;
  position: relative;
}

@media screen and (min-width:1280px) {
  .service_img {
    height: 500px;
  }
}

.sevice_title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--white-color);
  white-space: nowrap;
}

.sevice_title_lg {
  font-size: 32px;
  font-weight: bold;
  color: var(--white-color);
}

@media screen and (min-width:1280px) {
  .sevice_title {
    display: none;
  }
}

.service_desc_box {
  display: none;
  width: 700px;
}

@media screen and (min-width:1280px) {
  .service_desc_box {
    display: block;
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
  }
}

.service_desc_content {
  margin-top: 16px;
}

.service_desc_title {
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width:1280px) {
  .service_desc_title {
    display: none;
  }
}

.service_desc_txt {
  font-size: 14px;
}

@media screen and (min-width:1280px) {
  .service_desc_txt {
    display: none;
  }
}

.service_desc_txt_lg {
  font-size: 20px;
  font-weight: bold;
  color: var(--white-color);
}

.service_sub {
  margin-top: 80px;
}



@media screen and (min-width:1280px) {
  .service_sub_list {
    display: flex;
    flex-wrap: wrap;
  }
}

.service_sub_item {
  display: flex;
  align-items: center;
  padding: 10px;
  position: relative;
}

@media screen and (min-width:1280px) {
  .service_sub_item {
    width: 50%;
  }
}

.service_sub_item:nth-child(3),
.service_sub_item:nth-child(4) {
  border-top: 1px solid #707070;
}

.service_sub_item:nth-child(2)::before {
  content:"";
  display:block;
  width:100%;
  height: 0.5px;
  background: #707070;
  position:absolute;
  top: 0;
  left: 0;
}

.service_sub_item:first-child::before{
  content:"";
  display:block;
  width:100vw;
  height: 1px;
  background: #707070;
  position:absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}


@media screen and (min-width:1280px) {
  .service_sub_item:first-child::before{
    display: none;
  }

  .service_sub_item {
    position: relative;
  }

  .service_sub_item:nth-child(2n)::before {
    content: "";
    display:inline-block;
    width: 1px;
    height: 171px;
    background-color:#707070;
    position:absolute;
    top: 0;
    left: 0;
  }
}

.service_sub_img-wrapper {
  width: 50px;
  height: 50px;
}

@media screen and (min-width:1280px) {
  .service_sub_img-wrapper {
    width: 150px;
    height: 150px;
  }
}

.service_sub_title-wrapper {
  margin: 0 auto;
}

.service_sub_title {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width:1280px) {
  .service_sub_title {
    font-size: 32px;
  }
}


/* company */
.company_section_title {
  font-size: 16px;
  font-weight: bold;
  margin-left: 8px;
  position: relative;
  margin-bottom: 32px;
}

@media screen and (min-width:1280px) {
  .company_section_title {
    font-size: 24px;
    margin-bottom: 72px;
  }
}

.company_section_title::after {
  content: "";
  width: 100%;
  background: var(--gray-color);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: -8px;
}

.company_section_table {
  max-width: 503px;
} 

.company_section_tr:nth-child(even) {
  background: var(--gray-color02);
}

.company_section_th {
  font-weight: bold;
  font-size: 14px;
  padding: 12px 0px 12px 24px;
}

@media screen and (min-width:1080px) {
  .company_section_th {
    font-size: 20px;
  }
}

.company_section_td {
  font-size: 14px;
  padding: 12px 24px 12px 0px;
  text-align: right;
}

@media screen and (min-width:1080px) {
  .company_section_td {
    font-size: 20px;
  }
}

.company_members_info {
  /* height: 249px; */
  margin: 0 calc(50% - 50vw);
  display: flex;
  /* margin-top: 32px; */
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-around;
}

.company_member_info {
  width: 100%;
  max-width: 400px;
  height: 100%;
  max-height: 500px;
  position: relative;
}

/* 消して画像挿入 */
.company_member-wrapper {
width: 100%;
height: 100%;
}

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

.company_member-name {
  position: absolute;
  color: var(--white-color);
  bottom: 8px;
  left: 16px;
  text-align: left;
}

.company_member-position {
  font-size: 12px;
}

@media screen and (min-width:1280px) {
  .company_member-position {
    font-size: 20px;
    font-weight: bold;
  }
}

@media screen and (min-width:1280px) {
  .company_member-name{
    font-size: 24px;
    font-weight: bold;
  }
}

/* newsの固定ページ */
@media screen and (min-width:768px) {
  .news_main_section {
    margin-bottom: 50px;
  }
}
@media screen and (min-width:1280px) {
  .news_main_section {
    margin-bottom: 100px;
  }
}

.news_main_item:not(:first-child) {
  margin-top: 24px;
}

@media screen and (min-width:768px) {
  .news_main_item {
    width: 359px;
    height: 264px;
  }
  .news_main_item:not(:first-child) {
    margin-top: 0px;
  }
}
@media screen and (min-width:1280px) {
  .news_main_item {
    width: 414px;
    height: 285px;
  }
}

@media screen and (min-width:768px) {
  .news_main_list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
  }
}

.news_main_item-img {
  width: 100%;
  height: 170px;
  object-fit: cover;
}
@media screen and (min-width:768px) {
  .news_main_item-img {
    width: 359px;
    height: 177px;
    object-fit: cover;
  }
}
@media screen and (min-width:1280px) {
  .news_main_item-img {
    width: 414px;
    height: 205px;
    object-fit: cover;
  }
}

.news_main_item_desc {
  font-weight: bold;
  margin-top: 8px;
  max-width: 280px;
}

.news_main_item_date {
  font-size: 12px;
  margin-top: -5px;
}
/* ---------news 各ページ----------------- */
.news_title-wrapper {
  position: relative;
  padding-left: 16px;
  /* margin-bottom: 32px; */
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and  (min-width:1080px){
  .news_title-wrapper {
    /* padding-bottom: 40px; */
  }
}

.news_title-wrapper::before {
  content: "";
  position: absolute;
  left:0;
  top: 0;
  width: 1px;
  background: #333;
  height: 100%;
  -webkit-transition: all .8s cubic-bezier(0.165, 0.84, 0.44, 1) .4s;
  transition: all .8s cubic-bezier(0.165, 0.84, 0.44, 1) .4s;
  -webkit-transition-property: height;
  transition-property: height;
}


.news_title {
  font-size: 20px;
  font-weight: bold;
}

@media screen and  (min-width:1080px){
  .news_title {
    font-size: 32px;
  }
}

.news_date {
  font-size: 14px;
}

@media screen and  (min-width:1080px){
  .news_date {
    font-size: 16px;
  }
}

.news_img-wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding-top: 32px;
}

.news_img {
  width: 100%;
}

@media screen and  (min-width:1080px){
  .news_img-wrapper {
    padding-top: 40px;
  }
}

.news_txt-wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding-top: 40px;
}

.news_txt:not(:first-child) {
  margin-top: 16px;
}

.news_txt_bold {
  font-weight: bold;
  margin-top: 24px;
}

.news_txt:last-child {
  margin-bottom: 40px;
}

@media screen and (min-width:1280px) {
  .news_txt:last-child {
    margin-bottom: 80px;
  }
}
/* contact */
.contact_desc {
  font-size: 14px;
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (min-width:1280px) {
  .contact_desc {
    font-size: 20px;
  }
}

.contact_positions {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 40px;
  gap: 48px;
}

@media screen and (min-width:1280px) {
  .contact_positions {
    gap: 120px;
  }
}

.contact_position-wrapper {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  position: relative;
  border: 1px solid var(--black-color);
}

@media screen and (min-width:1280px) {
  .contact_position-wrapper {
    width: 60px;
    height: 60px;
  }
}

.contact_position-wrapper:first-child::before {
  content: "";
  width: 58px;
  height: 1px;
  background: var(--black-color);
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
}

@media screen and (min-width:1280px) {
  .contact_position-wrapper:first-child::before {
    width: 160px;
  }
}

.contact_position-wrapper:last-child::after {
  content: "";
  width: 58px;
  height: 1px;
  background: var(--black-color);
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}

@media screen and (min-width:1280px) {
  .contact_position-wrapper:last-child::after {
    width: 160px;
  }
}

.contact_position-wrapper:nth-child(2)::after {
  content: "";
  width: 49px;
  height: 1px;
  background: var(--black-color);
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
}

@media screen and (min-width:1280px) {
  .contact_position-wrapper:nth-child(2)::after {
    width: 120px;
  }
}

.contact_position-wrapper:nth-child(3)::before {
  content: "";
  width: 49px;
  height: 1px;
  background: var(--black-color);
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
}

@media screen and (min-width:1280px) {
  .contact_position-wrapper:nth-child(3)::before {
    width: 120px;
  }
}

.contact_position {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  white-space: nowrap;
}

@media screen and (min-width:1280px) {
  .contact_position {
    font-size: 16submitpx;
  }
}


.contact_position_current {
  background-color: var(--bg-color);
  color: var(--white-color);
}

.contact_form {
  margin-top: 40px;
}

.contact_form_list {
  max-width: 800px;
  margin: 0 auto;
}

.contact_form_heading {
  font-size: 14px;
  font-weight: bold;
  position: relative;
}

@media screen and (min-width:1280px) {
  .contact_form_heading {
    font-size: 20px;
  }
}

.contact_form_radio-item {
  display: flex;
  align-items: center;
  margin-top: 16px;
}

.contact_form_radio {
  margin-right: 8px;
}

.contact_form_heading:not(:first-child) {
  margin-top: 40px;
}

.contact_form_example {
  color: var(--gray-color);
  font-size: 14px;
  font-weight: normal;
  margin-right: 0;
  text-align: right;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

@media screen and (min-width:1280px) {
  .contact_form_example {
    font-size: 20px;
  }
}
.contact_form_detail {
  margin-top: 8px;
}



@media screen and (min-width:1280px) {
  .contact_form_label {
    font-size: 20px;
  }
}

.contact_form_input {
  width: 100%;
  height: 40px;
  border: 1px solid var(--gray-color);
  border-radius: 4px;
  padding: 0 8px;
}

input[name="tel[data][0]"], input[name="tel[data][1]"], input[name="tel[data][2]"]{
  width: auto;
}



@media screen and (min-width:1280px) {
  .contact_form_input {
    height: 56px;
  }
}

.contact_form_heading:not(:nth-of-type(3), :nth-of-type(6), :nth-of-type(7))::after {
content: "必須";
background-color: #f0ad4e;
color: #fff;
font-size: 8px;
font-weight: bold;
min-width: 10px;
padding: 3px 7px;
margin: 0px 5px;
line-height: 1;
vertical-align: middle;
white-space: nowrap;
text-align: center;
border-radius: 10px;
display: inline-block;
}

.contact_form_textarea {
  width: 100%;
  height: 250px;
  border: 1px solid var(--gray-color);
  border-radius: 4px;
  padding: 8px 16px;
  resize: none;
}


.contact_form_btn-wrapper {
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact_privacy_policy {
  text-align: center;
  margin: 40px 0;
}

@media screen and (min-width:1280px) {
  .contact_privacy_policy {
    font-size: 20px;
  }
}

.contact_privacy_policy_link {
  position: relative;
}

.contact_privacy_policy_link::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black-color);
  position: absolute;
  bottom: 0;
  left: 0;
}

.mw_wp_form_confirm #privacy_policy-wrapper {
  visibility: hidden;
}

#privacy_policy-wrapper {
  text-align: center;
  margin: 40px 0 40px 0;
}

#kiyaku-checkbox {
  font-size: 20px;
}

.underline {
	text-decoration: underline;
}
.underline:hover {
	text-decoration: none;
}

@media screen and (min-width:1280px) {
  .contact_check_accept {
    width: 20px;
    height: 20px;
  }
}

.thanks-contents {
  text-align: center;
  padding: 56px 0;
}

@media screen and (min-width:1280px) {
  .thanks-contents {
    text-align: center;
    padding: 80px 0;
  }
}

.thanks_main {
  font-size: 24px;
  font-weight: bold;
}

@media screen and (min-width:1280px) {
  .thanks_main {
    font-size: 44px;
    font-weight: bold;
  }
}

.thanks_sub {
  font-size: 14px;
  margin-top: 32px;
  margin-bottom: 56px;
}

@media screen and (min-width:1280px) {
  .thanks_sub {
    font-size: 24px;
    margin-top: 48px;
    margin-bottom: 80px;
  }
}


/* 404 */
.m_404_contents {
  padding-top: 80px;
  text-align: center;
  padding-bottom: 56px;
}

@media screen and (min-width:1280px) {
  .m_404_contents {
    padding-top: 0;
    padding-bottom: 120px;
  }
}

.m_404_title {
  font-size: 60px;
  font-weight: bold;
}

@media screen and (min-width:1280px) {
  .m_404_title {
    font-size: 100px;
  }
}

.m_404_title_sub {
  font-size: 24px;
  font-weight: bold;
}

@media screen and (min-width:1280px) {
  .m_404_title_sub {
    font-size: 40px;
  }
}

.m_404_txt {
  margin-top: 48px;
  margin-bottom: 56px;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (min-width:1280px) {
  .m_404_txt {
    font-size: 20px;
  }
}

/* -----------privacy policy----------- */
.pp_detail-wrapper {
  text-align: left;
  max-width: 1080px;
  margin: 0 auto;
}

.pp_detail_bold {
  font-weight: bold;
  margin-top: 16px;
}

.pp_detail:last-child {
  margin-bottom: 48px;
}










/* ----------js----------- */
.is_active {
  overflow: hidden;
}

.js_navigation.is_active {
  opacity: 1;
  pointer-events: inherit;
}

.js_hamburger.is_active .m_hamburger-bar:first-child {
  top: 50%;
  transform: translate(-50%, 0) rotate(45deg);
}

.js_hamburger.is_active .m_hamburger-bar:nth-child(2) {
  opacity: 0;
}

.js_hamburger.is_active .m_hamburger-bar:last-child {
  top: 50%;
  transform: translate(-50%, 0) rotate(-45deg);
}