@charset "utf-8";

:root {
	--color-blue: #0077CA ; /*メインの青*/
	--color-navy: #015076 ; /*紺*/
	--color-accent: #015076 ;/*アクセントブルー*/
	--color-blue-link: #0077CA ; /*リンクの青*/
	--color-dark-gray: #333333 ; /*モノトーン見出し用*/
	--color-light-gray: #cccccc ; /*モノトーン罫線等*/
	--color-light-blue: #F2F8FE;
	--color-light-blue2: #F1F3F5 ; /*ブルーグレー背景*/
	--color-light-accent: #DFE6EC ; /*少し濃いめブルーグレー背景*/
}
/*  */
body {
  color: #222;
  font-family: Yu Gothic UI, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  overflow-x: hidden;
}

p {
  line-height: 1.75
}

.card_outline-textLeft-long a,
.card_outline-textLeft-all a,
.product_mainColumn p a {
  color: var(--color-blue-link);
}

.card_outline-textLeft-long a,
.product_mainColumn p a:hover {
  text-decoration: none;
}

/* a:hover */
/* マウスオーバー時、0.3秒かけてリンクをアニメーションさせる */
header a:hover,
#footer a:hover,
#infoBar a:hover,
#whatsNew a:hover,
#pickupPosts a:hover,
#ability a:hover,
#pickupCase a:hover,
#reason a:hover,
#inquiryCard a:hover,
#pickupColumn a:hover,
#pickupBanner a:hover,
#articles a:hover,
#overview a:hover,
.posts_categoryArchives a:hover,
.flow a:hover,
.button a:hover,
.column1-product a:hover,
.column1-product-dock a:hover,
.pagination a:hover,
.productFilter_text a:hover,
.product_main a:hover,
.inquiry a:hover,
.titleArea_categoryList a:hover,
.productFilter_selectBlock label:hover,
.resultBlock_contentBox a:hover,
.readmore button:hover,
#pickupVertical a:hover,
#topService a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.titleArea-dock a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.titleArea_categoryList a:hover,
.pagination a:hover {
  background: #e7f9ff;
}
.bgColor-white {
  background-color: #fff !important;
}

.bgColor-gray {
  background-color: #f1f3f5 !important;
}

.bgColor-blue {
  background-color: #F2F8FE !important;
}

.section_bg-colored {
  height: 100%;
  width: calc(108vw);
  margin-left:-8vw;
  background-color: #F2F8FE;
  position: absolute;
  z-index: -1;
}

@media (max-width : 1080px) {
  .section_bg-colored {
    margin-left: calc(-50vw + 50%);
  }
}

.section_bg-colored-1column {
  height: 100%;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background-color: #f1f3f5;
  position: absolute;
  z-index: -1;
}

@media (max-width : 1080px) {
  .section_bg-colored-1column {
    margin-left: calc(-50vw + 50%);
  }
}
.position-relative {
  position: relative;
}
.br20{
	border-radius: 20px
}
.bs{
   box-shadow: 0 0 10px rgba(0,0,0,.07);}
.border-none{
	border: none !important!
}

/* font- */

.font-bold {
  font-weight: 700;
}

/* border-radius */
/* .br20 {
  border-radius: 20px;
} */

/* margin */
.margin-s-trbl {
  margin: 20px;
}

.margin-s-rbl {
  margin: 0 20px 20px 20px;
}

.margin-s-t {
  margin: 20px 0 0 0;
}

.margin-s-b {
  margin: 0 0 20px 0;
}

.margin-s-tb {
  margin: 20px 0;
}

.margin-s-rl {
  margin: 0 20px 0;
}


.margin-m1-trbl {
  margin: 40px;
}

.margin-m1-t {
  margin: 40px 0 0 0;
}

.margin-m1-tl {
  margin: 40px 0 0 40px;
}

.margin-m1-rbl {
  margin: 0 40px 40px;
}

.margin-m1-trb {
  margin: 40px 40px 40px 0;
}

.margin-s-r-m1-bl {
  margin: 0 20px 40px 40px;
}

.margin-m1-tb {
  margin: 40px 0;
}

.margin-m1-rl {
  margin: 0 40px;
}

.margin-m1-r {
  margin: 0 40px 0 0;
}

.margin-m1-b {
  margin: 0 0 40px 0;
}

.margin-m1-l {
  margin: 0 0 0 40px;
}

.margin-m1-rl {
  margin: 0 40px 0;
}

.margin-m2-trbl {
  margin: 60px;
}

.margin-m2-t {
  margin: 60px 0 0 0;
}

.margin-m2-tb {
  margin: 60px 0;
}

.margin-m2-b {
  margin: 0 0 60px 0;
}

.margin-m2-rb {
  margin: 0 60px 60px 0;
}

.margin-l1-trbl {
  margin: 80px;
}
.margin-l1-t {
  margin-top: 80px;
}

.margin-l1-t-m1-b {
  margin: 80px 0 40px 0;
}

.margin-l2-trbl {
  margin: 160px;
}

.margin-l2-b {
  margin: 0 0 160px 0;
}

.margin-s-rl-m1-b {
  margin: 0 20px 40px 20px;
}

.margin-s-tb-m1-rl {
  margin: 20px 40px 20px 40px;
}

.margin-m1-b-m1-t {
  margin: 40px 0 40px 0;
}

.margin-m1-b-m2-t {
  margin: 60px 0 40px 0;
}

.margin-m1-t-m2-b {
  margin: 40px 0 60px 0;
}

.margin-l1-t {
  margin: 80px 0 0 0;
}

.margin-l1-b {
  margin: 0 0 80px 0;
}


.margin-l1-t-l2-b {
  margin: 80px 0 160px 0;
}

.margin-ss-r{
	margin-right: 10px
}
/* padding */
.padding-0 {
  padding: 0 !important;
}

.padding-s-trbl {
  padding: 20px;
}

.padding-s-t {
  padding: 20px 0 0 0;
}

.padding-s-b {
  padding: 0 0 20px 0;
}

.padding-s-l {
  padding: 0 0 0 20px;
}

.padding-s-tb {
  padding: 20px 0;
}

.padding-s-rl {
  padding: 0 20px;
}

.padding-s-bl {
  padding: 0 0 20px 20px;
}

.padding-s-trl {
  padding: 20px 20px 0 20px;
}

.padding-s-rbl {
  padding: 0 20px 20px 20px;
}

.padding-m1-trbl {
  padding: 40px;
}

.padding-m1-tb {
  padding: 40px 0;
}

.padding-m1-rl {
  padding: 0 40px;
}

.padding-m1-rbl {
  padding: 0 40px 40px 40px;
}

.padding-m1-t {
  padding: 40px 0 0 0;
}

.padding-m1-b {
  padding: 0 0 40px 0;
}

.padding-m1-l {
  padding: 0 0 0 40px;
}

.padding-m2-trbl {
  padding: 60px;
}

.padding-m2-t {
  padding: 60px 0 0 0;
}

.padding-m2-b {
  padding: 0 0 60px 0;
}

.padding-l1-t {
  padding: 80px 0 0 0;
}

.padding-l1-trbl {
  padding: 80px;
}

.padding-l1-b {
  padding: 0 0 80px 0;
}

.padding-l2-trbl {
  padding: 160px;
}

.padding-s-rl-m1-b {
  padding: 0 20px 40px;
}

.padding-l1-t-m1-l {
  padding: 80px 0 0 40px;
}
.con{

  max-width: 1240px;
  margin-left:auto;
  margin-right:auto;
}

@media screen and (max-width: 1080px) {
.con{
	margin-left:20px;
	margin-right:20px
	}
}
/* headline */

.h2_simple {
  color: var(--color-dark-gray);
  font-size: 28px;
  font-weight: 700;
  height: 52%;
  line-height: 1.7;
  padding-bottom: 40px;
}

.h2_simple .fontL {
  font-size: 40px;
}

.h4_simple {
  color: var(--color-navy);
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 20px;
}

/* sp */
.sp-on {
  display: inline;
}

@media screen and (min-width: 600px) {
  .sp-on {
    display: none;
  }
}

.sp-off {
  display: none;
}

@media screen and (min-width: 600px) {
  .sp-off {
    display: inline;
  }
}

@media (max-width : 1080px) {
  .sp_searchButton-on {
    display: block !important;
    min-height: 240px;
  }
}

@media (max-width : 1080px) {
  .sp_gradationButton-margin-b {
    margin: 0 0 5px 0;
  }
}
.pc-on{
	display: none;
}
@media screen and (min-width: 1080px) {
  .pc-on {
    display: block;
  }
}
/* header */

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* display: flex; */
  /* align-items: center; */
  z-index: 100;
  background-color: #FFF;
}

.header {
  height: 80px;
}

@media only screen and (max-width : 1080px) {
  .header {
    padding: 10px 0;
    height: 60px;
  }
}

.header_bottomLine {
  height: 90px;
  border-bottom: 10px solid;
  border-image: linear-gradient(to right, #1accd1, #9efaec) 1;
}

@media only screen and (max-width : 1080px) {
  .header_bottomLine {
    padding: 10px 0;
    height: 70px;
  }
}




#h_top {
  display: flex;
  align-items: center;
  padding-left: 20px;
}

.h_logo img {
  width: 120px;
}

@media only screen and (max-width : 1080px) {
  #h_top {
    padding-left: 20px;
  }

  .h_logo {
    position: absolute;
    top: 18px;
    left: 10px;
    z-index: 100;
  }
}

.nav {
  width: 96%;
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
}

@media (max-width : 1080px) {
  .nav {
    width: 100%;
    flex-direction: column;
  }
}

.header_font {
  font-size: 0.96rem;
  letter-spacing: 0.05rem;
}

@media (max-width: 1080px) {
  .header_font {
    border-bottom: 1px solid #CCC;
  }

  .megamenu_inner-link {
    border-bottom: 1px solid #CCC;
  }
}


.header_font:hover {
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 0.1rem;
}

.header_leftColumn {
  display: flex;
  align-items: center;
  color: var(--color-navy);
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 0 40px;
}

@media (max-width : 1080px) {
  .header_leftColumn {
    display: block;
    padding: 0 20px 40px 0;
    margin: 30px 0 0;
  }
}

@media (max-width: 1080px) {
  .header_leftColumn li {
    padding-left: 20px;

  }
}

.header_rightColumn {
  display: flex;
  align-items: center;
}

@media (max-width : 1080px) {
  .header_rightColumn {
    flex-direction: column-reverse;
    margin: 0;
  }
}




.header_logo {
  display: block;
  width: 152px;
  z-index: 101;
}

@media (max-width : 1080px) {
  .header_logo {
    width: 120px;
  }
}


.h_nav {
  width: 100%;
}

.header_nav {
  display: flex;
  justify-content: left;
  height: 80px;
}

.header_menu {}

.header_category {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  color: var(--color-navy);
  font-size: 0.95rem;
  font-weight: 600;
}

.header_category-noLink {
  cursor: default;
}

/* dropDown */
.dropDown {
  background: #F2F8FE;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
}


.header_font i {
  font-size: 14px;
  margin-left: 5px;
}




@media (max-width : 1080px) {
  .searchButton {
    display: none !important;
  }
}



.dropDown_searchFormr {
  width: 60%;
  display: block;
  margin: 80px auto 0;
  text-align: left;
  position: relative;
}

@media (max-width : 1080px) {
  .dropDown_searchFormr {
    width: 80%;
    margin: 40px auto 0;
  }
}

.dropDown_searchTextBox {
  margin: 0 auto;
  width: 100%;
  height: 45px;
  font-size: 1rem;
  border: 1px solid #D0CFCE;
  outline: none;
  padding: 0 40px 0 20px;
}

@media (max-width : 1080px) {
  .dropDown_searchTextBox {
    padding: 0 8px;
  }
}

.dropDown_searchIcon {
  position: relative;
  float: right;
  top: -35px;
  right: 10px;
  font-size: 1.6rem;
  color: #07577c;
  font-weight: bold;
}




.dropDown_searchFilter {
  height: 30px;
  line-height: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 40px auto 80px;
}

@media (max-width : 1080px) {
  .dropDown_searchFilter {
    flex-wrap: wrap;
    padding: 0;
    margin: 40px auto 20px;
  }
}

.dropDown_checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0 20px;
}

@media (max-width : 1080px) {
  .dropDown_checkbox {
    padding: 5px 5px;
  }
}

.dropDown_checkboxInput {
  width: 0;
  opacity: 0;
}

.dropDown_checkboxDummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border: solid 2px #888888;
  background: #FFFFFF;
  border-radius: 4px;
}

.dropDown_checkbox:hover>.dropDown_checkboxDummyInput {
  background: #9efaec !important;
  border: solid 2px var(--color-dark-gray);
}

.dropDown_checkboxInput:focus+.dropDown_checkboxDummyInput {
  background: #9efaec !important;
  border: solid 2px var(--color-dark-gray);
}

.dropDown_checkboxInput:checked+.dropDown_checkboxDummyInput {
  border: solid 2px var(--color-dark-gray);
  background: #FFFFFF;
}

.dropDown_checkboxInput:checked+.dropDown_checkboxDummyInput::before {
  content: '\f00c';
  color: var(--color-dark-gray);
  font-family: fontAwesome;
  display: block;
  position: absolute;
  top: 8px;
  left: 1.5px;
  width: 100%;
  height: 100%;
}

.dropDown_checkboxLabelText {
  margin-left: 8px;
  display: block;
}


.header_searchBox {
  margin: 80px auto 100px;
  max-width: 1080px;
}

@media (max-width : 1080px) {
  .header_searchBox {
    margin: 0 auto;
  }
}

.megamenu_inner {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 1100px;
}

@media (max-width : 1080px) {
  .megamenu_inner {
    margin: 0 auto 30px;
    width: 100%;
  }
}

.megamenu_inner-link {
  line-height: 20px !important;
}

.megamenu_inner-img img {
  width: 220px;
  height: 80px;
  border-radius: 5px;
  object-fit: cover;
}

.megamenu_inner-text {
  /*margin-top: 10px;*/
  margin-bottom: 20px;
  text-align: left;
  /*padding-left: 2rem;*/
}


.megamenu_detail {
  position: relative;
  display: inline;
  color: var(--color-dark-gray);
}

.megamenu_inner-link:hover {
	
  text-decoration: underline;
}


@media (max-width : 1080px) {
  .spnav_non {
    display: none;
  }

  .megamenu_detail {
    position: initial;
    color: initial;
    color: var(--color-dark-gray);
    border-bottom: none;
  }

  .megamenu_detail::before {
    content: none;
  }

  .megamenu_detail::after {
    content: none;
  }

  .megamenu_inner-text {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
  }

  .header_font i {
    display: none;
  }
}


.header_inquiry {
  margin-right: 60px;
  z-index: 2;
}

.header_imgnav{
display:flex;
justify-content:flex-start;
flex-wrap:wrap;
max-width:1200px;
margin-left:auto;
margin-right:auto;
}
.header_imgnav li{
display:block;
width:20%;
padding:0 20px 20px
}
.imgNavImg {
width: 100%;             /* 横幅は可変 */
aspect-ratio: 3 / 1;     /* アスペクト比を3:1に固定 */
overflow: hidden;        /* はみ出した部分を隠す */
position: relative;
}

.imgNavImg img {
width: 100%;             /* 横幅いっぱいに表示 */
height: 100%;
object-fit: cover;       /* はみ出す部分をトリミング */
object-position: center; /* 中央を基準にトリミング */
display: block;
}

.gradationButton-inquiry {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 200px;
  border-radius: 80px;
  font-weight: 600;
  color: #ffffff;
  background: #0077CA;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

@media (max-width : 1080px) {
  .gradationButton-inquiry {
    height: 30px;
    width: 160px;
    z-index: 10;
  }
}

@media (max-width : 370px) {
  .gradationButton-inquiry {
    width: 130px;
    margin-left: 5px;
  }
}


.header_logo-zindex {
  z-index: 3;
}


/* main */
main {
  margin-top: 80px;
  height: 100%;
  min-height: 900px;
}

@media (max-width : 1036px) {
  main {
    margin-top: 60px;
  }

}


main:before {
  content: '';
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.4s ease-out;
  background-color: rgba(0, 0, 0, .4);
  pointer-events: none;
}

.mmoverlay:before {
  opacity: 1;
  transition: all 0.4s ease-out;
}



/* infoBar */
#infoBar {
  background-color: #F2F3F7;
  min-height: 130px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.infoBar-bg {
  background-color: #Fff;
  min-height: 130px;
  width: 100%;
  /*position: absolute;
  z-index: 2;*/
}

.infoBar_title {
  font-weight: bold;
  color: var(--color-accent);
  text-align: right;
  padding-right: 5%;
  min-width: 125px;
  width: 30%;
}

.infoBar_content {
  width: 70%;
  color: #00516f;
  text-align: left;
}

.infoBar_inner {
  display: flex;
  text-align: center;
  padding: 10px;
  min-width: 90%;
  max-width: 90%;
  line-height: 1.75rem;
}

.infoBar_content_title {
  font-weight: bold;
  margin-bottom: 10px;
}

.infoBar_outline {

  color: #00516f;
  max-height: 3.3rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 10px;
}

.infoBar_detail {
  text-align: right;
  position: relative;
  display: inline;
  /*padding-right: 25px;*/
  font-weight: 700;
  color: var(--color-blue-link);
}

.infoBar_detail-underline {
	text-decoration: underline;
}
@media (max-width:650px) {
  #infoBar {
    height: 220px;
  }

  .infoBar_inner {
    flex-direction: column;
    max-width: 86%;
    width: 86%;


  }

  .infoBar_content {
    width: 98%;
  }

  .infoBar_title {
    text-align: center;
    margin-bottom: 10px;
    width: 100%;
  }

}

/* Button */
.button {
  width: 100%;
  display: flex;
  justify-content: center;
}

.button-left {
  width: 100%;
  display: flex;
  justify-content: left;
}

.searchButton {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 48px;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--color-navy);
  background-color: #f1f3f5;
  border-radius: 80px;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
  position: relative;
}

.searchButton:hover {
  cursor: pointer;
}

.searchButton::before {
  position: absolute;
  top: -14px;
  left: 11px;
}

