@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
*/

/* =========================================================
   MUGEN WiFi 記事パーツCSS ｜ 案A「クリア・ブルー」
   SWELL子テーマ → カスタマイズ →「追加CSS」に貼り付け
   テーブルは記事本文(.post_content)内のみに適用
   ※CSS変数(--kw-*)はクラス名ではないため、そのまま使用しています
   ========================================================= */
:root{
  --kw-main:#1f8fd6; --kw-main-d:#127ac0; --kw-navy:#0e3a5c;
  --kw-line:#d3e5f1; --kw-soft:#f6fafd;
  --kw-merit:#1aa17a; --kw-merit-bg:#ecf8f4; --kw-merit-line:#bde6d8;
  --kw-demerit:#e25141; --kw-demerit-bg:#fdf0ee; --kw-demerit-line:#f3c9c3;
  --kw-action:#ff8a00; --kw-action-d:#f57600; --kw-radius:0;
}

/* 1. タイトル付きチェックリスト */
.checklist{ background:#fff; border:1px solid var(--kw-line); border-radius:var(--kw-radius);
  box-shadow:0 6px 18px rgba(14,58,92,.06); padding:0 0 20px; margin:32px 0; overflow:hidden; }
.checklist__title{ font-size:1.18em; font-weight:700; color:#fff; line-height:1.5; margin:0 0 16px;
  padding:15px 20px; background:linear-gradient(135deg,var(--kw-main),var(--kw-navy)); }
.checklist ul{ list-style:none; margin:0; padding:0 22px; }
.checklist li{ position:relative; padding:10px 0 10px 30px; line-height:1.7; border-bottom:1px dashed var(--kw-line); }
.checklist li:last-child{ border-bottom:0; }
.checklist li::before{ content:""; position:absolute; left:2px; top:13px; width:17px; height:17px; border-radius:50%;
  background:var(--kw-main) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat; }

/* 2-3. メリット・デメリットの枠 */
.review-box{ border-radius:var(--kw-radius); padding:18px 20px 8px; margin:28px 0; border:1px solid transparent; }
.review-box__title{ display:flex; align-items:center; gap:8px; font-size:1.1em; font-weight:700; margin:0 0 10px; }
.review-box ul{ margin:0; padding-left:1.3em; }
.review-box li{ padding:5px 0; line-height:1.75; }
.review-box--merit{ background:var(--kw-merit-bg); border-color:var(--kw-merit-line); }
.review-box--merit .review-box__title{ color:var(--kw-merit); }
.review-box--merit li::marker{ color:var(--kw-merit); }
.review-box--demerit{ background:var(--kw-demerit-bg); border-color:var(--kw-demerit-line); }
.review-box--demerit .review-box__title{ color:var(--kw-demerit); }
.review-box--demerit li::marker{ color:var(--kw-demerit); }

