@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

/* 共通パーツ ここから */
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.88;
  letter-spacing: 0.05em;
  position: relative;
  text-align: left;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
    line-height: 1.7;
  }
}

main {
  padding-top: min(calc(80vw / 1280 * 100),80px);
}

@media screen and (max-width: 767px) {
  main {
    padding-top: 16.53333333333333vw;
  }
}

a{
	color: #fff;
}

/* 黒背景 */
.type_bg_bk{
background: #686868;
background: linear-gradient(120deg,rgba(104, 104, 104, 1) 0%, rgba(52, 52, 52, 1) 100%);
}

/* グラデ背景 */
.type_bg_bl {
  background: linear-gradient(-45deg,
      /* 60度の角度 */
      #004499 0%,
      #002554 70%,
      /* 明るい色（右下側） */
      #002554 100%
      /* 暗い色（左上側） */
    );
  ;
}
@media screen and (max-width: 767px) {
.type_bg_bl {
  background: linear-gradient(-30deg,
      /* 60度の角度 */
      #004499 0%,
      #002554 70%,
      /* 明るい色（右下側） */
      #002554 100%
      /* 暗い色（左上側） */
    );
  ;
}
}

/* h2　水色見出し */
.heading_lb {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.88;
  text-align: left;
  color: #36DFF2;
  display: flex;
  align-items: center;
  gap: 16px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.95);
  letter-spacing: inherit;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .heading_lb {
    font-size: 9.6vw;
    gap: 2.1333333333333333vw;
  }
}

.heading_lb::before{
	content: "";
	background: #36DFF2;
	background: linear-gradient(180deg, rgba(54, 223, 242, 1) 0%, rgba(0, 157, 239, 1) 100%);
	width: 8px;
	height: 44px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.95);
}
@media screen and (max-width: 767px) {
.heading_lb::before{
	width: 1.6vw;
	height: 9.066666666666666vw;
}
}

/* 白色見出し */
.heading_wh {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.88;
  text-align: left;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 16px;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.95);
  letter-spacing: inherit;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .heading_wh {
    font-size: 9.6vw;
    gap: 2.1333333333333333vw;
  }
}

.heading_wh::before{
	content: "";
	background: #fff;
	width: 8px;
	height: 44px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.95);
}
@media screen and (max-width: 767px) {
.heading_wh::before{
	width: 1.6vw;
	height: 9.066666666666666vw;
}
}

.subheading_wh{
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	color: #FFFFFF;
	text-align: left;
}
@media screen and (max-width: 767px) {
.subheading_wh{
	font-size: 6.4vw;
}
}

/* ノーマル白いテキスト 全体*/
.txt_wh{
	color: #FFFFFF;
	line-height: 2;
}

/* PC時半分のコンテンツ */
.box_half{
	width: 50%;
}

@media screen and (max-width: 767px) {
.box_half{
	width: 100%;
}
}

.box_half_r{
	width: 50%;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
.box_half_r{
	width: 100%;
	margin: auto;
}
}

.button_gr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  line-height: 1;
  text-decoration: none;
  color: #36c11f;
  font-size: 18px;
  border-radius: 25px;
  width: 186px;
  height: 50px;
  font-weight: bold;
  border: 2px solid #36c11f;
  background-color: #ffffff;
  padding-left: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
.button_gr{
  font-size: 4.8vw;
  border-radius: 100px;
  width: 49.6vw;
  height: 13.333333333333334vw;
  padding-left: 4.266666666666667vw;
}
}

.button_gr::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../images/icon_arrow_gr.png);
  background-size: contain;
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
.button_gr::after,
main .button_gr[target="_blank"]::after {
  width: 6.4vw;
  height: 6.4vw;
}
}

.button_gr a{
  color: #36c11f;
}
.pcD{
	display: block;
}

@media screen and (max-width: 767px) {
.pcD{
	display: none;
}
}

.spD{
	display: none;
}

@media screen and (max-width: 767px) {
.spD{
	display: block;
}
}

.ly-container{
	max-width: 1320px;
	padding: 0 60px;
}

@media screen and (max-width: 767px) {
  .ly-container {
    padding: 0 14px;
    margin: 0 auto;
  }
}

/* 共通パーツ ここまで*/

@media screen and (max-width: 767px) {
  #partnership_wrap .button_gr,
  #incorporate_wrap .button_gr,
  #product .button_gr {
    margin: 0 auto;
  }
}


#partnership_wrap .ly-container,
#incorporate_wrap .ly-container,
#product .ly-container,
#dx .ly-container,
#manufacturer .ly-container,
#local_5g .ly-container,
#news .ly-container{
margin: 0 auto;
}

/* incorporate */
#incorporate_wrap{
	padding: 80px 0 150px;
	position: relative;
}
@media screen and (max-width: 767px) {
#incorporate_wrap{
	padding: 10.666666666666668vw 0 1px;
	position: relative;
}
}

#incorporate_wrap.type_bg_bl {
  background: linear-gradient(275deg,
      #003F8D 0%,
      #002554 100%);
  ;
}
@media screen and (max-width: 767px) {
#incorporate_wrap.type_bg_bl {
  background: linear-gradient(325deg,
      #003F8D 0%,
      #002554 100%);
  ;
}
}

#incorporate_wrap .incorporate_anchor{
	display: flex;
	justify-content: center;
	gap: 80px;
	padding-bottom: 74px;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .incorporate_anchor{
	gap: 3.2vw;
	padding-bottom: 9.333333333333334vw;
}
}

#incorporate_wrap .incorporate_anchor a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  border-bottom: 4px solid #fff;
  padding-bottom: 7px;
  text-align: center;
  width: 43%;
  position: relative;
}

