@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*共通*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
.l-footer__foot {
  background: #f5f5f5; }

.ps_ss {
  width: 100%; }

/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*TOPPAGE*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
.l-header__menuBtn.sp_ {
  display: none; }

body .top #content {
  padding: 0 20px; }
  body .top #content #mainvisual {
    text-align: center;
    position: relative;
    line-height: 0;
    margin-bottom: 0;
    margin-left: -20px;
    width: calc(100% + 40px); }
    body .top #content #mainvisual img {
      max-height: 440px;
      width: auto; }
    body .top #content #mainvisual::before {
      left: 0;
      top: 0;
      z-index: -1;
      position: absolute;
      width: 100vw;
      height: 100%;
      content: "";
      display: block;
      background-color: #fbfcfd;
      transform: translateX(min(calc(454px - 50vw), 0px));
      background-image: url(https://www.biglobe-hikari.net/media/wp-content/uploads/2026/07/left.png), url(https://www.biglobe-hikari.net/media/wp-content/uploads/2026/07/right.png);
      background-size: auto;
      background-position: top left,top right;
      background-repeat: no-repeat; }
      @media screen and (max-width: 1019px) {
        body .top #content #mainvisual::before {
          background-color: white;
          background-size: 25vw auto,25vw auto;
          opacity: .5; } }
  body .top #content .main-search {
    background: #e6f6fd;
    padding: 1rem 0; }
    body .top #content .main-search button.u-bg-main,
    body .top #content .main-search .c-searchForm__submit::before {
      background: #0cb1ff !important;
      border-radius: 0 5px 5px 0; }
    body .top #content .main-search input {
      border: 1px solid #dbebf9;
      border-radius: 5px; }
  body .top #content .top_h2 {
    margin-top: 0;
    border: none;
    text-align: center;
    background: none;
    position: relative;
    display: flex;
    justify-content: center; }
    body .top #content .top_h2::after {
      width: 30px;
      height: 3px;
      background: #0cb1ff;
      display: block;
      position: absolute;
      bottom: 0px;
      content: ""; }

/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*投稿*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  /*	border-left: solid 8px #1eb7ff;
  	padding: .75em 1em;
  	background: rgba(15, 225, 252, 0.03 );*/ }

