@charset "UTF-8";
@media screen and (max-width: 767px) {
    .pc{ display: none !important; }
    .sp{ display: block !important; }



/* about */

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

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

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

.about_title picture video {
  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: 90vw;
    position: absolute;
    top: 0vw;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    bottom: 0;
    color: #000;
    z-index: 5;
    height: fit-content;
    font-size: 2.3vw;
}
.about_title .pan li{
    margin-right: 1.304vw;
}
.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: 3.2vw;
    font-weight: bold;
    font-style: italic;
    margin-bottom: 1vw;
}

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

.about_feature{
    width: 100vw;
    margin: 0 auto 5vw;
}
.about_feature h2{
    position: relative;
    font-size: 10vw;
    font-weight: 500;
    margin: 0 0 6.519vw 0;
    text-align: center;
    color: #C7322C;
}
.about_feature h2:before{
    content: "";
    position: absolute;
    bottom: -3vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 0.3vw;
    background-color: #C7322C;
}
.about_feature p{
    text-align: center;
    font-size: 3.2vw;
}





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

.about_01_panel {
  position:relative;
  background:#bd3e32;
  padding:15vw 0;
  height: 205vw;
  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: 95vw;
        background: #ffffff;
        transform-origin: center;
        z-index: 0;
        pointer-events: none;
        bottom: -10vw;
        transform: translateX(-50%) rotate(-6deg);
}

.about_01_inner {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 100vw;
        margin: 0 0 10vw;
        display: flex;
        align-items: center;
        gap: 10vw;
        flex-direction: column;
}

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

.about_01_num {
        font-size: 13vw;
        font-weight: 700;
        font-style: italic;
        margin-bottom: 2.5vw;
        text-align: center;
}

.about_01_title {
    font-size: 5.5vw;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 8vw;
    text-align: center;
}

.about_01_desc {
  width: 90vw;
  font-size: 3.8vw;
  line-height:1.8;
}

.about_01_img {
    width: 90%;
    margin-left: auto;
}

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

.slide_from_left_about {
  opacity:0;
  transform:translateX(-100vw);
  transition:opacity .6s ease-out, transform .6s ease-out;
}