.gradationButton {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 200px;
  border-radius: 80px;
  font-weight: 600;
  color: #ffffff !important;
  background: #0077CA;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

.gradationButton-l {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 300px;
  border-radius: 80px;
  font-weight: 600;
  color: #ffffff;
  background: #0077CA;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

.defaultButton {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 200px;
  border-radius: 80px;
  font-weight: 600;
  color: #0077CA;
  border: 2px solid #0077CA;
  background: #fff;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

.defaultButton a {
  color: var(--color-accent);
}

.defaultButton-l {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  min-width: 300px;
  padding: 0 10px;
  border-radius: 80px;
  font-weight: 600;
  color: #0077CA;
  border: 2px solid #0077CA;
  background: #fff;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

.defaultButton:hover {
  background: #e7f9ff;
}

.defaultButton-l:hover {
  background: #e7f9ff;
}

.btn_common a {
  display: inline-block;
  padding: 12px;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 600;
}

.btn_blue a {
  background: var(--color-blue)!important;
  color: #fff !important;
}

/* hr */
.hr-wavyLineImg {
  height: 21px;
  background-image: url(/img/common/wavyline_hr.png);
  background-repeat: no-repeat;
  background-position: center;
}



/* section */
.section_text {
  font-size: 16px;
  line-height: 1.75rem;
  padding: 0 0 40px;
}

@media (max-width : 1080px) {
  /*.section_text {
    padding: 0 0 20px;
  }*/
}

.section_text-center {
  text-align: center;
}

.section_text-left {
  text-align: left;
}

.section_text-left-h4 {
  text-align: left;
  font-size: 1.2rem;
  font-weight: 700;
}

@media (max-width : 1080px) {
  .section_text-left-h4 {
    padding: 0 20px 0;
  }
}

.section_title-l {
  font-size: 28px;
  font-weight: 700;
  /* width: 90%; */
  display: inline-block;
  line-height: 2.6rem;
  color: var(--color-navy);
}

.section_title-titleArea_product {
  font-size: 34px;
  font-weight: 700;
  display: inline-block;
  line-height: 3.3rem;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  margin-top: 60px;
}

.section_title-s {
  font-size: 24px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  letter-spacing: -0.03em;
  color: var(--color-navy);
  min-height: 4rem;
}

.section_title-m {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  padding: 0 0 40px;
}

.section_title-m2 {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  letter-spacing: -0.03em;

  color: var(--color-dark-gray);
}

.section_title-h3 {
  font-size: 24px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-navy);
  padding: 0 0 20px;
  width: 98%;
}

@media (max-width : 1080px) {
.section_title-h3 {
  font-size: 20px;
  }
}


.top_bg-01 {
  /* background-color: #FFF; */
  background-image: url(../img/top/top_bg01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 894px;
  position: absolute;
  z-index: -1;
}

.top_bg-02 {
  background-color: #FFF;
  background-image: url(../img/top/top_bg02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 1784px;
  position: absolute;
  z-index: -1;
  margin-top: 200px;
}

.top_bg-03 {
  background-color: #FFF;
  background-image: url(../img/top/top_bg03.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 894px;
  position: relative;
  z-index: 0;
  margin-top: 200px;
}

.recommend_title {
  display: flex;
}

.recommend_title::before {
  content: "＼";
  padding: 40px 40px 0 10%;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-navy);
}

@media (max-width : 1080px) {
  .recommend_title::before {
    padding: 40px 10px 0 10%;
  }
}

.recommend_title::after {
  content: "／";
  padding: 40px 10% 0 40px;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-navy);
}

@media (max-width : 1080px) {
  .recommend_title::after {
    padding: 40px 10% 0 10px;
  }
}

.section_title-recommend {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  padding: 40px 0 0;
  margin: 0 auto;
  text-align: center;
}
.product_title {
  display: flex;
}


.section_title-product {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  padding: 40px 0 40px;
}

@media (max-width : 1080px) {
  .section_title-product {
    margin: 0 auto;
    padding: 40px 0 20px;
  }
}



.recommend_main {
  display: flex;

}

@media (max-width : 1080px) {
  .recommend_main {
    flex-direction: column-reverse;
    justify-content: center;
    justify-items: center;

  }

}

.recommend_leftColumn {
  width: 60%;
}

@media (max-width : 1080px) {
  .recommend_leftColumn {
    width: 100%;
  }
}

.recommend_rightColumn {
  width: 40%;
}

@media (max-width : 1080px) {
  .recommend_rightColumn {
    width: 100%;
  }
}

.recommend_description {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 20px;
}

@media (max-width : 1080px) {
  .recommend_description {
    margin: 0 20px 20px;
  }
}


.recommend_img {
  width: 100%;
  max-width: 1020px;
  display: block;
  padding: 0 0 40px 40px;
}

@media (max-width : 1080px) {
  .recommend_img {
    max-width: 80%;
    padding: 0 20px 40px;
    margin: 0 auto;
  }
}

.recommend_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

.section_content-card2 {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
}

@media (max-width : 1036px) {
  .section_content-card2 {
    justify-content: space-around;
  }
}

.section_content-card2::after {
  content: "";
  display: block;
  width: 500px
}

.section_content-card2-product {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 40px;
}


@media (max-width : 1080px) {
  .section_content-card2-product {
    justify-content: space-evenly;
  }
}

.section_content-card2-product::after {
  content: "";
  display: block;
  width: 390px
}

.section_content-card3 {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
}

.section_content-card3::after {
  content: "";
  display: block;
  width: 300px;
  margin: 0 20px;
}
@media (max-width : 1236px) {
  .section_content-card3 .card3 {
	  width: 30%
  }
	
  .section_content-card3 .margin-s-rl-m1-b {
	  margin: 20px auto 40px 
  }
}

@media (max-width : 966px) {
  .section_content-card3 .card3 {
	  width: 48%
  }
}


@media (max-width : 780px) {
  .section_content-card3 .card3 {
	  width: 90%
  }
}

@media (max-width : 1036px) {
  .section_content-card3 {
    justify-content: space-evenly;
  }
}

/* card */
.card_category {
  font-size: 12px;
  font-weight: 700;
}

/* card_ribbon */
.card_ribbon-column {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 1px 25px 3px 20px;
  margin: 10px 0 0 -7px;
  width: auto;
  color: white;
  background: var(--color-accent);
  font-size: 0.95rem;
}

.card_ribbon-column::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 7px transparent;
  border-right: solid 7px var(--color-navy);
}

.card_ribbon-column::after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  border: none;
  border-bottom: solid 32px transparent;
  border-left: solid 10px var(--color-accent);
}

.card_ribbon-notice {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 1px 25px 3px 20px;
  margin: 10px 0 0 -7px;
  width: auto;
  color: white;
  background: var(--color-navy);
  font-size: 0.95rem;
}

.card_ribbon-notice::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 7px transparent;
  border-right: solid 7px var(--color-navy);
}

.card_ribbon-notice::after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  border: none;
  border-bottom: solid 32px transparent;
  border-left: solid 10px var(--color-navy);
}

.card_ribbon-newsrelease {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 1px 25px 3px 20px;
  margin: 10px 0 0 -7px;
  width: auto;
  color: white;
  background: var(--color-navy);
  font-size: 0.95rem;
}

.card_ribbon-newsrelease::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 7px transparent;
  border-right: solid 7px var(--color-navy);
}

.card_ribbon-newsrelease::after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  border: none;
  border-bottom: solid 32px transparent;
  border-left: solid 10px var(--color-navy);
}

.card_ribbon-maintenance {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 1px 25px 3px 20px;
  margin: 10px 0 0 -7px;
  width: auto;
  color: white;
  background: #6A2D45;
  font-size: 0.95rem;
}

.card_ribbon-maintenance::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 7px transparent;
  border-right: solid 7px var(--color-navy);
}

.card_ribbon-maintenance::after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  border: none;
  border-bottom: solid 32px transparent;
  border-left: solid 10px #6A2D45;
}

.card_ribbon-disaster {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 1px 25px 3px 20px;
  margin: 10px 0 0 -7px;
  width: auto;
  color: white;
  background: #6A2D45;
  font-size: 0.95rem;
}

.card_ribbon-disaster::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 7px transparent;
  border-right: solid 7px var(--color-navy);
}

.card_ribbon-disaster::after {

  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  border: none;
  border-bottom: solid 32px transparent;
  border-left: solid 10px #6A2D45;
}

.card_content-construction {
  padding: 20px;
  min-height: 450px;
  max-height: 450px;
}



.card_content-product {
  padding: 20px;
  min-height: 245px;
  max-height: 245px;
}

.card_content-column {
  padding: 20px;
  min-height: 270px;
  max-height: 270px;
}

.card_title {
  color: #00516f;
  font-weight: 700;
  max-height: 5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 10px 20px 10px;
}

.card_title-long {
  font-size: 0.95rem;
  color: #00516f;
  font-weight: 700;
  min-height: 8rem;
  margin: 10px 20px 10px;
}

.card_title-h3 {
  font-size: 24px;
  color: var(--color-navy);
  line-height: 1.3;
  font-weight: 700;
  max-height: 3.8rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: left;
  margin-bottom: 10px;
}

.card_title-h3-center {
  font-size: 24px;
  color: var(--color-navy);
  font-weight: 700;
  max-height: 3.8rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: center;
  margin-bottom: 10px;
}

.card_title-freewifi {
  font-size: 1.6rem;
  color: #00516f;
  font-weight: 700;
  text-align: center;
  min-height: 50px;
}

.card_title-navy {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-navy);
}

.card_title-blue {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-blue-link);
}

.card_title-blue a {
  text-decoration: underline;
}

.card_title-blue a:hover {
  text-decoration: none;
}

.card_title-gradation {
  font-size: 20px;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
}

.card_title-gradation-usability {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  max-height: 3.6rem;
  min-height: 3.6rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

}

.card_time {
  color: #757575;
  font-size: 0.8rem;
}

.card_description {
  font-weight: 700;
  color: var(--color-navy);
  font-size: 20px;
  min-height: 90px;

}

.card_description-column_title {
  font-weight: 700;
  color: var(--color-navy);
  font-size: 16px;
  padding-bottom: 20px;
  text-align: left;

}

.card_description-left {
  color: #111;
  font-size: 16px;
  text-align: left;
  max-height: 3.3rem;
  min-height: 3.3rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 10px;

}

.card_pickupCaseDescription {
  font-size: 0.95rem;
  color: #111;
  min-height: 5rem;
  max-height: 5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 10px 20px 20px;
}

.card_outline {
  min-height: 8.2rem;
  max-height: 8.2rem;
  overflow: hidden;
  overflow-wrap: anywhere;
}


.card_outline-textLeft {
  text-align: left;
  max-height: 5.4rem;
  min-height: 5.4rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 10px 20px 20px;
}

.card_inner {
  /* border-radius: 20px; */
  width: 44%;
  line-height: 1.75rem;
}

@media screen and (min-width:618px) and (max-width:838px) {
  .card_outline-textLeft {
    /* min-height: 7.2rem; */
    max-height: 7.2rem;
  }
}

.card_outline-textLeft-long {
  text-align: left;
  max-height: 16.2rem;
  min-height: 16.2rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
}

@media screen and (min-width:618px) and (max-width:838px) {
  .card_outline-textLeft-long {
    min-height: 18rem;
    max-height: 18rem;
  }
}

@media screen and (max-width: 617px) {
  .card_outline-textLeft-long {
    max-height: 26.2rem;
    -webkit-line-clamp: 16;
  }

  .card_inner {
    width: 100%;
  }
}

.card_outline-textLeft-all {
  text-align: left;
  /* max-height: 10rem; */
  min-height: 11rem;
  /* margin: 10px 20px 20px; */
}

@media screen and (min-width:618px) and (max-width:838px) {
  .card_outline-textLeft-all {
    min-height: 7.2rem;
    max-height: 7.2rem;
  }
}


.card_outline-product {
  font-size: 1rem;
  color: #00516f;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 3.3rem;
  max-height: 3.3rem;
  margin-bottom: 20px;
}

/* @media screen and (min-width:618px) and (max-width:838px) {
  .card_outline-product {
    min-height: 7.2rem;
    max-height: 7.2rem;
  }
} */

.card_outline-freewifi {
  color: var(--color-dark-gray);
  font-weight: 700;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.6;
}

.card_outline-freewifi-fontsizeL {
  font-size: 2.6rem;
}

.card_detail {
  text-align: right;
  position: relative;
  /*padding-right: 30px;*/
  font-weight: 700;
  color: #0077CA;
  min-height: 28px;
}

.card_detail-underline {
	text-decoration: underline;
}

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

.card_a-displayBlock-l {
  display: block;
  min-height: 450px;
  max-height: 450px;
}

@media screen and (min-width:360px) and (max-width:696px) {
  .card_a-displayBlock-l {
    min-height: 470px;
    max-height: 470px;
  }
}


.card_a-displayBlock-s {
  display: block;
  min-height: 380px;
  max-height: 380px;
}

@media screen and (min-width:360px) and (max-width:618px) {
  .card_a-displayBlock-s {
    min-height: 400px;
    max-height: 400px;
  }
}

.card_pickupCaseTitle {
  font-size: 20px;
  display: inline-block;
  color: var(--color-navy);
  font-weight: 700;
  max-height: 3.6rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 20px 20px 10px;
}

/* card1 */
.card1 {
  background-color: #fff;
  /* border-radius: 20px; */
  width: 1240px;
  max-width: 98%;
  padding: 50px 30px;
  border: 6px solid #F1F3F5;
  text-align: center;
}

/* card2 */
.card2 {
  /*border-radius: 20px;*/
  width: 460px;
  line-height: 1.75rem;
	border: 1px solid #ccc;
  /*box-shadow: 0 2px 4px 0 rgb(0 0 0 / 14%);*/
}


@media (max-width : 1016px) {
  .card2 {
    width: 100%;
    max-width: 500px;
  }
}

.card2-noneShadow {
  border-radius: 20px;
  width: 460px;
  line-height: 1.75rem;
}


@media (max-width : 1016px) {
  .card2-noneShadow {
    width: 100%;
    max-width: 500px;
  }
}

.card2-product {
  background-color: #ffffff;
  /* border-radius: 20px; */
  width: 470px;
  line-height: 1.75rem;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 14%);
}

.card2-product-noneShadow {
  background-color: #ffffff;
  border-radius: 20px;
  width: 470px;
  line-height: 1.75rem;
}

.card2-product-transparent {
  background-color: transparent;
}

.card2_text-center {
  text-align: center;
}

.card2_text-left {
  text-align: left;
}

.card2_titleImg {
  width: 320px;
  height: 180px;
  /*border-radius: 20px 20px 0 0;*/
}

.card2_titleImg-relatedColumns {
  width: 100%;
  min-height: 220px;
  max-height: 220px;
  /* border-radius: 20px 20px 0 0; */
  object-fit: cover;
}

@media (max-width : 696px) {
  .card2_titleImg-relatedColumns {
    max-height: 250px;
  }
}

/* card3 */
.card3 {
  background-color: #fff;
  /* border-radius: 20px; */
  max-width: 365.7px;
  width: 31%;
  line-height: 1.75rem;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 14%);
}

@media (max-width : 1036px) {
  .card3 {
    width: 43%;
  }
}

@media (max-width : 696px) {

  .card3 {
    max-width: 500px;
    width: 100%;
  }
}



.card3_titleImg {
  width: 100%;
  max-height: 180px;
  min-height: 180px;
  /* border-radius: 20px 20px 0 0; */
  object-fit: cover;
}

.card-text {
  width: 1240px;
  padding: 50px 30px;
  margin: 0 auto;
}


/* whatsNew */
#whatsNew a:hover {
  opacity: 0.6;
  transition: 0.2s;
}

/* pickupPosts */
#pickupPosts {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.88rem;
}



.pickupPosts_tab {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #085478;
}

.pickupPosts_tabCategory {
  text-align: center;
  color: #085478;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  flex: 1;
  padding: 20px 0;
}

@media screen and (max-width: 600px) {
  .pickupPosts_tabCategory {
    font-size: 0.8rem;
    padding: 10px 0;
  }
}

.pickupPosts_tab li:hover {
  background-color: #F0F8FF;
}

.select {
  border-bottom: 4px solid #085478;
}

.hide {
  display: none;
}

.pickupPosts_content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.pickupPosts_content a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  transition: 0.2s;
}

.pickupPosts_article {
  border-bottom: 1px solid #085478;
  width: 100%;
}

.pickupPosts_article li,
.pickupPosts_article h4 {
  font-size: 1rem
}

.pickupPosts_article a {
  width: 100%;
  display: block;
  padding: 20px 0;
}

.pickupPosts_article a:hover {
  background-color: #F0F8FF;
  transition: 0.2s;
}

.pickupPosts_timestamp {
  color: #757575;
  display: flex;
  justify-content: left;
  padding-bottom: 20px;
  padding-left: 5px;
}

@media screen and (max-width: 600px) {
  .pickupPosts_timestamp {
    padding-bottom: 10px;
    font-size: 0.8rem;
  }
}


.pickupPosts_time::after {
  content: "|";
  padding: 0 10px;
}



.pickupPosts_title {
  min-height: 2rem;
  line-height: 1.75rem;
  color: #085478;
  font-weight: bold;
  padding-left: 5px;
}

@media screen and (max-width: 600px) {
  .pickupPosts_title {
    font-size: 0.8rem;
  }
}

.pickupPosts_on {
  width: 100%;
  background-color: #fff;
}

.noAlert {
  width: 100%;
  height: 430px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}


/* ability */
#ability {
  text-align: center;
}

.ability_img {
  margin-top: 40px;
}

.ability_img img {
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
}









/* pickupCase */
#pickupCase {
  text-align: center;
}

.pickupCase_logo {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pickupCase_logoImg {
  max-height: 120px;
  max-width: 220px;
  object-fit: contain;
}



/* reason */
#reason {
  text-align: center;
  margin: 0 auto;
}

/* inquiryCard */
#inquiryCard {
  text-align: center;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

}

/* #pickupColumn */
#pickupColumn {
  text-align: center;
  position: relative;
}






/* #pickupBanner */
#pickupBanner {
  width: 100%;
  margin: 0 auto;
}

.pickupBanner_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

}

.pickupBanner_img {
  max-height: 160px;
  max-width: 220px;
  object-fit: contain;
}

/* footer */
#footer {
  background-color: #f2f3f7;
  line-height: 2.3rem;
}

.footer_inner {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
}

@media (max-width : 1325px) {
  .footer_inner {
    padding: 40px 30px;
  }
}

.footer_logo {
  width: 340px;
}

.footer_logo img {
  width: 110px;

}

.footer_nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  color: var(--color-navy);
}

.footer_menu {
  display: flex;
  flex-wrap: wrap;
}

.footer_menu a:hover {
  text-decoration: underline;
}

.footer_category {
  width: auto;
  max-width: 270px;
  font-size: 0.9rem;
  padding-right: 39px;
  padding-left: 10px;
}

.footer_category ul {
  padding-top: 0.7rem;
}

.footer_category li {
  line-height: 1.3rem;
  padding-bottom: 1.2rem;
  max-width: 150px;
}

@media (max-width : 470px) {
  .footer_category {
    width: 100%;
    max-width: 100%;
  }

  .footer_category li {
    width: 99%;
    max-width: 99%;
  }
}

.footer_copyright {
  font-size: 0.7rem;
}
.footer_bottom{
background-color:#8babbb;
padding:12px 0;
text-align:center;
color:#fff
}
.footer_sns ul{
display:flex;
justify-content:center;
column-gap:30px;
margin-bottom:20px;
}

/* pagetop */

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  box-shadow: 0 4px 6px rgb(0 0 0 / 30%);
}

.pagetop__arrow {
  height: 30px;
  width: 30px;
  background: url(/img/common/icon_backtotop.svg) center no-repeat;
}

@media (hover: hover) and (pointer: fine) {

  .pagetop:hover,
  .pagetop:hover .pagetop__arrow {
    opacity: 0.6;
    transition: 0.3s;
  }
}

/* product */

#topCategory {
  background-color: #FFFBBE;
}


/* titleArea */
.bgcolor-100 {
  width: 100vw;
  background-color: #c21313;
}