/* 4-5. テーブル（th は自動で白文字） */
.post_content table{ width:100%; border-collapse:separate; border-spacing:0; margin:26px 0; font-size:.8em;
  background:#fff; border:1px solid var(--kw-line); border-radius:var(--kw-radius); overflow:hidden; }
.post_content th,.post_content td{ padding:13px 15px; line-height:1.6; text-align:left; vertical-align:middle;
  border-bottom:1px solid var(--kw-line); border-right:1px solid var(--kw-line); }
.post_content th:last-child,.post_content td:last-child{ border-right:0; }
.post_content tr:last-child th,.post_content tr:last-child td{ border-bottom:0; }
.post_content th{ background:var(--kw-navy); color:#fff; font-weight:600; }
.table-scroll th{ white-space:nowrap; }
.post_content tr:nth-child(even) td{ background:var(--kw-soft); }
.post_content td a{ color:var(--kw-main-d); font-weight:700; }

/* 6. 横スクロール */
.table-scroll{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:26px 0; }
.table-scroll table{ margin:0; min-width:560px; }
@media(max-width:600px){
  .table-scroll{ position:relative; }
  .table-scroll::before{ content:"← 横にスクロールできます →"; display:block; text-align:center;
    font-size:12px; font-weight:700; color:var(--kw-main); background:rgba(31,143,214,.08);
    padding:6px; margin-bottom:8px; }
}

/* 7. 誘導ボタン（アクションオレンジ／CTA） */
.cta-button{ text-align:center; margin:30px 0; }
.cta-button a{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-width:min(600px,100%); padding:16px 28px; font-size:1.05em; font-weight:700;
  color:#fff !important; text-decoration:none; border-radius:999px;
  background:linear-gradient(135deg,var(--kw-action),var(--kw-action-d));
  box-shadow:0 8px 18px rgba(255,138,0,.35); transition:transform .15s,box-shadow .15s,filter .15s; }
.cta-button a::after{ content:""; width:17px; height:17px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center/contain no-repeat; }
.cta-button a:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(255,138,0,.45); filter:brightness(1.04); }
.cta-button a:active{ transform:translateY(0); }

/* =========================================================================
   MUGEN WiFi 風 ヘッダー / フッター / 追従ボタン / 料金シミュレーションポップアップ
   SWELL 子テーマ用 追加CSS
   - すべて .mugen-wrap 配下にスコープ（SWELL本体・記事本文に影響させない）
   - rem は html を触らず、.mugen-wrap の --mg を基準にした calc() で再現（方針B）
   - 画像/フォントは https://mugen-wifi.com/assets/... を絶対URLで参照
   ========================================================================= */

/* --- rem の基準（元サイト html{font-size} 相当を .mugen-wrap 内だけで再現） --- */
/* font-feature-settings:"palt" は本家 html の指定を .mugen-wrap 内で再現（約物等の字詰め＝折り返し位置を本家に合わせる） */
.mugen-wrap { --mg: 0.694444444vw; font-feature-settings: "palt"; }
@media only screen and (max-width: 768px) {
  .mugen-wrap { --mg: 2.56vw; }
}

/* --- スコープ内リセット（元サイトの reset.css 相当を最小限で代替） --- */
.mugen-wrap *,
.mugen-wrap *::before,
.mugen-wrap *::after { margin: 0; padding: 0; box-sizing: border-box; }
.mugen-wrap ul,
.mugen-wrap ol { list-style: none; }
.mugen-wrap a { color: inherit; text-decoration: none; }
.mugen-wrap img { border: 0; vertical-align: bottom; max-width: 100%; }
.mugen-wrap button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

/* --- 固定ヘッダー分だけ本文を押し下げる（ヘッダーは position:fixed のため） --- */
/* PC: コールセンター3rem + ヘッダー本体5.4rem = 8.4rem 相当 */
body { padding-top: 5.8333vw; }
/* SP: コールセンター4.5rem + ヘッダー本体5.4rem = 9.9rem 相当 */
@media only screen and (max-width: 768px) {
  body { padding-top: 25.344vw; }
}

/* --- ログイン中の WP 管理バー(上部)とヘッダーの重なり回避 --- */
.admin-bar .mugen-wrap header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .mugen-wrap header { top: 46px; }
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://mugen-wifi.com/assets/font/NotoSansJP-Regular.woff2") format("woff2"), url("https://mugen-wifi.com/assets/font/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://mugen-wifi.com/assets/font/NotoSansJP-Bold.woff2") format("woff2"), url("https://mugen-wifi.com/assets/font/NotoSansJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("https://mugen-wifi.com/assets/font/NotoSansJP-Black.woff2") format("woff2"), url("https://mugen-wifi.com/assets/font/NotoSansJP-Black.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://mugen-wifi.com/assets/font/OpenSans-Bold.woff2") format("woff2"), url("https://mugen-wifi.com/assets/font/OpenSans-Bold.woff") format("woff");
}
@media only screen and (max-width: 768px) {

}
.mugen-wrap {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #222;
  line-height: 1.6;
  counter-reset: benefit_number;
}
.mugen-wrap picture {
  display: block;
}
.mugen-wrap img, .mugen-wrap source {
  width: 100%;
  height: auto;
}
.mugen-wrap .pc-only {
  display: block;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .pc-only {
    display: none;
  }
}
.mugen-wrap .sp-only {
  display: none;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .sp-only {
    display: block;
  }
}
.mugen-wrap .bold {
  font-weight: 700;
}
.mugen-wrap .open-sans {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}
.mugen-wrap .blue {
  color: #0056CC;
}
.mugen-wrap .d-blue {
  color: #002F6F;
}
.mugen-wrap .orange {
  color: #FF9B14;
}
.mugen-wrap .yellow {
  color: #FFF717;
}
.mugen-wrap .pc_flex {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .pc_flex {
    flex-direction: column;
  }
}
.mugen-wrap .cv_wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(1 * var(--mg));
}
.mugen-wrap .cv_wrap .sub {
  display: inline-block;
  font-weight: bold;
  font-size: calc(2 * var(--mg));
  position: relative;
}
.mugen-wrap .cv_wrap .sub .note-mark {
  font-size: calc(0.8 * var(--mg));
  font-weight: normal;
}
.mugen-wrap .cv_wrap .sub::before, .mugen-wrap .cv_wrap .sub::after {
  content: "";
  display: block;
  background: #222;
  width: calc(0.1 * var(--mg));
  height: calc(2.2 * var(--mg));
  position: absolute;
  left: calc(-1.2 * var(--mg));
  top: 50%;
  transform: translateY(-50%) rotate(-25deg);
}
.mugen-wrap .cv_wrap .sub::after {
  left: auto;
  right: calc(-1.2 * var(--mg));
  transform: translateY(-50%) scale(-1, 1) rotate(-25deg);
}
.mugen-wrap .cv_wrap .cv-btn {
  margin: 0 auto;
  display: inline-block;
  width: calc(42.5 * var(--mg));
  height: calc(7 * var(--mg));
  background: #FFF717;
  border: calc(0.2 * var(--mg)) solid #A8A300;
  border-radius: calc(999 * var(--mg));
  position: relative;
  box-shadow: 0 calc(0.4 * var(--mg)) 0 #C0B900;
  text-align: center;
  position: relative;
  top: 0;
  transition: all 0.3s ease;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .cv_wrap .cv-btn {
    width: calc(33 * var(--mg));
    height: calc(5.8 * var(--mg));
    border: calc(0.1 * var(--mg)) solid #A8A300;
  }
}
.mugen-wrap .cv_wrap .cv-btn::before {
  content: "";
  width: 94.5%;
  height: 50%;
  border-radius: calc(999 * var(--mg));
  background: linear-gradient(to bottom, rgba(255, 254, 219, 0.8) 0%, rgba(255, 254, 219, 0.5) 80%, rgba(255, 254, 219, 0) 100%);
  position: absolute;
  top: calc(0.2 * var(--mg));
  left: 50%;
  transform: translateX(-50%);
}
.mugen-wrap .cv_wrap .cv-btn::after {
  content: "";
  position: absolute;
  top: calc(-20 * var(--mg));
  left: calc(-20 * var(--mg));
  width: calc(10 * var(--mg));
  height: calc(10 * var(--mg));
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgb(255, 255, 255) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: mugen-shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.mugen-wrap .cv_wrap .cv-btn p {
  display: inline-block;
  font-size: calc(2.4 * var(--mg));
  font-weight: bold;
  color: #222;
  position: relative;
  filter: drop-shadow(calc(0.1 * var(--mg)) calc(0.1 * var(--mg)) calc(0.2 * var(--mg)) rgba(218, 210, 0, 0.4));
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .cv_wrap .cv-btn p {
    font-size: calc(1.8 * var(--mg));
    white-space: nowrap;
    text-align: center;
  }
}
.mugen-wrap .cv_wrap .cv-btn p::after {
  content: "";
  width: calc(1.2 * var(--mg));
  height: calc(1.2 * var(--mg));
  border-right: calc(0.25 * var(--mg)) solid #222;
  border-bottom: calc(0.25 * var(--mg)) solid #222;
  position: absolute;
  top: 50%;
  right: calc(-8 * var(--mg));
  transform: rotate(-45deg) translateY(-50%);
}
@media only screen and (max-width: 768px) {
.mugen-wrap .cv_wrap .cv-btn p::after {
    width: calc(0.8 * var(--mg));
    height: calc(0.8 * var(--mg));
    border-right: calc(0.25 * var(--mg)) solid #222;
    border-bottom: calc(0.25 * var(--mg)) solid #222;
    top: 50%;
    right: calc(-5.6 * var(--mg));
  }
}
.mugen-wrap .cv_wrap .cv-btn:hover {
  transform: translateY(calc(0.3 * var(--mg)));
  box-shadow: 0 calc(0.1 * var(--mg)) 0 #C0B900;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .cv_wrap .cv-btn:hover {
    transform: translateY(calc(0.3 * var(--mg)));
    box-shadow: 0 calc(0.1 * var(--mg)) 0 #C0B900;
  }
}
@keyframes mugen-shiny {
  0% {
    transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  50% {
    transform: scale(1) rotate(25deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}
.mugen-wrap .to_other_page {
  text-align: center;
}
.mugen-wrap .to_other_page a {
  margin: 0 auto;
  display: inline-block;
  position: relative;
  background: #002F6F;
  border-radius: calc(40 * var(--mg));
  border: solid 1px #fff;
  color: #fff;
  box-shadow: 0 calc(0.4 * var(--mg)) 0 #00132D;
  width: calc(42.5 * var(--mg));
  height: calc(7 * var(--mg));
  font-size: calc(2 * var(--mg));
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .to_other_page a {
    width: calc(33 * var(--mg));
    height: calc(5.8 * var(--mg));
    font-size: calc(1.6 * var(--mg));
  }
}
.mugen-wrap .to_other_page a::after {
  position: absolute;
  content: "";
  width: 1em;
  height: 1em;
  top: 50%;
  right: 1.2em;
  transform: translateY(-50%);
  background: url(https://mugen-wifi.com/assets/img/right_arrow.svg) no-repeat center/contain;
  transition: all 0.6s;
}
.mugen-wrap .to_other_page a:hover {
  transform: translateY(3px);
  box-shadow: 0 2px 0 #002F6F;
}
.mugen-wrap .to_other_page.back a::after {
  right: auto;
  left: 1.2em;
  transform: translateY(-50%) rotate(180deg);
}
.mugen-wrap .to_other_page.back a:hover::after {
  left: 0.9em;
}
.mugen-wrap header {
  background: #fff;
  box-shadow: 0 0 calc(0.8 * var(--mg)) rgba(34, 34, 34, 0.1);
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.mugen-wrap header #news_wrap {
  overflow: hidden;
  height: calc(2.5 * var(--mg));
  background: #ededed;
  line-height: calc(2.5 * var(--mg));
}
.mugen-wrap header #news_wrap .news_inner {
  display: flex;
  animation: none;
  justify-content: center;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header #news_wrap .news_inner {
    animation: mugen-scroll 18s linear infinite;
  }
}
.mugen-wrap header #news_wrap .news_inner p {
  margin: 0;
  padding-right: calc(1 * var(--mg));
  font-size: calc(1 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap header #news_wrap .news_inner p.sp-only {
    display: inline-block;
  }
}
@keyframes mugen-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
.mugen-wrap header .header_contents .call-center {
  background: #333;
  color: #fff;
  height: calc(4.5 * var(--mg));
  padding: 0 calc(1 * var(--mg));
  font-size: calc(1.4 * var(--mg));
  text-align: right;
  line-height: 1.1;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (min-width: 750px) {
.mugen-wrap header .header_contents .call-center {
    height: calc(3 * var(--mg));
    padding: 0 calc(2 * var(--mg));
    pointer-events: none;
  }
}
.mugen-wrap header .header_contents .call-center a {
  color: inherit;
  text-decoration: none;
}
.mugen-wrap header .header_contents .header_wrap {
  height: calc(5.4 * var(--mg));
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
  position: relative;
  padding: 0 0 0 calc(5 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap {
    padding: 0 0 0 calc(1.5 * var(--mg));
  }
}
.mugen-wrap header .header_contents .header_wrap .logo {
  width: calc(18 * var(--mg));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .logo {
    width: calc(13 * var(--mg));
  }
}
.mugen-wrap header .header_contents .header_wrap .logo figure {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mugen-wrap header .header_contents .header_wrap .nav_btn {
  display: none;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav_btn {
    display: block;
    position: absolute;
    top: calc(1.8 * var(--mg));
    right: calc(1.3 * var(--mg));
    width: calc(2.7 * var(--mg));
    height: calc(1.8 * var(--mg));
    transition: all 0.4s;
    z-index: 1000;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav_btn span {
  position: absolute;
  width: 100%;
  height: 3px;
  background: #222;
  transition: all 0.4s;
}
.mugen-wrap header .header_contents .header_wrap .nav_btn span:first-of-type {
  top: 0;
}
.mugen-wrap header .header_contents .header_wrap .nav_btn span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.mugen-wrap header .header_contents .header_wrap .nav_btn span:last-of-type {
  bottom: 0;
}
.mugen-wrap header .header_contents .header_wrap .nav_btn.open span:first-of-type {
  top: calc(1 * var(--mg));
  transform: rotate(-45deg);
}
.mugen-wrap header .header_contents .header_wrap .nav_btn.open span:nth-last-of-type(2) {
  display: none;
}
.mugen-wrap header .header_contents .header_wrap .nav_btn.open span:last-of-type {
  top: calc(1 * var(--mg));
  transform: rotate(45deg);
}
.mugen-wrap header .header_contents .header_wrap .sp_header_btn {
  display: none;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .sp_header_btn {
    display: block;
    margin-right: calc(5.4 * var(--mg));
  }
.mugen-wrap header .header_contents .header_wrap .sp_header_btn ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
.mugen-wrap header .header_contents .header_wrap .sp_header_btn ul li {
    height: calc(5.4 * var(--mg));
    font-size: calc(1 * var(--mg));
    font-weight: bold;
  }
.mugen-wrap header .header_contents .header_wrap .sp_header_btn ul li #price-simulation-btn {
    cursor: pointer;
    display: block;
    line-height: 1.3;
    background: #222;
    color: #fff;
    width: calc(8 * var(--mg));
    height: 100%;
    padding: calc(1.1 * var(--mg));
    display: flex;
    align-items: center;
    justify-content: center;
  }
.mugen-wrap header .header_contents .header_wrap .sp_header_btn ul li .cv-btn {
    background: #FFF717;
    display: block;
    line-height: 1.3;
    background: #FFF717;
    color: #222;
    width: calc(8 * var(--mg));
    height: 100%;
    padding: calc(1.1 * var(--mg));
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    font-size: calc(1.4 * var(--mg));
    transition: all 0.4s;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav.open {
  right: 0;
}
.mugen-wrap header .header_contents .header_wrap .nav .nav_menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(1.5 * var(--mg));
  font-size: calc(1.4 * var(--mg));
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .nav_menu {
    display: block;
    text-align: center;
    font-size: calc(1.4 * var(--mg));
    color: #fff;
    margin-top: calc(6 * var(--mg));
  }
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .nav_menu a {
    display: block;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(1.5 * var(--mg)) 0;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .nav_menu a:hover {
  opacity: 0.6;
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap {
    display: none;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap li {
  height: calc(5.4 * var(--mg));
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap li a {
    height: auto;
    display: block;
    padding: 1em 0;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap li #price-simulation-btn {
  cursor: pointer;
  display: block;
  height: 100%;
  text-align: center;
  line-height: 1.3;
  background: #222;
  color: #fff;
  font-size: calc(1.6 * var(--mg));
  width: calc(20 * var(--mg));
  display: flex;
  align-items: center;
  justify-content: center;
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap li #price-simulation-btn:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap li:last-of-type {
    margin-top: calc(2 * var(--mg));
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn {
  background: #FFF717;
  width: calc(20 * var(--mg));
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn {
    width: 75%;
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn::before {
  display: none;
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn p {
  font-size: calc(1.8 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn p {
    font-size: calc(1.6 * var(--mg));
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn p::after {
  border-right: calc(0.2 * var(--mg)) solid #fff;
  border-bottom: calc(0.2 * var(--mg)) solid #fff;
  width: 0.5em;
  height: 0.5em;
  top: calc(1 * var(--mg));
  right: -1em;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 768px) {
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn p::after {
    top: 50%;
    transform: rotate(-45deg) translateY(-50%);
  }
}
.mugen-wrap header .header_contents .header_wrap .nav .btn_wrap .cv-btn:hover {
  opacity: 0.6;
}
.mugen-wrap header .header-news {
  white-space: nowrap;
  overflow: hidden;
  background: #ddd;
  height: calc(2.5 * var(--mg));
  display: flex;
  justify-content: center;
  align-items: center;
}
.mugen-wrap header .header-news p {
  display: inline-block;
  font-size: calc(1 * var(--mg));
  animation: mugen-header-news-marquee 20s linear infinite;
}
@media only screen and (min-width: 750px) {
.mugen-wrap header .header-news p {
    animation: mugen-header-news-marquee-pc 10s linear infinite;
    font-size: calc(1.1 * var(--mg));
  }
}
@keyframes mugen-header-news-marquee {
  0% {
    transform: translateX(45%);
  }
  100% {
    transform: translateX(-40%);
  }
}
@keyframes mugen-header-news-marquee-pc {
  0% {
    transform: translateX(15%);
  }
  100% {
    transform: translateX(-15%);
  }
}
.mugen-wrap .footer {
  padding-top: calc(3 * var(--mg));
  background: #212C36;
  color: #fff;
  font-weight: 500;
  width: 100%;
  text-align: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer {
    padding: calc(3 * var(--mg)) 0 0;
  }
}
.mugen-wrap .footer--ttl {
  margin-bottom: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--ttl {
    padding: 0;
    margin-bottom: calc(3 * var(--mg));
  }
}
.mugen-wrap .footer--ttl .logo img {
  width: calc(33 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--ttl .logo img {
    width: calc(25.6 * var(--mg));
  }
}
.mugen-wrap .footer--ttl--message {
  margin-top: calc(1 * var(--mg));
  font-size: calc(1.6 * var(--mg));
  font-weight: 700;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--ttl--message {
    margin: calc(1.2 * var(--mg)) 0 0;
    font-size: calc(1.4 * var(--mg));
  }
}
.mugen-wrap .footer--link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: top;
  text-align: left;
  gap: calc(1.5 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--link {
    flex-direction: row;
    margin-top: calc(3 * var(--mg));
    padding: 0 calc(2.4 * var(--mg));
    justify-content: space-between;
    gap: 0;
  }
}
.mugen-wrap .footer--link--list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--link--list {
    display: block;
  }
}
.mugen-wrap .footer--link--list--item {
  font-size: calc(1.4 * var(--mg));
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--link--list--item {
    font-size: calc(1.2 * var(--mg));
  }
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer--link--list--item + li {
    margin-top: calc(0.8 * var(--mg));
  }
}
.mugen-wrap .footer--link--list .gray {
  color: #F4F4F4;
}
.mugen-wrap .footer .footer_bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(2 * var(--mg));
  margin: calc(2 * var(--mg)) calc(27 * var(--mg)) 0;
  padding-top: calc(2 * var(--mg));
  border-top: solid 1px #555;
  border-width: 60%;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer .footer_bottom {
    margin: calc(2 * var(--mg)) 0 0;
    flex-direction: column;
  }
}
.mugen-wrap .footer .footer_bottom .callcenter_info {
  font-weight: 400;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: calc(1 * var(--mg));
  font-size: calc(1.4 * var(--mg));
  line-height: 1.2;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer .footer_bottom .callcenter_info {
    flex-direction: row;
    font-size: calc(1.2 * var(--mg));
    gap: calc(2 * var(--mg));
  }
}
.mugen-wrap .footer .footer_bottom .callcenter_info p span {
  font-size: calc(1.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer .footer_bottom .callcenter_info p span {
    font-size: calc(1 * var(--mg));
  }
}
.mugen-wrap .footer .footer_bottom .callcenter_info .note_wrap {
  padding: calc(1 * var(--mg));
  border: solid 1px #ffffff;
}
.mugen-wrap .footer .footer_bottom .callcenter_info .note_wrap ::before {
  display: none;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .footer .footer_bottom .callcenter_info .note_wrap {
    margin: 0 calc(1 * var(--mg));
  }
}
.mugen-wrap .footer .footer_bottom .callcenter_info .note_wrap .title {
  margin-top: 0;
  font-weight: 700;
  font-size: calc(1.2 * var(--mg));
  text-align: left;
  justify-content: left;
  color: #ffffff;
}
.mugen-wrap .footer .footer_bottom .callcenter_info .note_wrap .note {
  text-align: left;
  color: #ffffff;
  font-size: calc(1.2 * var(--mg));
}
.mugen-wrap .footer .footer_bottom .more_info {
  margin-top: 1em;
  line-height: 1.4;
}
.mugen-wrap .footer .copyright {
  background: #222;
  padding: calc(1.5 * var(--mg)) 0;
  color: #fff;
  font-size: calc(1.2 * var(--mg));
  text-align: center;
  width: 100%;
  margin-top: calc(3 * var(--mg));
}
.mugen-wrap .to_directdebit_btn a {
  position: fixed;
  z-index: 2000000000;
  display: inline-block;
  background: #FF9B14;
  color: #fff;
  bottom: 0;
  right: 400px;
  border-radius: calc(0.8 * var(--mg)) calc(0.8 * var(--mg)) 0 0;
  font-size: calc(1.5 * var(--mg));
  padding: calc(1 * var(--mg)) calc(2 * var(--mg));
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .to_directdebit_btn a {
    bottom: calc(1 * var(--mg));
    right: 0;
    border-radius: calc(0.8 * var(--mg)) 0 0 calc(0.8 * var(--mg));
    font-size: calc(1.4 * var(--mg));
    padding: calc(1 * var(--mg));
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}body.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
.mugen-wrap .popup-container {
  overflow: auto;
  overscroll-behavior-y: contain;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: flex-start;
  z-index: 2000000001;
  padding: calc(5 * var(--mg)) 0;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .popup-container {
    padding: calc(2 * var(--mg)) 0;
  }
}
.mugen-wrap .popup-wrap {
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 90vh;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .popup-wrap {
    max-height: 95vh;
  }
}
.mugen-wrap .popup-wrap .close-button {
  cursor: pointer;
  position: fixed;
  top: calc(3.5 * var(--mg));
  right: calc(10 * var(--mg));
  width: calc(4 * var(--mg));
  height: calc(4 * var(--mg));
  background: #000;
  border: #fff solid calc(0.1 * var(--mg));
  color: #fff;
  z-index: 2;
  font-size: calc(2.5 * var(--mg));
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 99px;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .popup-wrap .close-button {
    top: calc(1.5 * var(--mg));
    right: calc(2 * var(--mg));
    width: calc(3 * var(--mg));
    height: calc(3 * var(--mg));
    font-size: calc(1.8 * var(--mg));
  }
}
.mugen-wrap .price-simulation {
  background: #fff;
  margin: 0 auto;
  width: calc(120 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation {
    width: calc(33 * var(--mg));
  }
}
.mugen-wrap .price-simulation h1 {
  font-size: calc(3.8 * var(--mg));
  background: #002F6F;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: calc(9 * var(--mg));
  height: calc(9 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation h1 {
    line-height: calc(5.8 * var(--mg));
    height: calc(5.8 * var(--mg));
    font-size: calc(2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents {
  background: #fff;
  padding: calc(4 * var(--mg)) calc(8 * var(--mg)) calc(8 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents {
    padding: calc(2 * var(--mg));
    padding-bottom: calc(4 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents input {
  display: none;
}
.mugen-wrap .price-simulation .contents h2 {
  font-size: calc(2.8 * var(--mg));
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents h2 {
    font-size: calc(1.6 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents h2 .open-sans {
  color: #0056CC;
  margin-right: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents h2 .open-sans {
    margin: 0;
  }
}
.mugen-wrap .price-simulation .contents ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(2.5 * var(--mg));
  margin-top: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents ul {
    flex-direction: column;
    gap: calc(1.5 * var(--mg));
    margin-top: calc(1.5 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents ul li {
  cursor: pointer;
  border-radius: calc(2 * var(--mg));
  background-color: #DFDFDF;
  border: calc(0.4 * var(--mg)) solid #ADADAD;
  color: #ADADAD;
  width: calc(35 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents ul li {
    width: 100%;
  }
}
.mugen-wrap .price-simulation .contents ul li .head {
  width: 100%;
  background-color: #ADADAD;
  color: #EFEFEF;
  font-weight: bold;
  border-radius: calc(1.6 * var(--mg)) calc(1.6 * var(--mg)) 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  padding: calc(0.8 * var(--mg)) 0;
  text-align: center;
  font-size: calc(1.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents ul li .head {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents ul li .flex_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(1.5 * var(--mg));
}
.mugen-wrap .price-simulation .contents ul li .flex_wrap.flex_wrap_02 {
  padding: calc(1 * var(--mg)) 0;
}
.mugen-wrap .price-simulation .contents ul li .icon {
  width: calc(8 * var(--mg));
}
.mugen-wrap .price-simulation .contents ul li .icon.selected {
  display: none;
}
.mugen-wrap .price-simulation .contents ul li .price .small {
  font-size: calc(1.2 * var(--mg));
}
.mugen-wrap .price-simulation .contents ul li .price .open-sans {
  font-size: calc(4 * var(--mg));
  line-height: 1;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents ul li .price .open-sans {
    font-size: calc(2.8 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents ul li .txt_wrap .name {
  font-size: calc(1.6 * var(--mg));
  line-height: 1.4;
  font-weight: bold;
}
.mugen-wrap .price-simulation .contents ul li.selected {
  background-color: #0056CC;
  border: calc(0.4 * var(--mg)) solid #0056CC;
  background: #EBF3FF;
}
.mugen-wrap .price-simulation .contents ul li.selected .head {
  background-color: #0056CC;
  color: #fff;
}
.mugen-wrap .price-simulation .contents ul li.selected .name {
  color: #0056CC;
}
.mugen-wrap .price-simulation .contents ul li.selected .name_plan {
  color: #fff;
}
.mugen-wrap .price-simulation .contents ul li.selected .price .small {
  color: #222;
}
.mugen-wrap .price-simulation .contents ul li.selected .price .open-sans {
  color: #FF9B14;
}
.mugen-wrap .price-simulation .contents ul li.selected .icon.selected {
  display: block;
}
.mugen-wrap .price-simulation .contents ul li.selected .icon.deselected {
  display: none;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item {
  width: calc((100% - calc(5 * var(--mg))) / 3);
  text-align: center;
  display: block;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item {
    width: 100%;
    height: auto;
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head {
  width: 100%;
  background-color: #ADADAD;
  color: #EFEFEF;
  font-weight: bold;
  height: calc(5.5 * var(--mg));
  border-radius: calc(1.6 * var(--mg)) calc(1.6 * var(--mg)) 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head h3 {
  font-size: calc(2.2 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head .yellow {
  font-size: calc(1.2 * var(--mg));
  color: #EFEFEF;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head .yellow .open-sans {
  font-size: calc(1.8 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head .yellow .open-sans .small {
  font-size: calc(1 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .head .yellow .big {
  font-size: calc(1.6 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .flex_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(1 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device {
  height: calc(10 * var(--mg));
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device {
    width: calc(10.4 * var(--mg));
    height: auto;
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.air-1 img {
  width: calc(11 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.air-1 img {
    width: calc(11 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.air-2 img {
  width: calc(8.8 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.air-2 img {
    width: calc(8.5 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.homerooter img {
  width: calc(10.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.homerooter img {
    width: calc(10.4 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .device.selected {
  display: none;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .txt-wrap {
  text-align: center;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .txt-wrap .bubble {
  font-size: calc(1.4 * var(--mg));
  font-weight: bold;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .txt-wrap .bubble {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white {
  margin: calc(0 * var(--mg)) calc(2 * var(--mg)) calc(2 * var(--mg));
  background: #EFEFEF;
  padding: calc(0.5 * var(--mg)) calc(2 * var(--mg)) calc(0.8 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white {
    margin: calc(0 * var(--mg)) calc(2 * var(--mg)) calc(1 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white dl {
  margin: 0 auto;
  width: calc(16.5 * var(--mg));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(1.6 * var(--mg));
  text-align: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white dl {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white dl dt {
  width: 50%;
  border-bottom: solid calc(0.1 * var(--mg)) #ADADAD;
  padding-bottom: calc(0.3 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white dl dd {
  width: 50%;
  border-bottom: solid calc(0.1 * var(--mg)) #CECECE;
  padding-bottom: calc(0.3 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item .bg_white dl + dl {
  margin-top: calc(0.5 * var(--mg));
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .head {
  background-color: #0056CC;
  color: #fff;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .head .yellow {
  color: #FFF717;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .bubble {
  color: #222;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .device.deselected {
  display: none;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .device.selected {
  display: flex;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .bg_white {
  background: #fff;
  color: #222;
}
.mugen-wrap .price-simulation .contents .plan .plan-list .plan-list-item.selected .bg_white dl dt {
  border-bottom: solid calc(0.1 * var(--mg)) #0056CC;
}
.mugen-wrap .price-simulation .contents .course, .mugen-wrap .price-simulation .contents .option {
  margin-top: calc(4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .course, .mugen-wrap .price-simulation .contents .option {
    margin-top: calc(3 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result {
  margin: 0 auto;
  margin-top: calc(4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result {
    margin-top: calc(3 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-ttl {
  font-size: calc(3 * var(--mg));
  font-weight: bold;
  position: relative;
  color: #FF9B14;
  text-align: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-ttl {
    font-size: calc(2.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .triangle {
  width: 3%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .triangle {
    width: calc(2.6 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content dl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total {
    padding-bottom: calc(0.5 * var(--mg));
    border-bottom: solid calc(0.1 * var(--mg)) #ADADAD;
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dt {
  font-size: calc(2.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dt {
    font-size: calc(1.4 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dd {
  font-size: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dd {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dd .open-sans {
  font-size: calc(6 * var(--mg));
  color: #FF9B14;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .monthly-price-total dd .open-sans {
    font-size: calc(3.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .line {
  display: block;
  height: 1px;
  width: 100%;
  background: #ADADAD;
  margin: calc(2 * var(--mg)) 0;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .line {
    margin: calc(1 * var(--mg)) 0;
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .total-detail {
  font-weight: normal;
  font-size: calc(1.8 * var(--mg));
  color: #ADADAD;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .total-detail {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .monthly-price .total-detail dt {
  font-weight: normal;
}
.mugen-wrap .price-simulation .contents .result .result-content figure {
  width: calc(4 * var(--mg));
  margin: calc(3 * var(--mg)) auto;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content figure {
    width: calc(1.5 * var(--mg));
    margin: calc(1.5 * var(--mg)) auto;
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .initial-administrative-fee-total {
  font-size: calc(2.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .initial-administrative-fee-total {
    font-size: calc(1.2 * var(--mg));
  }
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .initial-administrative-fee-total dd {
    font-size: calc(1.6 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .initial-administrative-fee-total dd .tax {
  font-size: calc(1.6 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .initial-administrative-fee-total dd .tax {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .note {
  font-weight: normal;
  font-size: calc(1.2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .result .result-content .initial-administrative-fee .note {
    font-size: calc(1 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue {
  background: #EBF3FF;
  padding: calc(4 * var(--mg)) calc(8 * var(--mg));
  margin: 0 auto;
  margin-top: calc(2 * var(--mg));
  width: calc(92 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue {
    width: auto;
    margin-top: calc(3 * var(--mg));
    padding: calc(2 * var(--mg)) calc(1.3 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  gap: calc(8 * var(--mg));
  position: relative;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap {
    flex-direction: column;
    gap: calc(2 * var(--mg));
    width: 100%;
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap::before {
  content: "";
  background: #0056CC;
  height: 2px;
  width: 86%;
  position: absolute;
  left: 50%;
  top: calc(4.5 * var(--mg));
  transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap::before {
    height: 100%;
    width: 2px;
    left: calc(3.2 * var(--mg));
    top: 0;
    transform: translateX(0);
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list {
  width: calc(28.8 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(0.5 * var(--mg));
    align-items: flex-start;
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top {
  text-align: center;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top {
    width: calc(6.7 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .month {
  font-size: calc(2 * var(--mg));
  font-weight: normal;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .month {
    font-size: calc(1 * var(--mg));
    font-weight: bold;
    text-shadow: 1.5px 1.5px 1.5px #fff, -1.5px 1.5px 1.5px #fff, -1.5px -1.5px 0 #fff, 1.5px -1.5px 0 #fff;
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .month .orange {
  font-weight: bold;
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .circle {
  margin: 0 auto;
  width: calc(3 * var(--mg));
  height: calc(3 * var(--mg));
  border-radius: 999px;
  background: #0056CC;
  position: relative;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .circle {
    width: calc(2 * var(--mg));
    height: calc(2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .circle::before {
  content: "";
  background: url(https://mugen-wifi.com/assets/img/dotted-line.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: calc(0.4 * var(--mg));
  height: calc(4 * var(--mg));
  position: absolute;
  left: 50%;
  bottom: calc(-3 * var(--mg));
  transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .top .circle::before {
    top: 50%;
    left: auto;
    right: 0;
    transform: translate(100%, -50%) rotate(90deg);
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap {
  margin-top: calc(2 * var(--mg));
  width: 100%;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap {
    flex: 1;
    margin-top: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dt {
  font-size: calc(2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dt {
    font-size: calc(1.2 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dd {
  font-size: calc(1.4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dd {
    font-size: calc(1 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dd .open-sans {
  font-size: calc(3.6 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-total dd .open-sans {
    font-size: calc(2.4 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail {
  margin-top: calc(0.5 * var(--mg));
  font-size: calc(1.6 * var(--mg));
  color: #ADADAD;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail {
    font-size: calc(1 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail dl {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
  font-weight: normal;
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail dl dt {
  font-weight: normal;
}
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail dl dd .tax {
  font-size: calc(1.2 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .detail_wrap .month_list .txt_wrap .accordion-detail dl dd .tax {
    font-size: calc(1 * var(--mg));
  }
}
.mugen-wrap .price-simulation .contents .bg_l_blue .line_wrap {
  margin: calc(3 * var(--mg)) calc(6 * var(--mg)) 0;
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .bg_l_blue .line_wrap {
    margin: calc(2.5 * var(--mg)) calc(1 * var(--mg)) 0;
  }
}
.mugen-wrap .price-simulation .contents .cv-btn {
  margin-top: calc(4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .cv-btn {
    margin-top: calc(2 * var(--mg));
    width: 100%;
  }
}
.mugen-wrap .price-simulation .contents .to_directdebit_page {
  display: block;
  width: calc(60 * var(--mg));
  margin: 0 auto;
  margin-top: calc(4 * var(--mg));
}
@media only screen and (max-width: 768px) {
.mugen-wrap .price-simulation .contents .to_directdebit_page {
    width: auto;
    margin-top: calc(2 * var(--mg));
  }
}
/* =========================================================================
   表示崩れ修正パッチ（スクリーンショット対応）
   ========================================================================= */

/* (1) PCヘッダー：ナビ(メニュー＋ボタン)を横並び・縦中央に。
       段落ち＆コールセンター帯へのかぶりを解消 */
@media only screen and (min-width: 769px) {
  .mugen-wrap header .header_contents .header_wrap .nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: calc(2 * var(--mg));
    height: 100%;
  }
  .mugen-wrap header .header_contents .header_wrap .nav .nav_menu { flex: 0 0 auto; }
  .mugen-wrap header .header_contents .header_wrap .nav .btn_wrap { flex: 0 0 auto; height: 100%; }
}

/* (2) 追従ボタン：PC/SPの出し分けを確実化（.to_directdebit_btn a の display を上書き） */
.mugen-wrap .to_directdebit_btn a.pc-only { display: inline-block; }
.mugen-wrap .to_directdebit_btn a.sp-only { display: none; }
@media only screen and (max-width: 768px) {
  .mugen-wrap .to_directdebit_btn a.pc-only { display: none; }
  .mugen-wrap .to_directdebit_btn a.sp-only { display: inline-block; }
}

/* (3) フッターロゴ：本家の白版 logo_mugen-wifi_w.svg を使用（footer.php側で対応済み） */