@charset "UTF-8";
@media screen and (min-width:768px) and ( max-width:1250px){


/* about */

.about{
    margin: 70px auto 150px;
}

.about_title {
  position: relative;
  width: 100vw;
  height: 55vw;
  overflow: hidden;
  color: #fff;
}

/* 背景画像エリア */
.about_title picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 55vw;
  display: block;
  overflow: hidden;
}

.about_title picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateY(0);
  will-change: transform;
}

.about_title::before {
    content: "";
    position: absolute;
    left: -10vw;
    top: -20vw;
    width: 120vw;
    height: 30vw;
    background: #fff;
    transform: rotate(-6deg);
    transform-origin: left top;
    z-index: 1;
}
.about_title::after {
    content: "";
    position: absolute;
    left: -10vw;
    bottom: -12vw;
    width: 120vw;
    height: 15vw;
    background: #fff;
    transform: rotate(-6deg);
    transform-origin: left top;
    z-index: 1;
}

/* テキスト部分の配置 */
.about_title .main_copy {
  position: relative;
  z-index: 2; /* 画像と白帯の上に表示 */
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center; /* 縦中央寄せ */
}

.about_title .main_copycon {
  width: 90%;
  margin: 0 auto;
}

/* パンくず */
.about_title .pan {
    width: 90%;
    position: absolute;
    top: 2.4vw;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    bottom: -2.4vw;
    color: #000;
    z-index: 5;
    height: fit-content;
}
.about_title .pan li{
    margin-right: 0.8vw;
}
.about_title .pan li a {
    text-decoration: underline;
}

/* 見出し部分 */
.about_title .main_copyconin {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.about_title .main_copyconin .en {
    font-size: 2vw;
    font-weight: bold;
    font-style: italic;
    margin-bottom: 1vw;
}

.about_title .main_copyconin h1 {
  font-size: 4vw;
  line-height: 1.5;
  font-weight: 600;
}

.about_feature{
    width: 84.8vw;
    margin: 0 auto 40px;
}
.about_feature h2{
    position: relative;
    font-size: 5.6vw;
    font-weight: 500;
    margin: 0 0 4vw 0;
    color: #C7322C;
}
.about_feature h2:before{
    content: "";
    position: absolute;
    top: auto;
    bottom: -2.4vw;
    left: 0px;
    width: 5.6vw;
    height: 0.16vw;
    background-color: #C7322C;
}
.about_feature p{
    font-size: 1.6vw;
}





/* ==========================
   about_01 セクション
   ========================== */
.about_01 {
  position:relative;
  background:#ffffff;
  padding-top:0;
  overflow:hidden;
}

.about_01_panel {
  position:relative;
  background:#bd3e32;
  padding:8vw 0;
  height: 70vw;
  overflow:hidden;
}

.about_01_panel::before{
  content:"";
  position:absolute;
  left:50%;
  width:140%;
  height:15vw;
  background:#ffffff;
  transform-origin:center;
  z-index:0;
  pointer-events:none;
  top: -9vw;
  transform: translateX(-50%) rotate(-6deg);
}

.about_01_panel::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 140%;
    height: 15vw;
    background: #ffffff;
    transform-origin: center;
    z-index: 0;
    pointer-events: none;
    bottom: -6vw;
    transform: translateX(-50%) rotate(-6deg);
}

.about_01_inner {
  position:relative;
  z-index:1;
  width:90%;
  max-width:96vw;
  margin: 8vw auto;
  display:flex;
  align-items:center;
  gap:3.2vw;
}

.about_01_text {
  width:50%;
  color:#ffffff;
}

.about_01_num {
  font-size:8vw;
  font-weight:700;
  font-style:italic;
  margin-bottom:1.6vw;
  line-height: 1;
}

.about_01_title {
font-size: 4.48vw;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1.92vw;
}

.about_01_desc {
  width: 34.4vw;
  font-size:1.44vw;
  line-height:1.8;
}

.about_01_img {
  width:50%;
}

.about_01_img img {
  width:100%;
  height:auto;
  display:block;
}

/* ▼▼▼ ここだけ修正：斜め帯の角度（-6deg）に合わせて斜め移動 ▼▼▼ */
.slide_from_left_about {
  opacity: 0;
  transform: translate3d(-110vw, 12vw, 0);
  transition: opacity .6s ease-out, transform .6s ease-out;
  will-change: transform, opacity;
}

.slide_from_left_about.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* ▲▲▲ ここまで修正 ▲▲▲ */

.fadeup_about {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .6s ease-out, transform .6s ease-out;
}

.fadeup_about.is-active {
  opacity:1;
  transform:translateY(0);
}

.delay_about {
  transition-delay:.15s;
}

.about_01_con{
    position: relative;
    width: 84.8vw;
    margin: 0 auto;
    text-align: center;
    z-index: 10;
}
.about_01_con h3{
    font-size: 2.08vw;
    font-weight: bold;
    margin-bottom: 3.2vw;
    text-align: left;
}
.about_01_con ul{
    margin-bottom: 8vw;
}
.about_01_con ul li a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 2.4vw 0;
    text-align: left;
    border-top: solid 1px #DEDEDE;
}
.about_01_con ul li a::after{
  position: absolute;
  content: "";
  width: 2vw;
  height: 1.6vw;
  background-image: url(../images/common/arrow08.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  right: 2vw;
  transform: translateY(-50%) translateX(0);
  transition: transform 0.3s ease;
}
.about_01_con ul li h4{
    width: 24vw;
    font-size: 2.08vw;
    font-weight: bold;
    text-align: left;
}
.about_01_con ul li h4 span{
    color: #C7322C;
    margin-right: 2.4vw;
}
.about_01_con ul li p{
    width: 56vw;
    font-size: 1.28vw;
    color: #5A5A5A;
    text-align: left;
}




/* ==========================
   about_02 セクション
   ========================== */
.about_02 {
  position: relative;
  background: #ffffff;
  overflow: visible;
}

.about_02_panel {
  position: relative;
  background: #bd3e32;
  padding: 8vw 0;
  height: 92vw;
  overflow: hidden;
}

/* 上下の白斜め帯（about_01 と揃える） */
.about_02_panel::before,
.about_02_panel::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 140%;
  background: #ffffff;
  transform-origin: center;
  z-index: 0;
  pointer-events: none;
}

.about_02_panel::before {
    top: -10vw;
    height: 20vw;
    transform: translateX(-50%) rotate(6deg);
}

.about_02_panel::after {
  bottom: -40vw;
  height: 48vw;
  transform: translateX(-50%) rotate(6deg);
}

/* インナー */
.about_02_inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 96vw;
  margin: 5vw auto 15vw;
  align-items: center;
  gap: 3.2vw;
}

.about_02_text {
  width: 100%;
  color: #ffffff;
}

.about_02_num {
  font-size: 8vw;
  font-weight: 700;
  font-style: italic;
  margin-bottom: 1.6vw;
}

.about_02_title {
  font-size: 4.48vw;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 4.8vw;
}

.about_02_desc {
  width: 35.2vw;
  font-size: 1.44vw;
  line-height: 1.9;
  margin-bottom: 4vw;
}

.about_02_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.12vw 2.56vw;
  border-radius: 79.92vw;
  background: #000000;
  color: #ffffff;
  font-size: 1.12vw;
  text-decoration: none;
}

.about_02_btn::after {
  content: "›";
  display: inline-block;
  margin-left: 0.8vw;
}

/* 地図 */
.about_02_map {
  position: absolute;
  overflow: visible;
  top: 28vw;
  right: 3.2vw;
  z-index: 100;
}

.about_02_map img {
  width: 76.96vw;
  height: auto;
  display: block;
}

/* ホワホワ赤丸（ベース） */
.about_02_circle {
  position: absolute;
  width: 16vw;
  height: 16vw;
  border-radius: 50%;
  pointer-events: none;
}

/* 内側（太線） */
.about_02_circle span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 12px solid rgba(199, 50, 40, 1);
  transform: translate(-50%, -50%) scale(0.7);
  opacity: 0;
  animation: about02_pulse 3s ease-in-out infinite;
  will-change: transform, opacity;
}

/* 外側（細線） */
.about_02_circle span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130%;    /* 外側に大きく */
  height: 130%;
  border-radius: 50%;
  border: 3px solid rgba(199, 50, 40, 0.7);
  transform: translate(-50%, -50%);
}


/* 赤丸位置微調整（地図に合わせて変更してOK） */
.about_02_circle_kansai {
    bottom: 17.44vw;
    left: 18.88vw;
}

.about_02_circle_kanto {
    bottom: 19.76vw;
    left: 36.4vw;
}

/* パルスアニメーション */
@keyframes about02_pulse {
  0% {
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 0;
  }
  8% {
    opacity: 0.5;
  }
  18% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.95;
  }
  40% {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: 0.7;
  }
  60% {
    transform: translate(-50%, -50%) scale(1.28);
    opacity: 0.35;
  }
  75% {
    opacity: 0.1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.38);
    opacity: 0;
  }
}

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