/* titleArea */
.titleArea {
  margin: 0 0 50px;
  display: flex;
  justify-content: flex-start;
  /*background-color: #ccced2;*/
  max-height: 400px;
  background-position: left bottom;
  background-image: url(/img/common/bg_detail.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: auto;
  height: 100%;
}

@media (max-width : 1080px) {
  .titleArea {
    display: block;
    max-height: 1500px;
    /* background-position: 0 -160px; */
  }
}

.titleArea-s {
  margin: 0 0 50px;
  display: flex;
  justify-content: center;
  /*background-color: #ccced2;*/
  min-height: 120px;
  background-position: left bottom;
  background-image: url(/img/common/bg_detail.jpg);
  background-size: cover;
  width: auto;
  height: 100%;
}

@media (max-width : 1080px) {
  .titleArea-s {
    display: block;
    max-height: 1500px;
    min-height: 120px;
  }
}

.titleArea-s-bgNon {
  margin: 0 0 50px;
  display: flex;
  justify-content: center;
  min-height: 180px;
  width: auto;
  height: 100%;
}

@media (max-width : 1080px) {
  .titleArea-s-bgNon {
    display: block;
    max-height: 1500px;
    min-height: 120px;
  }
}


.titleArea_product {
  margin: 0 0 50px;
  display: flex;
  justify-content: center;
  /*background-color: #ccced2;*/
  max-height: 320px;
  background-position: left bottom;
  background-image: url(/img/common/bg_detail.jpg);
  background-size: cover;
  width: auto;
  height: 100%;
}

@media (max-width : 1080px) {
  .titleArea_product {
    display: block;
    max-height: 1500px;
    background-position: 0 -160px;
  }
}

.titleArea h1 {
  font-size: 36px;
  font-weight: 600;
  line-height: 2.7rem;
  margin-top: 40px;
}

@media (max-width : 1080px) {
  .titleArea h1 {
    margin-top: 40px;
    font-size: 28px;

  }
}

.titleArea-s h1 {
  font-size: 36px;
  font-weight: 700;
  margin-top: 40px;
}

@media (max-width : 1080px) {
  .titleArea-s h1 {
    margin-top: 40px;

  }
}

.titleArea_textbox {
  margin: 0 80px 20px 8%;
  position: relative;
}

@media (max-width : 1080px) {
  .titleArea_textbox {
    width: 100%;
    margin: 0;
    max-width: 100%;
    padding: 0 20px 20px;
  }
}

.breadcrumb {
  margin-top: 100px;
  margin-left: 120px;
  font-size: 0.9rem;
}

@media (max-width : 1080px) {
  .breadcrumb {
    display: none;
  }

}


.breadcrumb_list {
  display: flex;
  white-space: nowrap;
}

.breadcrumb_list a {
  text-decoration: underline;
}

.breadcrumb_item {
  margin-right: 10px;
}

.breadcrumb_triangle {
  font-size: 8px;

}




.titleArea_serviceCopy {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75rem;
  margin: 40px 0 20px;
  color: var(--color-navy);
}

.titleArea_serviceCopy-product {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75rem;
  margin: 40px 0 80px;
  color: var(--color-navy);
}




.titleArea_categoryList {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(5px, 16px, 16px);
  margin: 20px 20px 20px 0;
}



.titleArea_categoryList ul {
  max-height: 200px;
}

.titleArea_primaryCategory {
  display: inline-block;
  padding: 6px 12px;
  height: 30px;
  border-radius: 14px;
  background-color: #FFFBBE;
}

.titleArea_subCategory {
  display: inline-block;
  padding: 6px 12px;
  height: 30px;
  background-color: #FFFFFF;
  border-radius: 14px;
}


.titleArea_categoryList li {
  margin: 6px 10px 8px 0;
  border-radius: 16px;
  border: 1px solid #D0CFCE;
}



#titleArea_detailMainImg {
  color: #fff;
  width: 50%;
  display: flex;
  justify-content: center;
  justify-items: center;
}

@media (max-width : 1080px) {
  #titleArea_detailMainImg {
    width: 100%;
    /* max-height: 300px;
    background-color: #57e6e0; */
  }

}

.titleArea_thumbImg {
  color: #fff;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width : 1080px) {
  .titleArea_thumbImg {
    /*min-height: 200px;*/
  }
}

.titleArea_thumbImg img {
  background-size: cover;
  width: 100vw;
  background-position: top;
}

.titleArea_thumbImg a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.titleArea_thumbImg a:hover .titleArea_slide_txt-underline {
  text-decoration: none;
}

/* フィルタースライダー */

/*=== 画像の表示エリア ================================= */
.titleArea_slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

/*=== 画像の設定 ======================================= */
.titleArea_slide a {
  display: block;
  position: absolute;
  width: inherit;
  height: inherit;
  left: 100%;
  animation: slideAnime 27s ease infinite;
}

.titleArea_slide img {
  width: inherit;
  height: inherit;
}

/*=== スライドのアニメーションを段差で開始する ========= */
.titleArea_slide a:nth-of-type(1) {
  animation-delay: 0s
}

.titleArea_slide a:nth-of-type(2) {
  animation-delay: 9s
}

.titleArea_slide a:nth-of-type(3) {
  animation-delay: 18s
}

/*=== スライドのアニメーション ========================= */
@keyframes slideAnime {
  0% {
    left: 100%
  }

  1% {
    left: 0
  }

  32% {
    left: 0
  }

  33% {
    left: -100%
  }

  100% {
    left: -100%
  }
}


.titleArea_slide_txtArea {
  content: "";
  display: block;
  position: absolute;
  top: 64%;
  width: 100%;
  height: 200px;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
  padding: 20px;
}

@media (max-width : 1080px) {
  .titleArea_slide_txtArea {
    top: 50%;
  }
}

.titleArea_slide_txt {
  display: flex;
  flex-direction: column;

}

.titleArea_slide_txt-underline {
  text-decoration: underline;
  text-decoration-color: #ffffff;
}

.titleArea_slide_summary {
  display: flex;
  /* align-items: baseline; */
  margin-top: 10px;
}

.titleArea_slide_summary::after {
  content: url(/product/img/icon_roundArrow.svg);
  margin-left: 10px;
}




.product_main {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 0 auto;
}

@media (max-width : 1280px) {
  .product_main {
    width: 94%;
    display: block;
  }

}


.product_mainColumn {
  width : calc( 92% - 220px );
	padding-left: 8%;
}

@media (max-width : 1280px) {
  .product_mainColumn {
    max-width: 100%;
    width: auto;
	  padding-left: 0;
  }

}

.product_naviColumn {
  padding: 0 0 100px;

}

@media (max-width : 1280px) {
  .product_naviColumn {
    padding: 0 50px 0 0;

  }


}


@media (max-width : 1080px) {}

#product_columnNavi {
  padding: 0 0px 0 0;
  min-width: 30%;
  width: 180px;

}

#product_columnNavi li {
  border-left: 4px solid #CCCCCC;
  padding: 10px;
  font-weight: 700;
  color: var(--color-navy);
  font-size: 14px;

}

li:has(.nav-current) {
  border-left: 4px solid #0FCCD1 !important;
  font-weight: bold !important;
  color: var(--color-accent) !important;
}

#product_columnNavi li:hover {
  opacity: 0.9;
  transition: 0.4s;
}

.product_side {
  position: -webkit-sticky;
  position: sticky;
  top: 120px;
}



.titleBlock {
  border-left: 8px solid #0fccd1;
  min-height: 79px;
  height: auto;
  padding-top: 5px;
}

@media (max-width : 1080px) {
  .titleBlock {
    margin: 0 20px;
  }
}

.titleBlock_description {
  font-weight: 700;
  line-height: 1.75rem;
  color: var(--color-navy);
  margin-left: 32px;
  margin-bottom: 10px;
}

@media (max-width : 1080px) {
  .titleBlock_description {
    margin-left: 12px;
  }
}

.titleBlock_title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.75rem;
  color: var(--color-navy);
  margin-left: 32px;
}

@media (max-width : 1080px) {
  .titleBlock_title {
    margin-left: 12px;
  }
}

.section_text-costMinimum {
  font-size: 16px;
  line-height: 1.75rem;
  letter-spacing: -0.03em;
  margin: 20px 0 20px 40px;
}

@media (max-width: 1080px) {
  .section_text-costMinimum {
    padding: 0 20px;
    margin: 20px;
  }
}



/* .card3-product */
.card3-product {
  background-color: #fff;
  /* border-radius: 20px; */
  max-width: 330px;
  width: calc(33% - 40px);
  line-height: 1.75rem;
}

@media (max-width : 1036px) {
  .card3-product {
  width: calc(50% - 40px);
  }
}

@media (max-width : 696px) {
  .card3-product {
    max-width: 600px;
    width: 86%;
  }
}

.card3-transparent {
  background-color: transparent;
}

.card3-noshadow {
	box-shadow: none;
}



.card3-freewifi-bg {
  background-color: #f1f3f5;
}

.section_content-card3-product {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
}

.section_content-card3-product::after {
  content: "";
  display: block;
  width: 31%
}

@media (max-width : 1036px) {
  .section_content-card3-product {
    justify-content: space-evenly;
  }
}


@media (max-width : 696px) {
  .card3-product {
    max-width: 600px;
    width: 86%;
  }
}




/* .achievements */

.achievements_img{
  width: 100%;
  max-width: 100%;
}
.achievements_img-half {
  width: 100%;
  max-width: 1020px;
  display: flex;
	justify-content: flex-start;
  padding-bottom: 60px;
	gap:20px;
}

@media (max-width : 696px) {
  .achievements_img {
    max-width: 100%;
    flex-direction: column;

  }
}

.achievements_imgBlock {
  max-width: 100%;
}

@media (max-width : 696px) {
  .achievements_imgBlock {
    padding-bottom: 40px;
  }
}

.achievements_imgBlock p {
  font-size: 14px;
  line-height: 1.2rem;
  color: var(--color-navy);
}


.achievements_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 1240px) {
.achievements_img img {
  width: 100%;
	max-width: 1020px
	
}
}
.achievements_img-half .achievements_imgBlock{
max-width: 48%;
  min-width: 10%;
  height: auto;
  margin: 0;
}

  .achievements_img-half img {
    max-width: 100%;
  }

.achievements_img source {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

.achievements_text {
  font-size: 12px;
  padding-top: 10px;
}



/* .feature */
.feature_img {
  width: 100%;
  max-width: 290px;
  margin: 0 auto;
}

@media (max-width : 1080px) {
  .feature_img {
    max-width: 500px;
    margin: 0 auto;
  }
}

.feature_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
}


/* .costMinimum */
.costMinimum_img,
.costMinimum_img-half {
  width: 100%;
  max-width: 1020px;
  display: block;
  padding: 0 0 40px 40px;
}

@media (max-width : 1080px) {
  .costMinimum_img {
    max-width: 100%;
    padding: 0 20px 40px;
  }
}

.costMinimum_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

.costMinimum_img-half img {
  max-width: 50%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 1080px) {
  .costMinimum_img-half img {
    max-width: 100%;
  }
}
.featureList {
  list-style-type: none;
  counter-reset: count1;
}

@media (max-width : 1080px) {
  .featureList {
    margin: 0 20px;
  }
}



.featureList dt {
  position: relative;
  /*counter-increment: count1;*/
  line-height: 2.8rem;
  /*padding-left: 60px;*/
  font-size: 22px;
  color: var(--color-navy);
}

.featureList dt:before {
}

.featureList dd {
  margin: 20px 0 40px 0;
  line-height: 1.75
}

.featureList.featureList2 {
  counter-reset: none;
}

.featureList.featureList2 dt {
  counter-increment: none;
  padding-left: 0;
}

.featureList.featureList2 dt:before {
  position: relative;
  display: none;
  content: none;
}


/*---------------------

FAQ

----------------------*/

.faqList {
  margin: 0 0 60px;
}

@media (max-width : 1080px) {
  .faqList {
    margin: 0 20px 60px;
  }
}

.ico-faq-open {
  display: inline-block;
  background: url(/img/common/ico_plus.svg) center/contain no-repeat;
  width: 18px;
  height: 18px;
margin-top:9px;
}

.ico-faq-open.show {
  background-image: url(/img/common/ico_minus.svg)
}

.faq-list_q {
  background: #F2F8FE;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-weight: 700;
  cursor: pointer;
  padding: 10px;
  margin-bottom: 10px;
  font-size: 1.4rem;
  color: var(--color-navy);
  padding-right: 20px;
}

.faq-list_q p {
  width: calc(100% - 69px);
  letter-spacing: 1px;
  text-align: left;
  font-size: 1.2rem;
  line-height: 1.6
}



.faq-list_a {
  margin: 0;
  line-height: 2;
  display: none;
  padding: 10px 10px 20px;
  margin-bottom: 30px;
}

.faq-list_a::after,
.faq-list_a::before {
  display: table;
  content: ""
}

.faq-list_a::after {
  clear: both
}

.faq-list_a p {
  overflow: hidden;
  line-height: 2;
  letter-spacing: 1px;
  text-align: left;
  font-size: initial;
  font-size: 16px;
}

.faq-list_a blockquote {
  border-left: 4px solid #e5e5e5;
  padding-left: 1em;
}

.faq-list_a ul {
  list-style-type: disc;
  text-align: initial;
  margin-left: 1.5em;
}

.faq-list_a ol {
  list-style-type: decimal;
  text-align: initial;
  margin-left: 1.5em;
}

.faq-list_a ul li,
.faq-list_a ol li {
  font-size: 15px;
}

.faq-list_a h1 {
  text-align: initial;
  position: initial;
  font-weight: bold;
  padding: initial;
}

.ico-round {
  display: block;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  text-align: center;
  vertical-align: middle;
  width: 36px;
  height: 36px;
  margin-right: 15px;
  line-height: 36px;
  font-size: 1.6rem
}

.ico-round-q {
  color: var(--color-navy);
}

.ico-round-a {
  color: #aaaaaa;
  float: left;
  min-height: 130px;
}






.productFilter_selectBlock {
  width: 1240px;
  margin: 0 auto;
  padding: 30px;
  box-sizing: border-box;
  font-size: 14px;
  letter-spacing: 0.1em;
  background-color: #F2F3F7;
  /* border-radius: 20px; */
}


@media (max-width:1080px) {
  .productFilter_selectBlock {
    width: 94%;
  }
}

.productFilter_selectBlock label {
  display: inline-block;
  padding: 7px;
  height: 30px;
  background-color: #ffffff;
  box-shadow: 0px -1px 0px 0px #00000029;
  border-radius: 16px;
}

.productFilter_selectBlock input:checked+label {
  height: 30px;
  background-color: #FFFBBE;
  border-radius: 16px;
}

.icon_filter::before {
  content: '';
  display: inline-block;
  width: 21px;
  height: 21px;
  background-image: url(../product/img/common/icon_filter.png);
  background-size: contain;
  vertical-align: bottom;
  margin-right: 5px;
}

.dx::before,
.municipality::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_business.svg);
  background-size: contain;
  vertical-align: bottom;
}

.event::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_event.svg);
  background-size: contain;
  vertical-align: middle;
}

.hotel::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_hotel.svg);
  background-size: contain;
  vertical-align: middle;
}

.sightseeing::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_sightseeing.svg);
  background-size: contain;
  vertical-align: middle;
}
.transportation::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_train.svg);
  background-size: contain;
  vertical-align: middle;
}

.construction-industry::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_truck.svg);
  background-size: contain;
  vertical-align: middle;
}

.management::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_wifi.svg);
  background-size: contain;
  vertical-align: middle;
}

.free-wifi::before,
.cec::before,
.free-wifi-option::before,
.information::before,
.ad-material::before,
.private-nw::before,
.manufacturing::before,
.aguriculture::before,
.shop::before,
.transportation-industry::before,
.office::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../product/img/common/icon_s_wifispot.svg);
  background-size: contain;
  vertical-align: middle;
}












.filter {
  width: 100%;

  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}




.filter_selectBlock label {
  display: inline;
}



.filter_selectBlock_check label .el_checkbox {
  position: relative;
  top: 3px;
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 5px;
  border: 1px solid #0073aa;
}

.filter_selectBlock_check label .el_checkbox:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  bottom: 4px;
  right: 4px;
}

.filter_selectBlock_check input[type=checkbox]:checked+label .el_checkbox:after {
  background-color: #0073aa;
}


.filter_selectBlock_check label {
  cursor: pointer;
}

.filter_selectBlock_ttl-all {
  width: 140px;
  min-width: 140px;
  font-size: 16px;
  color: var(--color-accent);
  font-weight: 700;
  padding-top: 4px;
}

@media (max-width:1240px) {
  .filter_selectBlock_ttl-all {
    margin-bottom: 20px;
  }
}

.filter_selectBlock_ttl {
  width: 140px;
  min-width: 140px;
  font-size: 16px;
  color: var(--color-navy);
  font-weight: 700;
  padding-top: 10px;
}

@media (max-width:1240px) {
  .filter_selectBlock_ttl {
    margin-bottom: 20px;
  }
}


.filter_selectBlock_check {
  display: inline-block;
  margin-right: 25px;
  margin-bottom: 20px;
}

.filter_selectBlock_check:last-child {
  margin-right: 0;
}

.filter_selectBlock_release {
  text-align: center;
  color: #fff;
  background-color: #bdbdbd;
  padding: 15px 0;
}

.js_release {
  cursor: pointer;
}



.targets {}

.selectBlock_all,
.selectBlock_purpose,
.selectBlock_industry {
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #FFFFFF;
  margin-bottom: 15px;
}


@media (max-width:696px) {

  .selectBlock_all,
  .selectBlock_purpose,
  .selectBlock_industry,
  .selectBlock_technology {
    flex-direction: column;
  }
}

.selectBlock_technology {
  display: flex;
}

.filter_selectBlock_content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;

}

.filter_selectBlock_button {
  white-space: nowrap;
  margin: 0px 10px 15px 0px;
}


.productFilter_text {
  width: 860px;
  margin: 40px auto 60px;
  padding: 0 20px;
}

@media (max-width:860px) {
  .productFilter_text {
    width: 94%;
  }
}

.productFilter_text a {
  text-decoration: underline;
  color: var(--color-blue-link);
}

.productFilter_text a:hover {
  text-decoration: none;
}

.productFilter_resultBlock {
  width: 1260px;
  margin: 0 auto 60px;
}

@media (max-width:1120px) {
  .productFilter_resultBlock {
    width: 94%;
  }
}

.oneColumn_box {
  width: 860px;
  margin: 140px auto 80px;
}

@media (max-width:920px) {
  .oneColumn_box {
    width: 94%;
    margin: 120px auto 80px;
  }
}

.oneColumn_box-searchNull {
  width: 860px;
  margin: 80px auto 160px;
}

@media (max-width:920px) {
  .oneColumn_box-searchNull {
    width: 94%;
    margin: 80px auto 160px;
  }
}

.oneColumn_box-categoryArchives {
  width: 860px;
  margin: 80px auto 80px;
}

@media (max-width:920px) {
  .oneColumn_box-categoryArchives {
    width: 94%;
    margin: 80px auto 80px;
  }
}

.categoryArchives_list {
  border-bottom: 1px solid #CCCCCC;
  margin-bottom: 20px;
}

.categoryArchives_time {
  color: #5A676A;
  padding-bottom: 20px;
}

.categoryArchives_title {
  color: var(--color-navy);
  font-weight: 700;
  line-height: 1.75rem;
  padding-bottom: 20px;
}



.notFound_bg {
  margin: 80px auto 140px;
  min-height: 300px;
  background: url(/img/common/bg_rocket.jpg) right bottom no-repeat;
  background-size: contain;
  width: 100%;
}

@media (max-width:920px) {
  .notFound_bg {
    width: 94%;
  }
}


.notFound_text h2 {
  font-family: Oswald;
  font-size: 40px;
  font-weight: 700;
  color: var(--color-blue-link);
}


.notFound_text-search h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-blue-link);

  margin-bottom: 30px;
}

.notFound_text p {
  font-weight: 700;
  line-height: 1.75rem;
  margin-top: 20px;
}

.notFound_text-search p {
  font-weight: 700;
  line-height: 1.75rem;
  margin-top: 20px;
}



.search_box {
  width: 98%;
  height: 106px;
  background-color: #F2F3F7;
  border-radius: 20px;
  padding: 29px 40px;
}