@media screen and (max-width: 767px) {
#incorporate_wrap .incorporate_anchor a {
    flex-direction: column;
    gap: 1.0666666666666667vw;
    font-size: 4.266666666666667vw;
    padding-bottom: 3.2vw;
    width: 48%;
  }
}

#incorporate_wrap .incorporate_anchor a::after {
  content: "";
  background: url(../images/icon_arrow_wh.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
#incorporate_wrap .partnership_anchor a::after{
	width: 6.4vw;
	height: 6.4vw;
	top: 45%;
	right: 45%;
}
}

#incorporate_wrap .ly-container {
  position: relative;
}

#incorporate_wrap .box_half {
  width: 600px;
  position: relative;
  z-index: 2;
  padding-top: 80px;
}

@media screen and (max-width: 767px) {
#incorporate_wrap .box_half {
    width: 100%;
    padding-top: 9.333333333333334vw;
  }
}

#incorporate_wrap .heading_lb{
	position: relative;
padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .heading_lb{
	margin-bottom: 10.666666666666668vw;
padding-bottom: 0;
}
}

#incorporate_wrap .heading_lb::after {
  content: "";
  position: absolute;
  z-index: -2;
  background: url(../images/incorporate_item.png) no-repeat center / contain;
  width: clamp(0px,
      calc(100vw * (321 / 1440)),
      321px);
  height: clamp(0px,
      calc(100vw * (295 / 1440)),
      295px);
  top: -92px;
  left: -6.25vw;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .heading_lb::after {
    background: url(../images/incorporate_item.png) no-repeat center / contain;
    width: 39.733333333333334vw;
    height: 36.53333333333333vw;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
  }
}

#incorporate_wrap .subheading_wh {
  padding-bottom: 40px;
  margin: 0;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .subheading_wh{
	padding-bottom: 0px;
}
}

#incorporate_wrap .txt_wh{
	padding-bottom: 80px;
margin: 0;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .txt_wh{
	padding-top: 64vw;
	padding-bottom: 3.2vw;
	font-size: 4.8vw;
}
}

#incorporate_wrap .incorporate_item {
  position: absolute;
  top: clamp(140px, calc(100vw * (140 / 1440)), 0px);
  left: clamp(-45px, calc(100vw * (-45 / 1440)), 0px);
  width: clamp(0px,
      calc(100vw * (412 / 1440)),
      412px);
  z-index: -2;
}

#incorporate_wrap .incorporate_img {
  position: absolute;
  right: -5%;
  top: 32%;
  width: clamp(0px,
      calc(100vw * (867 / 1440)),
      867px);
  z-index: -2;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .incorporate_img{
	top: 45%;
	width: 100%;
right: 0%;
}
}

#incorporate_wrap .button_gr{
display: flex;
}
@media screen and (max-width: 767px) {
#incorporate_wrap .button_gr{
display: none;
}
}

@media screen and (max-width: 767px) {
  .incorporate_btn {
    display: flex;
    position: absolute;
    top: 2%;
    left: 50%;
    transform: translate(-50%);
    z-index: 100;
  }
}

/* partnership */
#partnership_wrap{
	padding: 160px 0 312px;
	position: relative;
}
@media screen and (max-width: 767px) {
#partnership_wrap{
	padding: 32vw 0 42.66666666666667vw;
}
}

#partnership_wrap .ly-container {
  position: relative;
  padding-top: 60px;
}

@media screen and (max-width: 767px) {
  #incorporate_wrap .ly-container {
    position: relative;
    padding-top: 8vw;
  }
}
#partnership_wrap .box_half_r{
	width: 600px;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
#partnership_wrap .box_half_r{
	width: 100%;
}
}

#partnership_wrap .heading_wh {
  padding-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
#partnership_wrap .heading_wh{
	padding-bottom: 10.666666666666668vw;
}
}

#partnership_wrap .heading_wh::after {
  content: "";
  position: absolute;
  z-index: -2;
  background: url(../images/partnership_item.png) no-repeat center / contain;

  width: clamp(0px,
      calc(100vw * (412 / 1440)),
      412px);
  height: clamp(0px,
      calc(100vw * (227 / 1440)),
      227px);
  top: -55px;
  right: -6.944444444444445vw;
}
@media screen and (max-width: 767px) {
  #partnership_wrap .heading_wh::after {
    background: url(../images/partnership_item.png) no-repeat center / contain;
    width: 61.33333333333333vw;
    height: 33.6vw;
    top: -30%;
    left: 50%;
    right: inherit;
    transform: translateX(-50%);
  }
}

#partnership_wrap .txt_wh {
  padding-bottom: 80px;
  margin: 0;
}
@media screen and (max-width: 767px) {
#partnership_wrap .txt_wh{
	padding-top: 64vw;
	padding-bottom: 6.4vw;
	font-size: 4.8vw;
}
}

#partnership_wrap .partnership_item{
	position: absolute;
	top: 15%;
	right: 1%;
	width: 22.2%;
}
#partnership_wrap .partnership_img {
  position: absolute;
  left: -4%;
  top: 7%;
  width: clamp(0px,
      calc(100vw * (867 / 1440)),
      867px);
}

@media screen and (max-width: 767px) {
  #partnership_wrap .partnership_img {
    top: 34%;
    left: 0;
    width: 100%;
  }
}

#partnership_wrap .subheading_wh {
  margin: 0;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #partnership_wrap .subheading_wh {
    padding-bottom: 0px;
  }
}

#partnership_wrap .bg_bot {
  position: absolute;
  width: 100%;
  top: -1px;
}
@media screen and (max-width: 767px) {
#partnership_wrap .bg_bot {
  width: 100%;
  top: -1px;
z-index: 3;
}
}

#partnership_wrap .bg_top {
  position: absolute;
  width: 100%;
  bottom: -1px;
  z-index: -3;
}