/* ▼▼▼ ここだけ修正：斜め帯に合わせて斜め移動 ▼▼▼ */
.slide_from_right_about02 {
  opacity: 0;
  transform: translate3d(110vw, 12vw, 0);
  transition: opacity .6s ease-out, transform .6s ease-out;
  will-change: transform, opacity;
}

.slide_from_right_about02.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  overflow: visible;
}
/* ▲▲▲ ここまで修正 ▲▲▲ */

/* 中の文字・地図：ふわっと */
.fadeup_about02 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease-out .5s, transform .6s ease-out .5s;
}

.fadeup_about02.is-active {
  opacity: 1;
  transform: translateY(0);
}



/* ==========================
   about_03 セクション
   ========================== */
.about_03 {
  margin-top: 35vw;
  position: relative;
  background: #ffffff;
  overflow: visible;
}

.about_03_panel {
  position: relative;
  background: #bd3e32;
  padding: 8vw 0;
  height: 72vw;
  overflow: hidden;
}

/* 上下の白斜め帯 */
.about_03_panel::before,
.about_03_panel::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 140%;
  transform-origin: center;
  z-index: 0;
  pointer-events: none;
}

.about_03_panel::before {
  background: #ffffff;
  top: -7vw;
  height: 15vw;
  transform: translateX(-50%) rotate(-6deg);
}

.about_03_panel::after {
    background: #F8F8F8;
    bottom: -5vw;
    height: 15vw;
    transform: translateX(-50%) rotate(-6deg);
}

/* インナー */
.about_03_inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 96vw;
  margin: 8vw auto;
  display: flex;
  align-items: center;
  gap: 3.2vw;
}

/* 左テキスト */
.about_03_text {
  color: #ffffff;
}

.about_03_num {
  font-size: 8vw;
  font-weight: 700;
  font-style: italic;
  margin-bottom: 1.6vw;
  line-height: 1;
}

.about_03_title {
  font-size: 4.16vw;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 3.2vw;
  letter-spacing: 0;
}

.about_03_desc {
  width: 41.6vw;
  font-size: 1.44vw;
  line-height: 1.9;
}

/* 右画像 */
.about_03_img {
    position: absolute;
    width: 44vw;
    top: -4.8vw;
    right: 0;
}

.about_03_img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.32vw;
}


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

/* ▼▼▼ ここだけ修正：斜め帯の角度（-6deg）に合わせて斜め移動 ▼▼▼ */
.slide_from_left_about03 {
  opacity: 0;
  transform: translate3d(-110vw, 12vw, 0);
  transition: opacity .6s ease-out, transform .6s ease-out;
  will-change: transform, opacity;
}

.slide_from_left_about03.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  overflow: visible;
}
/* ▲▲▲ ここまで修正 ▲▲▲ */

/* 中の文字・画像：ふわっと */
.fadeup_about03 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease-out .5s, transform .6s ease-out .5s;
}

.fadeup_about03.is-active {
  opacity: 1;
  transform: translateY(0);
}


/* SP */
@media (max-width: 768px) {
  .about_03_panel {
    padding: 4.8vw 0 5.6vw;
    height: auto;
  }

  .about_03_inner {
    flex-direction: column;
  }

  .about_03_text,
  .about_03_img {
    width: 100%;
  }

  .about_03_title {
    font-size: 2.4vw;
  }

  .about_03_num {
    font-size: 4.8vw;
  }
}




.about_03_con {
    background: #f7f7f7;
    padding: 0;
    position: relative;
    z-index: 10;
    text-align: center;
}
.about_03_con .btn03{
    text-align: center;
}

.about_03_con::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 140%;
    transform-origin: center;
    z-index: 0;
    pointer-events: none;
    background: #F8F8F8;
    bottom: -8vw;
    height: 25vw;
    transform: translateX(-50%) rotate(-6deg);
}


.about_03_con_inner {
  width: 84.8vw;
  margin: 0 auto 10vw;
}

.about_03_con_title {
    font-size: 2.08vw;
    font-weight: bold;
    margin-bottom: 3.2vw;
    text-align: left;
}

.about_03_con_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 6.4vw;
  row-gap: 6.4vw;
  z-index: 5;
    position: relative;
}

.about_03_con_item {
  padding-right: 3.2vw;
}

.about_03_con_label {
    font-size: 2.08vw;
    font-weight: 400;
    margin-bottom: 0.8vw;
    text-align: left;
}

.about_03_con_label_line {
  width: 100%;
  max-width: 33.6vw;
  height: 0.08vw;
  background: #d0d0d0;
  margin-bottom: 1.92vw;
}

.about_03_con_value {
  display: flex;
  align-items: baseline;
  gap: 0.96vw;
}

.about_03_con_prefix {
  font-size: 2.08vw;
  font-weight: 700;
}

.about_03_con_number {
  font-size: 7.68vw;
  font-weight: 700;
  font-style: italic;
  color: #bd3e32;
  line-height: 1;
}

.about_03_con_unit {
  font-size: 2.56vw;
  font-weight: 700;
}
.about_03_con_unit span{
  font-size: 0.5em;
}

.about_other{
    width: 100%;
    margin: 17vw auto 150px;
    border-top: solid 1px #929292;
}
.about_other h2{
    text-align: center;
    font-size: 2.4vw;
    margin: 70px auto;
}
.about_other h2:before{
    width: 0;
}
.about_other ul{
    width: 84.8vw;
    display: flex;
    gap: 2.4vw;
    text-align: center;
    margin: 0 auto;
}
.about_other ul li{
    width: 25.6vw;
    margin-bottom: 1.6vw;
    padding-bottom: 1.6vw;
    border-bottom: solid 1px #929292;
}
.about_other ul li img{
    margin-bottom: 1.6vw;
}
.about_other ul li .link {
    position: relative;
    display: block;
    font-size: 1.6vw;
    font-weight: bold;
    text-align: left;
}