@media (max-width:920px) {
  .search_box {
    padding: 29px 20px;
  }
}

.search_box-megamenu {
  width: 98%;
  height: 106px;
  background-color: #F2F3F7;
  border-radius: 20px;
  padding: 29px 40px;
}

@media (max-width:1080px) {
  .search_box-megamenu {
    padding: 29px 20px;
    background-color: transparent;
  }
}

.searchFormr {
  display: block;
  text-align: left;
  position: relative;
}

.searchTextBox {
  margin: 0 auto;
  width: 100%;
  height: 45px;
  font-size: 1rem;
  border-radius: 20px;
  outline: none;
  padding: 0 40px 0 20px;
  background-color: #ffffff;
  box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 41, 0.3);
}


.oneColumn_box-searchNull h1 {
  font-size: 28px;
  font-weight: 700;
  width: 90%;
  color: var(--color-dark-gray);
}


.oneColumn_box-searchNull p {
  padding: 20px 0;
}

.oneColumn_box-searchNull pre {
  width: 100%;
  padding: 1rem;
  background-color: #f3f3f3;
}



.product_table {
  width: 100%;
  line-height: 1.75rem;
  margin-bottom: 20px;
}

.product_table a {
  text-decoration: underline;
  color: var(--color-blue-link);
}


.product_table tr {
  border-bottom: 1px solid #CCCCCC;
}

.product_table th {
  padding: 10px 5px;
}

@media (max-width:660px) {
  .product_table th {
    min-width: 100px;
  }
}

.product_table td {
  padding: 10px 5px;
}

.product_table ol {
  list-style: decimal;
  padding-left: 1rem;
}



.product_table-officer tr {
  border-bottom: none;
}

.product_table-officer th {
  padding: 0 5px;
}

.product_table-officer td {
  padding: 0 5px;
}


.product_table-career ul {
  list-style: disc;
  padding-left: 1rem;
}

.listStyle-none {
  list-style: none;
}

.gmap-a {
  display: inline-block;
  text-decoration: underline;
  color: var(--color-blue-link);
  margin: 20px 0;
}


.president {
  width: 1240px;
  margin: 0 auto;
}

@media (max-width:660px) {
  .president {
    width: 94%;
  }

}



.president_img {
  width: 1080px;
  margin: 0 auto;
}

@media (max-width:1080px) {
  .president_img {
    width: 94%;
  }
}

.president_img img {
  width: 100%;
}

.president_message {
  width: 1020px;
  margin: 0 auto;
  padding: 40px 0 40px;
  line-height: 1.75rem;
}

@media (max-width:1080px) {
  .president_message {
    width: 94%;
  }
}

.president_message p {
  margin-bottom: 40px;
}

.president_timestamp {
  text-align: right;
  line-height: 3rem;
}

.president_timestamp p {
  margin-bottom: 20px;
}

.president_timestamp img {
  max-width: 200px;
  vertical-align: middle;
}


.timeline_borderLeft {
  border-left: 4px solid #CCCCCC;
  padding-left: 30px;
  margin-bottom: 150px;

}



.timeline_year {
  position: relative;

}

.timeline_year::before {
  position: absolute;
  content: url(../img/company/timeline_circle.svg);
  left: -40px;
}

.timeline_year-top {
  position: relative;

}

.timeline_year-top::before {
  position: absolute;
  content: url(../img/company/timeline_circle-white.svg);
  top: -65px;
  left: -43px;
}

#yearblank {
  position: relative;

}

#yearblank::before {
  position: absolute;
  content: url(../img/company/timeline_blank.svg);
  left: -63px;
}



.timeline_h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 30px;

}

.timeline_month {
  display: flex;
  flex-wrap: wrap;
  border-radius: 20px;
  background-color: #F2F8FE;
  padding: 20px 20px;
  margin-bottom: 20px;

}

@media (max-width:753px) {
  .timeline_month {
    display: flex;
    flex-direction: column;

  }
}

.timeline_timestamp {
  width: 100px;
  font-size: 16px;
  color: var(--color-navy);


}

@media (max-width:753px) {
  .timeline_timestamp {
    padding-bottom: 20px;


  }
}

.timeline_content {
  display: flex;
  flex-wrap: wrap;

}

.timeline_text {
  width: 378px;
}

@media (max-width:753px) {
  .timeline_text {
    width: 94%;
  }
}

.timeline_text h4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-accent);
}

.timeline_text p {
  margin-top: 20px;
  font-size: 16px;
}

.timeline_img img {
  width: auto;
  max-height: 180px;
  padding-left: 20px;

}

@media (max-width:809px) {
  .timeline_img {
    padding-top: 20px;
    width: 94%;

  }
}

.inquiry {
  width: 1240px;
  margin: 0 auto 120px;
  line-height: 1.75rem;
}

@media (max-width:1080px) {
  .inquiry {
    width: 94%;
  }
}

.inquiry_text a {
  text-decoration: underline;
  color: #025BC1;
}

.inquiry_text a:hover {
  text-decoration: none;
}

.inquiry_menu {
  margin-top: 40px;
  border-radius: 20px;
  background-color: #F2F3F7;
  padding: 30px;
}

.inquiry_menu p {
  font-weight: 700;
}


.inquiry_menu ul {
  margin-top: 20px;
}

.inquiry_menu li {
  margin-bottom: 20px;
  margin-left: 20px;
  display: inline-block
}

.inquiry_detail {
  position: relative;
  padding-right: 25px;
  font-weight: 700;
  color: var(--color-blue-link);
}

.inquiry_detail-underline {
	text-decoration: underline
}

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

.inquiry_title-h3 {
  font-size: 24px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-navy);
  padding: 0 0 20px;
}


.searchResults {
  width: 860px;
  margin: 0 auto 60px;
}

@media (max-width:920px) {
  .searchResults {
    width: 94%;
  }
}

.searchResults_title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-navy);
  margin-top: 60px;
  padding: 0 0 40px;
}

.searchResults_pagination {
  display: flex;
  justify-content: center;
}

.searchResults_next {
  width: 200px;
  height: 48px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  color: #5A676A;
  background-color: #F2F3F7;
  border-radius: 24px 0 0 24px;
  padding-top: 15px;
}

.searchResults_next-a {
  width: 200px;
  height: 48px;
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  color: var(--color-dark-gray) !important;
  background-color: #FFFFFF;
  border-radius: 24px 0 0 24px;
  border: 2px solid #0077CA;
  box-shadow: 0px 2px 0px 0px rgba(0, 0, 41, 0.2);
  padding-top: 15px;
}

.searchResults_prev {
  width: 200px;
  height: 48px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  color: #5A676A;
  background-color: #F2F3F7;
  border-radius: 0 24px 24px 0;
  padding-top: 15px;
}

.searchResults_prev-a {
  width: 200px;
  height: 48px;
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  color: var(--color-dark-gray) !important;
  background-color: #FFFFFF;
  border-radius: 0 24px 24px 0;
  border: 2px solid #0077CA;
  box-shadow: 0px 2px 0px 0px rgba(0, 0, 41, 0.2);
  padding-top: 15px;
}

@media (max-width:440px) {
  .searchResults_next {
    width: 100px;
  }

  .searchResults_next-a {
    width: 100px;
  }

  .searchResults_prev {
    width: 100px;
  }

  .searchResults_prev-a {
    width: 100px;
  }
}

.resultBlock_contentBox {
  border-bottom: 1px solid #CCCCCC;
}


.resultBlock_content {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
}

@media (max-width:660px) {
  .resultBlock_content {
    width: 94%;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
  }
}

.resultBlock_content-left {}

@media (max-width:660px) {
  .resultBlock_content-left {
    width: 94%;
  }
}


.resultBlock_img {
  width: 256px;
  height: 144px;
  object-fit: cover;
  /* border-radius: 16px; */
  margin: 20px !important
}

.resultBlock_content-right {
  margin: 20px 0 20px 20px;
}

@media (max-width:660px) {
  .resultBlock_content-right {
    width: 94%;
  }
}

.resultBlock_ttl {

  font-size: 16px;
  font-weight: 700;
  color: var(--color-dark-gray);
  margin-bottom: 20px;
}

.resultBlock_sitename {
  color: #5A676A;
  padding-bottom: 20px;
}

.resultBlock_copy {
  font-size: 16px;
  color: var(--color-accent);
  text-align: left;
  overflow: hidden;
	line-height: 1.75;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 20px;
}

.resultBlock_description {
  font-size: 16px;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 20px;
}

.resultBlock_categoryList {
  display: flex;
  flex-wrap: wrap;
}

.resultBlock_button {
  font-size: 12px;
  color: var(--color-accent);
  margin-bottom: 10px;
  border-radius: 12px;
  background-color: #F2F3F7;
  padding: 5px 10px 5px;
  margin-right: 5px;
}

#whatsNew {
  padding-top: 0;
  padding-bottom: 40px;
}

/* mv */
#mv {
  background-image: url(../img/top/mv_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 740px;
  display: flex;
  justify-content: left;
  position: relative;
  z-index: 0;
}

.mv_photo {
  padding-right: 80px;
  overflow: hidden;
  width: 100%;
  min-width: 1200px;
  height: 1020px;
  transition: all 0.5s ease 0s;
  position: absolute;
  z-index: -2;
}

@media (max-width:860px) {
  .mv_photo {
    margin-top: 130px;
    width: 100%;
    min-width: 900px;
  }
}

.mv_photo .photoImg {
  height: 1020px;
  position: absolute;
  opacity: 0;
  animation: mvPhotoAnime 30s infinite;
}

.mv_photo .photo1 {
  background-image: url(../img/top/top_photo01.png);
  width: 100%;
  background-repeat: no-repeat;
  background-position: right;
}

.mv_photo .photo2 {
  background-image: url(../img/top/top_photo02.png);
  width: 100%;
  background-repeat: no-repeat;
  background-position: right;
  animation-delay: 10s;
}

.mv_photo .photo3 {
  background-image: url(../img/top/top_photo03.png);
  width: 100%;
  background-repeat: no-repeat;
  background-position: right;
  animation-delay: 20s;
}

@media (max-width:650px) {
  .mv_photo {
    margin-top: 0px;
    min-width: 620px;
  }

  .mv_photo .photo1 {
    background-size: 600px;
  }

  .mv_photo .photo2 {
    background-size: 600px;
  }

  .mv_photo .photo3 {
    background-size: 600px;
  }
}

@keyframes mvPhotoAnime {
  0% {
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  45% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.mv_textContent {
  height: 1020px;
  width: 728px;
  padding: 166px 0 0 15%;
  position: absolute;
  transition: all 0.5s ease 0s;
  z-index: -1;
}

@media (max-width:1500px) {
  .mv_textContent {
    width: 728px;
    padding: 166px 0 0 5%;
  }
}

@media (max-width:860px) {
  .mv_textContent {
    width: 98%;
    padding: 60px 0 0 5%;
  }
}

.mv_text .copyText {
  height: 1020px;
  width: 100%;
  position: absolute;
  opacity: 0;
  animation: mvTextAnime 30s infinite;
}

.mv_text .copy2 {
  animation-delay: 10s;
}

.mv_text .copy3 {
  animation-delay: 20s;
}

@keyframes mvTextAnime {
  0% {
    opacity: 0;
  }

  16% {
    opacity: 1;
  }

  26% {
    opacity: 1;
  }

  46% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}



.copyText-copy {
  font-size: 36px;
  font-weight: 700;
  color: var(--color-navy);
  text-shadow: 2px 2px 5px #FFF, -2px 2px 5px #FFF, 2px -2px 5px #FFF, -2px -2px 5px #FFF;
}


.copyText-text {
  font-size: 18px;
  font-weight: 700;
  line-height: 3rem;
  padding: 60px 0;
  color: #000000;
  text-shadow: 2px 2px 5px #FFF, -2px 2px 5px #FFF, 2px -2px 5px #FFF, -2px -2px 5px #FFF;

}


.copyText_highlight {
  font-size: 48px;
  font-weight: 700;
  padding: 0 8px;
  white-space: nowrap;
  position: relative;
  color: #01a6ac;
  text-shadow: none;
}

.copyText_highlight::before {
  content: " ";
  height: 20px;
  width: 100%;
  transform: skewX(25deg);
  background: #fffbbe;
  position: absolute;
  top: 37px;
  left: 0%;
  z-index: -2;
}

.mvText_ntt {
  color: var(--color-navy);
  text-shadow: none;
}



@media (max-width:650px) {
  #mv {
    height: 550px;
    overflow: hidden;
  }

  .mv_textContent {
    padding: 30px 0 0 5%;
  }

  .copyText-copy {
    font-size: 24px;
    width: 94%;
    transition: all 0.5s ease 0s;
  }

  .copyText-text {
    width: 94%;
    font-weight: 400;
    font-size: 15px;
    line-height: 2rem;
    padding: 30px 0;
    transition: all 0.5s ease 0s;
  }

  .copyText_highlight {
    font-size: 28px;
    font-weight: 700;
    padding: 0 5px;
    position: relative;
    color: #01a6ac;
  }

  .copyText_highlight::before {
    content: " ";
    height: 16px;
    width: 98%;
    transform: skewX(25deg);
    background: #fffbbe;
    position: absolute;
    top: 20px;
    left: 0;
    z-index: -2;

  }

}

.br_sp-on {
  display: none;
}

@media (max-width:650px) {
  .br_sp-on {
    display: inline;
  }
}

.br_sp-off {
  display: inline;
}

@media (max-width:650px) {
  .br_sp-off {
    display: none;
  }
}

.mv_button {
  width: 566px;
  display: flex;
  justify-content: space-between;
}

.mv_button div {
  width: 259px;
}

.mv_button a {
  width: 100%;
  height: 100%;
  text-align: center;
  padding-top: 14px;
}

@media (max-width:860px) {
  .mv_button {
    width: 566px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .mv_button div {
    margin-bottom: 20px;
  }
}

@media (max-width:650px) {
  /*  .mv_button div {
    width: 200px;
  }*/
}


/* sv */

.sv {
  padding-top: 0px;
  padding-bottom: 40px;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
}

.sv_title {
  font-size: 24px;
  font-weight: 700;
  position: absolute;
  top: 40%;
  left: 3%;
  line-height: 2.5rem;
}

.sv img {
  margin: 0 auto;
  width: 100%;
}

@media (max-width:1240px) {
  .sv {
    width: 99%;
  }



  .sv_title {
    max-width: 90%;
  }
}

/* column1 */
.column1 {
  width: 1240px;
  margin: 0 auto;
}

@media (max-width:1240px) {
  .column1 {
    width: 90%;
  }
}

.column1-product {
  max-width: 1240px;
  margin: 0 auto;
  margin-top: 150px;
  width: 90%;
}

@media (max-width:1240px) {
  .column1-product {
    width: 90%;
  }
}

.column1-product-dock {
  max-width: 1240px;
  margin: 0 auto;
  width: 90%;
}

@media (max-width:1240px) {
  .column1-product-dock {
    width: 90%;
  }
}

.totalsupport_flow_list {
  margin: 60px 0 30px;
  height: 100%;
}

.totalsupport_flow_bg1 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #0fccd1, #25d3d5);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg2 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #25d3d5, #3ddddb);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg3 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #3ddddb, #55e4df);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg4 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #55e4df, #6eeee5);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg5 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #6eeee5, #86f6ea);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg6 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: linear-gradient(to right, #86f6ea, #d9eeee);
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_flow_bg7 {
  width: 100px;
  height: 120px;
  display: inline-block;
  background: #d9eeee;
  clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
  vertical-align: middle;
  margin-bottom: 20px;
}

.totalsupport_font-flow {
  padding: 0 5px 5px 5px;
  font-weight: 700;
  color: var(--color-navy);
}

.totalsupport_fontColor {
  color: var(--color-navy);
}

.totalsupport_fontNumber-white {
  font-family: "Oswald";
  padding: 5px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;

}

.totalsupport_fontNumber {
  font-family: "Oswald";
  padding: 5px;
  font-size: 20px;
  font-weight: 700;
  color: var(--color-navy);
  ;
}

.totalsupport_font-middle {
  height: 52%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding-left: 3px;
}

.totalsupport_text {
  line-height: 1.75rem;
  max-width: 1240px;
}

.totalsupport_title {
  color: var(--color-dark-gray);
  font-size: 28px;
  font-weight: 700;
  height: 52%;
  line-height: 1.7;
}

.totalsupport_title-number {
  font-family: "Oswald";
  color: var(--color-blue-link);
  font-size: 28px;
  padding-right: 25px;
}

.totalsupport_card1 {
  width: 1200px;
  line-height: 1.75rem;
}

.totalsupport_card2 {
  max-width: 580px;
  line-height: 1.75rem;
}


@media (max-width : 1216px) {
  .totalsupport_card1 {
    width: 99%;
  }

  .totalsupport_card2 {
    width: calc( 50% - 40px);
  max-width: 580px;
  }
}

@media (max-width : 1036px) {
  .totalsupport_card2 {
    width: 99%;
  }
}


.totalsupport_card2_title {
  color: var(--color-accent);
  font-weight: 700;
}

.totalsupport_textLeft {
  line-height: 1.75rem;
  min-height: 120px;
}

.totalsupport_img img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

.overview_title-center-h2 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-dark-gray);
}

.overview_title-center-h3 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
}

.overview_title-left {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
}



.overview_textLeft {
  line-height: 1.75rem;
}

.overview_textLeft-mh128 {
  line-height: 1.75rem;
  min-height: 150px;
}

.overview_img {
  min-height: 130px;
}

.overview_img img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  min-height: 110px;
}

@media (max-width : 696px) {
  .overview_img img {
    min-height: 20px;
  }
}


.overview-card1 {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.overview_text-center {
  line-height: 1.75rem;
  /*min-height: 80px;*/
  text-align: center;
}

.overview_card3 {
  /* border-radius: 20px; */
  max-width: 320px;
  line-height: 1.75rem;
}

@media (max-width : 1036px) {
  .overview_card3 {
    width: 45%;
  }
}

@media (max-width : 696px) {
  .overview_card3 {
    max-width: 320px;
    width: 86%;
  }
}

.overview_iconImg {
  display: flex;
  justify-content: center;
}

.overview_iconImg img {
  width: 100%;
  min-width: 60px;
  max-width: 60px;
}

.overview_card3_title-center {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75rem;
  color: var(--color-navy);
  text-align: center;
}


.overview_card_list li {
  list-style-position: inside;
  text-indent: -0.7em;
  padding-left: 0.7em;
  line-height: 1.6rem;
  letter-spacing: -0.02rem;
}

.overview_liIBox li {
  display: inline-block;
}

.overview_liIBox li:not(:last-child)::after {
  content: "　|　"
}



/* #articles */

#articles h1 {
  line-height: 3rem;
  font-size: 28px;
  color: var(--color-navy);
  font-weight: 700;
  margin-bottom: 30px;
}

#articles h2 {
  line-height: 3rem;
  font-size: 24px;
  color: var(--color-navy);
  font-weight: 700;
  margin: 60px 0 30px;
}

#articles h3 {
  line-height: 3rem;
  font-size: 24px;
  color: var(--color-navy);
  font-weight: 700;
  margin: 40px 0 20px;
}

#articles p {
  line-height: 1.75rem;
  margin-bottom: 20px;
}

#articles a {
  color: var(--color-blue-link);
  word-wrap: break-word;
}

#articles a:hover {
  text-decoration: none;
}

#articles ul {
  line-height: 1.75rem;
  margin-bottom: 30px;
}