.c-categoryList {
  color: #0064ff; }

.c-categoryList__link {
  background: #0064ff; }

.p-toc__list.is-style-index li::before {
  color: #0064ff; }

.swell-block-faq__item {
  margin-top: 0 !important;
  border-top: 3px solid #f3f3f3; }
  .swell-block-faq__item .faq_q {
    border-bottom: 2px dashed #f3f3f3; }
  .swell-block-faq__item .faq_q::before {
    color: white;
    background: var(--color_faq_q);
    border-radius: 50%; }
  .swell-block-faq__item .faq_a::before {
    color: white;
    background: var(--color_faq_a);
    border-radius: 50%; }

.swell-block-faq__item:not(:has(+ .swell-block-faq__item)) {
  border-bottom: 2px solid #f5f5f5; }

.swell-block-accordion {
  position: relative; }
  .swell-block-accordion::before {
    content: "▼クリックで詳細が表示されます";
    color: #0064ff;
    font-weight: 700;
    font-size: 90%;
    padding: 10px 10px 0 24px;
    position: absolute;
    top: -50px;
    background-image: url(/wp-content/uploads/2020/04/speechbubble.png);
    width: 245px;
    height: 48px;
    white-space: nowrap;
    background-repeat: no-repeat; }
  .swell-block-accordion .swell-block-accordion__item.is-opened .swell-block-accordion__title::after {
    content: '\f146'; }
  .swell-block-accordion .swell-block-accordion__title {
    background: white;
    position: relative;
    padding: 13px 13px 13px 14px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 2px;
    border: solid #0064ff;
    border-width: 1px 1px 1px 10px;
    margin-top: 50px; }
    .swell-block-accordion .swell-block-accordion__title::after {
      font-display: swap;
      font-family: FontAwesome;
      content: '\f0fe';
      font-weight: 900;
      color: #0064ff;
      position: absolute;
      right: 14px;
      top: 17px;
      top: calc(50% - 7.5px);
      line-height: 15px;
      font-size: 23px; }
  .swell-block-accordion .swell-block-accordion__icon {
    display: none; }

.single .c-tabBody {
  padding: 30px 20px;
  border-radius: 5px;
  border: 1px solid #12749c; }

/*.single{
	.swell-block-tab .c-tabList{
		transform: translateY(2px);
		z-index: 2;
		.c-tabList__item{
			margin-bottom: 0;
		}
		button.c-tabList__button{
			border-radius: 5px 5px 0 0;
			//font-size: 115%;
			color: $link;
			//padding: 15px 30px;
			background: none;
			box-shadow: none;
			&::after,&::before{
				display: none !important;
			}
			&:hover{
				color: $link;
			}
			&[aria-selected="true"]{
				color: $link;
				border-style: solid;
				border-color: $light;
				border-width: 1px 1px 0 1px; 
				background: $white !important;
			}
		}
	}
	.c-tabBody{
		z-index: 1;
		padding: 30px 20px;
		background: $white;
		border-radius: 5px;
		border: 1px solid $light;
	}
}*/
/***********************************************************/
/*著者*/
/***********************************************************/
.p-authorBox__r {
  display: flex;
  justify-content: center;
  text-align: left; }

.p-authorBox__l .avatar {
  padding: 5px; }

/***********************************************************/
/*カスタムブロックの口コミ★★★★★*/
/***********************************************************/
.kuchikomi {
  display: grid;
  background-color: #f9fcff;
  grid-template-columns: 120px auto;
  row-template-columns: 110px auto;
  padding: 20px 20px 25px 15px;
  border-radius: 10px;
  /*みんなの回線口コミ*/ }
  @media screen and (max-width: 599px) {
    .kuchikomi {
      padding: 18px 12px 18px 12px;
      grid-template-columns: 75px auto;
      row-template-columns: 75px auto; } }
  .kuchikomi .img {
    border: 1px solid #ececec;
    box-sizing: content-box;
    background: #fff;
    grid-column: 1/2;
    grid-row: 1/2;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    position: relative;
    overflow: hidden;
    transform: translateX(13px); }
    .kuchikomi .img > img {
      position: absolute;
      width: 72px;
      height: 72px;
      bottom: 0;
      left: 4px; }
  @media screen and (max-width: 599px) {
    .kuchikomi .img {
      width: 60px;
      height: 60px;
      transform: translateX(0px); }
      .kuchikomi .img > img {
        width: 54px;
        height: 54px; } }
  .kuchikomi .profile {
    grid-column: 1/2;
    grid-row: 1/2;
    font-size: 12px;
    text-align: center;
    width: 110px;
    padding-top: 96px;
    font-weight: 700; }
    @media screen and (max-width: 599px) {
      .kuchikomi .profile {
        width: 100%;
        font-size: 2.8vw !important;
        padding-top: 11vw;
        padding-left: 0px;
        font-size: 10px;
        grid-column: 2/3;
        grid-row: 1/2;
        white-space: nowrap;
        text-align: left; }
        .kuchikomi .profile br {
          display: none; } }
  .kuchikomi .comment {
    grid-column: 2/3;
    grid-row: 1/3;
    padding-top: 33px;
    padding-left: 0px;
    margin-bottom: 0em; }
    @media screen and (max-width: 599px) {
      .kuchikomi .comment {
        padding-top: 17vw;
        padding-left: 0; } }
  .kuchikomi .rating-icons {
    grid-column: 2/3;
    grid-row: 1/3;
    color: #E97132; }
    @media screen and (max-width: 599px) {
      .kuchikomi .rating-icons {
        font-size: 145%; } }
  .kuchikomi:has(+ .kuchikomi) {
    margin-bottom: 0;
    position: relative;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
    .kuchikomi:has(+ .kuchikomi)::after {
      content: "";
      width: calc(100% - 30px);
      left: 15px;
      bottom: 0;
      display: block;
      position: absolute;
      border-bottom: 1px solid #ecece3; }
    .kuchikomi:has(+ .kuchikomi) + .kuchikomi {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
  .kuchikomi.minkuchi .rating-icons.overall {
    color: #333;
    font-weight: 700;
    margin-bottom: 1.25em;
    font-size: 125%; }
    @media screen and (max-width: 599px) {
      .kuchikomi.minkuchi .rating-icons.overall {
        font-size: 100%; } }
    .kuchikomi.minkuchi .rating-icons.overall .rating-icons {
      margin-left: .5em; }
      .kuchikomi.minkuchi .rating-icons.overall .rating-icons i {
        margin-left: 2px; }
        @media screen and (max-width: 599px) {
          .kuchikomi.minkuchi .rating-icons.overall .rating-icons i {
            font-size: 90%; } }
  .kuchikomi.minkuchi .comment {
    padding-top: .75em;
    margin-top: 50px;
    border-top: 1px dashed #e1e1e1; }
    @media screen and (max-width: 599px) {
      .kuchikomi.minkuchi .comment {
        margin-top: 20vw; } }
    .kuchikomi.minkuchi .comment .rating-icons {
      font-size: 12px !important;
      transform: translate(6px, -1px);
      display: inline-block; }
    .kuchikomi.minkuchi .comment .review_title {
      font-weight: 700;
      /*&.battery_performance_review::before{content: "\e904";}
      &.campaign_review::before{content: "\e9da";}
      &.contractual_flexibility_review::before{content: "\e92d";}
      &.customer_support_review::before{content: "\e942";}
      &.data_quota_review::before{content: "\e904";}
      &.initial_setup_review::before{content: "\e904";}
      &.network_stability_review::before{content: "\e904";}
      &.opening_procedure_review::before{content: "\e904";}
      &.price_review::before{content: "\e904";}
      &.signal_connectivity_review::before{content: "\e904";}
      &.speed_review::before{content: "\e904";}
      &.usage_cautions_review::before{content: "\e904";}*/ }
      .kuchikomi.minkuchi .comment .review_title::before {
        font-family: icomoon !important;
        content: "\e93b"; }
    .kuchikomi.minkuchi .comment .kuchikomi_text {
      border-bottom: 1px dashed #e1e1e1;
      padding-bottom: .75em;
      margin-bottom: .75em; }
      @media screen and (max-width: 599px) {
        .kuchikomi.minkuchi .comment .kuchikomi_text {
          padding-left: 0; } }
      .kuchikomi.minkuchi .comment .kuchikomi_text.intendedUses {
        font-weight: 400;
        font-size: 75%;
        border-bottom: none;
        padding-top: .5em;
        padding-bottom: 0;
        margin-bottom: 0; }
  .kuchikomi.minkuchi.single .comment {
    border: none;
    margin-top: 0;
    padding-top: 33px; }
    @media screen and (max-width: 599px) {
      .kuchikomi.minkuchi.single .comment {
        padding-top: 17vw; } }
  .kuchikomi.minkuchi.single .rating-icons.overall {
    font-size: 100%;
    margin-left: 0 !important; }
    @media screen and (max-width: 599px) {
      .kuchikomi.minkuchi.single .rating-icons.overall {
        font-size: 80%; } }
    .kuchikomi.minkuchi.single .rating-icons.overall .rating-icons {
      margin-left: 0 !important; }
      .kuchikomi.minkuchi.single .rating-icons.overall .rating-icons i {
        margin-left: 0 !important; }
  .kuchikomi.minkuchi.single .kuchikomi_text {
    border: none;
    border-top: none;
    font-weight: 500;
    margin-bottom: 0;
    padding-bottom: 0; }

.kuchikomi.minkuchi:not(:has(.overall)) .comment {
  padding-top: 0 !important;
  border-top: none !important;
  margin-top: 0px !important; }
@media screen and (max-width: 599px) {
  .kuchikomi.minkuchi:not(:has(.overall)) .comment {
    padding-top: 6.5vw !important;
    padding-left: 0em; }
  .kuchikomi.minkuchi:not(:has(.overall)) .profile {
    padding-top: 0; } }

.kuchikomi .rating-icons:not(:has(.fa-solid.fa-star)) {
  display: none !important; }
  .kuchikomi .rating-icons:not(:has(.fa-solid.fa-star)) + .comment {
    padding-top: 2px !important; }
    @media screen and (max-width: 599px) {
      .kuchikomi .rating-icons:not(:has(.fa-solid.fa-star)) + .comment {
        padding-top: 6vw !important; } }
    @media screen and (max-width: 599px) {
      .kuchikomi .rating-icons:not(:has(.fa-solid.fa-star)) + .comment + .profile {
        padding-top: 0 !important; } }

.kuchikomi.nostar .comment {
  border-top: none;
  margin-top: 0;
  padding-top: 0; }
@media screen and (max-width: 599px) {
  .kuchikomi.nostar .profile {
    padding-top: 0 !important; } }

/***********************************************************/
/*追従バナー*/
/***********************************************************/
#follow_bnr {
  position: fixed;
  display: flex;
  align-items: center;
  flex-direction: column;
  z-index: 101;
  transition: .3s ease; }
  @media screen and (min-width: 1501px) {
    #follow_bnr {
      top: 430px;
      right: calc((100% - clamp(1px, 90%, 1130px))/2);
      width: calc(clamp(1px, 90%, 1360px) * 0.25);
      transform: translateX(clamp(44px, 3vw, 54px)); } }
  @media screen and (max-width: 1500px) {
    #follow_bnr {
      width: 70%;
      max-width: 800px;
      right: 50%;
      transform: translateX(50%); } }
  @media screen and (min-width: 1200px) and (max-width: 1500px) {
    #follow_bnr {
      width: clamp(100px, 60%, 868px);
      bottom: -7px; } }
  @media screen and (max-width: 1199px) {
    #follow_bnr {
      max-width: 800px;
      bottom: -7px; } }
  @media screen and (max-width: 640px) {
    #follow_bnr {
      margin: 0 auto 33px;
      width: 100%; } }

a.follow-bnr {
  position: relative; }
  @media screen and (min-width: 1501px) {
    a.follow-bnr {
      width: clamp(100px, 16vw, 250px);
      height: clamp(83px, 13.3vw, 208px);
      display: flex;
      align-items: flex-end;
      cursor: pointer; } }

picture.follow-bnr-img {
  display: flex; }

.follow-bnr label.close-btn {
  position: absolute;
  width: 20px;
  height: 20px;
  font-size: 16px;
  line-height: 1;
  display: flex;
  background: #777;
  opacity: .85;
  align-items: center;
  justify-content: center;
  color: #fff;
  top: -20px;
  right: 0;
  border-radius: 3px 3px 0 0;
  cursor: pointer; }
  @media screen and (max-width: 1500px) {
    .follow-bnr label.close-btn {
      top: -20px;
      right: 0; } }

@media screen and (min-width: 1501px) {
  a.bnr-contact-link.min1501 {
    font-size: 13px;
    color: #9f9b92;
    text-align: center;
    text-decoration: none;
    cursor: pointer; } }
@media screen and (max-width: 1500px) {
  a.bnr-contact-link.min1501 {
    display: none; } }

@media screen and (max-width: 1500px) {
  #body_wrap:has(#follow_bnr) .l-footer {
    padding-bottom: clamp(60px, 15vw, 150px) !important; } }

@media screen and (max-width: 1500px) {
  #body_wrap:has(.follow-bnr) .p-fixBtnWrap {
    bottom: clamp(50px, 27vw, 115px); } }

@media screen and (max-width: 1199px) {
  #body_wrap:has(#bnr-close:checked) .p-fixBtnWrap {
    bottom: 32px; } }

.follow-bnr .checkbox {
  display: none; }

#follow_bnr:has(#bnr-close:checked) {
  display: none; }

@media screen and (min-width: 1501px) {
  #body_wrap:has(#follow_bnr) aside#sidebar {
    transition: .3s ease;
    display: none !important; }
    #body_wrap:has(#follow_bnr) aside#sidebar.view {
      display: block !important; }
    #body_wrap:has(#follow_bnr) aside#sidebar.none {
      display: none !important; }
    #body_wrap:has(#follow_bnr) aside#sidebar .w-fixSide {
      transition: .3s ease;
      top: calc(68px + clamp(83px, 13.3vw, 208px) + 4em);
      max-height: initial; }
    #body_wrap:has(#follow_bnr) aside#sidebar .p-toc {
      height: calc(100vh - (68px + clamp(83px, 13.3vw, 208px) + 12em)); }

  #body_wrap:has(#bnr-close:checked) aside#sidebar {
    display: block !important; }
    #body_wrap:has(#bnr-close:checked) aside#sidebar.none {
      display: none !important; }
  #body_wrap:has(#bnr-close:checked) .p-toc {
    margin: 0 auto !important;
    height: calc(100vh - 68px - 10em) !important; }
  #body_wrap:has(#bnr-close:checked) .w-fixSide {
    top: calc(68px + 2em) !important;
    max-height: initial; }
  #body_wrap:has(#bnr-close:checked).view .w-fixSide {
    top: calc(68px + 2em) !important; }
  #body_wrap:has(#bnr-close:checked).none {
    display: none !important; }

  #follow_bnr.bnr-top, #follow_bnr.bottom {
    top: 85px; } }