/* product */
#product{
	padding: 0 0 140px;
	position: relative;
}
@media screen and (max-width: 767px) {
  #product {
	padding: 24vw 0 16.53333333333333vw;
  }
}

#product .ly-container{
position: relative;}

#product .box_half{
	width: 600px;
	position: relative;
	z-index: 15;
}
@media screen and (max-width: 767px) {
#product .box_half{
	width: 100%;
}
}

#product .heading_wh {
  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  #product .heading_wh {
    padding-bottom: 10.666666666666668vw;
  }
}

#product .subheading_wh {
  margin: 0;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #product .subheading_wh {
    padding-bottom: 0px;
  }
}

#product .txt_wh {
  padding-bottom: 80px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #product .txt_wh {
    padding: 65.06666666666666vw 0 6.4vw;
    font-size: 4.8vw;
  }
}

#product .heading_lb{
padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
#product .heading_lb{
position: absolute;
top: -30%;
line-height: 1.5;
padding: 0;
}
}

@media screen and (max-width: 767px) {
#product .heading_lb::before{
height: 23.733333333333334vw;
}
}



#product .product_img{
	position: absolute;
	right: -1.5%;
	top: -2%;
  width: clamp(0px,
      calc(100vw * (867 / 1440)),
      867px);
	z-index: 12;
}
@media screen and (max-width: 767px) {
#product .product_img{
	top: 10%;
	width: 100%;
}
}
/* product */

/* dxここから */
#dx {
  text-align: center;
  padding: 160px 0 178px;
  color: #333333;
}
@media screen and (max-width: 767px) {
#dx{
	text-align: center;
	padding: 32vw 0 34.66666666666667vw;
}
}

#dx p{
	font-size: 22px;
	line-height: 1.82;
}
@media screen and (max-width: 767px) {
#dx p{
	font-size: 4.8vw;
}
}

.dx_bg {
  background: url(../images/dx_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
.dx_bg{
	background: url(../images/dx_bg_sp.png);
	background-size: cover;
	background-repeat: no-repeat;
}
}

#dx .heading_line_bl {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #333333;
  line-height: 1.25;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
#dx .heading_line_bl{
	font-size: 9.6vw;
	line-height: 1.5;
}
}

/* 取り扱いメーカー */
#manufacturer {
  margin-bottom: 0;
  padding: 64px 0;
}
@media screen and (max-width: 767px) {
  #manufacturer {
    margin-bottom: 0;
    padding: 17.066666666666666vw 0;
  }
}

@media screen and (max-width: 767px) {
  #manufacturer .manufacturer-overview-colum {
    flex-direction: column;
  }
}


@media screen and (max-width: 767px) {
  .manufacturer-overview-inner {
    flex-direction: column;
    gap: 6.4vw;
  }
}

.manufacturer-overview-inner {
  display: flex;
  align-items: start;
  gap: 42px;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-inner {
    flex-direction: column;
    gap: 6.4vw;
  }
}

.manufacturer-overview-right {
  line-height: 1.44;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right {
    gap: 6.4vw;
  }
}

.manufacturer-overview-right p {
  font-size: 18px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right p {
    font-size: 4.266666666666667vw;
  }
}

.manufacturer-overview-right li {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right li {
    font-size: 4.266666666666667vw;
  }
}

.manufacturer-overview-right .cap_ttl {
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 1;
  text-align: center;
  display: inline-block;
  padding: 0 26px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right .cap_ttl {
    padding: 0 5.333333333333334vw;
    margin-bottom: 2.1333333333333333vw;
  }
}

.manufacturer-overview-right .cap_ttl::before {
  content: "";
  transform: skewX(-25deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #004499;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right .cap_ttl {
    padding: 0 4vw;
    margin-left: 1.3333333333333335vw;
  }
}

.manufacturer-overview-right .cap_ttl.lb::before {
  background-color: #00B0F0;
}

.manufacturer-overview-right .cap_ttl.lg::before {
  background-color: #00ACBB;
}

.manufacturer-overview-right .txt_top {
  display: flex;
  gap: 20%;
}
@media screen and (max-width: 767px) {
  .manufacturer-overview-right .txt_top {
    flex-direction: column;
    gap: 6.4vw;
  }
}

.manufacturer-overview-right .txt_bot li {
  text-indent: -0.6em;
  padding-left: 0.6em;
}

.manufacturer-container {
  padding: 2% 3%;
  background-color: #fff;
  border: #004499 4px solid;
  margin-bottom: 0;
  color: #333333;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .manufacturer-container {
    padding: 8vw 3.4666666666666663vw;
    margin-top: 8.533333333333333vw;
  }
}

.manufacturer-container.lb{
  border: #00B0F0 4px solid;
}

.manufacturer-container.lg{
  border: #00ACBB 4px solid;
}

.manufacturer-container h3 {
  text-align: left;
  font-size: 28px;
  font-weight: 700;
  color: #333333;
  line-height: 1.43;
  letter-spacing: normal;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .manufacturer-container h3 {
    text-align: center;
    font-size: 6.4vw;
    line-height: 1.46;
    letter-spacing: normal;
    justify-content: center;
    gap: 2.1333333333333333vw;
  }
}

.manufacturer-container h3::after {
  display: block;
  content: "";
  background-image: url(../images/icon_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 767px) {
  .manufacturer-container h3::after {
    width: 6.933333333333333vw;
    height: 6.933333333333333vw;
  }
}

.manufacturer-container h3 a {
  color: #333333;
}

@media screen and (max-width: 767px) {
  .manufacturer-overview-left {
    padding: 0 4.5%;
  }
}

#manufacturer .manufacturer_caution {
  line-height: 1.44;
  margin: 16px 0 0;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  #manufacturer .manufacturer_caution {
    line-height: 1.44;
    margin: 2.1333333333333333vw 0 0;
    font-size: 4.266666666666667vw;
  }
}