.slide_from_left_about.is-active {
  opacity:1;
  transform:translateX(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: 90vw;
    margin: 0 auto 15vw;
    text-align: center;
    z-index: 10;
}
.about_01_con h3{
font-size: 6.5vw;
        font-weight: bold;
        margin-bottom: 8vw;
        text-align: center;
}
.about_01_con ul{
    margin-bottom: 15vw;
}
.about_01_con ul li a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 6vw 0;
    text-align: left;
    border-top: solid 1px #DEDEDE;
    flex-direction: column;
}
.about_01_con ul li a::after{
    position: absolute;
    content: "";
    width: 6vw;
    height: 5vw;
    background-image: url(../images/common/arrow08.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 3vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.about_01_con ul li h4{
    width: 75vw;
    font-size: 5vw;
    font-weight: bold;
    text-align: left;
    margin-bottom: 2vw;
}
.about_01_con ul li h4 span{
    color: #C7322C;
    margin-right: 3.911vw;
}
.about_01_con ul li p{
    width: 60vw;
    font-size: 3.8vw;
    color: #5A5A5A;
    text-align: left;
}




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

.about_02_panel {
  position: relative;
  background: #bd3e32;
  padding: 13.038vw 0;
  height: 250vw;
  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: -45vw;
height: 130vw;
  transform: translateX(-50%) rotate(6deg);
}

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

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

.about_02_num {
    font-size: 13vw;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 2.5vw;
    text-align: center;
}

.about_02_title {
    font-size: 5.5vw;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 8vw;
    text-align: center;
}

.about_02_desc {
  width: 90vw;
  font-size: 3.8vw;
  line-height:1.8;
  margin-bottom: 6.5vw;
  text-align: left;
}

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

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

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

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

/* ホワホワ赤丸（ベース） */
.about_02_circle {
  position: absolute;
  width: 26.076vw;
  height: 26.076vw;
  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: 150%;    /* 外側に大きく */
  height: 150%;
  border-radius: 50%;
  border: 3px solid rgba(199, 50, 40, 0.7);
  transform: translate(-50%, -50%);
}


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

.about_02_circle_kanto {
        bottom: 23vw;
        left: 45vw;
}

/* パルスアニメーション */
@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: translateX(100vw);
  transition: opacity .6s ease-out, transform .6s ease-out;
}

.slide_from_right_about02.is-active {
  opacity: 1;
  transform: translateX(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: 0;
  position: relative;
  background: #ffffff;
  overflow: visible;
}

.about_03_panel {
  position: relative;
  background: #bd3e32;
  padding: 13.038vw 0;
  height: 235vw!important;
  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: -6vw;
    height: 80vw;
    transform: translateX(-50%) rotate(-6deg);
}

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

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

.about_03_num {
    font-size: 13vw;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 2.5vw;
    text-align: center;
}

.about_03_title {
    font-size: 5.5vw;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 8vw;
    text-align: center;
}

.about_03_desc {
  width: 90vw;
  font-size: 3.8vw;
  line-height:1.8;
  margin-bottom: 6.5vw;
  text-align: left;
}

/* 右画像 */
.about_03_img {
    position: static;
    width: 90vw;
        margin-left: auto;
}

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


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

/* 赤帯：左 → 右 */
.slide_from_left_about03 {
  opacity: 0;
  transform: translateX(-100vw);
  transition: opacity .6s ease-out, transform .6s ease-out;
}

.slide_from_left_about03.is-active {
  opacity: 1;
  transform: translateX(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);
}


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

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


.about_03_con_inner {
  width: 90vw;
  margin: 0 auto 15vw;
}

.about_03_con_title {
        font-size: 6.5vw;
        font-weight: bold;
        margin-bottom: 10vw;
        text-align: center;
}

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

.about_03_con_item {
  padding-right: 0;
  margin-bottom: 5vw;
}

.about_03_con_label {
    font-size: 4.5vw;
    font-weight: 400;
    margin-bottom: 2vw;
    text-align: center;
}

.about_03_con_label_line {
  width: 100%;
  max-width: 100%;
  height: 0.13vw;
  background: #d0d0d0;
  margin-bottom: 2vw;
}

.about_03_con_value {
    display: flex;
    align-items: baseline;
    gap: 3vw;
    justify-content: center;
}

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

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

.about_03_con_unit {
  font-size: 6vw;
  font-weight: 700;
}

.about_other{
    width: 100%;
    margin: 17vw auto 150px;
    border-top: solid 1px #929292;
}
.about_other h2{
    text-align: center;
    font-size: 5vw;
    margin: 15vw auto 8vw;
}
.about_other h2:before{
    width: 0;
}
.about_other ul{
    width: 90vw;
    display: flex;
    gap: 5vw;
    text-align: center;
    margin: 0 auto;
    flex-direction: column;
}
.about_other ul li{
    width: 90vw;
    margin-bottom: 6vw;
    padding-bottom: 4vw;
    border-bottom: solid 1px #929292;
}
.about_other ul li img{
    margin-bottom: 4vw;
}
.about_other ul li .link {
    position: relative;
    display: block;
    font-size: 3.8vw;
    font-weight: bold;
    text-align: left;
    padding-left: 3vw;
}

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



/* 
.about_txt{
    text-align: center;
    margin: calc(130px + 3vw) auto 300px;
}
.about_txt h2{
    font-size: 4.172vw;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 5.215vw;
}
.about_txt p{
    width: 104.302vw;
    line-height: 1.5;
    font-size: 3.8vw;
    margin: 0 auto;
    text-align: justify;
}
.about_con{
    position: relative;
    width: 177.575vw;
    margin: 0 auto;
}
.about_con .about_con_title{
    position: absolute;
    width: fit-content;
    top: -20.86vw;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4.172vw;
}
.about_con .about_con_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.652vw;
  width: 100%;
  height: 0.261vw;
  background: #000;
  transition: width 0.3s ease;
}
.about_con h2{
    font-size: 4.172vw;
    margin-bottom: 3.911vw;
    font-weight: bold;
}
.about_con .en{
    font-size: 18.514vw;
    margin-bottom: 3.911vw;
    font-weight: bold;
    line-height: 1;
}
.about_con p{
    font-size: 3.8vw;
    font-weight: 200;
    margin: 0 auto 90px;
}
.about_con01{
    color: #FFF;
    text-align: center;
    margin-bottom: 14.342vw;
}
.about_con01_inner{
    position: relative;
    background-color: #C7312D;
    width: 100.391vw;
    height: 74.316vw;
}
.about_con01_inner div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 67.145vw;
    text-align: left;
    margin: 0 auto;
    display: block;
}
.about_con01 p{
}
.about_con01 picture{
    position: absolute;
    top: -7.823vw;
    right: 10.43vw;
    width: 71.708vw;
    height: 66.493vw;
}
.about_con .about_con01list{
    display: flex;
    width: 138.983vw;
    margin: 0 auto 75px;
    justify-content: space-between;
}
.about_con01list_title{
    font-size: 34px!important;
    text-align: center;
    margin-bottom: 55px!important;
}
.about_con01list li{
    width: 19.557vw;
    margin: 0 auto;
}
.about_con01list li img{
    width: 80%;
    display: block;
    margin: 0 auto 40px;
}
.about_con01list li h3{
    font-size: 4vw;
    text-align: center;
    margin: 0 auto 15px;
}
.about_con01list li p{
    font-size: 3.8vw;
    text-align: left;
    margin: 0 auto 22px;
}
.about_con01list li a{
  position: relative;
  color: #fff;
  width: 100%;
  background-color: #C7312D;
  padding: 1.565vw 0;
  line-height: 1;
  font-size: 3.8vw;
  text-align: center;
  display: inline-block;
  transition: background-color 0.3s ease;
  letter-spacing: 0.5rem;
  font-weight: 600;
}
.about_con01list li a::after {
    position: absolute;
    content: "";
    width: 1.565vw;
    height: 0.782vw;
    background-image: url(../images/about/about_arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 1.304vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.about_con01_btntitle{
    font-size: 24px!important;
    text-align: center;
    margin-bottom: 55px!important;
}
.about_con02{
    color: #FFF;
    text-align: center;
    margin-bottom: 65.189vw;
}
.about_con02_inner{
    position: relative;
    background-color: #C7312D;
    width: 100.391vw;
    height: 113.429vw;
    margin-left: auto;
    top: 32.595vw;
    z-index: 1;
}
.about_con02_inner div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 58.67vw;
    text-align: left;
    margin: 0 auto;
    display: block;
}
.about_con02 h2{
}
.about_con02 p{
    text-align: left;
}
.about_con02map{
    position: absolute;
    width: 139.505vw;
    top: 7.823vw;
    left: -26.076vw;
}
.about_con03{
    color: #FFF;
    text-align: center;
    margin-bottom: 14.342vw;
}
.about_con03_inner{
    position: relative;
    background-color: #C7312D;
    width: 100.391vw;
    height: 105.606vw;
}
.about_con03_inner div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 67.145vw;
    text-align: left;
    margin: 0 auto;
    display: block;
}
.about_con03 picture{
    position: absolute;
    top: -7.823vw;
    right: 10.43vw;
    width: 71.708vw;
    height: 99.739vw;
}
.about_con03 .btn07{
    left: auto;
    transform: translate(0);
}
.about_con03 div .btn07_{
    margin-bottom: 6.519vw;
}


.about_con04{
    width: 143.416vw;
    text-align: center;
    margin: 100px auto;
}
.about_con04 h2{
    font-size: 4.954vw;
    font-weight: bold;
    margin: 0 auto 50px;
}
.about_con04 ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: space-between;
}
.about_con04 li{
    width: 48%;
    height: 10.43vw;
    font-size: 3.129vw;
    margin-bottom: 1.695vw;
    line-height: 1.2;
    background-color: #000000;
}
.about_con04 li a{
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #FFF;
}
.about_con04 li a:after{
    position: absolute;
    content: "";
    width: 2.608vw;
    height: 2.608vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 50%;
    right: 1.304vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
} */






/* information */
.information h2{
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.information h2:before{
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.information h3{
    font-size: 4.172vw;
    font-weight: bold;
    line-height: 1.5;
}
.information_btn{
    width: 90vw;
    margin: 18vw auto 20vw;
}
.information_btn ul{
    display: flex;
    flex-wrap: wrap;
    background-color: #FFFFFF;
    padding: 1.956vw 0;
    border-radius: 1.956vw;
    margin: 0 auto 50px;
}
.information_btn ul li {
    display: flex;
    flex-wrap: wrap;
    background-color: #F6F6F6;
    padding: 0;
    border-radius: 0;
    margin: 0 auto 1%;
}
.information_btn ul li:nth-child(odd) {
    margin-right: 2%;
}

.information_btn ul li {
    border-right: 0px solid #929292;
    width: 49%;
    font-size: 3.8vw;
    font-weight: bold;
}

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

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

.information_btn ul li a::after {
    position: absolute;
    content: "";
    width: 1.956vw;
    height: 1.956vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    right: 6.519vw;
    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: 3.8vw;
    font-weight: bold;
    width: 45.632vw;
    height: 8.605vw;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}
.information_btn div a::after{
    position: absolute;
    content: "";
    width: 2.608vw;
    height: 2.608vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 1.304vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.information_title{
    width: 100vw;
    margin: 0 auto 10vw;
    text-align: center;
}
.information_title h2{
    position: relative;
    font-size: 10vw;
    font-weight: 500;
    margin: 0 0 6.5vw 0;
    color: #C7322C;
}
.information_title h2:before{
    content: "";
    position: absolute;
    top: 13vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 0.3vw;
    background-color: #C7322C;
}
.information_title p{
    font-size: 3.8vw;
}
.information_message{
    position: relative;
    width: 100vw;
    display: flex;
    margin: 0 auto 10vw;
    justify-content: space-between;
    flex-direction: column;
}

.information_message_photo{
    order: 1;
    position: static;
    width: 90vw;
    height: auto;
    right: -19.557vw;
    display: flex;
    box-shadow: 4vw 4vw 0 #C7322C;
    margin-bottom: 13vw;
}
.information_message div{
    order: 2;
    width: 90vw;
    margin: 0 auto 8vw;
}
.information_message h2{
    font-size: 11vw;
    font-weight: 400;
    margin: 0 0 5vw;
    line-height: 1;
}
.information_message h2:before{
    width: 0;
}
.information_message p{
    font-size: 3.8vw;
    line-height: 1.8;
}
.information_message_sign {
    width: 75vw;
    margin-top: 8vw;
    margin-left: auto;
    display: block;
}
.information_philosophy{
    width: 90vw;
    margin: 0 auto 10vw;
}
.information_overview{
    width: 90vw;
    margin: 0 auto 10vw;
}
.information_info {
  font-size: 3.8vw;
  border-collapse: collapse;
  width: 100%;
  overflow: hidden;
  margin-bottom: 20vw;
}
.information_info td {
    border-bottom: 1px solid #B9B9B9;
    padding: 3vw 0;
    line-height: 1.2;
}
.information_info td:first-child {
    font-weight: bold;
}

.information_info tr:first-child td:first-child {
  width: 35%;
  white-space: nowrap;
}
.information_overview .map{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 8vw;
}
.information_overview .map div{
    width: 100%;
    margin-bottom: 12vw;
}
.information_overview .map h3{
    font-size: 3.8vw;
    font-weight: bold;
    margin-bottom: 2vw;
}
.information_overview .map iframe{
    width: 90vw;
    margin-bottom: 3vw;
}
.information_overview .map p{
    font-size: 3.2vw;
}
.information_group{
    width: 90vw;
    margin:  0 auto 10vw;
}
.information_group_title h3{
    margin: 0 0 10vw;
}
.information_group_title p{
    width: 100%;
    font-size: 3.8vw;
    margin:  0 auto 150px;
}
.information_group_con{
    margin-bottom: 25vw;
}
.information_group_contitle{
    position: relative;
    margin: 0 0 10vw;
}
.information_group_contitle::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.information_group_contitle h3{
    position: relative;
    width: 100%;
    width: fit-content;
    font-size: 5.5vw;
}
.information_group_contitle h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}

.information_group_introduction{
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #D4D4D4;
    flex-direction: column;
}
.information_group_introduction_{
    margin-bottom: 6.5vw;
    border-bottom: solid 0 #D4D4D4;
}
.information_group_introduction div{
    width: 100%;
    order: 2;
    padding-bottom: 5vw;
}
.information_group_introduction img{
    order: 1;
    width: 100%;
    height: 100%;
    margin-bottom: 5vw;
}
.information_group_text{
    margin:  0 auto 5vw;
    border-bottom: solid 1px #D4D4D4;
}
.information_group_text_{
    margin:  0;
    border-bottom: solid 0 #D4D4D4;
}
.information_group_text__{
    padding:  3.911vw 0 0 ;
    border-bottom: solid 0 #D4D4D4;
    border-top: solid 1px #D4D4D4;
}
.information_group_text__ a{
    margin-bottom: 6.519vw;
}
.information_group_text h4{
    font-size: 3.8vw;
    font-weight: bold;
    margin-bottom: 0.652vw;
}
.information_group_text p{
    font-size: 3.2vw;
}
.information_group_text a{
    position: relative;
    width: fit-content;
    margin-top: 3.259vw;
    display: block;
    font-size: 3.8vw;
}
.information_group_text a::after{
    position: absolute;
    content: "";
    width: 2vw;
    height: 3vw;
    background-image: url(../images/common/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 3vw;
    top: 55%;
    right: -4vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.information_group_service{
    display: flex;
    padding: 5vw 0;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: solid 1px #D4D4D4;
    flex-direction: column;
}
.information_group_service_{
    display: flex;
    padding: 5vw 0;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: solid 0 #D4D4D4;
    flex-direction: column;
}
.information_group_service h4{
    position: relative;
    font-size: 3.8vw;
    padding-left: 5vw;
    line-height: 1;
    margin-bottom: 3vw;
}
.information_group_service h4::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.information_group_service p{
    width: 100%;
    font-size: 3.2vw;
    color: #5A5A5A;
}
.information_group_con .btn01{
    width: 90vw;
    display: flex;
    text-align: center;
    margin: 10vw auto 0;
    justify-content: center;
    flex-direction: column;
}
.information_group_introduction .btn01{
        width: 70vw;
        height: auto;
        margin: 0 auto;
        line-height: 1.2;
}


/* bussinesscontent */
.bussinesscontent_btn{
    width: 90vw;
    margin: 20vw auto 10vw;
}
.bussinesscontent_btn ul{
    display: flex;
    background-color: #FFF;
    padding: 0;
    border-radius: 0;
    margin: 0 auto;
    flex-direction: column;
}
.bussinesscontent_btn ul li{
    border-right: 0px solid #929292;
    background-color: #F6F6F6;
    display: flex;
    width: 100%;
    font-size: 3.8vw;
    font-weight: bold;
    justify-content: space-between;
    line-height: 1.3;
    margin-bottom: 2vw;
}
.bussinesscontent_btn ul li:last-child{
    border-right: 0px solid #929292;
}
.bussinesscontent_btn ul li span{
    font-size: 2.8vw;
    font-weight: 300;
}
.bussinesscontent_btn ul li a{
    width: 100%;
    position: relative;
    margin: 0 auto;
    padding: 3vw 0;
    text-align: center;
}
.bussinesscontent_btn ul li a::after{
        position: absolute;
        content: "";
        width: 3vw;
        height: 3vw;
        background-image: url(../images/common/arrow05.png);
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 0;
        top: 60%;
        right: 5vw;
        transform: translateY(-50%) translateX(0);
        transition: transform 0.3s ease;
}
.bussinesscontent h2{
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.bussinesscontent h2:before{
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.bussinesscontent_title{
    width: 100vw;
    margin: 15vw auto 10vw;
    text-align: center;
}
.bussinesscontent_title h2{
    position: relative;
    font-size: 10vw;
    font-weight: 500;
    margin: 0 0 6.5vw 0;
    color: #C7322C;
    text-align: center;
}
.bussinesscontent_title h2:before{
    content: "";
    position: absolute;
    top: 13vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 0.3vw;
    background-color: #C7322C;
}
.bussinesscontent_title p{
    font-size: 3.8vw;
    text-align: center;
}

.bussinesscontent_con01{
    display: flex;
    flex-direction: column;
    width: 90vw;
    margin: 40px auto 70px;
    gap: 3.911vw;
}
.bussinesscontent_con01 p{
    font-size: 3.8vw;
}
.bussinesscontent_con01 li{
    position: relative;
    display: flex;
    width: 100%;
    background-color: #C7312D;
    flex-direction: column;
}
.bussinesscontent_con01 li img{
    width: 100%;
    height: 100%;
}
.bussinesscontent_con01 li div{
    text-align: left;
    padding: 5vw 5vw 10vw;
}
.bussinesscontent_con01 li h3{
    font-size: 5.5vw;
    font-weight: bold;
    background-color: #C7312D;
    color: #FFF;
    margin: 0 0 2vw;
}
.bussinesscontent_con01 li p{
    font-size: 3.8vw;
    font-weight: 400;
    text-align: left;
    color: #FFF;
}
.bussinesscontent_con01 li a {
    position: absolute;
    font-size: 3.8vw;
    font-weight: 400;
    color: #FFF;
    bottom: 3.911vw;
    right: 7.823vw;
}
.bussinesscontent_con01 li a:before{
    position: absolute;
    content: "";
    width: 1vw;
    height: 1.825vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 50%;
    right: -2.608vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.bussinesscontent_con02{
    position: relative;
    width: 90vw;
    display: flex;
    margin: 0 auto 160px;
    text-align: center;
    flex-direction: column;
}
.bussinesscontent_con02 div{
    width: 100%;
    text-align: center;
}
.bussinesscontent_con02 .bussinesscontent_title{
    width: 100%;
    margin: 0 0 5.215vw;
}
.bussinesscontent_con02 h3{
    font-size: 4.172vw;
    font-weight: 400;
    text-align: left;
    margin-bottom: 6.519vw;
}
.bussinesscontent_con02 img{
    width: 100%;
    position: static;
    right: -19.557vw;
    margin-bottom: 5vw;
}
.bussinesscontent_con03{
    width: 100%;
    margin: 0 auto 150px;
    border-top: solid 1px #929292;
}
.bussinesscontent_con03 h2{
    text-align: center;
    font-size: 5vw;
    margin: 15vw auto 8vw;
}
.bussinesscontent_con03 h2:before{
    width: 0;
}
.bussinesscontent_con03 ul{
    width: 90vw;
    display: flex;
    gap: 5vw;
    text-align: center;
    margin: 0 auto;
    flex-direction: column;
}
.bussinesscontent_con03 ul li{
    width: 90vw;
    margin-bottom: 6vw;
    padding-bottom: 4vw;
    border-bottom: solid 1px #929292;
}
.bussinesscontent_con03 ul li img{
    margin-bottom: 4vw;
}
.bussinesscontent_con03 ul li .link {
    position: relative;
    display: block;
    font-size: 3.8vw;
    font-weight: bold;
    text-align: left;
    padding-left: 3vw;
}

.bussinesscontent_con03 ul li .link::after {
    position: absolute;
    content: "→";
    font-size: 3.8vw;
    color: #C7312D;
    top: 50%;
    right: 3vw;
    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: 90vw;
    margin: 18vw auto 20vw;
}
.newinformation_tab .tabs{
    display: flex;
    font-size: 3.8vw;
    font-weight: bold;
    border-bottom: 1px solid #4A4A4A;
}
.newinformation_tab .tab{
    width: 33%;
    display: flex;
    padding: 1vw 0;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
    background: #F3F3F3;
    margin-right: 1%;
    justify-content: center;
    align-items: center;
}
.newinformation_tab .tab.active {
    background-color: #000;
    color: #FFF;
}
.newinformation_tab .tab-content {
    display: none;
    width: 90vw;
    margin: 0 auto;
    background: #fff;
}
.newinformation_tab .tab-content.active {
    display: block;
}
.newinformation_tab .tab-content ul{
    margin: 5vw auto 10vw;
}
.newinformation_tab .tab-content ul li a{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5vw;
    align-items: center;
    padding-bottom: 5vw;
    border-bottom: 1px solid #000;
}
.newinformation_tab .tab-content ul li .day{
    width: 100%;
    font-size: 3.2vw;
    color: #858585;
    margin-right: 0;
    margin-bottom: 2vw;
}
.newinformation_tab .tab-content ul li .tag{
    font-size: 3.2vw;
    width: 20%;
    padding: 0.3vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 3vw;
}
.newinformation_tab .tab-content ul li .copy{
    width: 70%;
    font-size: 3.2vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
}
.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: 3.2vw;
    line-height: 1.8;
    display: flex;
    width: 5vw;
    height: 6vw;
    margin: 0px 1vw;
    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: 3.2vw;
    margin: 0px 2.5vw;
    border: 0 solid #000;
    width: fit-content;
}


/* spタブ */
.year-filter-select{
    width: 100%;
    height: 10vw;
    font-size: 3.2vw;
    padding: 1vw 2vw;
}

/* case */
.case_btn{
    width: 90vw;
    margin: 20vw auto 10vw;
}
.case_btn ul{
    display: flex;
    background-color: #FFF;
    padding: 0;
    border-radius: 0;
    margin: 0 auto;
    flex-direction: column;
}
.case_btn ul li{
    border-right: 0px solid #929292;
    background-color: #F6F6F6;
    display: flex;
    width: 100%;
    font-size: 3.8vw;
    font-weight: bold;
    justify-content: space-between;
    line-height: 1.3;
    margin-bottom: 2vw;
}
.case_btn ul li:last-child{
    border-right: 0px solid #929292;
}
.case_btn ul li span{
    font-size: 2.8vw;
    font-weight: 300;
}
.case_btn ul li a{
    width: 100%;
    position: relative;
    margin: 0 auto;
    padding: 3vw 0;
    text-align: center;
}
.case_btn ul li a::after{
        position: absolute;
        content: "";
        width: 3vw;
        height: 3vw;
        background-image: url(../images/common/arrow05.png);
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 0;
        top: 60%;
        right: 5vw;
        transform: translateY(-50%) translateX(0);
        transition: transform 0.3s ease;
    }
.case_con{
    width: 90vw;
    margin: 0 auto 20vw;
}

.case_title{
    margin: 0 auto 20px;
}
.case_title img{
    margin-bottom: 6.519vw;
}
.case_title div{
    display: flex;
    font-size: 2.8vw;
    gap: 5vw;
    align-items: center;
    margin-bottom: 2vw;
}
.case_title .en{
    color: #C7322C;
    font-size: 4.302vw;
    font-weight: 500;
}
.case_title h2{
    font-size: 6.5vw;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 8vw;
}
.case_title h2:before {
    width: 0;
}
.case_keyword{
    margin-bottom: 8vw;
}
.case_keyword_title{
    position: relative;
    margin: 0 0 10vw;
}
.case_keyword_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.case_keyword_title h3{
    position: relative;
    width: 28.683vw;
    font-size: 5.5vw;
}
.case_keyword_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}
.case_keyword ul{
    display: flex;
    flex-wrap: wrap;
    gap: 1.304vw;
}
.case_keyword ul li{
    width: 32%;
    text-align: center;
    display: block;
    font-size: 3.8vw;
    padding: 1.5vw 0;
    border-radius: 4vw;
    background-color: #ECECEC;
}
.case_detail{
    margin-bottom: 7.823vw;
}
.case_detail_title{
    position: relative;
    margin: 0 0 10vw;
}
.case_detail_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.case_detail_title h3{
    position: relative;
    width: 28.683vw;
    font-size: 5.5vw;
}
.case_detail_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}
.case_detail_con{
    display: flex;
    margin-bottom: 6vw;
    flex-direction: column;
}
.case_detail_con h4{
        width: 100%;
        font-size: 3.8vw;
        margin-bottom: 2vw;
}
.case_detail_con h4 span{
    color: #C7312D;
}
.case_detail ul{
    display: flex;
    gap: 2vw;
    flex-direction: column;
}
.case_detail ul li{
    display: block;
    font-size: 3.2vw;
    line-height: 1;
}
.case_tel{
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    background-color: #F8F8F8;
    height: 29.987vw;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}
.case_tel div{
    position: relative;
    width: 80.834vw;
    height: 16.949vw;
    font-size: 2.8vw;
    color: #FFF;
    background-color: #C7312D;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 1.5vw;
}
.case_tel div::after{
    position: absolute;
    content: "";
    width: 10vw;
    height: 10vw;
    background-image: url(../images/case/tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: 4vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
    border-radius: 0;
}
.case_tel p{
    margin-left: 12vw;
    line-height: 1.5;
}
.case_tel .tel{
    font-size: 3.8vw;
}
.case_tel .tel span{
    font-size: 6vw;
    font-style: normal;
}

/* officeintroduction */
.officeintroduction_con{
    width: 90vw;
    margin: 0 auto;
}
.officeintroduction_copy{
    font-size: 4.5vw;
    font-weight: bold;
    margin: 15vw auto 10vw;
    text-align: center;
}
.officeintroduction_title{
    position: relative;
    margin: 0 0 10vw;
}
.officeintroduction_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.officeintroduction_title h3{
    position: relative;
    width: 28.683vw;
    font-size: 5.5vw;
    white-space: nowrap;
}
.officeintroduction_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}
.officeintroduction_con .officeintroduction_list{
    margin-bottom: 19.557vw;
}
.officeintroduction_con ul {
    width: 90vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
}
.officeintroduction_con ul li a{
    position: relative;
    width: 90vw;
    margin-bottom: 5vw;
    display: flex;
    border: solid 1px #000;
}
.officeintroduction_con ul li .officecopy{
    position: relative;
    width: 60vw;
    padding: 4vw 5vw 3vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.officeintroduction_con ul li .officecopy::before{
    position: absolute;
    content: "";
    width: 1.304vw;
    height: 1.956vw;
    background-image: url(../images/common/arrow03.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 50%;
    right: 1.956vw;
    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: center;
}
.officeintroduction_con ul li .cat{
    font-size: 3.2vw;
    font-weight: bold;
    border: solid 1px #000;
    padding: 0.391vw 1.565vw;
    margin-right: 1.956vw;
}
.officeintroduction_con ul li h4{
    width: 33vw;
    font-size: 3.8vw;
    font-weight: bold;
    line-height: 1.2;
}
.officeintroduction_con .officeadress{
    font-size: 2.8vw;
    text-align: left;
    letter-spacing: 0;
}
.officeintroduction_con picture{
    top: 0;
    left: 0;
    display: block;
    width: 30vw;
    height: 30vw;
    overflow: hidden;
}
.officeintroduction_con picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* contact */
.contact {
padding: 20vw 0 20vw;
}
.contact-inner {
  width: 90vw;
  max-width: 100%;
  margin: 0 auto;
}
.contact-lead {
    text-align: center;
    font-size: 4.5vw;
    margin-bottom: 4vw;
}
.contact-form {
  font-size: 1.825vw;
}
.contact-list {
  list-style: none;
  margin: 0 0 20vw;
  padding: 0;
}
.contact-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 5vw;
    flex-direction: column;
}
.contact-row-textarea {
  align-items: stretch;
}
.contact-label {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 2vw;
}
.contact-label span {
  display: inline-block;
  font-size: 2.3vw;
  color: #fff;
  background: #b40000;
  padding: 0.5vw 2vw;
  margin-right: 3vw;
}
.contact-label p{
    display: flex;
    font-size: 3.8vw;
    line-height: 1.2;
    align-items: flex-end;
}
.contact-field {
  flex: 1;
}
.contact-input,
.contact-textarea,
.contact-select {
    width: 90vw;
    border: 1px solid #ccc;
    padding: 1.5vw 2vw;
    font-size: 3.8vw;
    box-sizing: border-box;
}
.contact-textarea,
{
  height: 80vw;
  resize: vertical;
}
.contact-note {
    font-size: 2.8vw;
    margin-left: 2vw;
    color: #8D8D8D;
}
.contact-privacy {
  text-align: center;
}
.contact-privacy-title {
  font-size: 3.8vw;
  margin-bottom: 3vw;
}
.contact-privacy-box {
    width: 90vw;
    height: 30vw;
    border: 1px solid #ccc;
    padding: 3vw;
    box-sizing: border-box;
    overflow-y: auto;
    text-align: left;
    font-size: 2.8vw;
    line-height: 1.6;
    margin: 0 auto 10vw;
}
.contact-privacy-agree {
  margin: 5vw auto 10vw;
}
.contact-privacy-agree label {
    font-size: 3.2vw;
    cursor: pointer;
    background-color: #EFEFEF;
    padding: 2vw 15vw;
}
.contact-privacy-agree input[type="checkbox"] {
  margin-left: 2vw;
}
.contact-actions p{
    display: flex;
    justify-content: space-between;
    max-width: 100%;
    margin: 0 auto;
    flex-direction: column;
}
.contact-btn {
  width: 80vw;
  padding: 3vw 0;
  font-size: 3.2vw;
  border: 1px solid #000;
  background: #fff;
  cursor: pointer;
  text-align: center;
}
.contact-btn-reset {
    margin: 0 auto;
    order: 2;
}
.contact-btn-submit {
  background: #000;
  color: #fff;
    margin: 0 auto 5vw;
    order: 1;
}
.contact-btn-submit:disabled {
  background: #ccc;
  border-color: #ccc;
  color: #fff;
  cursor: not-allowed;
}

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

/* contact_fix */
.contact_fix{
    text-align: center;
}
.contact_fix h2{
    font-size: 5.5vw;
    margin-bottom: 5vw;
}
.contact_fix h2::before{
    width: 0!important;
}
.contact_fix .contact-lead{
    font-size: 3.2vw;
    margin-bottom: 10vw;
}


/* ir */
.ir{
    width: 90vw;
    margin: 135px auto 150px;
}
.ir_title{
    position: relative;
    margin: 0 0 10vw;
}
.ir_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.ir_title h3{
    position: relative;
    text-align: left;
    width: 28.683vw;
    font-size: 5.5vw;
    white-space: nowrap;
}
.ir_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}
.ir_con{
    text-align: center;
    margin: 0 auto 20vw;
}
.ir_con ul{
    margin: 0 auto 10vw;
}
.ir_con ul li a{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5vw;
    align-items: center;
    padding-bottom: 5vw;
    border-bottom: 1px solid #000;
}
.ir_con ul li .day{
    width: 100%;
    font-size: 3.2vw;
    color: #858585;
    margin-right: 0;
    margin-bottom: 2vw;
    text-align: left;
}
.ir_con ul li .tag{
    font-size: 2.4vw;
    width: 25%;
    padding: 0.5vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 3vw;
}
.ir_con ul li .tag_{
    letter-spacing: 0;
    line-height: 1.2;
    padding: 0.8vw 0;
}
.ir_con ul li .copy{
    width: 70%;
    font-size: 3.2vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
}
.ir_hum {
  width: 90vw;
  border-bottom: 1px solid #000;
  margin: 0 auto;
}
.ir_hum_{
  border-top: 1px solid #000;
}
.ir_hum_btn {
  width: 90vw;
  padding: 5vw 2vw 2vw;
  border: none;
  background: #FFF;
  font-size: 3.8vw;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ir_hum_title {
font-size: 3.8vw;
  display: inline-block;
}
.ir_hum_icon {
  font-size: 3.8vw;
}
.ir_hum_content {
  /* max-height: 0; */
  overflow: hidden;
  padding: 0 1.5vw 5vw;
  transition: max-height 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
  background: #fff;
  font-size: 3.8vw;
  line-height: 1.6;
}
.ir_hum.is-open .ir_hum_content {
  padding-top: 1.304vw;
  padding-bottom: 3.259vw;
  max-height: 65.189vw;
}
.ir_btn{
    width: 90vw;
    display: flex;
    margin: 10vw auto 0;
    flex-direction: column;
}
.ir_btn .btn06{
    width: 90vw;
    display: flex;
    margin: 0 auto 5vw;
    padding: 4vw 0;
    text-align: center;
    justify-content: center;
}

/* financial */
.report_tab{
    width: 90vw;
    margin: 40vw auto 15vw;
}
.report_tab .tabs{
    display: flex;
    font-size: 3.8vw;
    font-weight: bold;
    border-bottom: 1px solid #4A4A4A;
}
.report_tab .tab{
    width: 50vw;
    display: flex;
    padding: 1.043vw 0;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
    background: #F3F3F3;
    margin-right: 1.304vw;
    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{
    position: relative;
    width: 90vw;
    display: flex;
    margin: 50px auto;
}
.tab-flex .btn03{
    width: 49.544vw;
    text-align: center;
    margin: 0 auto 100px;
    display: block;
}
.report_tab .tab-content.active {
    display: block;
}
.report_tab .tab-content .tab-list{
    position: absolute;
    width: 90vw;
    top: -30vw;
}
.report_tab .tab-content .tab-list p{
    font-size: 5vw;
    font-weight: bold;
    margin-bottom: 3vw;
    text-align: center;
}
.report_tab .tab-content .tab-list li:first-child{
    width: 100%;
    display: flex;
    text-align: center;
    justify-content: center;
}
.report_tab .tab-content .tab-list li{
    width: 48%;
    position: relative;
    padding: 2.5vw;
    font-size: 3.2vw;
    background-color: #F5F5F5;
    border-bottom: 0 solid #000;
}
.report_tab .tab-content .tab-list li::before{
    position: absolute;
    content: "";
    width: 2.5vw;
    height: 2.5vw;
    background-image: url(../images/common/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: auto;
    right: 2vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.report_tab .tab-content ul{
    width: 90vw;
    margin: 0 auto;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.report_tab .tab-content ul li{
    width: 100%;    
}
.report_tab .tab-content ul li a{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5vw;
    align-items: center;
    padding-bottom: 5vw;
    border-bottom: 1px solid #000;
    width: 100%;
}
.report_tab .tab-content ul li .day{
    width: 100%;
    font-size: 3.2vw;
    color: #858585;
    margin-right: 0;
    margin-bottom: 2vw;
}
.report_tab .tab-content ul li .tag{
    font-size: 2.4vw;
    width: 23%;
    padding: 0.7vw 0;
    text-align: center;
    border: solid 1px #858585;
    margin-right: 3vw;
    line-height: 1.2;
}
.report_tab .tab-content ul li .copy{
    padding-left: 5.5vw;
    width: 67%;
    font-size: 3.2vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
}
.report_tab .tab-content ul li .copy::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4vw;
    height: 4vw;
    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 li{
    width: fit-content;
    border-bottom: 0 solid #000;
}
.report_tab .pagination ul .page-numbers{
    font-size: 3.2vw;
    line-height: 1;
    display: flex;
    width: 5vw;
    height: 6vw;
    margin: 0px 1vw;
    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: 3.2vw;
    margin: 0px 2.5vw;
    border: 0 solid #000;
    width: fit-content;
}

/* recruit */
.recruit_title{
    position: relative;
    max-width: 100vw;
    margin: 0 auto 50vw;
}
.recruit_title img{
    display: block;
    max-width: 177.314vw;
    margin: 0 auto;
}
.recruit_title .pan{
    position: absolute;
    top: 2.608vw;
    left: 6.519vw;
    z-index: 1;
}
.recruit_title div{
    width: 90vw;
    position: absolute;
    bottom: -10vw;
    left: 50%;
    transform: translateX(-50%);
}
.recruit_title h2 {
    position: relative;
    font-size: 10vw;
    font-weight: 500;
    margin: 0 0 4.5vw 0;
    color: #C7322C;
    text-align: center;
}
.recruit_title h2:before {
    content: "";
    position: absolute;
    top: 16vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 0.3vw;
    background-color: #C7322C;
}
.recruit_title p {
    font-size: 3.8vw;
    text-align: center;
}
.recruit_btn{
    position: absolute;
    width: 90vw;
    top: -50vw;
    margin: 0 auto;
}
.recruit_btn ul{
    width: 80vw;
    display: flex;
    background-color: #FFF;
    padding: 0;
    border-radius: 0;
    margin: 0 auto;
    flex-direction: column;
}
.recruit_btn ul li{
    background-color: #F6F6F6;
    padding: 2.5vw;
    border-right: 1px solid #929292;
    display: flex;
    width: 80vw;
    font-size: 3.8vw;
    font-weight: bold;
    justify-content: space-between;
    line-height: 1.3;
    margin-bottom: 3vw;
}
.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.956vw;
    height: 1.956vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 60%;
    right: -5.215vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.recruit_tab{
    position: relative;
    width: 90vw;
    margin: 70vw auto 15vw;
}
.recruit_tab .tabs{
    width: 90vw;
    display: flex;
    font-size: 4vw;
    font-weight: bold;
    margin-bottom: 7.823vw;
    border-bottom: 1px solid #4A4A4A;
    justify-content: space-between;
}
.recruit_tab .tab{
    width: 49%;
    display: flex;
    padding: 1vw 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 5.215vw;
}
.recruith3_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.recruith3_title h3{
    position: relative;
    white-space: nowrap;
    width: 28.683vw;
    font-size: 5.5vw;
    font-weight: 600;
}
.recruith3_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #C7312D;
}
.recruit_con{
    width: 90vw;
    margin-bottom: 20vw;
}
.recruit_con ul li{
    display: flex;
    justify-content: space-around;
    padding: 4vw 0;
    border-bottom: 1px solid #CCCCCC;
    flex-direction: column;
}
.recruit_con ul li h4{
    font-size: 3.8vw;
    font-weight: bold;
    text-align: left;
    width: 100%;
    margin-bottom: 1vw;
}
.recruit_con ul li p{
    font-size: 3.2vw;
    text-align: left;
    width: 100%;
}
.recruit_con ul li img{
    width: 100%;
    margin-bottom: 3vw;
}
.recruit_con ul li iframe{
    width: 90vw;
    height: 75vw;
}

.recruit_con_2{
    margin-bottom: 20vw;
}
.recruit_con_2 h2 {
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.recruit_con_2 h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.recruit_con_2 ul li{
    padding: 6.519vw 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: 4vw;
    color: #C7322C;
    margin-bottom: 2.608vw;
}
.recruit_con_2 ul li div:first-child p{
    font-size: 4vw;
    font-weight: 500;
    margin-top: 0.261vw;
    color: #C7322C;
}
.recruit_con_2 ul li h4{
    font-size: 4vw;
    font-weight: 500;
    margin-right: 1.304vw;
}
.recruit_con_2 ul li p{
    font-size: 3.2vw;
    font-weight: 400;
    margin-top: 0;
}
.recruit_con_2 p{
    font-size: 3.2vw;
}
.recruit_con_2 iframe{
    width: 91.265vw;
    height: 51.369vw;
    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: 5vw;
    margin: 15vw auto 8vw;
}
.recruit_con_3 h2:before{
    width: 0;
}
.recruit_con_3 ul{
    width: 90vw;
    display: flex;
    gap: 5vw;
    text-align: center;
    margin: 0 auto;
    flex-direction: column;
}
.recruit_con_3 ul li{
    width: 90vw;
    display: flex;
    gap: 5vw;
    text-align: center;
    margin: 0 auto;
    flex-direction: column;
}
.recruit_con_3 ul li img{
    margin-bottom: 4vw;
}
.recruit_con_3 ul li .link {
    position: relative;
    display: block;
    font-size: 3.8vw;
    font-weight: bold;
    text-align: left;
    padding-left: 3vw;
}

.recruit_con_3 ul li .link::after {
    position: absolute;
    content: "→";
    font-size: 3.8vw;
    color: #C7312D;
    top: 50%;
    right: 3vw;
    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: 90vw;
    margin: 20vw auto 20vw;
    border-top: 1px solid #A0A0A0;
}
.terms_con ul li a{
    position: relative;
    display: block;
    width: 90vw;
    font-size: 3.8vw;
    font-weight: bold;
    padding: 4vw 7vw;
    border-bottom: 1px solid #A0A0A0;
}
.terms_con ul li a::after {
    position: absolute;
    content: "";
    width: 3vw;
    height: 3.5vw;
    background-image: url(../images/common/pdf.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 3vw;
    top: 50%;
    left: -1.956vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}

/* privacy */
.privacy_con{
    width: 90vw;
    font-size: 3.8vw;
    margin: 20vw auto;
}
.privacy_con_{
    margin-bottom: 10vw;
    padding-bottom: 10vw;
    border-bottom: 1px solid #000;
}
.privacy_con h2{
    font-size: 6.5vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10.43vw;
}
.privacy_con p{
    margin-bottom: 6.519vw;
    line-height: 2;
}
.privacy_con ul{
    margin-left: 3.911vw;
}
.privacy_con ul li{
    position: relative;
    line-height: 2;
}
.privacy_con ul li::before {
    content: "・";
    position: absolute;
    left: -2.608vw;
    top: 0px;
}

/* sitemap */
.sitemap_con{
    width: 90vw;
    margin: 10vw auto 5vw;
}
.sitemap_con_{
    margin-bottom: 19.557vw;
}
.sitemaph3_title{
    position: relative;
    margin: 0 0 10vw;
}
.sitemaph3_title::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #E0E0E0;
}
.sitemaph3_title h3{
    position: relative;
    white-space: nowrap;
    width: 28.683vw;
    font-size: 5.5vw;
    font-weight: 600;
}
.sitemaph3_title h3::before{
    content: "";
    position: absolute;
    bottom: -2.608vw;
    left: 0;
    width: 100%;
    height: 0.522vw;
    background-color: #606060;
}

.sitemap_con h4{
    position: relative;
    font-size: 5vw;
    font-weight: bold;
    padding-left: 4vw;
    margin-bottom: 6vw;
}
.sitemap_con h4::before{
    content: "▶︎";
    font-size: 2.5vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.sitemap_con h5{
    position: relative;
    font-size: 3.8vw;
    font-weight: bold;
    padding-left: 4vw;
    margin-bottom: 4vw;
    line-height: 1.3;
}
.sitemap_con h5::before{
    content: "▶︎";
    font-size: 2.5vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.sitemap_office{
    margin-bottom: 5.215vw;
}
.sitemap_office div{
    display: flex;
    flex-wrap: wrap;
    padding-left: 4vw;
    margin-bottom: 6vw;
    font-size: 3.2vw;
}
.sitemap_office p{
    width: 100%;
    position: relative;
    margin-right: 0;
    margin-bottom: 1.5vw;
}
.sitemap_office p::before{
  position: absolute;
  content: "";
  width: 1vw;
  height: 1.825vw;
  background-image: url(../images/common/arrow06.svg);
  background-size: contain;
  background-repeat: no-repeat;
  right: -2.608vw;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.sitemap_office a{
    position: relative;
    padding: 0 4vw;
    margin-bottom: 1.5vw;
}
.sitemap_office a::before{
    content: "▶︎";
    font-size: 2.5vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

/* history */
.history_btn h2 {
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.history_btn h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.history_btn{
    width: 90vw;
    margin: 20vw auto 15vw;
}
.history_btn ul{
    display: flex;
    flex-wrap: wrap;
    background-color: #FFF;
    padding: 0;
    border-radius: 0;
    margin: 0 auto;
    justify-content: space-between;
}
.history_btn ul li {
    border-right: 0px solid #929292;
    background-color: #F6F6F6;
    width: 49%;
    font-size: 3.8vw;
    font-weight: bold;
    margin-bottom: 2vw;
}
.history_btn ul li:last-child {
    border-right: 0;
}
.history_btn ul li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 2vw;
    text-align: center;
    box-sizing: border-box;
}
.history_btn ul li a::after {
    position: absolute;
    content: "";
    width: 1.956vw;
    height: 1.956vw;
    background-image: url(../images/common/arrow05.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    right: 6.519vw;
    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: 3.8vw;
    font-weight: bold;
    width: 45.632vw;
    height: 8.605vw;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}
.history_btn div a::after{
    position: absolute;
    content: "";
    width: 2.608vw;
    height: 2.608vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 1.304vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_con {
}
.history_timeline {
  position: relative;
  width: 90%;
  max-width: 90vw;
  margin: 0 auto 15vw;
}
/* 縦ライン */
.history_timeline::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: #000;
}
/* 元号見出し */
.history_block {
  padding-bottom: 10.43vw;
}
.era_label {
    width: 100%;
    margin: 0 0 5vw;
    border-bottom: solid 1px #C7322C;
}
.era_label span{
        width: 20vw;
        background: #C7322C;
        display: inline-block;
        padding: 0.5vw 0;
        text-align: center;
        color: #fff;
        font-size: 4vw;
        font-weight: bold;
}
/* 年＋内容 */
.history_item {
    position: relative;
    display: flex;
    margin-bottom: 0;
    flex-direction: column;
}
.history_year {
    position: relative;
    top: 6vw;
    width: 20vw;
    font-size: 5vw;
    font-style: normal;
    font-weight: bold;
    line-height: 1;
}
.history_year span{
  font-size: 4.5vw;
}
.history_year::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    background-color: #000;
    margin-left: 2.608vw;
    top: 3.911vw;
    right: -5.215vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_year::before {
    position: absolute;
    font-size: 0;
    color: #000;
    content: "●";
    margin-left: 0;
    top: 3.911vw;
    right: -0.847vw;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
}
.history_content {
    position: relative;
    width: 100%;
    flex: 1;
    padding-left: 0;
    border-left: 0px solid #000;
}
.history_text{
    width: 68vw;
    margin-left: 22vw;
}
.history_text .history_sub {
  font-size: 3.8vw;
  font-weight: 300;
}
.history_text .history_desc {
  font-size: 3.8vw;
  font-weight: 400;
}
.history_images {
    display: flex;
    gap: 5vw;
    margin-top: 5vw;
    flex-direction: column;
}
.history_images figure {
  width: 100%;
}
.history_images img {
  width: 100%;
  display: block;
}
.history_other{
    width: 100%;
    margin: 0 auto;
}
.history_other h2{
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 30px;
}
.history_other ul {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 10vw;
    justify-content: space-between;
}
.history_other ul li{
    width: 100%;
    height: 15vw;
    font-size: 3.8vw;
    line-height: 1.5;
    margin-bottom: 2vw;
    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: 2.608vw;
    height: 2.608vw;
    background-image: url(../images/common/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 50%;
    right: 2.608vw;
    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;
}
.panga{
    flex-wrap: wrap;
}
.pangali{
    width: 30vw;
    margin-bottom: 0.5vw;
}
.main_copyconga{
    top: 57%!important;
}
.governance_con {
    width: 90vw;
    margin: 20vw auto 15vw;
}
.governance_con h2{
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.governance_con h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.governance_con h3{
    font-size: 5vw;
    font-weight: bold;
    margin-bottom: 4vw;
}
.governance_con p{
    font-size: 3.8vw;
    margin-bottom: 6.5vw;
}
.governance_con a{
    font-size: 3.8vw;
    text-decoration: underline;
}

/* kizi */
.kizi_title{
    width: 90vw;
    margin: 0 auto 10vw;
}
.kizi_title div{
    display: flex;
    align-items: center;
    margin-bottom: 10px
}
.kizi_title .day{
    font-size: 3.8vw;
    margin-right: 3.911vw;
}
.kizi_title .tag{
    font-size: 3.8vw;
}
.kizi_title h1{
    font-size: 6.5vw;
    font-weight: 600;
    border-bottom: solid 1px #000;
    margin-bottom: 8vw;
    padding-bottom: 5vw;
}
.kizi_con{
    width: 90vw;
    margin: 0 auto 20vw;
}
.kizi_con p{
    font-size: 3.8vw;
}
.kizi_con a{
    text-decoration: underline;
}

.kizi_other{
    width: 100%;
    margin: 0 auto;
    background-color: #F8F8F8;
}
.kizi_other_inner{
    width: 90vw;
    padding: 15vw 0;
    margin: 10vw auto 0;
    text-align: center;
}
.kizi_other_inner h2{
    font-size: 5vw;
    font-weight: bold;
    text-align: left;
    border-bottom: solid 1px #000;
    padding-bottom: 3vw;
    margin-bottom: 4vw;
}
.kizi_other ul{
    margin-bottom: 10vw;
}
.kizi_other ul li{
    width: 100%;
}
.kizi_other ul li a{
    width: 90vw;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 3.2vw;
    margin-bottom: 3vw;
    padding-bottom: solid 1px #000;
}
.kizi_other ul li a div{
    width: 25%;
    display: flex;
}
.kizi_other ul li .day{
    width: 100%;
    text-align: left;
    margin-bottom: 2vw;
}
.kizi_other ul li .cat{
    width: 20vw;
    margin-right: 2vw;
    text-align: left;
    border: solid 1px #000;
    background-color: #FFF;
}
.kizi_other ul li .cat span{
    display: block;
    padding: 0.3vw 1.5vw;
    text-align: center;
}
.kizi_other .title{
    width: 68vw;
    font-size: 3.2vw;
    text-align: left;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* service */
.service_con01{
    background-color: #F8F8F8;
}
.service_con01_inner{
    width: 90vw;
    margin: 0 auto;
    padding: 14.993vw 0 16.949vw;
}
.service_con01_inner2{
    width: 90vw;
    margin: 0 auto;
    padding: 14.993vw 0 16.949vw;
}
.service_con01_inner2 img{
    width: 90vw;
    margin: 0 auto;
    margin-bottom: 10vw;
}
.service_con01 h2{
        font-size: 6.5vw;
        font-weight: bold;
        margin-bottom: 8vw;
        text-align: center;
}
.service_con01 p{
    font-size: 3.8vw;
    margin: 0 auto 10vw;
}
.service_con01 ul{
    display: flex;
    justify-content: space-around;
    margin-bottom: 5vw;
    flex-direction: column;
}
.service_con01 ul li{
    display: flex;
    position: relative;
    width: 100%;
    margin-bottom: 5vw;
    padding-bottom: 5vw;
    border-bottom: solid 1px #000;
}
.service_con01 ul li img{
        width: 20vw;
        height: 20vw;
        display: block;
        margin: 0 auto;
}
.service_con01 ul li .copy{
    margin-left: 3vw;
    width: 70vw;

}
.service_con01 ul li h3{
    font-size: 4.5vw;
    text-align: left;
    margin-bottom: 1.5vw;
    white-space: nowrap;
}
.service_con01 ul li p{
    font-size: 3.8vw;
    margin-bottom: 0;
}
.service_con01 ul li .link{
    position: absolute;
    right: 3vw;
    top: 2vw;
    bottom: auto;
    width: fit-content;
}
.service_con01 ul li a{
    display: block;
    width: fit-content;
    position: relative;
    font-size: 2.8vw;
    padding: 0;
    background-color: #F7F7F7;
    color: #000;
    text-align: center;
}
.service_con01 ul li a::after{
    position: absolute;
    content: "";
    width: 4vw;
    height: 2vw;
    margin-left: 2vw;
    background-image: url(../images/common/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 55%;
    transform: translateY(-50%) translateX(0);
    transition: transform 0.3s ease;
    right: -6vw;
}
.service_con01 ul li .link_ a::after{
    background-image: url(../images/common/arrow02.png);
    width: 4vw;
    height: 2vw;
}

.service_con01 .btn{
    text-align: center;
}
.service_con01 .btn p{
    font-size: 5.5vw;
    font-weight: bold;
    margin-bottom: 10vw;
}

.service_con02{
    width: 90vw;
    margin: 15vw auto;
}
.service_con02real{
    width: 90vw;
    margin: 15vw auto 3vw;
}
.service_con02 h2 {
    position: relative;
    font-size: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.service_con_title h2{
    font-size: 6vw;
    margin: 0 0 5.5vw 0;
    padding-bottom: 6vw;
    text-align: center;
    border-bottom: solid 1px #000;
}
.service_con_title p{
    font-size: 3.8vw;
    margin-bottom: 3.911vw;
}
.service_con_title img{
    width: 90vw;
    margin: 0 auto 10vw;
    display: block;
}
.service_con02 h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.service_con_title h2:before{
    width: 0;
}
.service_con02_con{
    margin-bottom: 16.949vw;
}
.service_con02_copy{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.service_con02_copy_{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.service_con02_copy img{
    width: 100%;
    height: 100%;
    order: 1;
    margin-bottom: 8vw;
}

.service_con02_real img{
    margin: 0 auto;
}


.scroll-x {
    width: 95vw;
    margin-left: 5vw;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 25vw;
}

.scroll-x img {
    width: 160vw;
    max-width: none;
    display: block;
    margin-right: 5vw;
}



.service_con02_copy div{
    width: 100%;
    order: 2;
}
.service_con02_copy.service_con02_copy_ div{
    width: 100%;
}
.service_con02_copy div h3,.service_con02_copy_ div h3{
    font-size: 4.5vw;
    font-weight: bold;
    margin-bottom: 3vw;
    padding-bottom: 3vw;
    border-bottom: solid 1px #000;
}
.service_con02_copy div h4{
    width: fit-content;
    font-size: 3.8vw;
    font-weight: bold;
    margin-bottom: 2vw;
    padding: 0.6vw 1.5vw;
    background-color: #EDEDED;
}
.service_con02_copy_p{
    font-size: 3.8vw;
    line-height: 2;
    margin-bottom: 8vw;
}
.service_con02_copy div p{
    font-size: 3.8vw;
    line-height: 2;
    margin-bottom: 8vw;
}
.service_con02_copy div .link{
    margin: 5.5vw 0;
}
.service_con02_copy div .link p{
    margin-bottom: 1.5vw;
}
.service_con02_copy div .link a{
    width: 100%;
    margin-bottom: 5.5vw;
    padding: 4vw 0;
}
.service_con02_copyp{
    margin-top: 0;
}
.service_con02_copyp_{
    margin-bottom: 0!important;
}
.service_con02_img{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 10vw;
}
.service_con02_img div{
    width: 100%!important;
    margin-bottom: 4vw;
}
.service_con02_img div img{
    width: 100%!important;
    height: auto;
    margin-bottom: 0.5vw;
}
.service_con02_img div p{
    font-size: 3.8vw;
    text-align: left;
}
.service_con02_05{
    margin-bottom: 5vw;
}








/* office */
.office h2{
    font-size: 5.215vw;
    font-weight: bold;
}
.office_main{
    margin-right: 5vw;
    margin-bottom: 85vw;
    background-color: #C7322C;
    display: flex;
    height: 50vw;
}
.office_copy{
    position: relative;
    display: flex;
    width: 80vw;
    color: #FFF;
    flex-direction: column;
    margin: 0 auto;
}
.office_copy_innner{
    position: static;
    top: 2vw;
    right: 6vw;
    width: 90vw;
}
.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: 12vw 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: 6.5vw;
    font-weight: bold;
    margin-left: 3vw;
    margin-bottom: 0.5vw;
    line-height: 1;
}
.office_copy .office_copy_title p{
        font-size: 2.8vw;
        margin-left: 3vw;
}
.office_copy .office_copy02{
        position: absolute;
        top: 105vw;
        left: -2vw;
        width: 90vw;
        font-size: 3.8vw;
        font-weight: 400;
        color: #000;
}
.office_main picture{
    position: absolute;
    top: 52vw;
    right: 0;
    display: block;
    width: 95vw;
    height: 55vw;
    overflow: hidden;
}
.office_main picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_btn{
        width: 90vw;
        margin: 0 auto 15vw;
}
.office_btn ul{
    display: flex;
    width: 80vw;
    background-color: #FFF;
    padding: 0;
    border-radius: 0;
    margin: 0 auto;
    flex-direction: column;
}
.office_btn ul li{
        border-right: 0px solid #929292;
        width: 100%;
        font-size: 3.8vw;
        font-weight: bold;
        background-color: #F6F6F6;
        margin-bottom: 3vw;
}
.office_btn ul li a{
    position: relative;
    display: block;
    width: 100%;
    padding: 2vw 0;
    text-align: center;
    box-sizing: border-box;
}
.office_btn ul li a::after{
        position: absolute;
        content: "";
        width: 2.5vw;
        height: 2.5vw;
        background-image: url(../images/common/arrow05.png);
        background-size: contain;
        background-repeat: no-repeat;
        top: 55%;
        right: 6vw;
        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: 6.5vw;
    font-weight: bold;
    margin: 0 0 6vw 5vw;
    line-height: 1;
}
.office h2::before{
    content: "";
    position: absolute;
    top: 0;
    left: -5vw;
    width: 1vw;
    height: 100%;
    background-color: #C7322C;
}
.office h3{
    font-size: 4.172vw;
    font-weight: bold;
    margin: 0 0 3.911vw;
}




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

.office_img-main {
  position: relative;
  width: 100%;
  height: 55vw;
  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;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2vw;
    margin-top: 3vw;
}

.office_img-thumbs picture {
  width: 23%;
  height: 15vw;
  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: 90vw;
    margin: 0 auto 100px;
}
.office_con01 h2{
    margin-bottom: 6.519vw;
}
.office_con01 ul li{
display: flex;
        font-size: 3.8vw;
        padding: 2.5vw 0;
        border-bottom: 1px solid #CCCCCC;
        flex-direction: column;
}
.office_con01 ul li p:first-child{
    width: 100%;
}
.certification p{
    width: 70%!important;
    margin-right: 10px;
}
.office_con02{
        width: 90vw;
        display: flex;
        justify-content: space-between;
        margin: 0 auto 15vw;
        font-size: 3.8vw;
        flex-direction: column;
}
.office_con02 div{
        display: flex;
        flex-direction: column;
        margin-bottom: 3vw;
}
.office_con02 ul{
    margin-top: 3.259vw;
}
.office_con02 ul li{
    list-style-type: disc;
    padding-left: 1vw;
    margin-left: 4vw;
}
.office_con03{
    width: 90vw;
    margin: 0 auto 150px;
}
.office_con03 h2{
    margin-bottom: 6.519vw;
}
.office_con03_copy{
    font-size: 3.8vw;
    margin-bottom: 8.475vw;
}
.office_con03 ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-direction: column;
}
.office_con03 ul li{
    display: flex;
    width: 100%;
    border: solid 1px #000;
    padding: 4vw;
    text-align: center;
    margin-bottom: 3.259vw;
}
.office_con03 picture{
    top: 0;
    left: 0;
    display: block;
    width: 10vw;
    height: 10vw;
    overflow: hidden;
    margin: 0 auto;
}
.office_con03 picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_con03 ul li h3{
        font-size: 4vw;
        line-height: 1.2;
        min-height: auto;
}
.office_con03 ul li p{
    font-size: 3.2vw;
    text-align: left;
}
.office_con03_copycon{
        width: 75%;
        text-align: left;
}
.office_con04{
    width: 90vw;
    margin: 0 auto 150px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.office_con04 div{
    width: 100%;
}
.office_con04 div h2{
    margin-bottom: 6.519vw;
}
.office_con04 div p{
    font-size: 3.8vw;
}
.office_con04 picture{
    top: 0;
    left: 0;
display: block;
    width: 100%;
    height: 50vw;
    overflow: hidden;
    margin: 5vw 0 3vw;
    }
.office_con04 picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.office_con05{
    width: 177.314vw;
    margin: 0 auto 100px;
}
.office_con05 h2{
    width: 90vw;
    margin: 0 auto 50px;
}
.office_office{
    width: 129.074vw;
    margin: 0 auto 100px;
    text-align: center;
}
.office_office h2{
    margin: 0 auto 100px;
}
.office_office h3{
    font-size: 4.5vw;
    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: 5.215vw;
    display: flex;
    border: solid 1px #000;
}
.office_office ul li::before{
    position: absolute;
    content: "";
    width: 2.608vw;
    height: 2.608vw;
    background-image: url(../images/common/arrow04.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.608vw;
    top: 50%;
    right: 1.304vw;
    transform: translateY(-50%) rotate(-90deg);
    transition: transform 0.3s ease;
}
.office_office ul li .officecopy{
    padding: 2.608vw;
    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: 3.8vw;
    font-weight: bold;
    border: solid 1px #000;
    padding: 0.652vw 1.304vw;
    margin-right: 1.956vw;
}
.office_office ul li h4{
    font-size: 5.5vw;
    font-weight: bold;
}
.officeadress{
    font-size: 1.565vw;
    text-align: left;
}
.office_office picture{
    top: 0;
    left: 0;
    display: block;
    width: 17.601vw;
    height: 18.905vw;
    overflow: hidden;
}
.office_office picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.office .officeintroduction_con .officeintroduction_list {
    margin-bottom: 10.43vw;
}
.office .officeintroduction_title h3{
    width: 100%;
    font-size: 4.5vw;
    margin: 0 auto 20px;
    font-weight: 400;
    text-align: center;
}
.office .officeintroduction_title{
    text-align: center;
    margin: 0 0 5.215vw;
}
.office  .officeintroduction_title h3::before,.office .officeintroduction_title::before{
    height: 0;
}
.officeintroduction_con .office_copy{
    position: relative;
    font-size: 6.5vw;
    text-align: center;
    color: #000;
    width: 100%;
    margin: 30vw 0 15vw 0;
}
.officeintroduction_con .office_copy::before{
    content: "";
    position: absolute;
    top: 10vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 0.5vw;
    background-color: #C7322C;
}




}