@media screen and (max-width: 1500px) {
  #follow_bnr:has(.tb-width320), #follow_bnr:has(.tb-width-s) {
    width: 100%; } }
@media screen and (max-width: 1500px) {
  .follow-bnr.tb-width320, .follow-bnr.tb-width-s {
    width: fit-content !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto; } }
@media screen and (max-width: 320px) {
  .follow-bnr.tb-width320, .follow-bnr.tb-width-s {
    width: 100% !important;
    min-width: initial; } }

/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*LP2より*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
.header, footer {
  display: block; }

.logo-box {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center; }
  .logo-box p {
    font-size: 12px;
    text-align: left; }

.header-blue {
  display: flex;
  padding: 8px;
  align-items: center;
  justify-content: center;
  background-color: #0871ff; }
  .header-blue .flex {
    display: flex;
    justify-content: center;
    align-items: center; }

.header-btn {
  margin-left: 70px; }

.header-white {
  padding: 15px;
  border-bottom: 1px solid #eeeeee;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 2px 2px 5px #80808052; }
  @media screen and (max-width: 768px) {
    .header-white {
      padding: 10px; } }
  .header-white .flex {
    display: flex;
    justify-content: space-between;
    height: 100%;
    align-items: center; }
  .header-white .w1000.flex {
    max-width: 1000px;
    width: 100%; }
  .header-white span {
    margin: 0 7% 0 2%;
    letter-spacing: 0.01em;
    text-align: left;
    line-height: 1.4; }

@media screen and (max-width: 768px) {
  .logo-box, .logo-box p {
    text-align: center; }

  .header-tel {
    margin-right: 10px; }

  .header-bnr {
    width: 70%;
    margin: 0 5px; }

  .header-btn {
    margin-left: 10px; }

  .header-btn {
    margin-left: 10px;
    padding: 2px 0;
    background-color: #fdfdfd;
    border-radius: 30px; }

  .header-blue .flex {
    display: none; }

  a.button.top-btn {
    display: none; }

  .header-tel {
    display: none; }

  .header-white .w1000.flex {
    flex-direction: column;
    width: 100%; }

  .header-white span {
    margin: auto; }

  img.logo {
    margin: auto;
    width: 80%; } }
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #6cc5d9;
  color: #fdfdfd;
  width: 100%;
  font-size: 14px; }
  footer .zeikomi {
    margin: 1em; }

.footer {
  margin: 60px 0 80px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px; }
  @media screen and (max-width: 599px) {
    .footer {
      margin: 30px 0 40px; } }
  .footer a {
    text-align: center;
    color: #fdfdfd;
    letter-spacing: 0.1em;
    font-size: 20px;
    white-space: nowrap; }
    @media screen and (max-width: 599px) {
      .footer a {
        font-size: 16px; } }

#privacy_mark {
  background: initial;
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  align-items: center;
  font-size: 14px; }
  #privacy_mark > * {
    transition: .3s; }
  #privacy_mark br {
    display: none; }
  @media screen and (min-width: 1340px) {
    #privacy_mark {
      margin-bottom: 20px;
      margin-top: 20px; }
      #privacy_mark br {
        display: block; } }
  @media screen and (max-width: 1339px) {
    #privacy_mark {
      margin: 20px 0 30px; } }
  @media screen and (max-width: 599px) {
    #privacy_mark {
      flex-direction: column; } }
  #privacy_mark #privacy_img {
    height: 101px;
    width: 101px;
    padding: 17px;
    background-color: white;
    border-radius: 50%; }
    #privacy_mark #privacy_img img {
      width: 67px;
      height: 67px; }
    @media screen and (max-width: 599px) {
      #privacy_mark #privacy_img {
        margin-bottom: 10px; } }
  #privacy_mark #privacy_text {
    text-align: left; }
    @media screen and (min-width: 600px) {
      #privacy_mark #privacy_text {
        width: calc(100% - 120px);
        margin-left: 20px; } }