.manufacturer-container .establish {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .manufacturer-container .establish {
    width: 100%;
  }
}

.manufacturer-container .locate {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .manufacturer-container .locate {
    width: 100%;
  }
}

#manufacturer .manufacturer_caution a {
  text-decoration: underline;
  display: inline-block;
  vertical-align: top;
}

#manufacturer .js-accordion--bk {
  padding-bottom: 0;
}

/* ローカル5G */

#local_5g {
  padding: 64px 0;
}
@media screen and (max-width: 767px) {
  #local_5g {
    padding: 17.066666666666666vw 0;
  }
}

#local_5g .heading_lb {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  #local_5g .heading_lb {
    margin-bottom: 10.666666666666668vw;
  }
}

#local_5g .subheading_wh {
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  #local_5g .subheading_wh {
    margin: 0 0 5.333333333333334vw;
  }
}

#local_5g .local_box{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
#local_5g .local_box{
	display: flex;
	flex-direction: column;
}
}

#local_5g .local_img{
	width: 46.7%;
}
@media screen and (max-width: 767px) {
#local_5g .local_img{
	width: 100%;
}
}

#local_5g .local_img img {
  margin-top: 0;
}

#local_5g .txt_wh {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  #local_5g .txt_wh {
    font-size: 4.8vw;
    font-weight: 500;
    margin-bottom: 6.4vw;
  }
}

#local_5g .contact-btn--01 {
  width: 329px;
  height: 64px;
}

@media screen and (max-width: 767px) {
  #local_5g .contact-btn--01 {
    width: 86.66666666666667vw;
    height: 15.466666666666667vw;
    margin: 0 auto;
  }
}

#local_5g .contact-btn--01::before {
  left: 16px;
}

@media screen and (max-width: 767px) {
  #local_5g .contact-btn--01::before {
    left: 10%;
  }
}

#local_5g .contact-btn--01::after {
  right: 16px;
}

@media screen and (max-width: 767px) {
  #local_5g .contact-btn--01::after {
    right: 10%;
    width: calc(24vw / 375 * 100);
    height: calc(24vw / 375 * 100);
  }
}

/* ニュースの上書き */
#news {
  padding: 64px 0;
}

@media screen and (max-width: 767px) {
  #news {
    padding: 17.066666666666666vw 0 12.8vw;
  }
}


#news .heading_wh{
	margin-bottom: 40px;
	display: block;
	text-align: center;
}
@media screen and (max-width: 767px) {
#news .heading_wh{
	margin-bottom: 10.666666666666668vw;
}
}

#news .heading_wh::before{
	content: none;
}


.news-list-wrap{
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 24px;
}
@media screen and (max-width: 767px) {
.news-list-wrap{
    padding: 6.4vw 0;
}
}

.news-list{
	position: relative;
}

.news-list::after{
	content: "";
	background-image: url(../images/icon_arrow_wh.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 36px;
	height: 36px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4%;
}
@media screen and (max-width: 767px) {
.news-list::after{
	width: 7.466666666666668vw;
	height: 7.466666666666668vw;
	right: 4%;
}
}

.news-list-row{
	font-size: 20px;
}
@media screen and (max-width: 767px) {
.news-list-row{
	margin-bottom: 3%;
	font-size: 3.733333333333334vw;
}
}

.news-list-label{
	background-color: #2E67B1;
}

.news-list-row b{
	width: 120px;
	line-height: 1.8;
	border-radius: 0;
	text-align: center;
	padding: 2px 0;
}
@media screen and (max-width: 767px) {
.news-list-row b{
	display: inline-block;
	width: 17.866666666666667vw;
	line-height: 1.8;
	padding: 0 0 0.5333333333333333vw 0;
}
}

.news-list-content{
	padding-right: 12%;
}
@media screen and (max-width: 767px) {
.news-list-content{
	padding-right: 18%;
}
}

.news-list-content a{
	color: #FFFFFF;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
.news-list-content a{
	font-size: 4.266666666666667vw;
}
}

.news-list-content a::after{
	display: none;
}

#news .button_gr{
	width: 203px;
	margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
#news .button_gr{
	width: 49.6vw;
	margin: 6.4vw auto 0;
}
}

/* header */
header {
	display: block;
	padding: 0;
}

.header-inner {
	display: flex;
	max-width: 1280px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.header-inner {
		padding: calc(2vw / 375 * 100) 0;
	}
}

header .logo {
	width: min(calc(280vw / 1280 * 100),280px);
}

@media screen and (max-width: 767px) {
	header .logo {
		width: calc(160vw / 375 * 100);
	}
}

header .logo a {
	padding: 0;
}

header .logo img {
	width: 100%;
	margin: 0;
}

.nav_tgl_btn {
	background-color: #fff;
	width: calc(60vw / 375 * 100);
}

.nav_tgl_icn {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: calc(25vw / 375 * 100);
	height: calc(2vw / 375 * 100);
	background-color: #003399;
	transition: transform 0.3s ease;
}

.nav_tgl_icn--01 {
	transform: translateY(calc(5vw / 375 * 100));
}

.nav_tgl_btn.open .nav_tgl_icn--01 {
	transform: rotate(45deg) translateY(0);
}

.nav_tgl_icn--02 {
	transform: translateY(calc(-5vw / 375 * 100));
}

.nav_tgl_btn.open .nav_tgl_icn--02 {
	transform: rotate(-45deg) translateY(0);
}

.nav_tgl_btn.open .nav_tgl_icn {
	background-color: #003399;
}

.nav_tgl_btn .nav_tgl_icn::before,.nav_tgl_btn .nav_tgl_icn::after {
	display: none;
}