#articles ol {
  line-height: 1.75rem;
  margin-bottom: 30px;
}

#articles li {
  line-height: 1.75rem;
}

#articles .BP {
  margin: 40px 0;
  text-align: right;
}


.articles_date {
  padding-bottom: 10px;
  border-bottom: 1px solid #CCCCCC;
}

.articles_date a {
  color: var(--color-blue-link);
  text-decoration: underline;
}

.articles_oneColumBox {
  width: 1080px;
  margin: 80px auto 80px;
}

.articles_oneColumBox a {
  text-decoration: underline;
}

@media (max-width:920px) {
  .articles_oneColumBox {
    width: 94%;
    margin: 120px auto 80px;
  }
}


/* product */

.product_customer {
  display: flex;
  padding: 0 0 60px;
}


@media (max-width : 1080px) {
  .product_customer {
    display: flex;
    padding: 0 20px 40px;
  }
}

@media (max-width : 590px) {
  .product_customer {
    flex-direction: column;
  }
}

.product_customer_img {
  width: 240px;
  padding: 40px 0 0;
}

@media (max-width : 590px) {
  .product_customer_img {
    display: flex;
    justify-content: center;
  }

}

.product_customer_right {
  padding: 0 0 0 40px;
}

@media (max-width : 590px) {
  .product_customer_right {
    padding: 0;
  }
}

.product_customer_right p {
  line-height: 1.75rem;
}

.product_customer_title {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 3.3rem;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  padding: 0 0 40px;
}

.raceLocation_img {
  width: 100%;
  max-width: 1020px;
  display: flex;
  margin: 20px auto;
}

.raceLocation_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

.product_voiceBox {
  line-height: 1.75rem;
  display: block;
  background: #fff;
  border: 1px solid #2766b4;
  border-radius: 20px;
  padding: 20px;
  margin: 20px 0 20px 40px;
}

.product_voiceBox a {
  text-decoration: underline;
}


.product_dockProbrem {
  line-height: 1.75rem;
  display: block;
  background: #fff;
  border: 1px solid #BDCCD4;
  padding: 20px 20px 60px;
  margin: 40px 0 20px 0;
}

@media screen and (max-width: 860px) {
  .product_dockProbrem {
    padding: 20px 20px 60px;
    margin: 40px 0 20px 0;
  }
}

.product_dockProbrem h3 {
  display: flex;
  justify-content: center;
}

.product_dockProbrem h3 span {
  position: relative;
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 20px;
}

@media screen and (max-width: 860px) {
  .product_dockProbrem h3 span {
    margin-top: 50px;
  }
}

.product_dockProbrem h3 span:before {
  position: absolute;
  display: inline-block;
  top: -5px;
  left: -50px;
  width: 40px;
  height: 40px;
  margin: 0 10px 0 0;
  content: url(/product/img/wifidoc_trouble.svg.svg);
}

@media screen and (max-width: 860px) {
  .product_dockProbrem h3 span:before {
    top: -40px;
    left: calc(-20px + 50%);
    width: 40px;
    height: 40px;
    margin: 0 10px 0 0;
  }
}

.product_dockProbrem ul {
  margin: 0 auto;
  max-width: 700px;
  font-size: 20px;
  padding: 0 20px;
}


.product_dockProbrem li:before {
  position: relative;
  display: inline-block;
  top: 10px;
  left: 22px;
  width: 30px;
  height: 30px;
  content: url(/product/img/wifidoc_maru.svg.svg);
}

@media screen and (max-width: 860px) {
  .product_dockProbrem li:before {
    top: 4px;
    width: 20px;
    height: 20px;
  }
}

.product_dockProbrem li {
  padding-left: 1.1em;
  text-indent: -1.1em;
  margin-bottom: 20px;
}


.product_dockProbrem:before {
  content: "";
  position: absolute;
  bottom: -72px;
  left: 50%;
  margin-left: -36px;
  border: 36px solid transparent;
  border-top: 36px solid #fff;
  z-index: 2;
}

.product_dockProbrem:after {
  content: "";
  position: absolute;
  bottom: -74px;
  left: 50%;
  margin-left: -37px;
  border: 37px solid transparent;
  border-top: 37px solid #BDCCD4;
  z-index: 1;
}

.product_dockProbrem li strong {
  font-weight: 600;
  color: #303030;
  background-color: #E8EFBC;
  padding: 0 8px;
  margin: 0 8px;
  line-height: 1.3;
}

.highlighter {
  font-weight: 700;
  background-color: #fffbbe;
  padding: 0 2px;
  margin: 0 2px;
  line-height: 1.3;
}

.articles_oneColumBox img {
  max-width: 100%;

  height: auto;
}

/*上書き用　汎用class*/
.left {
  text-align: left !important
}

.right {
  text-align: left !important
}

.center {
  text-align: center !important
}

.mt_m1 {
  margin-top: 40px !important;
}

.pt_m1 {
  padding-top: 40px !important;
}

.w100 {
  width: 100% !important;
}

.text-deco-none {
  text-decoration: none !important;
}



/*追加分*/
.keyword-1column {
  width: 95%;
  max-width: 1240px;
  margin: 0 auto;
}

.section_bg-colored-1column-customize {
  height: 100%;
  width: 100vw;
  background-color: #f1f3f5;
  position: absolute;
  z-index: -1;
}

#privacy_policy ul li {
  list-style: disc;
}

#privacy_policy ul .listStyle-disc {
  list-style: disc;
}

#privacy_policy ul .listStyle-none {
  list-style: none;
}

#tokumei h2 {
  line-height: 1.4em;
  margin-top: 20px;
  margin-bottom: 0.75em;
  font-size: 135%;
  font-weight: bold;
  padding: 5px 0px 5px 2px;
  border-bottom: #0068b7 solid 3px;
  color: #000;
}


.list_commentary>li {
  text-indent: -2.5em;
  padding-left: 2em;
  counter-increment: commentary;
}

.list_commentary>li:before {
  content: "※"counter(commentary)":";
  margin-right: 10px;
}

.list_parentheses {
  margin-bottom: 5px !important;
}

.list_parentheses li {
  counter-increment: parentheses;
  margin-left: 2rem;
}

.list_parentheses li:before {
  content: "("counter(parentheses)")";
  margin-right: 10px;
}

.list_commentary ul {
  margin-bottom: 5px !important;
}

.list_commentary ul li {
  list-style: disc;
  margin-left: 1.2rem;
  padding-left: 0.4rem;
  text-indent: -0.1em;
}

.servicelink {
  color: var(--color-navy);
  text-decoration: underline;
}

.articles_oneColumBox table {
  margin-bottom: 20px;
  width: 100%;
  margin: 1.618em 0;
  border-spacing: 0;
  border-top: none;
  border-left: none;
  border-right: none;
  border-collapse: collapse;
}

.articles_oneColumBox th,
.articles_oneColumBox td {
  border: 1px solid #999999;
  border-top: none;
  border-left: none;
  border-right: none;
  padding: 10px;
  line-height: 1.6rem;
  word-break: break-all;
}

.articles_oneColumBox .table-noborder td {
  border-bottom: none;
  padding-right: 1rem;
}

.articles_table-borderNone table {
  border: none;
  padding: 10px;
  line-height: 1.6rem;
  word-break: break-all;
}

.articles_table-borderNone table th,
.articles_table-borderNone table td {
  border: none;
}

/* #articles strong {
  color: var(--color-accent);
} */

.articles_oneColumBox strong {
  font-size: 1.05rem;
  /* line-height: 1.7;
  padding-left: 1rem;
  margin-top: 60px;
  display: inline-block; */
}

.font-bold-gray {
  color: var(--color-accent);
  font-size: 1.05rem;
  font-weight: 700;
}

.articles_oneColumBox h4 {
  margin-bottom: 20px;
}

@media (max-width : 696px) {
  .articles_oneColumBox td {
    min-width: 90px;
  }

  #articles h1 {
    line-height: 2.6rem;
    font-size: 1.6rem;
  }

  #articles h2 {
    line-height: 2.3rem;
    font-size: 1.5rem;
  }

  .articles_oneColumBox strong {
    padding-left: 0;
  }
}

.productFilter_title {
  width: 860px;
  margin: 100px auto 60px;
  padding: 0 20px;
  color: var(--color-navy);
  font-size: 1.5rem;
  font-weight: 700;
}

@media (max-width: 920px) {
  .productFilter_title {
    width: 94%;
    padding-left: 60px;
  }
}

/*---------------------
続きを見る
----------------------*/

.readmore {
  position: relative;
  margin: 0 auto;
  padding: 0px 0px 40px;
}

.readmore-hide {
  height: 0;
  overflow: hidden;
  transition: all .4s;
}

.readmore button {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0px;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background-color: var(--color-accent);
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  transition: all .4s;

}

/*---------------------
社長ブログ
----------------------*/
#presidentsBlog a:hover {
  opacity: 0.6;
  transition: 0.2s;
}

.section_content-card3-line1 {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  flex-wrap: wrap;
}

/*---------------------
キャリーバッグ動画
----------------------*/
.youtube-ratio video {
  width: 100%;
  height: auto;
  margin: 40px 0;
  border-radius: 20px;
  border: 4px solid #fff;
  box-shadow: 0px 7px 15px -5px #2f5654;
}

/*---------------------
お知らせ追加スタイル
----------------------*/
.list_num-parentheses li {
  padding-left: 2.6em;
  text-indent: -2.6em;
}

.list_num-circle li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.articles_logo-box {
  max-width: 300px;
  text-align: left;
}

.articles_logo-border-bottom {
  border-bottom: 1px solid #999999;
  margin-bottom: 20px;
}

/*---------------------
BP SIMスタイル
----------------------*/
.bpsim_content-center {
  max-width: 1240px;
  margin: 0 auto;
}

.bpsimPlan_title {
  width: 230px;
  margin: 0 auto;
}

.bpsimPlan_title.title_wf {
  width: auto;
  text-align: center
}

.bpsimPlan_img {
  width: 230px;
  padding: 0 20px;
  margin: 0 auto;
}

.bpsimPlan_title h2 {
  display: inline-block;
  border-bottom: 4px solid #0FCCD1;
  padding: 20px 0;
  color: #2766b3;
  font-size: 28px;
  font-weight: 600;
}

.bpsim_content-center h3 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  color: var(--color-navy);
  line-height: 2.6rem;
}

.bpsim_content_txt {
  text-align: center;
}

.bpsim_content_img img {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}

@media (max-width : 696px) {
  .bpsim_content_img img {
    padding: 0;
  }
}



.bpsim_tariff table {
  font-size: 20px;
  padding: 0 10px;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 24px;
  border: 1px solid #CCCCCC;
}

.bpsim_tariff table .border-b {
  border-bottom: 1px solid #CCCCCC;
}

.bpsim_tariff table .text-align-r {
  text-align: right;
}

.bpsim_tariff_tax {
  font-size: 14px;
}

.bpsim_tariff_price {
  font-size: 24px;
}


.bpsim_tariff table th {
  width: 50%;
  padding: 16px;
  background-color: #f2f3f7;
  color: var(--color-navy);
  text-align: center;
  font-weight: bold;
  word-break: break-all;
}

.bpsim_tariff table td {
  padding: 18px;
  background-color: #ffffff;
  color: var(--color-navy);
  text-align: center;
  font-weight: bold;
  word-break: break-all;
}

.bpsim_tariff table {
  font-size: 20px;
  padding: 0 10px;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 24px;
  border: 1px solid #CCCCCC;
}

.bpsim_info {
  display: flex
}

.bpsim_info_leftColumn,
.bpsim_info_rightColumn {
  width: 50%;
}

@media (max-width : 696px) {
  .bpsim_info {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
  }

  .bpsim_info_leftColumn,
  .bpsim_info_rightColumn {
    width: 98%;
  }
}

.bpsim_tariff h3 {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-dark-gray);
  padding: 0 0 40px;
  width: 98%;
  text-align: center;
}

.bpMobile_text {
  font-size: 16px;
  line-height: 1.75rem;
  padding: 20px 0 60px 40px;
}

@media (max-width : 1080px) {
  .bpMobile_text {
    padding: 20px 10px 60px 10px;
  }
}

.bpMobile_titleBlock {
  min-height: 79px;
  height: auto;
  padding: 10px 0;
}

.bpMobile_box_main {
  display: flex;
    justify-content: space-between;
}

@media (max-width : 1080px) {
  .bpMobile_box_main {
    flex-direction: column-reverse;
    justify-content: center;
    justify-items: center;
  }
}

.bpMobile_box_leftColumn {
  width: 50%;
}

.bpMobile_box_leftColumnS {
  width: 35%;
}

@media (max-width : 1080px) {
  .bpMobile_box_leftColumn,
  .bpMobile_box_leftColumnS {
    width: 100%;
  }
}

.bpMobile_box_rightColumn {
  width: 50%;
}

.bpMobile_box_rightColumnL {
  width: 60%;
}

@media (max-width : 1080px) {
  .bpMobile_box_rightColumn,
	.bpMobile_box_rightColumnL {
    width: 100%;
  }
}


.bpMobile_box_img {
  width: 100%;
  max-width: 1020px;
  display: block;
  padding: 0 0 40px 40px;
}

.bpMobile_box_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}


@media (max-width: 1080px) {
  .bpMobile_box_img {
    max-width: 90%;
    padding: 0 0 40px;
    margin: 0 auto;
  }
}


/*---------------------
お知らせ追加スタイル
----------------------*/
.infoFrame {
  width: 100%;
  background: #f1f3f5;
  padding: 20px;

}

/*---------------------
パンくずスタイル
----------------------*/
#pList ul {
  display: block;
  text-align: left;
  padding: 16px 0;
  line-height: 1.7;
}

#pList li {
  display: inline-block;
  line-height: 1.4;
  font-size: 14px;
  font-size: .875rem;
  padding-right: 20px;
  background-image: url(/img/common/arrow_plist.svg);
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: top 0 right 0px;
}

#pList li a {
  font-weight: 600;
}

#pList li:last-child {
  padding-left: 0;
  background: none;
}

#pList li a:link,
#pList li a:visited {
  text-decoration: underline;
}

#pList li a:hover {
  text-decoration: none;
}

.breadcrumbs {}



/*---------------------
改修追加スタイル
----------------------*/
#pickupSolution {
  text-align: center;
}

#pickupSolution a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.pickup_networkServices_img {
  min-height: 58px;
}

.pickup_networkServices_img img {
  margin: 0 auto;
  display: block;
}

.pickup_networkServices_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
  text-align: center;
}

.pickup_networkServices_text {
  line-height: 1.75rem;
  min-height: 110px;
}

.bgColor-gray-02 {
  background-color: #F2F8FE;
}

.pickupCase_text_bgWhite-r {
  background-color: #ffffff;
  border-radius: 17px;
  padding: 40px;
}

.webpage_titleArea {
  margin: 0 0 50px;
  display: flex;
  justify-content: left;
  min-height: 180px;
  background-position: left bottom;
  background-image: url(/img/common/bg_detail.jpg);
  background-size: cover;
  width: auto;
  height: 100%;
}

.webpage_titleArea_textbox {
  width: 100%;
  margin: 0 80px 20px 8%;
  position: relative;
}

@media (max-width: 1080px) {
  .webpage_titleArea_textbox {
    margin: 0;
    padding: 0 20px 20px;
  }

}

.webpage_titleArea h1 {
  font-size: 36px;
  font-weight: 700;
  margin-top: 60px;
  color: var(--color-navy);
}

@media (max-width: 1080px) {
  .webpage_titleArea h1 {
    margin-top: 40px;
  }
}

.webpage_section_title-l {
  font-size: 24px;
  font-weight: 700;
  width: 90%;
  display: inline-block;
  line-height: 2.6rem;
  color: #015676;
}

.webpage_link a {
  text-decoration: underline;
  color: var(--color-blue-link);
}

.webpage_link a:hover {
  opacity: 0.6;
  transition: 0.3s;
  text-decoration: none;
}

.webpage_link_title {
  position: relative;
  margin-top: 32px;
}

.webpage_link_title:before {
  content: "関連情報：";
  position: absolute;
  top: -32px;
  color: var(--color-navy);
  font-weight: 600;
}

.webpage_titleBlock {
  border-left: 8px solid #0fccd1;
  height: auto;
  padding: 10px 0;
}

.webpage_text {
  font-size: 16px;
  line-height: 1.75rem;
  padding: 0 0 20px 40px;
}

.webpage_rCorners_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
}

.webpage_pickup_text {
  line-height: 1.75rem;
  min-height: 140px;
}

/*---------------------
改修追加スタイル
----------------------*/
#pickupSolution {
  text-align: center;
}

#pickupSolution a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.pickup_networkServices_img {
  min-height: 58px;
}

.pickup_networkServices_img img {
  margin: 0 auto;
  display: block;
}

.pickup_networkServices_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
}

.pickup_networkServices_text {
  line-height: 1.75rem;
  min-height: 110px;
}

.bgColor-gray-02 {
  background-color: #F2F8FE;
}

.pickupCase_text_bgWhite-r {
  background-color: #ffffff;
  border-radius: 17px;
  padding: 40px;
}

.webpage_titleArea {
  margin: 0 0 50px;
  display: flex;
  justify-content: left;
  min-height: 180px;
  background-position: left bottom;
  background-image: url(/img/common/bg_detail.jpg);
  background-size: cover;
  width: auto;
  height: 100%;
}

.webpage_titleArea_textbox {
  width: 100%;
  margin: 0 80px 20px 8%;
  position: relative;
}

@media (max-width: 1080px) {
  .webpage_titleArea_textbox {
    margin: 0;
    padding: 0 20px 20px;
  }
}

.webpage_titleArea h1 {
  font-size: 36px;
  font-weight: 700;
  margin-top: 60px;
  color: var(--color-navy);
}

@media (max-width: 1080px) {
  .webpage_titleArea h1 {
    margin-top: 40px;
  }
}

.webpage_section_title-l {
  font-size: 24px;
  font-weight: 700;
  width: 90%;
  display: inline-block;
  line-height: 2.6rem;
  color: #015676;
}

.webpage_link a {
  text-decoration: underline;
  color: var(--color-blue-link);
}

.webpage_link a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.webpage_link_title {
  position: relative;
  margin-top: 32px;
}

.webpage_link_title:before {
  content: "関連情報：";
  position: absolute;
  top: -32px;
  color: var(--color-navy);
  font-weight: 600;
}

.webpage_titleBlock {
  border-left: 8px solid #0fccd1;
  height: auto;
  padding: 10px 0;
}

.webpage_text {
  font-size: 16px;
  line-height: 1.75rem;
  padding: 0 0 20px 40px;
}

.webpage_rCorners_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
}

.webpage_pickup_text {
  line-height: 1.75rem;
  min-height: 140px;
}

.gradation_title-center-h2 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-dark-gray);
}

/*---------------------
改修追加スタイル_202410
----------------------*/
.section_content-card2-wifi6e {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 40px;
}

@media (max-width: 1080px) {
  .section_content-card2-wifi6e {
    justify-content: space-evenly;
  }
}

.wifi6e_card2 {
  border-radius: 20px;
  width: 470px;
  line-height: 1.75rem;
  min-height: 396px;
  border: 1px solid #CCCCCC;
}


.wifi6e_card2_img img {
  margin: 0 auto;
  display: block;
  max-width: 120px;
}

.wifi6e_card2_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-navy);
  text-align: center;
  min-height: 56px;
}

#wifi6e_card {
  text-align: center;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}



.wifi6e_comparison table {
  font-size: 18px;
  text-align: center;
  padding: 5px 10px;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 24px;
  border: 2px solid #ffffff;
  background-color: #ebecf5;
}