.about_other ul li .link::after {
    position: absolute;
    content: "→";
    font-size: 1.6vw;
    color: #C7312D;
    top: 50%;
    right: 1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.about_other ul li a:hover .link::after {
    transform: translateY(-50%) translateX(5px);
}






/* information */
.information h2{
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.information h2:before{
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.information h3{
    font-size: 2.56vw;
    font-weight: bold;
    line-height: 1.5;
}
.information_btn{
    width: 88vw;
    margin: 200px auto 100px;
}
.information_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 1.2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.information_btn ul li {
    border-right: 1px solid #929292;
    width: 25%;
    font-size: 1.6vw;
    font-weight: bold;
}

.information_btn ul li:last-child {
    border-right: 0;
}

.information_btn ul li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 0.4vw 3.2vw 0.4vw 1.6vw;
    text-align: center;
    box-sizing: border-box;
}

.information_btn ul li a::after {
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    right: 4vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}

.information_btn ul li a:hover::after {
    transform: translateY(calc(-50% + 5px)) translateX(0);
}

.information_btn div{
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.information_btn div a{
    position: relative;
    display: flex;
    background-color: #B0B0B0;
    color: #FFF;
    font-size: 1.44vw;
    font-weight: bold;
    width: 28vw;
    height: 5.28vw;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}
.information_btn div a::after{
    position: absolute;
    content: "";
    width: 1.6vw;
    height: 1.6vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 0.8vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.information_title{
    width: 84.8vw;
    margin: 0 auto 40px;
}
.information_title h2{
    position: relative;
    font-size: 5.6vw;
    font-weight: 500;
    margin: 0 0 4vw 0;
    color: #C7322C;
}
.information_title h2:before{
    content: "";
    position: absolute;
    top: auto;
    bottom: -2.4vw;
    left: 0px;
    width: 5.6vw;
    height: 0.16vw;
    background-color: #C7322C;
}
.information_title p{
    font-size: 1.6vw;
}
.information_message{
    position: relative;
    width: 84.8vw;
    display: flex;
    margin: 0 auto 200px;
    justify-content: space-between;
}

.information_message_photo{
    position: absolute;
    width: 40vw;
    height: auto;
    right: -12vw;
    display: flex;
    top: 7.2vw;
    box-shadow: -30px -30px 0 #C7322C;
}
.information_message div{
    width: 48vw;
    margin-top: 4.8vw;
}
.information_message h2{
    font-size: 6.4vw;
    font-weight: 400;
    margin: 0 0 4vw;
    line-height: 1;
}
.information_message h2:before{
    width: 0;
}
.information_message p{
    font-size: 1.44vw;
    line-height: 2;
}
.information_message_sign {
    width: 32vw;
    margin-top: 4vw;
    margin-left: auto;
    display: block;
}
.information_philosophy{
    width: 84.8vw;
    margin:  0 auto 200px;
}
.information_overview{
    width: 84.8vw;
    margin:  0 auto 200px;
}
.information_info {
  font-size: 1.44vw;
  border-collapse: collapse;
  width: 100%;
  overflow: hidden;
  margin-bottom: 8vw;
}
.information_info td {
    border-bottom: 1px solid #B9B9B9;
    padding: 1.6vw 0;
    line-height: 1.5;
}
.information_info td:first-child {
    font-weight: bold;
}

.information_info tr:first-child td:first-child {
  width: 34.4vw;
  white-space: nowrap;
}
.information_overview .map{
    display: flex;
    justify-content: space-between;
    margin-bottom: 8vw;
}
.information_overview .map div{
    width: 40.8vw;
}
.information_overview .map h3{
    font-size: 1.44vw;
    font-weight: bold;
    margin-bottom: 1.2vw;
}
.information_overview .map iframe{
    width: 100%;
    margin-bottom: 2.4vw;
}
.information_overview .map p{
    font-size: 1.44vw;
}
.information_group{
    width: 84.8vw;
    margin:  0 auto 200px;
}
.information_group_title h3{
    margin: 0 0 6.4vw;
}
.information_group_title p{
    width: 100%;
    font-size: 1.6vw;
    margin:  0 auto 150px;
    line-height: 1.8;
}
.information_group_con{
    margin-bottom: 14.4vw;
}
.information_group_contitle{
    position: relative;
    margin: 0 0 6.4vw;
}
.information_group_contitle::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.information_group_contitle h3{
    position: relative;
    width: 100%;
    width: fit-content;
    font-size: 2vw;
}
.information_group_contitle h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}

.information_group_introduction{
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #D4D4D4;
}
.information_group_introduction_{
    margin-bottom: 4vw;
    border-bottom: solid 0 #D4D4D4;
}
.information_group_introduction div{
    width: 37.12vw;
    padding-bottom: 2.8vw;
}
.information_group_introduction img{
    width: 40vw;
    height: 100%;
}
.information_group_text{
    margin:  0 auto 30px;
    border-bottom: solid 1px #D4D4D4;
}
.information_group_text_{
    margin:  0;
    border-bottom: solid 0 #D4D4D4;
}
.information_group_text__{
    padding:  2.4vw 0 0 ;
    border-bottom: solid 0 #D4D4D4;
    border-top: solid 1px #D4D4D4;
}
.information_group_text__ a{
    margin-bottom: 4vw;
}
.information_group_text h4{
    font-size: 1.44vw;
    font-weight: bold;
    margin-bottom: 0.4vw;
}
.information_group_text p{
    font-size: 1.44vw;
}
.information_group_text a{
    position: relative;
    width: fit-content;
    margin-top: 2vw;
    display: block;
    font-size: 1.28vw;
}
.information_group_text a::after{
    position: absolute;
    content: "";
    width: 0.64vw;
    height: 1.12vw;
    background-image: url(../images/common/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 55%;
    right: -1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.information_group_service{
    display: flex;
    padding: 2.4vw;
    align-items: center;
    justify-content: space-between;
    border-bottom: solid 1px #D4D4D4;
}
.information_group_service_{
    display: flex;
    padding: 2.4vw;
    align-items: center;
    justify-content: space-between;
    border-bottom: solid 0 #D4D4D4;
}
.information_group_service h4{
    position: relative;
    font-size: 2.08vw;
}
.information_group_service h4::before{
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.information_group_service p{
    width: 50vw;
    font-size: 1.28vw;
    color: #5A5A5A;
}
.information_group_con .btn01{
    width: 32vw;
    display: flex;
    text-align: center;
    margin: 60px auto 0;
    justify-content: center;
    flex-direction: column;
}
.information_group_introduction .btn01{
    width: 33.6vw;
    height: auto;
    margin: 0;
}


/* bussinesscontent */
.bussinesscontent_btn{
    width: 88vw;
    margin: 200px auto 100px;
}
.bussinesscontent_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.bussinesscontent_btn ul li{
    border-right: 1px solid #929292;
    display: flex;
    width: 50%;
    font-size: 1.6vw;
    font-weight: bold;
    justify-content: space-between;
}
.bussinesscontent_btn ul li:last-child{
    border-right: 0px solid #929292;
}
.bussinesscontent_btn ul li a{
    position: relative;
    margin: 0 auto;
}
.bussinesscontent_btn ul li a::after{
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 60%;
    right: -3.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.bussinesscontent h2{
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.bussinesscontent h2:before{
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.bussinesscontent_title{
    width: 84.8vw;
    text-align: center;
    margin: 200px auto 210px;
}
.bussinesscontent_title h2{
    position: relative;
    text-align: left;
    font-size: 5.6vw;
    font-weight: 500;
    margin: 0 0 4vw 0;
    color: #C7322C;
}
.bussinesscontent_title h2:before{
    content: "";
    position: absolute;
    top: auto;
    bottom: -2.4vw;
    left: 0px;
    width: 5.6vw;
    height: 0.16vw;
    background-color: #C7322C;
}
.bussinesscontent_title p{
    font-size: 1.6vw;
    text-align: left;
}

.bussinesscontent_con01{
    display: flex;
    flex-direction: column;
    width: 84.4vw;
    margin: 40px auto 70px;
    gap: 2.4vw;
}
.bussinesscontent_con01 p{
    font-size: 1.6vw;
}
.bussinesscontent_con01 li{
    position: relative;
    display: flex;
    width: 100%;
    background-color: #C7312D;
}
.bussinesscontent_con01 li img{
    width: 32vw;
    height: 100%;
}
.bussinesscontent_con01 li div{
    text-align: left;
    padding: 4.8vw 4vw;
}
.bussinesscontent_con01 li h3{
    font-size: 2.4vw;
    font-weight: bold;
    background-color: #C7312D;
    color: #FFF;
    margin: 0 0 2.4vw;
}
.bussinesscontent_con01 li p{
    font-size: 1.44vw;
    font-weight: 400;
    color: #FFF;
}
.bussinesscontent_con01 li a {
    position: absolute;
    font-size: 1.28vw;
    font-weight: 400;
    color: #FFF;
    bottom: 2.4vw;
    right: 4.8vw;
}
.bussinesscontent_con01 li a:before{
    position: absolute;
    content: "";
    width: 0.64vw;
    height: 1.12vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 50%;
    right: -1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.bussinesscontent_con02{
    position: relative;
    width: 84.8vw;
    display: flex;
    margin: 0 auto 160px;
    text-align: center;
}
.bussinesscontent_con02 div{
    width: 36vw;
    text-align: left;
}
.bussinesscontent_con02 .bussinesscontent_title{
    width: 36vw;
    margin: 0 0 3.2vw;
}
.bussinesscontent_con02 h3{
    font-size: 2.56vw;
    font-weight: bold;
    text-align: left;
    margin-bottom: 4vw;
}
.bussinesscontent_con02 img{
    width: 54.4vw;
    position: absolute;
    right: -12vw;
}
.bussinesscontent_con03{
    width: 100%;
    margin: 0 auto 150px;
    border-top: solid 1px #929292;
}
.bussinesscontent_con03 h2{
    text-align: center;
    font-size: 2.4vw;
    margin: 70px auto;
}
.bussinesscontent_con03 h2:before{
    width: 0;
}
.bussinesscontent_con03 ul{
    width: 84.8vw;
    display: flex;
    gap: 2.4vw;
    text-align: center;
    margin: 0 auto;
}
.bussinesscontent_con03 ul li{
    width: 25.6vw;
    margin-bottom: 1.6vw;
    padding-bottom: 1.6vw;
    border-bottom: solid 1px #929292;
}
.bussinesscontent_con03 ul li img{
    margin-bottom: 1.6vw;
}
.bussinesscontent_con03 ul li .link {
    position: relative;
    display: block;
    font-size: 1.6vw;
    font-weight: bold;
    text-align: left;
}

.bussinesscontent_con03 ul li .link::after {
    position: absolute;
    content: "→";
    font-size: 1.6vw;
    color: #C7312D;
    top: 50%;
    right: 1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.bussinesscontent_con03 ul li a:hover .link::after {
    transform: translateY(-50%) translateX(5px);
}

/* newinformation */
.newinformation_tab{
    width: 84.8vw;
    margin: 200px auto 100px;
}
.newinformation_tab .tabs{
    display: flex;
    font-size: 1.28vw;
    font-weight: bold;
    border-bottom: 1px solid #4A4A4A;
}
.newinformation_tab .tab{
    width: 10.4vw;
    display: flex;
    padding: 0.64vw 0;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
    background: #F3F3F3;
    margin-right: 0.8vw;
    justify-content: center;
    align-items: center;
}
.newinformation_tab .tab.active {
    background-color: #000;
    color: #FFF;
}
.newinformation_tab .tab-content {
    display: none;
    width: 84.8vw;
    margin: 0 auto;
    background: #fff;
}
.newinformation_tab .tab-content.active {
    display: block;
}
.newinformation_tab .tab-content ul{
    margin: 50px auto 80px;
}
.newinformation_tab .tab-content ul li a{
    display: flex;
    margin-bottom: 2.4vw;
}
.newinformation_tab .tab-content ul li .day{
    width: 12vw;
    font-size: 1.28vw;
    color: #858585;
    margin-right: 2.4vw;
}
.newinformation_tab .tab-content ul li .tag{
    width: 12vw;
    font-size: 1.28vw;
    width: 8vw;
    padding: 0.16vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 2.4vw;
}
.newinformation_tab .tab-content ul li .copy{
    width: 60vw;
    font-size: 1.28vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.newinformation_tab .pagination{
    display: flex;
    justify-content: center;
}
.newinformation_tab .pagination ul{
    display: flex;
    justify-content: center;
}
.newinformation_tab .pagination ul .page-numbers{
    font-size: 1.12vw;
    line-height: 1;
    display: flex;
    width: 2.56vw;
    height: 2.56vw;
    margin: 0px 0.4vw;
    border: 1px solid #B5B5B5;
    color: #B5B5B5;
    justify-content: center;
    align-items: center;
}
.newinformation_tab .pagination ul .page-numbers.current{
    background-color: #C7312D;
    border: 1px solid #C7312D;
    color: #FFF;
}
.newinformation_tab .pagination ul .page-numbers.next,.newinformation_tab .pagination ul .page-numbers.prev{
    font-size: 0.96vw;
    margin: 0px 1.6vw;
    border: 0 solid #000;
    width: fit-content;
}

/* case */
.case_btn{
    width: 88vw;
    margin: 200px auto 100px;
}
.case_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.case_btn ul li{
    border-right: 1px solid #929292;
    display: flex;
    width: 33.3%;
    font-size: 1.6vw;
    font-weight: bold;
    justify-content: space-between;
    line-height: 1.3;
}
.case_btn ul li:last-child{
    border-right: 0px solid #929292;
}
.case_btn ul li span{
    font-size: 1.12vw;
    font-weight: 300;
}
.case_btn ul li a{
    position: relative;
    margin: 0 auto;
}
.case_btn ul li a::after{
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 60%;
    right: -3.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.case_con{
    width: 84.8vw;
    margin: 0 auto 250px;
}

.case_title{
    margin: 0 auto 20px;
}
.case_title img{
    margin-bottom: 4vw;
}
.case_title div{
    display: flex;
    font-size: 1.68vw;
    gap: 1.6vw;
    align-items: center;
    margin-bottom: 0.8vw;
}
.case_title .en{
    color: #C7322C;
    font-size: 2.64vw;
    font-weight: 500;
}
.case_title h2{
    font-size: 3.36vw;
    font-weight: 600;
    margin: 0 0 4.8vw;
}
.case_title h2:before {
    width: 0;
}
.case_keyword{
    margin-bottom: 4.8vw;
}
.case_keyword_title{
    position: relative;
    margin: 0 0 6.4vw;
}
.case_keyword_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.case_keyword_title h3{
    position: relative;
    width: 17.6vw;
    font-size: 2vw;
}
.case_keyword_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}
.case_keyword ul{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8vw;
}
.case_keyword ul li{
    display: block;
    font-size: 1.44vw;
    padding: 0.64vw 2.8vw;
    border-radius: 2.4vw;
    background-color: #ECECEC;.
    line-height: 1;
}
.case_detail{
    margin-bottom: 4.8vw;
}
.case_detail_title{
    position: relative;
    margin: 0 0 6.4vw;
}
.case_detail_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.case_detail_title h3{
    position: relative;
    width: 17.6vw;
    font-size: 2vw;
}
.case_detail_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}
.case_detail_con{
    display: flex;
    margin-bottom: 3.2vw;
}
.case_detail_con h4{
    width: 20vw;
    font-size: 1.6vw;
}
.case_detail_con h4 span{
    color: #C7312D;
}
.case_detail ul{
    display: flex;
    gap: 1.2vw;
    flex-direction: column;
}
.case_detail ul li{
    display: block;
    font-size: 1.44vw;
    line-height: 1;
}
.case_tel{
    display: flex;
    background-color: #F8F8F8;
    height: 18.4vw;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}
.case_tel div{
    position: relative;
    width: 49.6vw;
    height: 10.4vw;
    font-size: 1.44vw;
    color: #FFF;
    background-color: #C7312D;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.case_tel div::after{
    position: absolute;
    content: "";
    width: 4vw;
    height: 4vw;
    background-image: url(../images/case/tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 3.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
    border-radius: 1.6vw;
}
.case_tel p{
    margin-left: 4vw;
}
.case_tel .tel{
    font-size: 1.44vw;
}
.case_tel .tel span{
    font-size: 2.56vw;
    font-style: normal;
}

/* officeintroduction */
.officeintroduction_con{
    width: 84.8vw;
    margin: 0 auto;
}
.officeintroduction_copy{
    font-size: 1.92vw;
    font-weight: bold;
    margin: 170px auto 60px;
    text-align: center;
}
.officeintroduction_title{
    position: relative;
    margin: 0 0 6.4vw;
}
.officeintroduction_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.officeintroduction_title h3{
    position: relative;
    width: 17.6vw;
    font-size: 2vw;
    white-space: nowrap;
}
.officeintroduction_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}
.officeintroduction_con .officeintroduction_list{
    margin-bottom: 12vw;
}
.officeintroduction_con ul {
    width: 78.4vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
}
.officeintroduction_con ul li a{
    position: relative;
    width: 38.4vw;
    margin-bottom: 3.2vw;
    display: flex;
    border: solid 1px #000;
}
.officeintroduction_con ul li .officecopy{
    position: relative;
    width: 27.6vw;
    padding: 2vw 2vw 1vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.officeintroduction_con ul li .officecopy::before{
    position: absolute;
    content: "";
    width: 0.8vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow03.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 50%;
    right: 1.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.officeintroduction_con ul li a:hover .officecopy::before {
    transform: translateY(-50%) translateX(5px);
}

.officeintroduction_con ul li .officecopy div{
    display: flex;
    align-items: flex-start;
}
.officeintroduction_con ul li .cat{
    width: 6vw;
    font-size: 1.28vw;
    font-weight: bold;
    border: solid 1px #000;
    padding: 0.24vw 0;
    margin: 0 auto;
    margin-right: 1.2vw;
    text-align: center;
}
.officeintroduction_con ul li h4{
    width: 16vw;
    font-size: 2vw;
    font-weight: bold;
    line-height: 1.2;
}
.officeintroduction_con .officeadress{
    font-size: 0.96vw;
    text-align: left;
    letter-spacing: 0;
}
.officeintroduction_con picture{
    top: 0;
    left: 0;
    display: block;
    width: 10.8vw;
    height: 11.6vw;
    overflow: hidden;
}
.officeintroduction_con picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* contact */
.contact {
  padding: 12vw 0;
}
.contact-inner {
  width: 84.8vw;
  max-width: 100%;
  margin: 0 auto;
}
.contact-lead {
  text-align: center;
  font-size: 1.44vw;
  margin-bottom: 2.4vw;
}
.contact-form {
  font-size: 1.12vw;
}
.contact-list {
  list-style: none;
  margin: 0 0 4.8vw;
  padding: 0;
}
.contact-row {
    display: flex;
    align-items: center;
    margin-bottom: 2.4vw;
}
.contact-row-textarea {
  align-items: stretch;
}
.contact-label {
  width: 19.2vw;
  display: flex;
  align-items: center;
}
.contact-label span {
  display: inline-block;
  font-size: 0.88vw;
  color: #fff;
  background: #b40000;
  padding: 0.24vw 0.64vw;
  margin-right: 0.8vw;
}
.contact-label p {
  font-size: 1.44vw;
  line-height: 1.2;
}
.contact-field {
  flex: 1;
}
.contact-input,
.contact-textarea{
  width: 100%;
  border: 1px solid #ccc;
  padding: 0.64vw 0.8vw;
  font-size: 1.44vw;
  box-sizing: border-box;
}
.contact-select{
  width: 70%;
  border: 1px solid #ccc;
  padding: 0.64vw 0.8vw;
  font-size: 1.44vw;
  box-sizing: border-box;
}
.contact-textarea {
  height: 16vw;
  resize: vertical;
}
.contact-note {
  font-size: 0.88vw;
    color: #8D8D8D;
}
.contact-privacy {
  text-align: center;
}
.contact-privacy-title {
  font-size: 1.44vw;
  margin-bottom: 1.2vw;
}
.contact-privacy-box {
    width: 68vw;
    height: 18.4vw;
    border: 1px solid #ccc;
    padding: 2.4vw;
    box-sizing: border-box;
    overflow-y: auto;
    text-align: left;
    font-size: 1.28vw;
    line-height: 1.6;
    margin: 0 auto 15px;
}
.contact-privacy-agree {
  margin: 60px auto 80px;
}
.contact-privacy-agree label {
    font-size: 1.12vw;
    cursor: pointer;
    background-color: #EFEFEF;
    padding: 1.2vw 8vw;
}
.contact-privacy-agree input[type="checkbox"] {
  margin-left: 0.64vw;
}
.contact-actions p{
  display: flex;
  justify-content: space-between;
  max-width: 33.6vw;
  margin: 0 auto;
}
.contact-btn {
  width: 15.2vw;
  padding: 0.96vw 0;
  font-size: 1.12vw;
  border: 1px solid #000;
  background: #fff;
  cursor: pointer;
  text-align: center;
}
.contact-btn-reset {
}
.contact-btn-submit {
  background: #000;
  color: #fff;
}
.contact-btn-submit:disabled {
  background: #ccc;
  border-color: #ccc;
  color: #fff;
  cursor: not-allowed;
}
.wpcf7-not-valid-tip{
    font-size: 1.2vw;
    color: #b40000;
}


/* contact_check */
.contactcheck-list{
        font-size: 1.44vw;
}
.contact-field p{
        font-size: 1.44vw;
}
.contactcheck-list .contact-row{
    padding: 10vw 0;
    margin-bottom: 0;
    border-bottom: solid 0.5px #000;
}
.contactcheck-row-textarea .contact-field{
    width: 50vw;
}

/* contact_fix */
.contact_fix{
    text-align: center;
}
.contact_fix h2{
    font-size: 3.36vw;
    margin-bottom: 2.4vw;
}
.contact_fix h2::before{
    width: 0!important;
}
.contact_fix .contact-lead{
        font-size: 1.44vw;
    margin-bottom: 9.6vw;
}


/* ir */
.ir{
    width: 84.8vw;
    margin: 135px auto 150px;
}
.ir_title{
    position: relative;
    margin: 0 0 6.4vw;
}
.ir_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.ir_title h3{
    position: relative;
    text-align: left;
    width: 17.6vw;
    font-size: 2vw;
    font-weight: 600;
}
.ir_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}
.ir_con{
    text-align: center;
    margin: 0 auto 70px;
}
.ir_con ul{
    margin: 50px auto 80px;
}
.ir_con ul li a{
    display: flex;
    margin-bottom: 2.4vw;
}
.ir_con ul li .day{
    width: 12vw;
    font-size: 1.28vw;
    color: #858585;
    margin-right: 2.4vw;
}
.ir_con ul li .tag{
    font-size: 1.28vw;
    width: 12vw;
    padding: 0.16vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 2.4vw;
}
.ir_con ul li .tag_{
    letter-spacing: 0;
    line-height: 1.2;
    padding: 0.3vw 0;
}
.ir_con ul li .copy{
    width: 60vw;
    font-size: 1.28vw;
    text-align: left;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.ir_hum {
  width: 64vw;
  border-bottom: 1px solid #000;
  margin: 0 auto;
}
.ir_hum_{
  border-top: 1px solid #000;
}
.ir_hum_btn {
  width: 64vw;
  padding: 2vw 1.2vw 1.2vw;
  border: none;
  background: #FFF;
  font-size: 1.28vw;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ir_hum_title {
font-size: 1.44vw;
  display: inline-block;
}
.ir_hum_icon {
  font-size: 1.44vw;
}
.ir_hum_content {
  /* max-height: 0; */
  overflow: hidden;
  padding: 0 1.2vw 2vw;
  transition: max-height 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
  background: #fff;
  font-size: 1.28vw;
  line-height: 1.6;
}
.ir_hum.is-open .ir_hum_content {
  padding-top: 0.8vw;
  padding-bottom: 2vw;
  max-height: 40vw;
}
.ir_btn{
    width: 64vw;
    display: flex;
    margin:  100px auto 0;
}
.ir_btn .btn06{
    width: 30.4vw;
    display: flex;
    margin: 0 auto;
    padding: 2.4vw 0;
    font-size: 1.44vw;
    text-align: center;
    justify-content: center;
}
.ir_btn .btn06::after{
    background-image: url(../images/common/arrow09.png);
}

/* financial */
.report_tab{
    width: 84.8vw;
    margin: 100px auto 100px;
}
.report_tab .tabs{
    display: flex;
    font-size: 1.28vw;
    font-weight: bold;
    border-bottom: 1px solid #4A4A4A;
}
.report_tab .tab{
    width: 20.8vw;
    display: flex;
    padding: 0.64vw 0;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
    background: #F3F3F3;
    margin-right: 0.8vw;
    justify-content: center;
    align-items: center;
}
.report_tab .tab.active {
    background-color: #000;
    color: #FFF;
}
.report_tab .tab-content {
    display: none;
    margin: 0 auto;
    background: #fff;
}
.report_tab .tab-content .tab-flex{
    width: 84.8vw;
    display: flex;
    margin: 50px auto;
}
.tab-flex .btn03{
    width: 30.4vw;
    text-align: center;
    margin: 0 auto 100px;
    display: block;
}
.report_tab .tab-content.active {
    display: block;
}
.report_tab .tab-content .tab-list{
    width: 16vw;
}
.report_tab .tab-content .tab-list p{
    font-size: 1.6vw;
    font-weight: bold;
    margin-bottom: 4vw;
}
.report_tab .tab-content .tab-list li{
    position: relative;
    font-size: 1.12vw;
    margin-bottom: 2vw;
}
.report_tab .tab-content .tab-list li::before{
    position: absolute;
    content: "";
    width: 0.8vw;
    height: 0.8vw;
    background-image: url(../images/common/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: -1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.report_tab .tab-content ul{
    margin: 0 auto 80px;
    padding-left: 1.6vw;
}
.report_tab .tab-content ul li a{
    display: flex;
    cursor: pointer;
    margin-bottom: 2.4vw;
}
.report_tab .tab-content ul li .day{
    width: 12vw;
    font-size: 1.28vw;
    color: #858585;
    margin-right: 2.4vw;
}
.report_tab .tab-content ul li .tag{
    font-size: 1.28vw;
    width: 8vw;
    padding: 0.16vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 2.4vw;
}
.report_tab .tab-content ul li .tag_{
    width: 12vw;
}
.report_tab .tab-content ul li .copy{
    position: relative;
    padding-left: 2.5;
    width: 36vw;
    font-size: 1.28vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.report_tab .tab-content ul li .copy::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 2vw;
    height: 2vw;
    background-image: url("../images/common/pdf.png");
    background-size: contain;
    background-repeat: no-repeat;
}
.report_tab .pagination{
    display: flex;
    justify-content: center;
}
.report_tab .pagination ul{
    display: flex;
    justify-content: center;
}
.report_tab .pagination ul .page-numbers{
    font-size: 1.12vw;
    line-height: 1;
    display: flex;
    width: 2.56vw;
    height: 2.56vw;
    margin: 0px 0.4vw;
    border: 1px solid #B5B5B5;
    color: #B5B5B5;
    justify-content: center;
    align-items: center;
}
.report_tab .pagination ul .page-numbers.current{
    background-color: #C7312D;
    border: 1px solid #C7312D;
    color: #FFF;
}
.report_tab .pagination ul .page-numbers.next,.report_tab .pagination ul .page-numbers.prev{
    font-size: 0.96vw;
    margin: 0px 1.6vw;
    border: 0 solid #000;
    width: fit-content;
}

/* recruit */
.recruit_title{
    position: relative;
    max-width: 108.8vw;
    margin: 0 auto;
}
.recruit_title img{
    display: block;
    max-width: 108.8vw;
    margin: 0 auto;
}
.recruit_title .pan{
    position: absolute;
    top: 1.6vw;
    left: 4vw;
    z-index: 1;
}
.recruit_title div{
    width: 84.8vw;
    position: absolute;
    bottom: 8vw;
    left: 50%;
    transform: translateX(-50%);
}
.recruit_title h2 {
    position: relative;
    text-align: left;
    font-size: 5.6vw;
    font-weight: 500;
    margin: 0 0 4vw 0;
    color: #C7322C;
}
.recruit_title h2:before {
    content: "";
    position: absolute;
    top: auto;
    bottom: -2.4vw;
    left: 0px;
    width: 5.6vw;
    height: 0.16vw;
    background-color: #C7322C;
}
.recruit_title p {
    font-size: 1.6vw;
    text-align: left;
}
.recruit_btn{
    position: absolute;
    width: 84.8vw;
    top: -14.4vw;
    margin: 0 auto 100px;
}
.recruit_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.recruit_btn ul li{
    border-right: 1px solid #929292;
    display: flex;
    width: 33.3%;
    font-size: 1.6vw;
    font-weight: bold;
    justify-content: space-between;
    line-height: 1.3;
}
.recruit_btn ul li:last-child{
    border-right: 0px solid #929292;
}
.recruit_btn ul li a{
    position: relative;
    margin: 0 auto;
}
.recruit_btn ul li a::after{
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 60%;
    right: -3.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.recruit_tab{
    position: relative;
    width: 84.8vw;
    margin: 150px auto 100px;
}
.recruit_tab .tabs{
    width: 84.8vw;
    display: flex;
    font-size: 2.08vw;
    font-weight: bold;
    margin-bottom: 4.8vw;
    border-bottom: 1px solid #4A4A4A;
    justify-content: space-between;
}
.recruit_tab .tab{
    width: 41.2vw;
    display: flex;
    padding: 0.64vw 0;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
    background: #7C7C7C;
    color: #FFF;
    justify-content: center;
    align-items: center;
}
.recruit_tab .tab.active {
    background-color: #C7322C;
    color: #FFF;
}
.recruit_tab .tab-content {
    display: none;
    margin: 0 auto;
    background: #fff;
}
.recruit_tab .tab-content.active {
    display: block;
}
.recruith3_title{
    position: relative;
    margin: 0 0 3.2vw;
}
.recruith3_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.recruith3_title h3{
    position: relative;
    white-space: nowrap;
    width: 17.6vw;
    font-size: 2vw;
    font-weight: 600;
}
.recruith3_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #C7312D;
}
.recruit_con{
    width: 84.8vw;
    margin-bottom: 8vw;
}
.recruit_con ul li{
    display: flex;
    justify-content: space-around;
    padding: 1.6vw 0.4vw;
    border-bottom: 1px solid #CCCCCC;
}
.recruit_con ul li h4{
    font-size: 1.44vw;
    font-weight: bold;
    text-align: left;
    width: 17.6vw;
}
.recruit_con ul li p{
    font-size: 1.44vw;
    text-align: left;
    width: 67.2vw;
}
.recruit_con ul li img{
    width: 67.2vw;
    margin-bottom: 0.8vw;
}
.recruit_con ul li iframe{
    width: 67.2vw;
    height: 30vw;
}

.recruit_con_2{
    margin-bottom: 8vw;
}
.recruit_con_2 h2 {
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.recruit_con_2 h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.recruit_con_2 ul li{
    padding: 4vw 0;
    border-top: solid 1px #CCCCCC;
    border-bottom: solid 1px #CCCCCC;
}
.recruit_con_2 ul li div{
    display: flex;
    align-items: flex-start;
}
.recruit_con_2 ul li div:first-child{
    font-size: 2.08vw;
    color: #C7322C;
    margin-bottom: 1.6vw;
}
.recruit_con_2 ul li div:first-child p{
    font-size: 2.08vw;
    font-weight: 500;
    margin-top: 0.16vw;
    color: #C7322C;
}
.recruit_con_2 ul li h4{
    font-size: 2.08vw;
    font-weight: 500;
    margin-right: 0.8vw;
}
.recruit_con_2 ul li p{
    font-size: 1.44vw;
    font-weight: 400;
    margin-top: 0.56vw;
}
.recruit_con_2 p{
    font-size: 1.44vw;
}
.recruit_con_2 iframe{
    width: 56vw;
    height: 31.52vw;
    margin: 0 auto 20px;
    display: block;
}
.recruit_con_3{
    width: 100%;
    margin: 0 auto 150px;
    border-top: solid 1px #929292;
}
.recruit_con_3 h2{
    text-align: center;
    font-size: 2.4vw;
    margin: 70px auto;
}
.recruit_con_3 h2:before{
    width: 0;
}
.recruit_con_3 ul{
    width: 84.8vw;
    display: flex;
    gap: 2.4vw;
    text-align: center;
    margin: 0 auto;
}
.recruit_con_3 ul li{
    width: 25.6vw;
    margin-bottom: 1.6vw;
    padding-bottom: 1.6vw;
    border-bottom: solid 1px #929292;
}
.recruit_con_3 ul li img{
    margin-bottom: 1.6vw;
}
.recruit_con_3 ul li .link {
    position: relative;
    display: block;
    font-size: 1.6vw;
    font-weight: bold;
    text-align: left;
}

.recruit_con_3 ul li .link::after {
    position: absolute;
    content: "→";
    font-size: 1.6vw;
    color: #C7312D;
    top: 50%;
    right: 1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.recruit_con_3 ul li a:hover .link::after {
    transform: translateY(-50%) translateX(5px);
}

/* terms */
.terms{

}
.terms_con ul{
    width: 84.8vw;
    margin: 100px auto 120px;
    border-top: 1px solid #A0A0A0;
}
.terms_con ul li a{
    position: relative;
    display: block;
    width: 84.8vw;
    font-size: 1.6vw;
    font-weight: bold;
    padding: 2.4vw 3.2vw;
    border-bottom: 1px solid #A0A0A0;
}
.terms_con ul li a::after {
    position: absolute;
    content: "";
    width: 1.36vw;
    height: 1.6vw;
    background-image: url(../images/common/pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 50%;
    left: -1.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}

/* privacy */
.privacy_con{
    width: 84.8vw;
    font-size: 1.44vw;
    margin: 140px auto 120px;
}
.privacy_con h2{
    font-size: 3.36vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 6.4vw;
}
.privacy_con p{
    margin-bottom: 4vw;
    line-height: 2;
}
.privacy_con ul{
    margin-left: 2.4vw;
}
.privacy_con ul li{
    position: relative;
    line-height: 2;
}
.privacy_con ul li::before {
    content: "・";
    position: absolute;
    left: -1.6vw;
    top: 0px;
}

/* sitemap */
.sitemap_con{
    width: 84.8vw;
    margin: 50px auto 0;
}
.sitemap_con_{
    margin-bottom: 12vw;
}
.sitemaph3_title{
    position: relative;
    margin: 0 0 3.2vw;
}
.sitemaph3_title::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #E0E0E0;
}
.sitemaph3_title h3{
    position: relative;
    white-space: nowrap;
    width: 17.6vw;
    font-size: 2vw;
    font-weight: 600;
}
.sitemaph3_title h3::before{
    content: "";
    position: absolute;
    bottom: -1.6vw;
    left: 0;
    width: 100%;
    height: 0.32vw;
    background-color: #606060;
}

.sitemap_con h4{
    position: relative;
    font-size: 2.32vw;
    font-weight: bold;
    padding-left: 2.4vw;
    margin-bottom: 2.4vw;
}
.sitemap_con h4::before{
    content: "▶︎";
    font-size: 1.28vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.sitemap_con h5{
    position: relative;
    font-size: 1.52vw;
    font-weight: bold;
    padding-left: 2.4vw;
    margin-bottom: 1.6vw;
}
.sitemap_con h5::before{
    content: "▶︎";
    font-size: 1.28vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.sitemap_office{
    margin-bottom: 3.2vw;
}
.sitemap_office div{
    display: flex;
    padding-left: 2.4vw;
    margin-bottom: 0.8vw;
    font-size: 1.28vw;
}
.sitemap_office p{
    position: relative;
    margin-right: 4.8vw;
}
.sitemap_office p::before{
  position: absolute;
  content: "";
  width: 0.64vw;
  height: 1.12vw;
  background-image: url(../images/common/arrow06.svg);
  background-size: contain;
  background-repeat: no-repeat;
  right: -1.6vw;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.sitemap_office a{
    position: relative;
    padding:0 2.4vw;
}
.sitemap_office a::before{
    content: "▶︎";
    font-size: 1.28vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

/* history */
.history_btn h2 {
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.history_btn h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.history_btn{
    width: 88vw;
    margin: 200px auto 100px;
}
.history_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 1.2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.history_btn ul li {
    border-right: 1px solid #929292;
    width: 20%;
    font-size: 1.6vw;
    font-weight: bold;
}
.history_btn ul li:last-child {
    border-right: 0;
}
.history_btn ul li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 0.4vw 3.2vw 0.4vw 1.6vw;
    text-align: center;
    box-sizing: border-box;
}
.history_btn ul li a::after {
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    right: 4vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_btn ul li a:hover::after {
    transform: translateY(calc(-50% + 5px)) translateX(0);
}
.history_btn div{
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.history_btn div a{
    position: relative;
    display: flex;
    background-color: #B0B0B0;
    color: #FFF;
    font-size: 1.44vw;
    font-weight: bold;
    width: 28vw;
    height: 5.28vw;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}
.history_btn div a::after{
    position: absolute;
    content: "";
    width: 1.6vw;
    height: 1.6vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 0.8vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_con {
}
.history_timeline {
  position: relative;
  width: 90%;
  max-width: 84.8vw;
  margin: 0 auto 100px;
}
/* 縦ライン */
.history_timeline::before {
  content: "";
  position: absolute;
  left: 16vw;
  top: 0;
  bottom: 0;
  width: 0.08vw;
  background: #000;
}
/* 元号見出し */
.history_block {
  padding-bottom: 6.4vw;
}
.era_label {
    width: calc(100% - 20.8vw);
    margin: 0 0 3.2vw 20.8vw;
    border-bottom: solid 1px #C7322C;
}
.era_label span{
    width: 10.4vw;
    background: #C7322C;
    display: inline-block;
    padding: 0.16vw 0;
    text-align: center;
    color: #fff;
    font-size: 1.92vw;
    font-weight: bold;
}
/* 年＋内容 */
.history_item {
  position: relative;
  display: flex;
  margin-bottom: 4vw;
}
.history_year {
  position: relative;
  width: 16vw;
  font-size: 3.6vw;
  font-style: normal;
  font-weight: bold;
  line-height: 1;
}
.history_year span{
  font-size: 2.4vw;
}
.history_year::after {
    position: absolute;
    content: "";
    width: 6.4vw;
    height: 0.08vw;
    background-color: #000;
    margin-left: 1.6vw;
    top: 2.4vw;
    right: -3.2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_year::before {
    position: absolute;
    font-size: 0.64vw;
    color: #000;
    content: "●";
    margin-left: 0;
    top: 2.4vw;
    right: -0.52vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_content {
  flex: 1;
  padding-left: 4.8vw;
  border-left: 1px solid #000;
}
.history_text_{
    margin-top: 1.5vw;
}
.history_text .history_sub {
  font-size: 1.28vw;
  font-weight: 300;
}
.history_text .history_desc {
  font-size: 1.44vw;
  font-weight: 400;
}
.history_images {
  display: flex;
  gap: 1.6vw;
  margin-top: 1.28vw;
}
.history_images figure {
  width: 48%;
}
.history_images img {
  width: 100%;
  display: block;
}
.history_other{
    width: 84.8vw;
    margin: 0 auto;
}
.history_other h2{
    font-size: 2.56vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 30px;
}
.history_other ul {
    width: 84.8vw;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 100px;
    justify-content: space-between;
}
.history_other ul li{
    width: 48%;
    height: 7.6vw;
    font-size: 1.44vw;
    line-height: 1.5;
    margin-bottom: 1.04vw;
    background-color: #000;
}
.history_other ul li a{
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #FFF;
}
.history_other ul li a:after{
    position: absolute;
    content: "";
    width: 1.6vw;
    height: 1.6vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 50%;
    right: 1.6vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}

/* governance */
.lower_title_lowp.governance .main_copy h1{
    letter-spacing: 0;
    line-height: 1.2;
}
.governance_con {
    width: 84.8vw;
    margin: 200px auto 150px;
}
.governance_con h2{
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.governance_con h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.governance_con h3{
    font-size: 2.56vw;
    font-weight: bold;
    margin-bottom: 3.2vw;
}
.governance_con p{
    font-size: 1.44vw;
    margin-bottom: 4vw;
}
.governance_con a{
    font-size: 1.44vw;
    text-decoration: underline;
}

/* kizi */
.kizi_title{
    width: 84.8vw;
    margin: 0 auto 110px;
}
.kizi_title div{
    display: flex;
    align-items: center;
    margin-bottom: 10px
}
.kizi_title .day{
    font-size: 1.28vw;
    margin-right: 2.4vw;
}
.kizi_title .tag{
    font-size: 1.44vw;
}
.kizi_title h1{
    font-size: 2.88vw;
    font-weight: 600;
    border-bottom: solid 1px #000;
    margin-bottom: 5.6vw;
    padding-bottom: 1.6vw;
}
.kizi_con{
    width: 84.8vw;
    margin: 0 auto;
}
.kizi_con p{
    font-size: 1.44vw;
}
.kizi_con a{
    text-decoration: underline;
}

.kizi_other{
    width: 100%;
    margin: 0 auto;
    background-color: #F8F8F8;
}
.kizi_other_inner{
    width: 84.8vw;
    padding: 6.4vw 0;
    margin: 10vw auto 0;
    text-align: center;
}
.kizi_other_inner h2{
    font-size: 1.92vw;
    font-weight: bold;
    text-align: left;
    border-bottom: solid 1px #000;
    padding-bottom: 0.4vw;
    margin-bottom: 2.4vw;
}
.kizi_other ul{
    margin-bottom: 5.6vw;
}
.kizi_other ul li{
    width: 100%;
}
.kizi_other ul li a{
    width: 84.8vw;
    display: flex;
    align-items: center;
    font-size: 1.08vw;
    margin-bottom: 1.6vw;
}
.kizi_other ul li a div{
    width: 25%;
    display: flex;
}
.kizi_other ul li .day{
    width: 8vw;
    text-align: left;
}
.kizi_other ul li .cat{
    width: 8vw;
    margin-right: 2.4vw;
    text-align: left;
    border: solid 1px #000;
    background-color: #FFF;
}
.kizi_other ul li .cat span{
    display: block;
    padding: 0.16vw 0.8vw;
    text-align: center;
}
.kizi_other .title{
    width: 65.6vw;
    font-size: 1.08vw;
    text-align: left;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

/* service */
.service_con01{
    background-color: #F8F8F8;
}
.service_con01_inner{
    width: 90vw;
    margin: 0 auto;
    padding: 9.2vw 0 10.4vw;
}
.service_con01_inner2{
    width: 80vw;
    margin: 0 auto;
    padding: 9.2vw 0 10.4vw;
}
.service_con01_inner2 img{
    margin-bottom: 6.4vw;
}
.service_con01 h2{
    font-size: 2.56vw;
    font-weight: bold;
    margin-bottom: 4vw;
    text-align: center;
}
.service_con01 p{
    font-size: 1.44vw;
    margin-bottom: 5.6vw;
}
.service_con01 ul{
    display: flex;
    justify-content: space-around;
    margin-bottom: 12vw;
}
.service_con01 ul li{
    position: relative;
    width: 12vw;
}
.service_con01 ul li img{
    width: 9.2vw;
    height: 9.2vw;
    display: block;
    margin: 0 auto 20px;
}
.service_con01 ul li h3{
    font-size: 2.08vw;
    text-align: center;
    margin-bottom: 1.2vw;
    white-space: nowrap;
}
.service_con01 ul li p{
    font-size: 1.28vw;
    margin-bottom: 1.6vw;
}
.service_con01 ul li .link{
    position: absolute;
    bottom: -3.2vw;
    width: 100%;
}
.service_con01 ul li a{
    display: block;
    width: 100%;
    position: relative;
    font-size: 1.28vw;
    padding: 0.4vw 0;
    background-color: #C7322C;
    color: #FFF;
    text-align: center;
}
.service_con01 ul li a::after{
    position: absolute;
    content: "";
    width: 0.8vw;
    height: 0.48vw;
    background-image: url(../images/common/arrow07.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
    right: 0.8vw;
}
.service_con01 ul li .link_ a::after{
    background-image: url(../images/common/arrow07_.png);
    width: 0.48vw;
    height: 0.8vw;
}
.service_con01 .btn{
    text-align: center;
}
.service_con01 .btn p{
    font-size: 2.16vw;
    font-weight: bold;
    margin-bottom: 4vw;
}

.service_con02{
    width: 84.8vw;
    margin: 150px auto;
}
.service_con02real{
    width: 84.8vw;
    margin: 150px auto 3vw;
}
.service_con02 h2 {
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.service_con_title h2{
    font-size: 2.72vw;
    margin: 0 0 4vw 0;
    padding-bottom: 4vw;
    text-align: center;
    border-bottom: solid 1px #000;
}
.service_con_title p{
    font-size: 1.44vw;
    margin-bottom: 2.4vw;
}
.service_con_title img{
    width: 69.6vw;
    margin: 0 auto 100px;
    display: block;
}
.service_con02 h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.service_con_title h2:before{
    width: 0;
}
.service_con02_con{
    margin-bottom: 10.4vw;
}
.service_con02_copy{
    display: flex;
    justify-content: space-between;
}
.service_con02_copy{
    display: flex;
    justify-content: space-between;
}
.service_con02_copy_{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.service_con02_copy img{
    width: 42.4vw;
    height: 100%;
}
.service_con02_real img{
    width: 84.8vw;
    height: 100%;
    margin-top: 10px;
}
.service_con02_copy div{
    width: 39.2vw;
}
.service_con02_copy.service_con02_copy_ div{
    width: 100%;
}
.service_con02_copy div h3,.service_con02_copy_ div h3{
    font-size: 1.6vw;
    font-weight: bold;
    margin-bottom: 1.6vw;
    padding-bottom: 0.8vw;
    border-bottom: solid 1px #000;
}
.service_con02_copy div h4{
    width: fit-content;
    font-size: 1.6vw;
    font-weight: bold;
    margin-bottom: 1.2vw;
    padding: 0.4vw 0.8vw;
    background-color: #EDEDED;
}
.service_con02_copy_p{
    font-size: 1.44vw;
    line-height: 2;
    margin-bottom: 4.8vw;
}
.service_con02_copy div p{
    font-size: 1.44vw;
    line-height: 2;
    margin-bottom: 4.8vw;
}
.service_con02_copy div .link{
    margin: 3.2vw 0;
}
.service_con02_copy div .link p{
    margin-bottom: 0.8vw;
}
.service_con02_copy div .link a{
    width: 24.8vw;
    margin-bottom: 3.2vw;
    padding: 2.4vw 0;
}
.service_con02_copyp{
    margin-top: 4vw;
}
.service_con02_img{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 12vw;
}
.service_con02_img div{
    width: 510px!important;
    margin-bottom: 2.4vw;
}
.service_con02_img div img{
    width: 510px!important;
    height: auto;
    margin-bottom: 0.4vw;
}
.service_con02_img div p{
    font-size: 1.28vw;
    text-align: left;
}









/* office */
.office h2{
    font-size: 3.2vw;
    font-weight: bold;
}
.office_main{
    margin-right: 10vw;
    margin-bottom: 15vw;
    background-color: #C7322C;
    display: flex;
    height: 30vw;
}
.office_copy{
    position: relative;
    display: flex;
    width: 45vw;
    color: #FFF;
    flex-direction: column;
}
.office_copy_innner{
    position: absolute;
    top: 2vw;
    right: 6vw;
    width: 31vw;
}
.office_copy_innner .pan a {
    color: #fff;
    text-decoration: underline;
}
.office_copy .office_copy01{
    font-size: 2vw;
    margin:8vw 0 2vw;
}
.office_copy .office_copy_title{
    margin: 5vw auto 3vw;
    position: relative;
    display: inline-block;
}
.office_copy .office_copy_title::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0.35vw;
    height: 100%;
    background-color: #fff;
}
.office_copy .office_copy_title h1{
    font-size: 3vw;
    font-weight: bold;
    margin-left: 2vw;
    margin-bottom: 0.5vw;
    line-height: 1.2;
}
.office_copy .office_copy_title p{
    font-size: 2vw;
    margin-left: 2vw;
}
.office_copy .office_copy02{
    font-size: 1.3vw;
    font-weight: 300;
}
.office_main picture{
    position: absolute;
    top: 10vw;
    right: 5vw;
    display: block;
    width: 50vw;
    height: 30vw;
    overflow: hidden;
}
.office_main picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_btn{
    width: 88vw;
    margin: 200px auto 100px;
}
.office_btn ul{
    display: flex;
    background-color: #F6F6F6;
    padding: 1.2vw 0;
    border-radius: 1.2vw;
    margin: 0 auto 50px;
}
.office_btn ul li{
    border-right: 1px solid #929292;
    width: 50%;
    font-size: 1.6vw;
    font-weight: bold;
}
.office_btn ul li a{
    position: relative;
    display: block;
    width: 100%;
    padding: 0.4vw 3.2vw 0.4vw 1.6vw;
    text-align: center;
    box-sizing: border-box;
}
.office_btn ul li a::after{
    position: absolute;
    content: "";
    width: 1.2vw;
    height: 1.2vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    right: 4vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.office_btn ul li:last-child {
    border-right: 0;
}
.office h2{
    position: relative;
    font-size: 3.36vw;
    font-weight: bold;
    margin: 0 0 4vw 2.4vw;
    line-height: 1;
}
.office h2::before{
    content: "";
    position: absolute;
    top: 0;
    left: -2.4vw;
    width: 0.64vw;
    height: 100%;
    background-color: #C7322C;
}
.office h3{
    font-size: 2.56vw;
    font-weight: bold;
    margin: 0 0 2.4vw;
}




.office_img {
  width: 100%;
  max-width: 84.8vw;
  margin: 0 auto 150px;
}

.office_img-main {
  position: relative;
  width: 100%;
  height: 40vw;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.office_img-main picture,
.office_img-main img {
  width: 100%;
  height: 100%;
  display: block;
}

#office_img_main {
  object-fit: cover;
  opacity: 1;
  transition: opacity 1.5s ease-in-out;
}

.office_img-thumbs {
  display: flex;
  justify-content: center;
  gap: 1.2vw;
  margin-top: 1.6vw;
}

.office_img-thumbs picture {
  width: 12vw;
  height: 8vw;
  overflow: hidden;
}

.office_img-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.6;
  border: 3px solid transparent;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}

.office_img-thumbs img.active {
  opacity: 1;
  border-color: #005bac;
}







.office_con01{
    width: 84.8vw;
    margin: 0 auto 100px;
}
.office_con01 h2{
    margin-bottom: 4vw;
}
.office_con01 ul li{
    display: flex;
    font-size: 1.28vw;
    padding: 1.2vw 0;
    border-bottom: 1px solid #CCCCCC;
}
.office_con01 ul li p:first-child{
    width: 18.4vw;
}
.office_con02{
    width: 84.8vw;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 100px;
    font-size: 1.28vw;
}
.office_con02 div{
    display: flex;
    flex-direction: column;
}
.office_con02 ul{
    margin-top: 2vw;
}
.office_con02 ul li{
    list-style-type: disc;
    padding-left: 1.28vw;
    margin-left: 1.28vw;
}
.office_con03{
    width: 84.8vw;
    margin: 0 auto 150px;
}
.office_con03 h2{
    margin-bottom: 4vw;
}
.office_con03_copy{
    font-size: 1.44vw;
    margin-bottom: 5.2vw;
}
.office_con03 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.office_con03 ul li{
    width: 27.2vw;
    border: solid 1px #000;
    padding: 2.4vw 1.6vw;
    text-align: center;
    margin-bottom: 2vw;
}
.office_con03 picture{
    top: 0;
    left: 0;
    display: block;
    width: 5.2vw;
    height: 5.2vw;
    overflow: hidden;
    margin: 0 auto 10px;
}
.office_con03 picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_con03 ul li h3{
    font-size: 2.24vw;
    line-height: 1.2;
    min-height: 5.2vw;
}
.office_con03 ul li p{
    font-size: 1.12vw;
    text-align: left;
}
.office_con04{
    width: 84.8vw;
    margin: 0 auto 150px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.office_con04 div{
    width: 40.8vw;
}
.office_con04 div h2{
    margin-bottom: 4vw;
}
.office_con04 div p{
    font-size: 1.6vw;
}
.office_con04 picture{
    top: 0;
    left: 0;
    display: block;
    width: 34.4vw;
    height: 18.4vw;
    overflow: hidden;
    margin: 5.6vw 0 0;
}
.office_con04 picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_con05{
    width: 108.8vw;
    margin: 0 auto 100px;
}
.office_con05 h2{
    width: 84.8vw;
    margin: 0 auto 50px;
}
.office_office{
    width: 79.2vw;
    margin: 0 auto 100px;
    text-align: center;
}
.office_office h2{
    margin: 0 auto 100px;
}
.office_office h3{
    font-size: 2.4vw;
    margin: 0 auto 40px;
}
.office_office ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.office_office ul li{
    position: relative;
    width: 48%;
    margin-bottom: 3.2vw;
    display: flex;
    border: solid 1px #000;
}
.office_office ul li::before{
    position: absolute;
    content: "";
    width: 1.6vw;
    height: 1.6vw;
    background-image: url(../images/common/arrow04.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1.6vw;
    top: 50%;
    right: 0.8vw;
    transform: translateY(-50%) rotate(-90deg);
    transition: transform 0.3s ease;
}
.office_office ul li .officecopy{
    padding: 1.6vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.office_office ul li .officecopy div{
    display: flex;
    align-items: center;
}
.office_office ul li .cat{
    font-size: 1.28vw;
    font-weight: bold;
    border: solid 1px #000;
    padding: 0.4vw 0.8vw;
    margin-right: 1.2vw;
}
.office_office ul li h4{
    font-size: 2vw;
    font-weight: bold;
}
.officeadress{
    font-size: 0.96vw;
    text-align: left;
}
.office_office picture{
    top: 0;
    left: 0;
    display: block;
    width: 10.8vw;
    height: 11.6vw;
    overflow: hidden;
}
.office_office picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.office .officeintroduction_con .officeintroduction_list {
    margin-bottom: 6.4vw;
}
.office .officeintroduction_title h3{
    width: 100%;
    font-size: 2.4vw;
    margin: 0 auto 20px;
    font-weight: 400;
    text-align: center;
}
.office .officeintroduction_title{
    text-align: center;
    margin: 0 0 3.2vw;
}
.office  .officeintroduction_title h3::before,.office .officeintroduction_title::before{
    height: 0;
}
.officeintroduction_con .office_copy{
    position: relative;
    font-size: 2.72vw;
    text-align: center;
    color: #000;
    width: 100%;
    margin: 15vw 0 8vw 0;
}
.officeintroduction_con .office_copy::before{
    content: "";
    position: absolute;
    top: 4.8vw;
    left: 50%;
    transform: translateX(-50%);
    width: 5.6vw;
    height: 0.4vw;
    background-color: #C7322C;
}


}