header nav {
	margin-left: 0;
}

@media screen and (max-width: 767px) {
	header nav {
		background: linear-gradient(135deg, #002554 0%, #004499 100%);
	}
}

header nav ul {
	gap: min(calc(40vw / 1280 * 100),40px);
}

@media screen and (max-width: 767px) {
	header nav ul {
		gap: 0;
		width: calc(343vw / 375 * 100);
	}
}

@media screen and (max-width: 767px) {
	header nav li {
		padding: calc(24vw / 375 * 100) 0;
	}
}

@media screen and (max-width: 767px) {
	header nav ul li:first-child {
		padding: calc(64vw / 375 * 100) 0 calc(24vw / 375 * 100);
	}
}

@media screen and (max-width: 767px) {
	header nav ul li:nth-last-child(2) {
		padding: calc(32vw / 375 * 100) 0 calc(8vw / 375 * 100);
	}
}

@media screen and (max-width: 767px) {
	header nav ul li:last-child {
		/* padding: 0 0 calc(228vw / 375 * 100); */
	}
}

:root {
  --header-h: 60px; /* 初期値（CLS対策） */
}

.sp_device .header-nav {
  display: none;
  position: fixed;
  top: var(--header-h);
  height: calc(100vh - var(--header-h));
  left: 0;
  width: 100%;
}

body.nav_open {
  overflow: hidden;
}


@media screen and (max-width: 767px) {
	header nav ul li:first-child, header nav ul li:nth-last-child(2), header nav ul li:last-child {
		border-top: none;
	}
}

header nav .nav_link {
	padding: 0;
	font-size:  min(calc(18vw / 1280 * 100),18px);
	font-weight: 700;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	header nav .nav_link {
		position: relative;
		justify-content: left;
		padding-left: calc(24vw / 375 * 100);
		color: #fff;
		font-size: calc(18vw / 375 * 100);
		text-decoration: none;
	}
}

@media screen and (max-width: 767px) {
	header nav .nav_link::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: calc(24vw / 375 * 100);
	content: '';
	display: inline-block;
	width: calc(24vw / 375 * 100);
	height: calc(24vw / 375 * 100);
	background-image: url(../images/icon_arrow_wh.png);
	background-size: contain;
	background-repeat: no-repeat;
	}
}

header .contact-btn--01 {
	width: min(calc(220vw / 1280 * 100),220px);
	height: min(calc(44vw / 1280 * 100),44px);
	font-size: min(calc(14vw / 1280 * 100),14px);
}

@media screen and (max-width: 767px) {
	header .contact-btn--01 {
		width: calc(325vw / 375 * 100);
		height: calc(58vw / 375 * 100);
		margin: 0 auto;
		font-size: calc(18vw / 375 * 100);
	}
}

header .contact-btn--01::before {
	top: min(calc(13vw / 1280 * 100),13px);
	left: min(calc(19vw / 1280 * 100),19px);
	width: min(calc(25vw / 1280 * 100),25px);
	height: min(calc(18vw / 1280 * 100),18px);
}

@media screen and (max-width: 767px) {
	header .contact-btn--01::before {
		top: calc(16vw / 375 * 100);
		left: calc(42vw / 375 * 100);
		width: calc(33vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

header .contact-btn--01::after {
	top: min(calc(13vw / 1280 * 100),13px);
	right: min(calc(13vw / 1280 * 100),13px);
	width: min(calc(18vw / 1280 * 100),18px);
	height: min(calc(18vw / 1280 * 100),18px);
}

@media screen and (max-width: 767px) {
	header .contact-btn--01::after {
		top: calc(16vw / 375 * 100);
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

header .contact-btn--02{
	display: none;
}

@media screen and (max-width: 767px) {
	header .contact-btn--02 {
		display: flex;
		margin: 0 auto;
	}
}

/* kv */
#main_visual {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0;
  height: 90vh;
}

@media screen and (max-width: 767px) {
  #main_visual {
    display: inline-block;
    padding: calc(158vw / 375 * 100) 0 calc(211vw / 375 * 100);
    height: auto;
  }
}

#main_visual .ly-container {
	max-width: 1200px;
}

@media screen and (max-width: 767px) {
#main_visual .ly-container {
	padding: 0 calc(16vw / 375 * 100);
}
}

#main_visual .main-ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 6.8rem;
  font-weight: 700;
  line-height: 1.32;
}

@media screen and (max-width: 767px) {
	#main_visual .main-ttl {
		font-size: calc(38vw / 375 * 100);
		line-height: calc(45 /38);
	}
}

#main_visual .main-txt {
	margin: 24px 0 0;
	font-size: 2.6rem;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	#main_visual .main-txt  {
		margin-top: calc(24vw / 375 * 100);
		font-size: calc(16vw / 375 * 100);
		line-height: calc(32 /16);
	}
}

/* contact_01 */
.contact_01 p {
	margin: 0;
}

.contact_01 {
  position: relative;
  padding: 20px 0;
  color: #333333;
}

@media screen and (max-width: 767px) {
	.contact_01 {
		padding: calc(24vw / 375 * 100) 0;
	}
}

.contact_01::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: inline-block;
	width: 53px;
	height: 53px;
	background-image: url(../images/ps_contact.png);
	background-size: contain;
	will-change: transform;
}

@media screen and (max-width: 767px) {
	.contact_01::before {
	width: calc(40vw / 375 * 100);
	height: calc(40vw / 375 * 100);
	}
}

.contact_01 .ly-container {
	max-width: 1200px;
	padding: 0 0 0 min(calc(80vw / 1200 * 100),80px);
}

@media screen and (max-width: 767px) {
	.contact_01 .ly-container {
		margin: 0;
		padding: 0 calc(16vw / 375 * 100);
	}
}