.wifi6e_comparison table th {
  color: #ffffff;
  text-align: center;
  padding: 5px 10px;
  border: 1px solid #ffffff;
  background-color: #1d4782;
}

.wifi6e_comparison table td {
  padding: 5px;
  border: 1px solid #ffffff;
}

.td_border-bottom {
  border-bottom: 2px solid #ffffff !important;

}

.td_bgColor-odd {
  background-color: #ced9e6;
}

.wifi6e_card_button {
  display: flex;
  align-items: center;
  max-width: 500px;
  margin: 0 auto;
}

.wifi6e_defaultButton {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 200px;
  border-radius: 80px;
  font-weight: 600;
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  background: #fff;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}


.wifi6e_defaultButton:hover {
  background: #e7f9ff;
}

.wifi6e_gradationButton {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 200px;
  border-radius: 80px;
  font-weight: 600;
  color: #ffffff;
  background: #0077CA;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

@media (max-width: 620px) {
  .wifi6e_defaultButton {
    width: 165px;
    margin-right: 10px;
  }

  .wifi6e_gradationButton {
    width: 165px;
    margin-left: 10px;
  }
}

.card_detail-wifi6e {
  text-align: right;
  position: relative;
  font-weight: 700;
  min-height: 28px;
color:var(--color-blue-link);
}

/*.card_detail-wifi6e::before {
  content: '';
  width: 22px;
  height: 22px;
  background: #02b8bd;
  border-radius: 50%;
  position: absolute;
  top: 45%;
  right: 0;
  margin: -9px -9px 0 0;
}

.card_detail-wifi6e::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 49%;
  right: 6px;
  margin: -4px -9px 0 0;
}*/

/*---------------------
BP Wi-Fi追加スタイル
----------------------*/
.bpwifi_card2 {
  /* border-radius: 20px; */
  width: 470px;
  line-height: 1.75rem;
  min-height: 396px;
  border: 1px solid #CCCCCC;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 80%, #F2F8FE 80%, #F2F8FE 100%);
}

.bpwifi_lineup_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  text-align: center;
}

.bpwifi_lineup_h4 {
  font-size: 18px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7rem;
  color: var(--color-navy);
  text-align: center;
}

.bpwifi_lineup_img {
  background-color: #ffffff;
}

.bpwifi_lineup_img img {
  width: 100%;
}

.bpwifi_lineup_h4 {
  font-size: 18px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7rem;
  color: var(--color-navy);
  text-align: center;
}

.bpwifi_text {
  line-height: 1.75rem;
  min-height: 113px;
}

.bpwifi_lineup_jump {
  text-align: center;
}
.bpwifi_lineup_jump-triangle:hover,
.bpwifi_lineup_jump-circle:hover {
	text-decoration: none
}

.bpwifi_lineup_jump-triangle,
.bpwifi_lineup_jump-circle {
  font-size: 18px;
  position: relative;
  display: inline-block;
  font-weight: 700;
  color: var(--color-blue-link);
  text-align: center;
text-decoration: underline;
}

.bpwifi_inner-text {
  margin-top: 10px;
  text-align: left;
  min-width: 250px;
  margin: 24px 0 40px;
}

.bpwifi_detail {
  position: relative;
  display: inline;
  color: var(--color-blue-link);
	text-decoration: underline;
}

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


/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: #016dff;
  opacity: 0.75;
}


/* CUSTIUM */

.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}

.sliderArea.w300 {
  max-width: 300px;
}

.slick-slide {

  margin: 0 5px;
}

.slick-slide img {
  width: 100%;
  height: auto;
}

.slick-prev,
.slick-next {
  z-index: 1;
  display: none !important;
}

.slick-prev:before,
.slick-next:before {
  color: #000;
}

.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}

.slick-active {
  opacity: 1;
}

.slick-current {
  opacity: 1;
}

.thumb {
  margin: 20px 0 0;
}

.thumb .slick-slide {
  cursor: pointer;
}

.thumb .slick-slide:hover {
  opacity: .7;

}

/*==================
.full-screen
==================*/

.full-screen_one .slick-list {
  overflow: visible;
}

.full-screen_one.slider {
  max-width: 300px;
  margin: 0 auto;
}

/*---------------------
BP Wi-Fi追加スタイル
テーブル
----------------------*/
.tbl1stLine .tblTd h3 {
  padding: 16px;
  font-size: 20px;
  font-weight: 600;
  color: #015676;
}

.tblTd p {
  font-size: 16px;
}

.lhS {
  line-height: 1.5;
}

.tblTd h3 {
  padding: 16px;
  font-size: 20px;
  font-weight: 600;
  color: #015676;
}

.tbl h4 {
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  color: #015676;
}

.tbl h4 a,
.tbl h3 a {
  text-decoration: underline;
  white-space: nowrap
}

.tbl h4 a:hover,
.tbl h3 a:hover {
  text-decoration: none;
}

.tbl .price {
  font-weight: 600;
  color: #015676;
}

.tbl .priceL {
  font-size: 28px;

}

.tbl .priceM {
  font-size: 18px;

}

.tbl .priceS {
  font-size: 14px;
  font-weight: 400;
}

.tblTd2 p {
  font-size: 14px;
}

.lhS {
  line-height: 1.5;
}

.tblTd2 .tblTd p {
  padding: 12px;
}

.tbl ol {
  list-style: decimal;
  font-size: 16px;
  padding: 4px 1.6rem;
}

.tbl ol li,
.tbl ul li {
  margin-bottom: 10px;
}

.tbl ul {
  list-style: disc;
  font-size: 16px;
  padding: 4px 1rem;
}

.tblBold {
  font-weight: 600;
  color: #015676;
}

.tbl li a {
  text-decoration: underline;
  color: var(--color-blue-link);
}

.tbl li a:hover {
  text-decoration: none;
}




@media screen and (min-width: 786px) {
  .tbl {
    display: flex;
  }

  .tbl h3 {
    text-align: center;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    margin-left: 8px;
    /* border-radius: 10px 10px 0 0; */
    background: #F2F8FE;
  }

  #bpwifi_spec .tblTr {
    max-width: 284px;
  }
	
 #bpwifi_spec .tbl.tbl-1line .tblTr {
		width: auto;
	}

  .tbl .tblTh:nth-child(odd),
  .tbl .tblTd:nth-child(odd) {
    background: #F2F8FE;
  }

  /* .tbl .tblTh:nth-child(odd) {
    border-radius: 10px 0 0 10px;
  } */

  .tbl .tblTh:nth-child(even),

  .tbl .tblTd:nth-child(even) {
    background: #FFFFFF;
  }

  /* .tbl .tblTh:nth-child(even) {
    border-radius: 10px 0 0 10px;
  } */

  .tbl .tblTh:nth-child(1),
  .tbl .tblTd:nth-child(1),
  .tbl .tblTh:nth-child(15),
  .tbl .tblTd:nth-child(15) {
    background: none;
  }

  .tbl .tblTh:nth-child(15),
  .tbl .tblTd:nth-child(1) {
    background: none;
  }

  .tbl .tblTh {
    width: 120px;
  }
	.tbl.tbl-1line .tblTh{
		width: auto;
	}
	.tbl.tbl-1line .tbl-1line-th {
		width: 200px;
		
	}
	.tbl.tbl-1line .tbl-1line-td {
		width: calc(100% - 200px);
		
	}

  .tbl .tblTd>div {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    margin-left: 8px;
  }
  .tbl.tbl-1line .tblTd>div {
	  border: none;
	}

  .tbl .l15>div {
    display: flex;
    flex-direction: row-reverse;
  }

  .tblTh>div {

    padding: 12px;
  }

  .tblTd>div {
    padding: 12px;
  }

  .tbllastLine>div {
    min-height: 56px;
  }

  .tbllastLine div {
    background: #F2F8FE;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-left: 8px;
    /* border-radius: 0 0 10px 10px; */
  }

}


@media screen and (max-width: 785px) {

  .tbl .tblTh {
    display: none;
  }

  .tblTd p {
    padding: 8px 4px;
  }

  .tbl ul {
    padding: 4px 1.6rem;
  }

  .tbl .tblTd::before {
    font-size: 16px;
    font-weight: 600;
    color: #015676;
    background: #F2F8FE;
    display: block;
    border-bottom: 1px solid #015676;
    margin-top: 20px;
    padding: 8px 4px;
  }

  .tblTd h3 {
    padding-left: 0px;
    margin-top: 0px;
    font-size: 28px;
  }

  .tbl .priceL {
    font-size: 18px;
  }

  .tblTr .t3::before {
    content: '初期費用'
  }

  .tblTr .t4::before {
    content: '月額費用'
  }

  .tblTr .t5::before {
    content: '機器費用'
  }

  .tblTr .t6::before {
    content: '回線契約'
  }

  .tblTr .t7::before {
    content: '利用シーン'
  }

  .tblTr .t8::before {
    content: 'Wi-Fi6E\A対応'
  }

  .tblTr .t9::before {
    content: '対応\Aアクセスポイント メーカー\A（順不同）'
  }

  .tblTr .t10::before {
    content: '保守'
  }

  .tblTr .t11::before {
    content: 'フリーWi-Fiオプション'
  }

  .tblTr .t12::before {
    content: 'その他の\Aオプション'
  }

  .tblTr .t13::before {
    content: '導入フロー'
  }

  .tblTr .t3-event::before {
    content: '最低料金'
  }

  .tblTr .t4-event::before {
    content: '利用シーン'
  }

  .tblTr .t5-event::before {
    content: '回線契約'
  }

  .tblTr .t6-event::before {
    content: '構築・設置'
  }

  .tblTr .t7-event::before {
    content: '電源'
  }

  .tblTr .t8-event::before {
    content: 'Wi-Fi6E対応'
  }

  .tblTr .t9-event::before {
    content: '屋外対応（好天時）'
  }
}

.decoration_detail {
  text-align: right;
  position: relative;
  /*padding-right: 25px;*/
  min-height: 28px;
	color: var(--color-blue-link);
}

.tbl .l15 a {
  display: inline-flex;
  margin-top: 5px;
  margin-left: 50px;
}

@media screen and (max-width: 785px) {
  .tbl .l14 a {
    margin-left: 0px;
  }
}


.decoration_detail span {
	text-decoration: underline;
}

#case li a:hover .decoration_detail span,
#relate li a:hover .decoration_detail span,
#column li a:hover .decoration_detail span,
#relateColumn li a:hover .decoration_detail span {
  border-bottom: none;
}

.white-space {
  white-space: nowrap
}

/*---------------------
BP サーベイ追加スタイル
----------------------*/
.bpsurvey_card2 {
  /* border-radius: 20px; */
  width: 470px;
  line-height: 1.75rem;
  border: 1px solid #CCCCCC;
  background: #ffffff;
}

.bpsurvey_card {
  text-align: center;
  max-width: 1240px;
  /* border-radius: 20px; */
  line-height: 1.75rem;
  min-height: 396px;
  border: 1px solid #CCCCCC;
  background: #ffffff;
}

.list_decimal-circle ol {
  margin: 0;
  padding: 0
}

.list_decimal-circle ol li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.bpsurvey_detailsTbl {
  display: flex;
  text-align: left;
  max-width: 100%;
  line-height: 1.75rem;
  background-color: #F2F8FE;
  margin: 0 20px;
}



.bpsurvey_detailsTbl-ttl {
  font-weight: 700;
  width: 100%;
  max-width: 100px;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: center;
}

.bpsurvey_listBox {
  background-color: #ffffff;
  padding-left: 20px;
  width: 100%;
}

.bpsurvey_menu_img {
  display: flex;
}

.bpsurvey_menu_img img {
  margin: 0 auto;
  display: block;
  max-width: 50%;
}

.bpsurvey_note {
  text-align: left;
  font-size: 14px;
}

.bpsurvey_plus {
  display: flex;
  font-size: 56px;
  font-weight: 600;
  justify-content: center;
}

.bpsurvey_text {
  font-size: 22px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-navy);
  text-align: center;
}

.bpsurvey_recommend {
  display: flex;
}

.bpsurvey_recommend_title {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
  padding: 40px 0 0;
  margin: 0 auto;
  text-align: center;
}

.bpsurvey_recommend::before {
  content: "＼";
  padding: 50px 0px 0 15%;
  font-size: 50px;
  font-weight: 700;
  color: #0FCCD1;
}

.bpsurvey_recommend::after {
  content: "／";
  padding: 50px 15% 0 0px;
  font-size: 50px;
  font-weight: 700;
  color: #0FCCD1;
}

@media (max-width : 710px) {
  .bpsurvey_recommend::before {
    padding: 40px 10px 0 1%;
  }

  .bpsurvey_recommend::after {
    padding: 40px 1% 0 10px;
  }
}

.bpsurvey_recommend_main {
  display: flex;
}

@media (max-width : 1080px) {
  .bpsurvey_recommend_main {
    flex-direction: column;
    justify-content: center;
    justify-items: center;

  }

}

.bpsurvey_youtube {
  width: 100%;
  max-width: 720px;
  position: relative;
  padding: 0;
  margin: 20px auto 40px;
}

@media screen and (max-width: 960px) {
  .bpsurvey_youtube {
    width: 90%;
    margin: 0 auto 48px;
  }
}

.bpsurvey_youtube::before {
  content: '';
  display: block;

  padding-top: 56.25%;
}

.bpsurvey_youtube iframe {
  /* border-radius: 20px; */
  border: 4px solid #fff;
  box-shadow: 0px 7px 15px -5px #2f5654;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bpsurvey_img img {
  margin: 0 auto;
  display: block;
  width: 100%;
}

.bpsurvey_card2 .list_decimal-circle {
  min-height: 112px;
}

.bpsurvey_card2-s {
  /* border-radius: 20px; */
  width: 470px;
  line-height: 1.75rem;
  border: 1px solid #CCCCCC;
  background: #ffffff;
  min-height: 190px;
}

.bpsurvey_card2-s .bpwifi_lineup_title {
  text-align: left;
}

.bpsurvey_card2-s .bpwifi_lineup_h4 {
  text-align: left;
}

.bpsurvey_card .price {
  font-weight: 600;
  color: #015676;
}

.bpsurvey_card .priceL {
  font-size: 40px;
}

.bpsurvey_card .priceM {
  font-size: 18px;
}

.bpsurvey_card .priceS {
  font-size: 14px;
  font-weight: 400;
}

.bpsurvey_card2-s_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-navy);
}

.bpsurvey_card2-s_h4 {
  font-size: 18px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.7rem;
  letter-spacing: -0.03em;
  color: var(--color-dark-gray);
}

#column .card_title-h3 {
  font-size: 16px;
}

#column .card_description-left {
  font-weight: 400;
  color: #000000;
}

/*---------------------
BPSIM 料金シミュレーション　追加スタイル
----------------------*/

.form-group {
  display: flex;
  align-items: center;
  margin: 30px 20px 0;
}

.form-group label {
  flex: 1;
  font-weight: bold;
}

.form-group input[type="number"] {
  width: 120px;
  height: 52px;
  padding: 8px;
  border: 1px solid #ccc;
  background: #f2f3f7;
  border-radius: 4px;
  margin-right: 5px;
  color: var(--color-dark-gray);
  font-size: 20px;
  font-weight: 600;
  text-align: right;
}

.unit {
  font-size: 16px;
  color: var(--color-navy);
  font-weight: 700;
}

.result {
  margin-top: 20px;
  background-color: #F2F8FE;
  /* border-radius: 15px; */
}

.result-row-top h3,
.result-row h3,
.result-row h4,
.currency {
  color: var(--color-navy);
  font-weight: 600;
  font-size: 20px;
  margin: 0;
}

.result-row h4 {
  width: 90px;
}

.result-row-top {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin: 10px 0;
  background-color: #ffffff;
  border: 3px solid #F2F8FE;
  padding: 20px;
  /* border-top-left-radius: 15px;
  border-top-right-radius: 15px; */
}

@media (max-width : 700px) {
  .result-row-top {
    flex-direction: column;
  }

  .result-row-top h3 {
    margin: 0 0 20px;
  }
}

.result-row {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 20px;
}

.simulation_formArea {
  background-color: #fff;
  /* border-radius: 15px; */
  width: 100%;
  padding: 20px 30px 50px;
  border: 1px solid #cccccc;
  text-align: center;
}

@media (max-width : 500px) {
  .simulation_formArea {
    padding: 20px 10px 50px;
  }
}

.section_title-icon-calculator {
  padding-left: 1.6em;
  text-indent: -1.6em;
}

.section_title-icon-calculator::before {
  position: relative;
  top: 10px;
  margin: 0 10px 0 0;
  content: url(/img/common/titleIcon-note.png);
}

#inputForm {
  display: flex;
  justify-content: center;

  flex-wrap: nowrap;
  flex-direction: column;
  align-items: center;
}

.form-group label {
  padding-right: 20px;
  color: var(--color-navy);
  min-width: 200px;
  text-align: right;
}

@media (max-width : 600px) {
  .form-group label {
    min-width: 130px;
  }
}

#initialCost,
#monthlyCost {
  font-size: 34px;
  color: var(--color-navy);
  font-weight: 600;
  min-width: 240px;
  text-align: right;
}

.simulation_formArea button {
  margin: 30px auto 0;
}

.bg_y {
  background-color: #fffbbe;
  padding: 0 2px;
  margin: 0 2px;
  line-height: 1.3;
}

.free_cp {
  font-size: 16px;
  font-weight: 600;
  margin-right: 5px;
  margin-left: 8px;
}

.bg_y .currency {
  margin-left: 5px;
}

/*---------------------
BPSIM キャンペーン追加スタイル
----------------------*/
.section_title-h3-bpsimCp {
  font-size: 20px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
  color: var(--color-navy);
  padding: 0 0 40px;
  width: 98%;
}

.bpsim_tariff table th {
  height: 36px;
  line-height: 36px;
}

.bpsim_recommend {
  display: flex;
	justify-content: center;
}

.bpsim_recommend::before {
  content: "＼";
  padding: 0 0 0 20%;
  font-size: 50px;
  font-weight: 700;
  color: var(--color-accent);
}

.bpsim_recommend::after {
  content: "／";
  padding: 0 20% 0 0;
  font-size: 50px;
  font-weight: 700;
  color: var(--color-accent);
}

@media (max-width : 710px) {
  .bpsim_recommend::before {
    padding: 0 0 0 10%;
  }

  .bpsim_recommend::after {
    padding: 0 10% 0 0;
  }
}

.bpsim_cp_note {
  background-color: #fff;
  /* border-radius: 15px; */
  width: 100%;
  padding: 20px;
}

.bpsim_cp_note h4 {
  font-weight: 600;
  color: var(--color-navy);
}

.bpsim_cp_note ul {
  list-style: disc;
  padding: 10px 1.5rem;
  line-height: 1.75;
}

.bpsim_cp_img img {
  width: 100%;
  margin: 0 auto;
}

.app_dl_box {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}

.app_dl_box p {
  width: 130px;
  margin: 0 10px
}

/*---------------------
メガメニュー更新スタイル
----------------------*/
.megamenu_hr {
  padding: 30px 0;
  border-top: 1px solid #CCCCCC;
  margin-top: 20px;
}

@media (max-width : 1080px) {
  .megamenu_hr {
    padding: 0;
    border-top: 0;
    margin-top: 0;
  }
}

.megamenu_hr-after {
  padding: 50px 0;
  border-top: 1px solid #CCCCCC;
  margin-top: 20px;
}

@media (max-width : 1080px) {
  .megamenu_hr-after {

    padding: 0;
    border-top: 0;
    margin-top: 0;
  }
}