.contact_01 .contact-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: min(calc(20vw / 1200 * 100),20px);
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-box {
		flex-direction: column;
		gap: calc(16vw / 375 * 100);
	}
}

.contact_01 .contact-txt {
	font-size: clamp(16px, calc(22vw / 1200 * 100), 22px);
	font-weight: bold;
	line-height: calc(33 / 22);
	letter-spacing: 0;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-txt {
		font-size: calc(16vw / 375 * 100);
		line-height: calc(27 / 16);
		text-align: center;
	}
}

.contact_01 .btn_txt {
	font-size: min(calc(20vw / 1200 * 100),20px);
	font-weight: 400;
}

@media screen and (max-width: 767px) {
	.contact_01 .btn_txt {
		font-size: calc(14vw / 375 * 100);
		font-weight: 700;
		text-align: center;
	}
}

/* contact btn 共通*/
.contact-btn_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 16px;
}

@media screen and (max-width: 767px) {
	.contact-btn_wrap {
		flex-direction: column;
		margin-top: calc(16vw / 375 * 100);
	}
}

.contact-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 68px;
	border-radius: 8px;
	box-shadow: 0 3px 1px #26A508;
	font-size: 2.4rem;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.contact-btn {
		height: calc(58vw / 375 * 100);
		border-radius: calc(8vw / 375 * 100);
		box-shadow: 0 calc(3vw / 375 * 100) calc(1vw / 375 * 100) #26A508;
		font-size: calc(18vw / 375 * 100);
	}
}