.megamenu_hr {
  padding: 30px 0 0;
  border-top: 1px solid #CCCCCC;
  margin-top: 20px;
}

@media (max-width : 1080px) {
  .megamenu_hr {
    padding: 0;
    border-top: 0;
    margin-top: 0;
  }
}

.megamenu_hr-none {
  padding: 30px 0 0;
  /* border-top: 1px solid #CCCCCC; */
  /* margin-top: 20px; */
}

@media (max-width : 1080px) {
  .megamenu_hr-none {
    padding: 0;
    border-top: 0;
    margin-top: 30px;
  }
}

.megamenu_hr-after {
  padding: 30px 0 0;
  border-top: 1px solid #CCCCCC;
  /* margin-top: 20px; */
}

@media (max-width : 1080px) {
  .megamenu_hr-after {
    padding: 0;
    border-top: 0;
    margin-top: 0;
  }
}

.megamenu_networServices_title,
.megamenu_consulting_title,
.megamenu_serviceSearch_title,
.megamenu_freeWiFi_title {
  position: relative;
  /* margin-top: 32px; */
  /*left: 5px;*/
  /* width: 100%; */
  /*margin-left: 100px;*/
}

.megamenu_head {
  color: var(--color-navy);
  font-weight: 600;
  line-height: 20px;
  min-width: 170px;
}

.megamenu_networServices_title::after,
.megamenu_consulting_title::after,
.megamenu_serviceSearch_title::after,
.megamenu_freeWiFi_title::after {
  position: absolute;
  top: 10px;
  left: 5px;
  color: var(--color-navy);
  font-weight: 600;
}


@media (max-width : 1080px) {

  .megamenu_networServices_title::after,
  .megamenu_consulting_title::after,
  .megamenu_serviceSearch_title::after,
  .megamenu_freeWiFi_title::after {
    top: -15px;
  }
}


/*---------------------
イベントWi-Fi追加スタイル
----------------------*/

@media screen and (min-width: 786px) {
  #eventwifi_spec .tblTr {
    max-width: 50%;
  }
}

.eventwifi_card2 {
  width: calc( 50% - 40px);
  line-height: 1.75rem;
  min-height: 272px;
  border: 1px solid #CCCCCC;
  background: #ffffff;
}
@media screen and (max-width: 786px) {
.eventwifi_card2 {
  width: calc( 100% - 40px);
}
}

.eventwifi_lineup_jump {
  text-align: center;
  background: #F3FAFA;
  /* border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px; */
}

.section_text-bold {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-navy);
}
.section_text-bold_black {
  font-size: 20px;
  font-weight: 600;
  color: black;
}

.eventwifi_lineup_title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: var(--color-navy);
}

.eventwifi_text {
  line-height: 1.7;
  min-height: 120px;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-dark-gray);
  letter-spacing: -0.03em;
}

.eventwifi_plan_jump {
  text-align: center;
  background: #F3FAFA;
  /* border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px; */
  display: flex;
  flex-direction: row-reverse;
}

.eventwifi_lineup_img {
  background-color: #ffffff;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.eventwifi_lineup_img img {
  width: 70%;
}

@media screen and (min-width: 786px) {

  #eventwifi_spec .tbl .tblTh:nth-child(2),
  #eventwifi_spec .tbl .tblTd:nth-child(2),
  #eventwifi_spec .tbl .tblTh:nth-child(10),
  #eventwifi_spec .tbl .tblTd:nth-child(10) {
    background: none;
  }

  #eventwifi_spec .tbllastLine>div {
    min-height: 56px;
  }

  #eventwifi_spec .tbllastLine div {
    background: #FFFFFF;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-left: 8px;
    /* border-radius: 0 0 10px 10px; */
  }
}

/*---------------------
BP 5G追加スタイル
----------------------*/
#bp5g_feature .featureList .dd-r {
  /* border-radius: 20px; */
  background-color: #ffffff;
  padding: 50px;
  margin-bottom: 40px;
}

#bp5g_feature .featureList .dd-divide {

  border-radius: 20px;
  background-color: #ffffff;
  margin-bottom: 40px;
}

#bp5g_feature .featureList .dd-divide-t {
  /* border-radius: 20px 20px 0 0; */
  background-color: #ffffff;
  padding: 50px 50px 0 50px;
}

@media (max-width: 1080px) {
  #bp5g_feature .featureList {
    margin: 0;
  }

  #bp5g_feature .featureList .dd-r {
    padding: 50px 15px 10px 15px;
  }

  #bp5g_feature .featureList .dd-divide-t {
    padding: 50px 15px 0 15px;
  }
}

#bp5g_feature .featureList dt {
  font-size: 28px;
}

#bp5g_feature .achievements_img {
  padding-bottom: 0;
}

.bp5g_feature_tbl {
  display: flex;
  flex-direction: column;
}

.bp5g_feature_tblTr {
  display: flex;
}

.bp5g_feature_tblTh {
  font-size: 24px;
  color: var(--color-navy);
  white-space: nowrap;
  padding-right: 20px;
  padding-bottom: 16px;
  font-weight: 600;
  min-width: 216px;
}

@media (max-width:650px) {
  .bp5g_feature_tblTr {
    flex-direction: column;
    padding-bottom: 20px;
  }

  .bp5g_feature_tblTh {
    padding-bottom: 0;
  }
}

.bp5g_note,
.bp5g_note-s {
  text-align: left;
  font-size: 14px;
  line-height: 1.75;
}

.bp5g_note li {
  text-indent: -1.8em;
  padding-left: 1.8em;
}

.bp5g_note-s li {
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.bp5g_jump {
  text-align: center;
  position: relative;
}

.bp5g_jump-triangle {
  font-size: 18px;
  /* position: relative; */
  display: inline-block;
  font-weight: 700;
  color: var(--color-dark-gray);
  /* text-align: center; */
  padding-top: 20px;
}

.bp5g_jump-triangle::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 11px solid transparent;
  border-left: 11px solid transparent;
  border-top: 13px solid #0077CA;
  border-bottom: 0;
  position: absolute;

  top: 60%;
  left: 49%;
  z-index: 1;
  cursor: pointer;
}

.bp5g_jump a {
  padding-top: 20px;
  padding-bottom: 50px;
  margin-bottom: -50px;
  display: block;
}

.bp5g_jump-triangle.otherPage::after {
  transform: rotate(270deg);
}

.font14 {
  font-size: 14px;
}

.font16 {
  font-size: 16px;
}

.font28 {
  font-size: 28px;
}

#bp5g_overview ol li {
  list-style: none;
  padding-left: 1.3rem;
  text-indent: -1.3rem;
  margin-bottom: 10px;
}

.bp5g_card {
  text-align: center;
  max-width: 1240px;
  /* border-radius: 20px; */
  line-height: 1.75rem;
  max-height: 100px;
  border: 1px solid #CCCCCC;
  background: #ffffff;
  display: flex;
  padding: 10px 24px;
}

.bp5g_card-dot {
  text-align: center;
  max-width: 1240px;
  /* border-radius: 20px; */
  line-height: 1.75rem;
  max-height: 110px;
  border: 5px dotted #CCCCCC;
  display: flex;
  padding: 10px 24px;
}

.bp5g_card img,
.bp5g_card-dot img {
  max-width: 80px;
}

.bp5g_card_textBox {
  display: flex;
  width: 100%;
  justify-content: space-around;
  align-items: center;
}

.bp5g_card p,
.bp5g_card-dot p {
  color: var(--color-navy);
  font-size: 20px;
  text-align: left;
  font-weight: 600;
}

.bp5g_card_text-l {
  text-align: left;
  min-width: 223px;
}

.bp5g_card_text-c {
  text-align: left !important;
  min-width: 160px;
}

.bp5g_card_text-r {
  text-align: right !important;
  min-width: 175px;
}

.bp5g_card-total {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 20px 0 40px 0;
}

.bp5g_card-total p {
  margin: 0 20px 0 30px;
}

.p5g_card-total-title {
  font-size: 28px;
  font-weight: 600;
  color: var(--color-dark-gray);
}

.p5g_card-total-price {
  font-size: 40px;
  font-weight: 600;
  color: var(--color-navy);
}

.bp5g_plus {
  display: flex;
  font-size: 56px;
  font-weight: 600;
  justify-content: center;
  padding: 0px 40px 20px;
}

.bp5g_feature_img-r {
  display: flex;
}

.bp5g_feature_img-r img {
  width: 140px;
  padding: 0 20px;
}

.achievements_imgBlock-multi {
  max-width: 1020px;
  display: flex;
}

.achievements_imgBlock-multi img:nth-child(even) {

  padding-left: 20px;
}


@media (max-width:753px) {
  .bp5g_card {
    flex-direction: column;
    align-items: center;
    max-height: inherit;
  }

  .bp5g_card_text-c {
    text-align: center !important;
  }

  .bp5g_card-dot {
    flex-direction: column;
    align-items: center;
    max-height: inherit;
  }

  .bp5g_card_textBox {
    flex-direction: column;
  }

  .bp5g_card p,
  .bp5g_card-dot p {
    padding-bottom: 0;
    text-align: center;
  }

  .bp5g_card img,
  .bp5g_card-dot img {
    padding-bottom: 0;
  }

  .bp5g_card-total {
    flex-direction: column;
  }

  .achievements_imgBlock {
    padding-right: 0;
  }

  .bp5g_feature_img-r {
    flex-direction: column;
    align-items: center;
  }

  .bp5g_feature_img-r img {
    padding: 20px;
  }

  .achievements_imgBlock-multi {
    flex-direction: column;
  }

  .achievements_imgBlock-multi img:nth-child(even) {
    padding-left: 0;
    padding-top: 20px;
  }
}

/*---------------------
一夜城追加スタイル
----------------------*/
#ichiyajo_setup img {
  width: 240px;
}

.ichiyajo_setup_img {
  display: flex;
  justify-content: center;
}

.ichiyajo_card2-s {
  border-radius: 20px;
  width: 470px;
  line-height: 1.75rem;

  border: 1px solid #CCCCCC;
  background: #ffffff;
  min-height: 150px;
}

.ichiyajo_ulTitle-bold {
  min-width: 170px;
  font-weight: 600;
}

#ichiyajo_requirements li {
  display: flex;
  line-height: 1.7;
}

#ichiyajo_arrangements h4 {
  line-height: 1.7;
}

/*---------------------
OpenRoaming追加スタイル
----------------------*/
.featureList .dd-r {
  /* border-radius: 20px; */
  background-color: #ffffff;
  padding: 50px 50px 20px 50px;
  margin-bottom: 40px;
	
}

.featureList .dd-divide {
  border-radius: 20px;
  background-color: #ffffff;
  margin-bottom: 40px;
}

.featureList .dd-divide-t {
  /* border-radius: 20px 20px 0 0; */
  background-color: #ffffff;
  padding: 50px 50px 0 50px;
}

.featureList .dd-divide-link a {
  padding: 20px;
  text-align: center;
  display: block;
  line-height: 20px;
}

@media (max-width: 1080px) {
  .featureList {
    margin: 0;
  }

  .featureList .dd-r {
    padding: 50px 15px 10px 15px;
  }

  .featureList .dd-divide-t {
    padding: 50px 15px 0 15px;
  }
}

.featureList .dd-divide-b {
  /* border-radius: 0 0 20px 20px; */
  background-color: #F2f8fe;
  padding: 0 0 50px 0;
  margin-bottom: 40px;
  border: 5px solid #ffffff;
  /* border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px; */
}

.featureList dt {
  font-size: 28px;
}

.padding-0-b {
  padding-bottom: 0 !important;
}

.section_content-card3-or {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  text-align: left;
  justify-content: center;
  flex-wrap: nowrap;
}
.or_card3 {
  /* border-radius: 20px; */
  line-height: 1.75rem;
  border: 1px solid #CCCCCC;
}

.or_card3_img {
  min-height: 110px;
}

.or_card3_img img {
  margin: 0 auto;
  display: block;
  max-width: 120px;
}

.padding-s-rl-m1-tb {
  padding: 40px 20px;
}

.pickup_or_text {
  line-height: 1.75rem;
}

.or_feature_img-r {
  display: flex;
}

.or_feature_img-r img {
  width: 290px;
  padding: 0 20px;
}

@media (max-width: 1080px) {
  .section_content-card3-or {
    flex-wrap: wrap;
    justify-content: space-around;
  }
	
.or_card3 {
	width: 100%
	}
}


@media (max-width: 753px) {
  .or_feature_img-r {
    flex-direction: column;
    align-items: center;
  }

  .or_feature_img-r img {
    padding: 0 20px 60px;
  }
}

#or_merit h3,
#or_merit p,
#or_note h3,
#or_note p,
#or_alternative h3,
#or_alternative p,
#or_jwauto p,
#or_registration p {
  margin-bottom: 40px;
}

.section_content-card2-or {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 40px;

}



@media (max-width: 1080px) {
  .section_content-card2-or {
    justify-content: space-evenly;
  }
}

.or_card2 {
  /* border-radius: 20px; */
  width: 470px;
  line-height: 1.75rem;
  min-height: 396px;
  border: 1px solid #CCCCCC;
  background-color: #ffffff;
}

.or_card2_img {
  margin-top: 20px;
}

.or_card2_img img {
  margin: 0 auto;
  display: block;
  max-height: 155px;
}

.or_card3 a {
  text-decoration: underline;
  color: var(--color-blue-link);
}

.or_card3 a:hover {
  text-decoration: none;
}

/*---------------------
BPSIMコスト削減追加スタイル
----------------------*/
.bpsim_card3 {
  /* border-radius: 20px; */
  width: 260px;
  line-height: 1.75rem;
  min-height: 372px;
  border: 1px solid #CCCCCC;
}

.bpsim_card3_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  display: inline-block;
  line-height: 1.2;
  color: var(--color-navy);
  text-align: center;
  min-height: 56px;
  /* border-top-left-radius: 20px;
  border-top-right-radius: 20px; */
  background: #F3FAFA;
}

.bpsim_card3_text {
  min-height: 110px;
  text-align: center;
  color: var(--color-navy);
  line-height: 1.7;
}

.bpsim_card3_list {
  min-height: 110px;
  padding-left: 25px;
  padding-right: 10px;
}

.bpsim_card3_list ul {
  list-style: disc;
}

#bpsim_reduction h3 {
  font-size: 28px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.7;
  color: var(--color-dark-gray);
  padding: 0 0 40px;
  width: 98%;
  text-align: center;
}

.bpsim_card3_price-s {
  font-size: 24px;
  font-weight: 600;
  color: var(--color-accent);
}

.bpsim_card3_price-l {
  font-size: 40px;
  font-weight: 600;
  color: var(--color-accent);
}

.common_card img {
  width: 100%
}

/*---------------------
5960 .bpsim_tariff h3
----------------------*/

/*---------------------
BPSIM NTTREC追加スタイル
----------------------*/
.bpsim_content-rec h3 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  color: #2766b3;
  line-height: 1.7;
}

.bpsim_content-rec h4 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  color: var(--color-navy);
  line-height: 1.7;
}

.bpsurvey_plus-violet {
  display: flex;
  font-size: 56px;
  font-weight: 600;
  justify-content: center;
  color: #2766b3;
}

/*---------------------
20250311追加スタイル
----------------------*/
.img_flex-center {
  justify-content: center;
}

.border-r-w {
  border-right: 1px solid #ffffff;
}

/*---------------------
R&DFORUMスタイル
----------------------*/
#throughput table {
  font-size: 20px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  margin: 10px auto 24px;
  border: 1px solid #CCCCCC;
}

#throughput table th {
  width: 50%;
  height: 36px;
  line-height: 36px;
  padding: 16px;
  background-color: #f2f3f7;
  color: var(--color-navy);
  text-align: center;
  font-weight: bold;
  word-break: break-all;
}

#throughput table td {
  padding: 18px;
  background-color: #ffffff;
  color: var(--color-navy);
  text-align: center;
  font-weight: bold;
  word-break: break-all;
}

#throughput h3 {
  color: #00a3a7;
  font-weight: 700;
  text-align: center;
}

/*---------------------
⼤型商業施設追加スタイル
----------------------*/
#case-porta h3 {
  font-size: 22px;
  color: var(--color-navy);
  font-weight: 700;
  padding-bottom: 20px;
}

.commercial-facility_box_img {
  width: 100%;
  max-width: 1020px;
  display: block;
}

.commercial-facility_box_img img {
  max-width: 100%;
  min-width: 10%;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 1080px) {
  .commercial-facility_box_img {
    max-width: 90%;
    margin: 0 auto;
  }
}

.commercial-facility_text {
  font-size: 16px;
  line-height: 1.75rem;
  padding: 0 0 40px 40px;
}

@media (max-width : 1080px) {
  .commercial-facility_text {
    padding: 20px 10px 20px 10px;
  }
}

.defaultButton-cf {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  min-width: 320px;
  padding: 0 10px;
  border-radius: 80px;
  font-weight: 600;
  color: var(--color-dark-gray);
  border: 2px solid #0077CA;
  background: #fff;
  box-shadow: 0 2px 2px 0.8px rgba(212, 212, 212, 1);
}

.defaultButton-cf:hover {
  background: #e7f9ff;
}

.miniButtonNv a{
	display: block;
	padding: 0 10px;
	border: 1px solid var(--color-navy);
	border-radius: 5px;
	height: 50px;
	line-height: 50px;
	text-align: left;
	color:  var(--color-navy) !important;
	font-weight: 600;
	position: relative;
	text-decoration: none;
	background-color: #fff;
	max-width: 300px;
	
}
.miniButtonNv a::after{
	content: "\f105";
	display: block;
	position: absolute;
	right: 5px;
	top: 0px;
	font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
	
}
.miniButtonNv a:hover{
	opacity: 0.8
}

/*---------------------
プライベートワイヤレス導入相談 追加スタイル 2025/04/10
----------------------*/
.card3-consultation li {
  background-color: #fff;
  /* border-radius: 20px; */
  padding: 20px;
  border: 1px solid #cccccc;
  text-align: center;
}

.card3-consultation h5 {
  margin-top: 10px;
  font-weight: 600;
  color: var(--color-navy);
}

.card3-consultation .feature_img img {
  max-width: 180px;
}

.management-consultation::before {
  content: '';
  display: inline-block;
  width: 23px;
  height: 22px;
  background-image: url(../product/img/common/icon_s_wifi.svg);
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}

.local5g-consultation::before {
  content: '';
  display: inline-block;
  width: 23px;
  height: 19px;
  background-image: url(../product/img/common/icon_s_local5g.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (min-width: 786px) {
  #hybrid .tbllastLine div {
    background: #FFFFFF;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-left: 8px;
    /* border-radius: 0 0 10px 10px; */
  }
}

.consultation_card2 {
  /* border-radius: 20px; */
  width: 45%;
  line-height: 1.75rem;
}


@media (max-width : 1016px) {
  .consultation_card2 {
    width: 99%;
    max-width: 500px;
  }
}

.tblTr-w50 {
  width: 50%;
}

@media screen and (max-width: 785px) {
  .tblTr-w50 {
    width: 99%;
  }

  .tblTr .t2-consultant::before {
    content: '主な特長'
  }

  .tblTr .t3-consultant::before {
    content: '周波数帯'
  }

  .tblTr .t4-consultant::before {
    content: 'ライセンス'
  }

  .tblTr .t5-consultant::before {
    content: '通信エリア'
  }

  .tblTr .t6-consultant::before {
    content: '通信速度（理論値）'
  }

  .tblTr .t7-consultant::before {
    content: '接続端末数'
  }

  .tblTr .t8-consultant::before {
    content: 'コスト'
  }

  .tblTr .t9-consultant::before {
    content: 'ユーザー認証'
  }

  .tblTr .t10-consultant::before {
    content: '対応端末'
  }

  .tblTr .t11-consultant::before {
    content: 'その他'
  }
}

.logo-s_img {
  width: 200px;
}

/*---------------------
openroamingバナー 追加スタイル 2025/04/18
----------------------*/
.openroaming_jwauto {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
}

.openroaming_jwauto-bnr img {
  width: 100%;
  max-width: 640px;
  height: auto;
  display: block;
  object-fit: contain;
}

.openroaming_jwauto-qr {
  padding: 10px;
}

.openroaming_jwauto-qr img {
  height: 104px;
  width: auto;
  display: block;
  object-fit: contain;
}

@media (max-width: 1080px) {
  .openroaming_jwauto {
    justify-content: center;
  }

  .openroaming_jwauto-qr {
    display: none;
  }

  .openroaming_jwauto-bnr {
    margin: 0 auto;
  }
}

.openroamin_future_li {
  list-style: disc;
  padding-left: 1.5em
}


.diskList li {
  list-style: disc;
  margin-left: 1.5em;
	line-height: 1.75;
	padding-bottom:10px;
	
}


/*---------------------
vertical一覧追加スタイル
----------------------*/
.column1_img3 {
  width: 100%;
  margin: 0 auto;
aspect-ratio: 16 / 9;
overflow: hidden;        /* はみ出した部分を隠す */
position: relative;
}
.column1_img3 img {
width: 100%;             /* 横幅いっぱいに表示 */
height: 100%;
object-fit: cover;       /* はみ出す部分をトリミング */
object-position: center; /* 中央を基準にトリミング */
display: block;
}

@media (max-width : 1080px) {
  .column1_img3 {
    max-width: 500px;
    margin: 0 auto;
  }
}

.column1_img3 img {
  max-width: 100%;
  height: auto;
}

.column1_img3_title {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-blue-link);
  margin-top: 10px;
}

.section_content-card3-vertical {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  flex-wrap: wrap;
  text-align: left;
}

.section_content-card3-vertical::after {
  content: "";
  display: block;
  width: 360px;
}

@media (max-width : 696px) {
  .section_content-card3-vertical {
    justify-content: space-evenly;
  }

.section_content-card3-vertical::after {
  content: none;
}
}

.column1_navi3 {
  /* border-radius: 8px; */
  background-color: #ffffff;
  padding: 10px;
  margin-bottom: 10px;
}

.column1_navi3-txt {
  display: flex;
  justify-content: space-between;
  color: var(--color-navy);
  font-weight: 600;
}

.column1_navi3_title {
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  color: var(--color-navy);
  margin: 18px 0 15px;
}

.topService_icon img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
  background-color: #f2f3f7;
}

.topService_card {
  display: flex;
}

@media (max-width : 430px) {
  .topService_card {
    flex-direction: column;
  }

  .topService_icon {
    margin: 0 auto;
  }
}

.topService_titleArea {
  display: flex;
}

.topService_title {
  font-size: 24px;
  font-weight: 700;
  width: 100%;
  text-align: left;
  display: inline-block;
  color: var(--color-navy);
}

.topService_txt {
  min-height: 84px;
}

/* .card3-vertical */
.card3-vertical {
  max-width: 500px;
  width: calc(33% - 40px);
  line-height: 1.7;
}

@media (max-width : 1036px) {
  .card3-vertical {
  width: calc(50% - 40px);
  }
}

@media (max-width : 696px) {
  .card3-vertical {
    max-width: 600px;
    width: 86%;
  }
}


/*---------------------
privacy_button追加スタイル
----------------------*/
.privacy_button {
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
}

.privacy_button_box {
  max-width: 200px;
}

.privacy_button a {
  text-decoration: none !important;
  min-width: 200px;
}

@media (max-width : 1050px) {
  .privacy_button {
    flex-direction: column;
  }

  .privacy_button a {
    margin-top: 20px;
  }
}

/*---------------------
product記事内DX with 5G and Wi-Fi6E用追加スタイル
----------------------*/
.border_n {
  border: 1px solid var(--color-navy)
}
.border_lg {
  border: 1px solid var(--color-light-gray)
}



.card3-product-l {
  width: 32%;
}

.card2_simple {
  width: 48%
}

@media (max-width: 620px) {
  .card2_simple {
    width: 100%
  }

  .card3-product.card3-product-l {
    width: 100%;
    max-width: 500px;
  }
}

.img-m100 {
  max-width: 100%;
}

.img-m50 {
  width: 50%;
	max-width: 640px;
	min-width:300px;
}

.img-m100-width {
  width: 100%;
}
@media (min-width: 1240px) {
.img-m100 {
  width: 100%;
	max-width: 1020px
	
}
}
/*---------------------
inquiry追加スタイル 2025/05/01
----------------------*/
.inquiryWrap {
  display: flex;
  width: 100%
}

.inquiryTxt {
  width: 30%
}

.inquiryTxt li {
  padding-bottom: 4px;
  color: var(--color-navy);
}

.inquiryForm {
  width: 70%
}

@media (max-width : 760px) {
  .inquiryWrap {
    flex-direction: column;
  }

  .inquiryTxt {
    width: 100%
  }

  .inquiryForm {
    width: 100%
  }
}

.sp-off-770 {
  display: none;
}

@media screen and (min-width: 770px) {
  .sp-off-770 {
    display: inline;
  }
}

.inquiry_BeforeArea {
  background-color: var(--color-navy);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.inquiry_item h3 {
  font-size: 24px;
  font-weight: 600;

  margin-bottom: 10px;
  color: #ffffff;
}

.inquiry_item p {
  color: #ffffff;
}

/*Japan Wi-Fi auto-connect広告用追加*/
.defaultPrice .price {
  font-weight: 600;
  color: #015676;
}

.defaultPrice .priceL {
  font-size: 40px;
}

.defaultPrice .priceM {
  font-size: 18px;
}

.button-m a {
  width: 280px !important
}

/*---------------------
technical-column追加スタイル 2025/05/8
----------------------*/
.titleArea-column {
  margin: 0;
  background-image: none;
}

.breadcrumbs-column-bg {
  background-color: var(--color-navy);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  background-image: url(/img/common/bg_column.jpg);
}

.breadcrumbs-column {
  max-width: 100%;
  margin: 0 auto;
	padding-left: 8%;
}

@media (max-width: 1112px) {
  .breadcrumbs-column {
    max-width: 98%;
    padding: 0 16px;
    margin: 0 auto;
  }
}

.breadcrumbs-column li {
  background-image: url(/img/common/arrow_plist-w.svg) !important;
  background-repeat: no-repeat !important;
  color: #FFFFFF;
}

.breadcrumbs-column li:last-child {
  padding-left: 0;
  background: none !important;
}

.titleArea_primaryCategory-column {
  display: inline-block;
  padding: 6px 12px;
  height: 30px;
  border-radius: 14px;
  color: #FFFFFF;
  background-color: var(--color-navy);
}

.titleArea_categoryList-column {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(5px, 16px, 16px);
  margin: 60px 20px 0 0;
}

.titleArea_categoryList-column a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.titleArea_categoryList-column ul {
  max-height: 200px;
}

.titleArea_categoryList-column li {
  margin: 6px 30px 8px 0;
  border-radius: 16px;
}

.titleArea-column .titleArea_textbox {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 10px;
}
.titleArea-column .section_title-l{
	padding-left: 8%
}
.titleArea-column .titleArea_categoryList-column{
	padding-left: 8%
}

@media (max-width: 1080px) {
  .titleArea-column .titleArea_textbox {
    margin: 0;
    max-width: 100%;
  }
	
.titleArea-column .section_title-l{
  padding: 0 10px;
}
.titleArea-column .titleArea_categoryList-column{
  padding: 0 10px;
}
}

.titleArea-column #titleArea_detailMainImg {
  width: 0%;
}

/*---------------------
技術コラム一覧追加スタイル 2025/05/20
----------------------*/
/* column1-1280 */
.column1-1280 {
  max-width: 1280px;
  width: 99%;
  margin: 0 auto;
}

#technology-column {
  background-color: #F9FAFB;
}

#technology-column .titleArea-s {
  background-image: url(/img/common/bg_column.jpg);
  background-position: left center;
}

#technology-column .titleArea_textbox{
	max-width: 1280px;
	width: 100%;
}

@media (max-width : 1080px) {
  #technology-column .titleArea-s {
    background-position: right center;
  }
}


#technology-column .titleArea-s h1 {
  color: #FFFFFF;
}
#technology-column .titleArea-s h1 span{
	font-size: 16px;
	display: inline-block;
	line-height: 1.6;
}

.section_content-card4 {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: top;
  text-align: left;
}

.card4 {
  width: 24%;
  background-color: #fff;
  line-height: 1.7rem;
}

.card4 a {
  padding: 10px;
  display: block;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 16%);
}

@media (max-width : 1036px) {
  .card4 {
    width: 45%;
  }
}

@media (max-width : 696px) {
  .card4 {
    max-width: 500px;
    width: 97%;
  }
}

.section_content-card4::after {
  content: "";
  display: block;
  width: 24%;
  height: 0;
}

.section_content-card4:before {
  content: "";
  display: block;
  width: 24%;
  height: 0;
  order: 1;
}

@media (max-width : 1036px) {
  .section_content-card4 {
    justify-content: space-evenly;
  }
}

.column1_img4 {
  width: 100%;
  margin: 0 auto;
}

@media (max-width : 1080px) {
  .column1_img4 {
    max-width: 500px;
    margin: 0 auto;
  }
}

.column1_img4 img {
  max-width: 100%;
  min-height: 158px;
  height: auto;
}

.card4_titleImg {
  width: 100%;
  max-height: 158px;
  object-fit: cover;
}

.card4_title {
  display: inline-block;
  color: var(--color-navy);
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 20px 0;
  text-align: left;
  min-height: 95px;
}

.card4_datetime {
  text-align: left;
  padding-bottom: 10px;
}

.card4 a:hover {
  background-color: #EAEFF3;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 16%);
  transition: 0.3s;
}

.card4 a:active {
  background-color: #EAEFF3;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 16%);
  transition: 0.3s;
}

/*無線技術コラム本文用追加20250602*/
.section_title-m.section_title_ul {
  display: block;
  letter-spacing: 0;
  background: none;
  color: #2c6cb6;
  padding: 0 0 20px;
  border-bottom: 1px solid #ccc;
}

.section_title-ss {
  font-size: 18px;
  font-weight: 700;
  display: inline-block;
  line-height: 1.75rem;
}

.box_line-t {
  border-top: 1px solid #ccc;
}
.f_box{
display: flex;
justify-content:space-between;
}
.f_wrap{
	flex-wrap: wrap;
}
.f_start{
justify-content: flex-start;
}
.f_box img{
width: 100%;
}
.f_box_2{
width: 48%
}
.f_box_3{
width: 30%;
}
.f_box_4{
width: 22%;
}
@media (max-width : 800px) {
.f_box_4{ 
    width: 45%;
  }
}
@media (max-width : 696px) {
.f_box{
display: block;
}
.f_box_2,
.f_box_3,
.f_box_4{ 
    width: 100%;
  }
}
/*対応APリスト用20250605*/
.aplist_card{
display: flex;
justify-content: space-between;
text-align:left;
align-items: center;
}
.aplist_card img{
width:100%;
}
.aplist_card_logo{
width:220px;
text-align:center;
font-weight:700;
}

.aplist_card_pic{
width:200px;
}
.aplist_card_text{
width:calc(100% - 440px);
padding:20px
}

.aplist_card_logo2{
	width:200px;
	max-width: 100%;
font-weight:700;
}

.aplist_card_text2{
	width:300px;
	max-width: 100%
}
@media (max-width : 753px) {
.aplist_card{
display: block;
text-align:center
}
.aplist_card_logo,
.aplist_card_pic,
.aplist_card_text{
width:100%;
min-height:20px;
}
.aplist_card_logo img,
.aplist_card_pic img,
.aplist_card_text img{
max-width:200px;
}
}
/*無線技術コラム用追記2025*/
.product_mainColumn blockquote {
  border-left: 4px solid #e5e5e5;
  padding: 40px 40px 0 40px;
 background-image:url(/column/img/quote.svg);
background-size:36px 36px;
background-position:top 8px left 8px;
background-repeat:no-repeat;
font-style:italic;
}
.product_mainColumn .quoteSite{
font-weight:600;
text-size:0.9;
font-style:normal;
padding-top:36px;
position:relative;
padding-left:3em;
text-indent:-3em
}
.product_mainColumn .quoteSite::before{
content:"引用："
}
.product_mainColumn blockquote .quoteSite::after{
content:"";
display:block;
position:absolute;
top:0;
left:0;
width:100%;
height:36px;
background-image:url(/column/img/quote.svg);
background-size:36px 36px;
background-position:top 8px left 8px;
background-repeat:no-repeat;
transform: rotateZ(180deg);
}

/*タイトルのみ小さめカード*/
.content-card-mini{
display:flex;
flex-wrap: wrap;
justify-content:space-between
}
.content-card-mini a{
display:flex;
border:1px solid #e5e5e5
}
.content-card-mini li{
width:48%;
margin-bottom:20px
}
.content-card-mini-img {
  width: 128px;
  height: 96px;
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-card-mini-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.content-card-mini-title {
  padding: 12px;
  min-height: 96px;
  display: flex;
  align-items: center;
  text-align: left;
 width:calc(100% - 128px)
}
@media(max-width: 1080px){
.content-card-mini{
display:block;
}
.content-card-mini li{
width:100%;
}
}
.content-flex{
display:flex;
justify-content:space-between;
flex-wrap:wrap
}
.content-flex-3col li{
width:30%
}
.text_nv{
font-weight:600;
color:var(--color-navy);
}

.text_18{
	font-size: 18px;
}

.text_link{
	text-decoration: underline;
	color: var(--color-blue-link);
	
}
a:hover .text_link{
	text-decoration: none
}

@media screen and (min-width:618px) and (max-width:838px) {
.content-flex-3col li{
width:48%
}
}

@media screen and (max-width:617px) {

.content-flex{
display:block;
}
.content-flex-3col li{
width:100%
}
}

.img16-9 {
width: 100%;             /* 横幅は可変 */
aspect-ratio: 16 / 9;     /* アスペクト比を3:1に固定 */
overflow: hidden;        /* はみ出した部分を隠す */
position: relative;
}

.img16-9 img {
width: 100%;             /* 横幅いっぱいに表示 */
height: 100%;
object-fit: cover;       /* はみ出す部分をトリミング */
object-position: center; /* 中央を基準にトリミング */
display: block;
}
.photo-nv a{
display:block;
position:relative;
aspect-ratio: 2 / 1;
overflow:hidden;
}
.photo-nv a .column1_img3 img{
aspect-ratio: 2 / 1;
overflow:hidden;
min-height:100px;
}
.photo-nv a .column1_img3_title {
position:absolute;
display:flex;
	align-items: center;
background-color:rgba(2,1,45,0.65);
top:0;
left:0;
width:100%;
aspect-ratio: 2 / 1;
margin:0;
padding:0;
}
.photo-nv a:hover{
	opacity: 1 !important;
}
.photo-nv a:hover .column1_img3_title {
background-color:rgba(2,1,45,0.9);
}

.photo-nv a .column1_img3_title span{
position:absolute;
display:block;
left:0;
width:100%;
line-height:24px;
	font-size: 24px;
color:#fff;
	letter-spacing: 2px;
}

.iframe_box {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 = 9/16 = 0.5625 → 56.25% */
  overflow: hidden;
}

.iframe_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.boLogo-box{
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
	width: 100%
}
.boLogo-text{
	width: calc(100% - 100px)
}


.bpLogo-img{
	width: 200px;
	max-width: 100%;
}

@media screen and (max-width:617px) {

.boLogo-box{
display:block;
}
.boLogo-text{
	width: 100px;
}
.boLogo-img{
text-align: center;
}
}
/*シンプル2カラム*/
.fBox2 {
  display: flex;
  justify-content: space-between; 
  align-items: top;            
  gap: 2rem;                      
}

.fBox2 .fBlock {
  flex: 1 1 48%; 
	min-width: 0;
	max-width: 48%;  
}

@media (max-width: 617px) {
  .fBox2 {
    flex-direction: column;
  }
  .fBox2 .fBlock {
    flex: 1 1 100%;
  }
}
.stTable{
	border: 1px solid #ccc;
	width:100%;
  table-layout: fixed;
}
.stTable th{
	border-bottom: 1px solid #ccc;
	padding: 10px 20px;
	background-color: #f2f3f7;
	color: var(--color-navy);
	font-weight: 600;
	max-width: 200px;
	text-align: center;
}

.stTable td{
	border-bottom: 1px solid #ccc;
	padding: 10px 20px;
	background: #fff;
	text-align: center;
	
}.table-responsive {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* iOSの慣性スクロール */
  cursor: grab;               /* PCドラッグ時の見た目 */
  user-select: none;          /* ドラッグ中の選択事故防止 */
}

/* PCでは通常テーブル */
.authTable th:nth-child(-n+3),
.authTable td:nth-child(-n+3) {
  width: 90px;       /* 適宜調整（100〜140px） */
  min-width: 80px;
}
.authTable {
  width: 100%;
	min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
}
.authTable th, .table td {
  padding: .6rem .8rem;
  text-align: left;
}
.authTable th:nth-child(n+4):nth-child(-n+9),
.authTable td:nth-child(n+4):nth-child(-n+9) {
  width: 62px;        /* 調整してOK（60〜90pxあたり） */
  min-width: 60px;
  text-align: center; /* 数字や○×なので中央寄せ推奨 */
  word-break: break-word; 
}
.authTable th {
  white-space: normal;   /* 折り返し許可 */
  line-height: 1.3;
}

.pickupImg {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}

.pickupImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/*コンサルページ用追加*/
.numBox {
  counter-reset: idx 0; 
  margin: 0;
  padding: 0;
}

.numBox > li { 
  counter-increment: idx; 
  margin: 0 0 16px;
	padding: 24px;
	position: relative;
	background-color: var(--color-light-blue2);
	z-index: 0;
}

.numBox > li::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:0; height:0;
  border-top: 92px solid var(--color-light-accent);
  border-right: 92px solid transparent;
	z-index: -1;
}
/* 数字は h3 の擬似要素にだけ表示 */
.numBox > li > h3 {
  display: grid;                     /* 数字とタイトルを横並びにする例 */
  grid-template-columns: 5ch 1fr; 
  gap: 12px;
  align-items: top;
padding: 0
}
.numBox > li > h3::before {
  content: counter(idx, decimal-leading-zero); 
  color: var(--color-dark-gray); 
  line-height: 1;
font-size: 44px;
font-family: "Oswald";
font-style: italic;
}
/* チェックボックスは h3 の擬似要素にだけ表示 */


.checkList > li{
	margin-bottom: 20px;
}
.checkList > li > h3{
position: relative;
padding: 16px 24px 16px 96px;
background: #fff;
border: 1px solid var(--color-light-accent);
	min-height: 76px;
	overflow: hidden;
}
.checkList > li > h3::before{
	content: '';
	display: block;
	position: absolute;
	width: 76px;
	min-height: 76px;
	top: 0;
	left: 0;
	background-color: var(--color-light-accent);
	background-image: url(/product/img/icon_check.svg);
	background-size: contain;
	background-repeat: no-repeat;	
}