.contact-btn--01 {
	position: relative;
	background: linear-gradient(135deg, #36C11F 0%, #36C11F 50%, #35F014 100%);
	width: 379px;
	padding-left: 10px;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.contact-btn--01 {
		width: calc(325vw / 375 * 100);
		padding-left: calc(10vw / 375 * 100);
	}
}

.contact-btn--01::before {
	position: absolute;
	top: 24px;
	left: 42px;
	content: '';
	display: inline-block;
	width: 33px;
	height: 24px;
	background-image: url(../images/icn_mail.png);
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.contact-btn--01::before {
		top: calc(17vw / 375 * 100);
		left: calc(42vw / 375 * 100);
		width: calc(33vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

.contact-btn--01::after {
	position: absolute;
	top: 24px;
	right: 32px;
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url(../images/icon_arrow_wh.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.contact-btn--01::after {
		top: calc(17vw / 375 * 100);
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

.contact-btn--02 {
	position: relative;
	background-color: #fff;
	width: 255px;
	padding-left: 10px;
	color: #36C11F;
	border: 2px solid #36C11F;
}

@media screen and (max-width: 767px) {
	.contact-btn--02 {
		width: calc(325vw / 375 * 100);
		padding: calc(10vw / 375 * 100);
		font-size: calc(18vw / 375 * 100);
		border: calc(2vw / 375 * 100) solid #36C11F;
	}
}

.contact-btn--02::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 42px;
	content: '';
	display: inline-block;
	width: 29px;
	height: 36px;
	background-image: url(../images/icn_note.png);
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.contact-btn--02::before {
		left: calc(45vw / 375 * 100);
		width: calc(29vw / 375 * 100);
		height: calc(36vw / 375 * 100);
	}
}

.contact-btn--02::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 32px;
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url(../images/icon_arrow_gr.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.contact-btn--02::after {
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

/* contact btn 01固有*/
.contact_01 .contact-btn_wrap {
	gap: min(calc(8vw / 1200 * 100),8px);
	margin-top: min(calc(16vw / 1200 * 100),16px);
	padding-left: min(calc(20vw / 1200 * 100),20px);
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn_wrap {
		gap: calc(8vw / 375 * 100);
		margin-top: calc(16vw / 375 * 100);
		padding-left: 0;
	}
}

.contact_01 .contact-btn {
	height: min(calc(68vw / 1200 * 100),68px);
	border-radius: min(calc(8vw / 1200 * 100),8px);
	box-shadow: 0 min(calc(3vw / 1200 * 100),3px) min(calc(1vw / 1200 * 100),1px) #26A508;
	font-size: min(calc(24vw / 1200 * 100),24px);
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn {
		height: calc(58vw / 375 * 100);
		border-radius: calc(8vw / 375 * 100);
		box-shadow: 0 calc(3vw / 375 * 100) calc(1vw / 375 * 100) #26A508;
		font-size: calc(18vw / 375 * 100);
	}
}

.contact_01 .contact-btn--01 {
	position: relative;
	background: linear-gradient(135deg, #36C11F 0%, #36C11F 50%, #35F014 100%);
	width: min(calc(379vw / 1200 * 100),379px);
	padding-left: min(calc(10vw / 1200 * 100),10px);
	color: #fff;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--01 {
		width: calc(325vw / 375 * 100);
		padding-left: calc(10vw / 375 * 100);
	}
}

.contact_01 .contact-btn--01::before {
	position: absolute;
	top: min(calc(24vw / 1200 * 100),24px);
	left: min(calc(42vw / 1200 * 100),42px);
	content: '';
	display: inline-block;
	width: min(calc(33vw / 1200 * 100),33px);
	height: min(calc(24vw / 1200 * 100),24px);
	background-image: url(../images/icn_mail.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--01::before {
		top: calc(17vw / 375 * 100);
		left: calc(42vw / 375 * 100);
		width: calc(33vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

.contact_01 .contact-btn--01::after {
	position: absolute;
	top: min(calc(24vw / 1200 * 100),24px);
	right: min(calc(32vw / 1200 * 100),32px);
	content: '';
	display: inline-block;
	width: min(calc(24vw / 1200 * 100),24px);
	height: min(calc(24vw / 1200 * 100),24px);
	background-image: url(../images/icon_arrow_wh.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--01::after {
		top: calc(17vw / 375 * 100);
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

.contact_01 .contact-btn--02 {
	position: relative;
	background-color: #fff;
	width: min(calc(255vw / 1200 * 100),255px);
	padding-left: min(calc(10vw / 1200 * 100),10px);
	color: #36C11F;
	border: min(calc(2vw / 1200 * 100),2px) solid #36C11F;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--02 {
		width: calc(325vw / 375 * 100);
		padding: calc(10vw / 375 * 100);
		font-size: calc(18vw / 375 * 100);
		border: calc(2vw / 375 * 100) solid #36C11F;
	}
}

.contact_01 .contact-btn--02::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: min(calc(42vw / 1200 * 100),42px);
	content: '';
	display: inline-block;
	width: min(calc(29vw / 1200 * 100),29px);
	height: min(calc(36vw / 1200 * 100),36px);
	background-image: url(../images/icn_note.png);
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--02::before {
		left: calc(45vw / 375 * 100);
		width: calc(29vw / 375 * 100);
		height: calc(36vw / 375 * 100);
	}
}

.contact_01 .contact-btn--02::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: min(calc(32vw / 1200 * 100),32px);
	content: '';
	display: inline-block;
	width: min(calc(24vw / 1200 * 100),24px);
	height: min(calc(24vw / 1200 * 100),24px);
	background-image: url(../images/icon_arrow_gr.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.contact_01 .contact-btn--02::after {
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

/* contact_02 */
.contact_02 p {
	margin: 0;
}

.contact_02 {
  background: center/cover url("../images/contact_bg.png") no-repeat;
  padding: 121px 0 126px;
  color: #333333;
}

@media screen and (max-width: 767px) {
	.contact_02 {
		background: center/cover url("../images/contact_bg_sp.png") no-repeat;
		padding: calc(120vw / 375 * 100) 0;
	}
}

.contact_02 .ly-container {
	max-width: 1200px;
	padding: 0 20px;
}

@media screen and (max-width: 767px) {
	.contact_02 .ly-container {
		margin: 0;
		padding: 0;
	}
}

.contact_02 .contact-box{
	position: relative;
	max-width: 932px;
	margin: 0 auto;
	background-color: #fff;
	padding: 32px 0;
}

@media screen and (max-width: 767px) {
	.contact_02 .contact-box {
		width: calc(357vw / 375 * 100);
		margin: 0 auto;
		padding: calc(24vw / 375 * 100) 0;
	}
}

.contact_02 .contact-box::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: inline-block;
	width: 53px;
	height: 53px;
	background-image: url(../images/ps_contact.png);
	background-size: contain;
	will-change: transform;
}

@media screen and (max-width: 767px) {
	.contact_02 .contact-box::before {
	width: calc(40vw / 375 * 100);
	height: calc(40vw / 375 * 100);
	}
}

.contact_02 .contact-txt {
	margin: 0;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: calc(33 /22);
	text-align: center;
}

@media screen and (max-width: 767px) {
	.contact_02 .contact-txt {
		font-size: calc(16vw / 375 * 100);
		line-height: calc(27 /16);
	}
}

.contact_02 .contact-txt span {
	display: block;
	margin-bottom: 8px;
	font-size: 2rem;
	font-weight: 400;
}

@media screen and (max-width: 767px) {
	.contact_02 .contact-txt span {
		font-size: calc(14vw / 375 * 100);
		font-weight: 700;
	}
}

/* contact btn 02固有*/
.contact_02 .contact-btn_wrap {
	gap: 8px;
}

@media screen and (max-width: 767px) {
	.contact_02 .contact-btn_wrap {
		gap: calc(16vw / 375 * 100);
	}
}

/* footer */
footer {
	background-color: #000;
	font-size: min(calc(20vw / 1200 * 100),20px);
}

@media screen and (max-width: 767px) {
	footer {
		font-size: calc(14vw / 375 * 100);
	}
}

footer .footer_inr:first-of-type, footer .footer_inr:last-of-type {
	background-color: unset;
}

footer .footer_inr:first-of-type {
	padding: min(calc(80vw / 1200 * 100),80px) 0 min(calc(45vw / 1200 * 100),45px);
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type {
		padding: calc(72vw / 375 * 100) 0 calc(30vw / 375 * 100);
	}
}

footer .ly-container {
	max-width: 1200px;
	padding: 0;
}

@media screen and (max-width: 767px) {
	footer .ly-container {
		width: calc(343vw / 375 * 100);
		margin: 0 auto;
	}
}

footer .footer_inr:first-of-type .ly-container {
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type .ly-container {
		display: block;
	}
}

footer .footer_inr .logo {
	width: min(calc(98vw / 1200 * 100),98px);
}

@media screen and (max-width: 767px) {
	footer .footer_inr .logo {
		width: calc(80vw / 375 * 100);
		margin: 0 auto;
	}
}

.footer_inr .top {
	font-size: min(calc(20vw / 1200 * 100),20px);
text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.footer_inr .top {
		margin-top: calc(40vw / 375 * 100);
		font-size: calc(14vw / 375 * 100);
	}
}

footer .footer_inr:first-of-type nav {
	margin-left: 0;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav {
		text-align: center;
	}
}

footer .footer_inr:first-of-type nav ul {
	margin-top: min(calc(24vw / 1200 * 100),24px);
}


footer .footer_inr:first-of-type nav li{
text-decoration: underline;
}

footer .footer_inr:first-of-type nav li:not(:first-child):not(:last-child) {
	position: relative;
	margin-left: min(calc(24vw / 1200 * 100),24px);
	padding-left: min(calc(24vw / 1200 * 100),24px);
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav li:not(:first-child):not(:last-child) {
		margin-left: 0;
		padding-left: 0;
	}
}

footer .footer_inr:first-of-type nav li:not(:first-child):not(:last-child)::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	content: '';
	display: inline-block;
	width: min(calc(2vw / 1200 * 100),2px);
	height: min(calc(24vw / 1200 * 100),24px);
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav li:not(:first-child):not(:last-child)::before {
		display: none;
	}
}

footer .footer_inr:first-of-type nav li:last-child {
	margin-left: min(calc(24vw / 1200 * 100),24px);
text-decoration: none;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav li:last-child {
		width: fit-content;
		margin: 0 auto;
	}
}

footer .footer_inr:first-of-type nav ul a {
	margin-right: 0;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav ul a {
		margin-top: calc(16vw / 375 * 100);
	}
}

@media screen and (max-width: 767px) {
	footer .footer_inr:first-of-type nav ul li:last-child a {
		margin-top: calc(40vw / 375 * 100);
	}
}

.footer_inr .contact-btn--01 {
	width: min(calc(311vw / 1200 * 100),311px);
	height: min(calc(61vw / 1200 * 100),61px);
	font-size: min(calc(20vw / 1200 * 100),20px);
}

@media screen and (max-width: 767px) {
	.footer_inr .contact-btn--01 {
		width: calc(325vw / 375 * 100);
		height: calc(58vw / 375 * 100);
		font-size: calc(18vw / 375 * 100);
	}
}

.footer_inr .contact-btn--01::before {
	top: min(calc(19vw / 1200 * 100),19px);
	left: min(calc(26vw / 1200 * 100),26px);
	width: min(calc(33vw / 1200 * 100),33px);
	height: min(calc(24vw / 1200 * 100),24px);
}

@media screen and (max-width: 767px) {
	.footer_inr .contact-btn--01::before {
		top: calc(17vw / 375 * 100);
		left: calc(42vw / 375 * 100);
		width: calc(33vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

.footer_inr .contact-btn--01::after {
	top: min(calc(19vw / 1200 * 100),19px);
	right: min(calc(16vw / 1200 * 100),16px);
	width: min(calc(24vw / 1200 * 100),24px);
	height: min(calc(24vw / 1200 * 100),24px);
}

@media screen and (max-width: 767px) {
	.footer_inr .contact-btn--01::after {
		top: calc(17vw / 375 * 100);
		right: calc(32vw / 375 * 100);
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

@media screen and (max-width: 767px) {
	.contact a[target=_blank]::after {
		width: calc(24vw / 375 * 100);
		height: calc(24vw / 375 * 100);
	}
}

footer .footer_inr:last-of-type {
	padding: 0;
}

footer .footer_inr:last-of-type .link_area a {
	color: #fff;
	font-size: min(calc(20vw / 1200 * 100),20px);
text-decoration: underline;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:last-of-type .link_area a {
		margin-top: calc(16vw / 375 * 100);
		font-size: calc(14vw / 375 * 100);
	}
}

footer .footer_inr:last-of-type .link_area a + a {
	position: relative;
	margin-left: min(calc(24vw / 1200 * 100),24px);
	padding-left: min(calc(24vw / 1200 * 100),24px);
}

@media screen and (max-width: 767px) {
	footer .footer_inr:last-of-type .link_area a + a {
		margin-left: 0;
		padding-left: 0;
	}
}

footer .footer_inr:last-of-type .link_area a + a::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	content: '';
	display: inline-block;
	width: min(calc(2vw / 1200 * 100),2px);
	height: min(calc(24vw / 1200 * 100),24px);
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	footer .footer_inr:last-of-type .link_area a + a::before {
		display: none;
	}
}

footer .footer_inr:last-of-type {
	display: block;
	text-align: center;
}

footer small {
	padding: min(calc(32vw / 1200 * 100),32px) 0 min(calc(80vw / 1200 * 100),80px);
	color: #fff;
	font-size: min(calc(16vw / 1200 * 100),16px);
}

@media screen and (max-width: 767px) {
	footer small {
		padding: calc(80vw / 375 * 100) 0 calc(32vw / 375 * 100);
		font-size: calc(10vw / 375 * 100);
	}
}

/* ヘッダー */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}

@media (min-width: 768px) {
	.header-nav {
		position: static;
		display: block !important;
		top: auto;
	}
}

.body {
  overflow-x: hidden;
}

html.sp_device .header-nav {
  position: fixed;
  top: 0;
  height: 100dvh;
  overflow-y: auto;
}



/* SPアコーディオン */
@media screen and (max-width: 767px) {
  .js-accordion--close {
    display: none;
  }

  .accordion-box {
    height: 0;
    overflow: hidden;
    transition: height .4s ease;
  }

  main .js-accordion {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2.1333333333333333vw;
    margin: 0 auto;
    font-size: 4.266666666666667vw;
  }

  .js-accordion::after {
    content: "";
    width: 6.4vw;
    height: 6.4vw;
    background-image: url(/5g-info/assets/images/icon_arrow_wh.png);
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(90deg);
    transition: .4s ease;
  }

  .js-accordion.is-accordion--open::after {
    content: "";
    width: 6.4vw;
    height: 6.4vw;
    background-image: url(/5g-info/assets/images/icon_arrow_wh.png);
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(-90deg);
  }

  .js-accordion.is-accordion--open+.accordion-box {
    opacity: 1;
  }

  .js-accordion--bk {
    background-color: #fff;
    width: 100%;
    margin-top: -1px;
    margin-bottom: -1px;
    padding-bottom: calc(16vw / 375 * 100);
    color: #333;
  }

  .js-accordion--bk::after {
    background-image: url(/5g-info/assets/images/icon_arrow_bk.png);
  }

  .js-accordion--bk.is-accordion--open::after {
    background-image: url(/5g-info/assets/images/icon_arrow_bk.png);
  }
}


