/* 公式サイトのシミュレーション用スタイルをダイアログ内に限定。 */
#simulation_modal .en{font-family:"Roboto",sans-serif;line-height:1}
#simulation_modal .pink{color:#ff1d97}
#simulation_modal .note{font-size:1.2rem;line-height:1.3;margin-top:1em;color:#888;font-weight:400}
@media only screen and (min-width: 750px){#simulation_modal .note{line-height:1.6}
}
#simulation_modal .modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;height:100vh;z-index:1001}
#simulation_modal .modal__container{background-color:#fff;padding:vw_sp(20);max-width:80%;max-height:90vh;border-radius:4px;overflow-y:auto;box-sizing:border-box}
@media only screen and (min-width: 750px){#simulation_modal .modal__container{padding:vw_pc(30)}
}
#simulation_modal .modal__container .description{text-align:left;font-weight:normal;margin:1em 0 2em;font-size:vw_sp(14)}
@media only screen and (min-width: 750px){#simulation_modal .modal__container .description{font-size:vw_pc(20)}
}
#simulation_modal .modal__header{display:flex;justify-content:space-between;align-items:center}
#simulation_modal .modal__title{margin-top:0;margin-bottom:0;font-weight:600;line-height:1.25;box-sizing:border-box;width:100%;font-size:vw_sp(18)}
@media only screen and (min-width: 750px){#simulation_modal .modal__title{font-size:vw_pc(28)}
}
#simulation_modal .modal__close{background:rgba(0,0,0,0);border:0;margin-right:.5rem}
#simulation_modal .modal__header .modal__close:before{content:"✕"}
#simulation_modal .modal__content{color:rgba(0,0,0,.8)}
#simulation_modal .modal__btn-primary{background-color:#00449e;color:#fff}
#simulation_modal .plan{background:#4066c9}
@media only screen and (min-width: 750px){#simulation_modal .plan .inner{padding:6rem 27rem}
}
#simulation_modal .plan h2 .main{color:#fff}
#simulation_modal .plan h2 .main .en{font-size:142%}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list{display:grid;grid-template-columns:repeat(3, 1fr);gap:3.9rem}
}
#simulation_modal .plan .plan_wrap .plan_list li{font-weight:700;position:relative;background:#fff;border-radius:5px;box-shadow:0 8px 8px rgba(0,0,0,.15)}
#simulation_modal .plan .plan_wrap .plan_list li .recommend{position:absolute;top:-1.5rem;left:-1.3rem;width:7rem;height:7rem;background:#ffe3f2;color:#ff1d97;font-size:1.6rem;text-align:center;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .recommend{top:-2.2rem;left:-2.4rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .recommend .en{font-size:125%}
#simulation_modal .plan .plan_wrap .plan_list li .top{background:#01245a;color:#fff;border-radius:5px 5px 0 0;text-align:center;font-size:1.8rem;padding:.6em 0}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .top{font-size:1.4rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap{padding:1.5rem 2rem 2.5rem}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_name{text-align:center;font-size:2.4rem;margin-bottom:.625em;color:#4066c9}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_name{font-size:1.9rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image{position:relative;text-align:center}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image img{width:23.7rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image img{width:18rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths{position:absolute;top:0;left:1.8rem;line-height:1.2;color:#ff1d97;font-size:1.4rem;width:12.5rem;height:10.6rem;background:url(../images/strengths_line.svg) no-repeat top center/contain;display:flex;align-items:center;justify-content:center;padding-top:1em}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths{font-size:1.1rem;width:10rem;height:8.6rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths .middle{font-size:1.6rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths .middle{font-size:1.2rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths .en{font-size:150%}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image .strengths .strong{font-size:125%}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image+div{margin-top:1.3rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .device_image+div{margin-top:1.1rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price{display:flex;align-items:flex-end;justify-content:center;white-space:nowrap;font-size:3rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price{font-size:2.4rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price .en{font-size:200%;color:#4066c9;margin-left:.05em}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price .yen{display:inline-block;position:relative}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price .yen .tax_in{position:absolute;top:-0.4em;left:.2em;font-size:1rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price .yen .tax_in{font-size:.8rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price+div{margin-top:2rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .price+div{margin-top:1.5rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .cta a{font-size:1.8rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .cta a{font-size:1.4rem;padding:1em 0;box-shadow:0 3px 0 #a11460}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .cta a:hover{box-shadow:0 1px 0 #a11460}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .cta+div{margin-top:2rem}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .cta+div{margin-top:1.5rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .detail_btn{border-radius:10rem;border:solid #333 2px;font-size:1.4rem;padding:.8em 0;text-align:center;position:relative}
@media only screen and (min-width: 750px){#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .detail_btn{font-size:1.1rem}
}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .detail_btn::after{position:absolute;content:"";background:url(../images/glass_navy.svg) no-repeat center/contain;width:1.28em;height:1.28em;top:50%;right:1em;transform:translateY(-50%)}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap{padding:0 2rem 2rem}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table{width:100%;border-left:solid 1px #ddd;border-top:solid 1px #ddd}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr th{background:#333;color:#fff;padding:.5em;width:30%;text-align:center;vertical-align:middle;border-bottom:solid 1px #fff;font-size:1.4rem}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr td{padding:.5em 1em;vertical-align:middle;border-right:solid 1px #ddd;border-bottom:solid 1px #ddd}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr td .en{font-size:120%}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr td .tax_in{font-size:1rem}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr td .note{margin-top:0}
#simulation_modal .plan .plan_wrap .plan_list li .content_wrap .plan_table_wrap table tr td a{text-decoration:underline;color:#4a96ff}
#simulation_modal .plan .plan_wrap .plan_list li:first-child .top{margin-left:2.2em}
@media only screen and (max-width: 749px){#simulation_modal .plan .plan_wrap .plan_list li+li{margin-top:3rem}
}
#simulation_modal .option{background:#4066c9}
@media only screen and (min-width: 750px){#simulation_modal .option .inner{padding:6rem 27rem}
}
#simulation_modal .option h2{margin-bottom:1.7em}
#simulation_modal .option h2 .main{color:#fff}
#simulation_modal .option .option_list{row-gap:4.5rem;-moz-column-gap:1rem;column-gap:1rem}
@media only screen and (max-width: 749px){#simulation_modal .option .option_list{display:flex;flex-wrap:wrap}
}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list{display:flex;row-gap:2rem}
}
#simulation_modal .option .option_list li{position:relative;background:#fff;border-radius:5px;padding:4rem 1.5rem 2rem}
@media only screen and (max-width: 749px){#simulation_modal .option .option_list li{width:calc(50% - .5rem)}
}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li{padding:5rem 2rem 2.5rem}
}
#simulation_modal .option .option_list li figure{position:absolute;top:-3.5rem;left:50%;transform:translateX(-50%);width:7rem;height:7rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li figure{top:-4.25rem;width:8.5rem;height:8.5rem}
}
#simulation_modal .option .option_list li h3{text-align:center;color:#4066c9;font-weight:700;font-size:1.6rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li h3{font-size:2rem}
}
@media only screen and (max-width: 749px){#simulation_modal .option .option_list li h3.long{letter-spacing:-0.1em}
}
#simulation_modal .option .option_list li .price{text-align:center;font-size:1.4rem;font-weight:700;line-height:1.2;margin:1rem 0}
#simulation_modal .option .option_list li .price .en{font-size:200%;color:#4066c9}
#simulation_modal .option .option_list li .price .tax_in{font-size:1rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li .price .tax_in{font-size:1.2rem}
}
#simulation_modal .option .option_list li p{font-size:1.2rem;flex-grow:1}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li p{font-size:1.4rem}
}
#simulation_modal .option .option_list li .detail_btn{position:relative;text-align:center;background:#01245a;border-radius:10rem;color:#fff;font-size:1.2rem;padding:1em 0;margin-top:1rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li .detail_btn{font-size:1.4rem;margin-top:1.5rem}
}
#simulation_modal .option .option_list li .detail_btn::after{position:absolute;content:"";top:50%;right:.75em;transform:translateY(-50%);background:url(../images/glass_white.svg) no-repeat center/contain;width:1em;height:1em}
@media only screen and (min-width: 750px){#simulation_modal .option .option_list li .detail_btn::after{right:1em}
}
@media only screen and (max-width: 749px){#simulation_modal .option .option_list li:last-child{width:100%}
}
#simulation_modal .option .note.bottom{color:#fff}
#simulation_modal .option .option_detail_wrap{padding:2rem;font-size:1.2rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_detail_wrap{font-size:1.4rem}
}
#simulation_modal .option .option_detail_wrap .strong{font-weight:700;color:#4066c9;margin-bottom:.5em}
#simulation_modal .option .option_detail_wrap .strong.title{text-align:center;font-size:1.4rem}
@media only screen and (min-width: 750px){#simulation_modal .option .option_detail_wrap .strong.title{font-size:1.6rem}
}
#simulation_modal .option .option_detail_wrap .sub_heading{background:#ddd;text-align:center;padding:.2em 0;margin-top:1.5em;margin-bottom:.5em}
#simulation_modal .option .option_detail_wrap a{text-decoration:underline;color:#4a96ff}
@media only screen and (min-width: 750px){#simulation_modal .option .option_detail_wrap.grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:3rem}
}
@media only screen and (max-width: 749px){#simulation_modal .option .option_detail_wrap.grid .contents+.contents{padding-top:2rem;margin-top:2rem;border-top:solid 1px #ddd}
}
#simulation_modal .modal__overlay{z-index:1000}
#simulation_modal{max-width:96vw;width:35rem;max-height:90vh;overflow-y:auto;padding:3rem 2rem;position:relative}
@media only screen and (min-width: 750px){#simulation_modal{padding:5rem 6rem;width:100rem}
}
#simulation_modal .modal__title{font-size:1.8rem;text-align:center;color:#01245a}
@media only screen and (min-width: 750px){#simulation_modal .modal__title{font-size:4.2rem}
}
#simulation_modal .title-bottom{text-align:center;font-size:1.4rem;margin-bottom:1.5rem}
@media only screen and (min-width: 750px){#simulation_modal .title-bottom{font-size:2.4rem;margin-bottom:2.5rem}
}
#simulation_modal .modal__close{display:block;width:2rem;height:2rem;position:absolute;right:1rem;top:1rem}
@media only screen and (min-width: 750px){#simulation_modal .modal__close{width:3rem;height:3rem;position:absolute;right:2rem;top:2rem}
}
#simulation_modal .modal__close::before{content:"✕"}
#simulation_modal .simulation_wrap .sim_section{margin-bottom:2.5rem}
#simulation_modal .simulation_wrap .sim_section_title{font-size:1.6rem;font-weight:bold;color:#01245a;margin-bottom:2rem;text-align:center}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_section_title{font-size:2.4rem}
}
#simulation_modal .simulation_wrap .sim_section_title span{display:inline-block;position:relative}
#simulation_modal .simulation_wrap .sim_section_title span::before,#simulation_modal .simulation_wrap .sim_section_title span::after{content:"";display:block;background:#ccc;height:.1rem;width:10rem;position:absolute;top:50%;left:-11rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_section_title span::before,#simulation_modal .simulation_wrap .sim_section_title span::after{width:35rem;left:-37rem}
}
#simulation_modal .simulation_wrap .sim_section_title span::after{left:auto;right:-11rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_section_title span::after{right:-37rem}
}
#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::before,#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::after{width:8rem;left:-9rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::before,#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::after{width:32rem;left:-35rem}
}
#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::after{left:auto;right:-9rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_section_title.sim_section_title_option span::after{right:-35rem}
}
#simulation_modal .simulation_wrap .sim_plan_area,#simulation_modal .simulation_wrap .sim_option_area{background:rgba(0,0,0,0)}
#simulation_modal .simulation_wrap .sim_plan_area .plan_wrap,#simulation_modal .simulation_wrap .sim_option_area .plan_wrap{padding:0}
#simulation_modal .simulation_wrap .sim_plan_area .option_list,#simulation_modal .simulation_wrap .sim_option_area .option_list{padding-top:4.5rem}
#simulation_modal .simulation_wrap .sim_plan_area .option_list li,#simulation_modal .simulation_wrap .sim_option_area .option_list li{box-shadow:0 0 1rem rgba(0,0,0,.15)}
#simulation_modal .simulation_wrap .sim_plan_area .note,#simulation_modal .simulation_wrap .sim_option_area .note{color:#888}
#simulation_modal .simulation_wrap .plan_list li>label,#simulation_modal .simulation_wrap .option_list li>label{display:block;cursor:pointer}
#simulation_modal .simulation_wrap .plan_list li:has(input:checked),#simulation_modal .simulation_wrap .option_list li:has(input:checked){outline:3px solid #4066c9;box-shadow:0 8px 20px rgba(64,102,201,.3);transition:outline .2s,box-shadow .2s}
#simulation_modal .simulation_wrap .plan_list:has(input:checked) li:not(:has(input:checked)),#simulation_modal .simulation_wrap .option_list:has(input:checked) li:not(:has(input:checked)){filter:grayscale(1);opacity:.45;transition:filter .2s,opacity .2s}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .recommend{left:-3rem;top:-2.6rem}
}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .top{font-size:1.4rem;margin:0}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image img{width:16rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image img{width:18rem}
}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image .strengths{top:-1rem;width:10.5rem;height:9rem;padding-top:.8rem}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image .strengths .middle{font-size:1.3rem}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image .strengths .small{font-size:1.2rem}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image .strengths .strong{font-size:1.3rem}
#simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label .content_wrap .device_image .strengths .en{font-size:130%}
#simulation_modal .simulation_wrap .sim_option_item.disabled{opacity:.35;pointer-events:none}
#simulation_modal .simulation_wrap .sim_result{background:#f1f6ff;border-radius:.5rem;padding:2rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_result{padding:4rem 5rem}
}
#simulation_modal .simulation_wrap .sim_result .btn_wrap{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:2rem;margin-top:2rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_result .btn_wrap{flex-direction:row;gap:3rem}
}
#simulation_modal .simulation_wrap .sim_result .btn_wrap .cta{width:100%}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_result .btn_wrap .cta{width:calc((100% - 3rem)/2)}
}
#simulation_modal .simulation_wrap .sim_result .btn_wrap .cta .cta_btn{font-size:1.4rem;width:100%;height:6rem;display:flex;justify-content:center;align-items:center}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_result .btn_wrap .cta .cta_btn{font-size:1.7rem;width:100%}
}
#simulation_modal .simulation_wrap .sim_total{text-align:center;margin-bottom:2rem}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_total{display:flex;justify-content:center;align-items:center}
}
#simulation_modal .simulation_wrap .sim_total picture{display:block}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_total picture{width:28.5rem;margin-right:3rem}
}
#simulation_modal .simulation_wrap .sim_total .sim_total_price{font-size:2.4rem;font-weight:700;line-height:1}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_total .sim_total_price{font-size:3.6rem}
}
#simulation_modal .simulation_wrap .sim_total .sim_total_price #sim_total_price{font-family:"Roboto",sans-serif;font-size:200%;color:#4066c9}
#simulation_modal .simulation_wrap .sim_total .sim_total_price .sim_yen{display:inline-block;position:relative}
#simulation_modal .simulation_wrap .sim_total .sim_total_price .sim_yen .sim_tax_in{position:absolute;top:-1em;left:.4em;font-size:1rem;font-weight:400;white-space:nowrap}
#simulation_modal .simulation_wrap .sim_accordion{background:#01245a;color:#fff;border-radius:5px;padding:.9em 1.5em;font-weight:700;font-size:1.4rem;text-align:center;position:relative;cursor:pointer}
#simulation_modal .simulation_wrap .sim_accordion::after{content:"";position:absolute;right:1.5em;top:50%;transform:translateY(-50%);border-left:.5em solid rgba(0,0,0,0);border-right:.5em solid rgba(0,0,0,0);border-top:.6em solid #fff;transition:transform .3s}
#simulation_modal .simulation_wrap .sim_accordion.open::after{transform:translateY(-50%) rotate(180deg)}
#simulation_modal .simulation_wrap .sim_monthly_wrap{overflow-x:auto;margin-top:1.5rem}
#simulation_modal .simulation_wrap .sim_monthly_table{width:100%;border-collapse:collapse;font-weight:700;table-layout:fixed}
#simulation_modal .simulation_wrap .sim_monthly_table td{padding:.8em .3em;text-align:center;border:1px solid #ddd;background:#fff;vertical-align:middle}
#simulation_modal .simulation_wrap .sim_monthly_table td.sim_td_free{background:#fff0fa}
#simulation_modal .simulation_wrap .sim_monthly_table td.sim_td_free .sim_m_price{color:#ff1d97}
#simulation_modal .simulation_wrap .sim_monthly_table td.sim_td_first .sim_m_price{color:#4066c9}
#simulation_modal .simulation_wrap .sim_monthly_table .sim_m_num{display:block;font-size:1.1rem;color:#888;font-weight:400;margin-bottom:.3em}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_monthly_table .sim_m_num{font-size:1.2rem}
}
#simulation_modal .simulation_wrap .sim_monthly_table .sim_m_note{display:block;font-size:.95rem;color:#888;font-weight:400;margin-bottom:.2em}
#simulation_modal .simulation_wrap .sim_monthly_table .sim_m_price{display:block;font-size:1.2rem;font-weight:700;color:#333;line-height:1.2}
@media only screen and (min-width: 750px){#simulation_modal .simulation_wrap .sim_monthly_table .sim_m_price{font-size:1.4rem}
}

/* dialog標準のフォーカス制御を使用。既存ページのヘッダー・本文とは独立。 */
#simulation_modal, .sim-option-dialog { position: fixed; inset: 0; margin: auto; border: 0; border-radius: 5px; background: #fff; color: #333; max-height: 90dvh; overflow-y: auto; }
#simulation_modal::backdrop, .sim-option-dialog::backdrop { background: rgb(0 0 0 / 60%); }
html:has(#simulation_modal[open], .sim-option-dialog[open]) { overflow: hidden; }
#simulation_modal img { max-width: 100%; height: auto; }
#simulation_modal .sim_section { overflow: hidden; padding: 1.5rem 1rem; }
@media (min-width: 750px) {
  /* カード外にはみ出す人気No.1を表示し、見出しの飾り線だけを収める。 */
  #simulation_modal .sim_section:has(.sim_plan_area) { overflow: visible; }
  #simulation_modal .sim_section:has(.sim_plan_area) .sim_section_title { overflow: hidden; }
  #simulation_modal .simulation_wrap .plan .plan_wrap .plan_list li label:has(.recommend) .top {
    padding-left: 4.5rem;
    padding-right: 0.5rem;
  }
}
#simulation_modal input[type="radio"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
#simulation_modal label:has(input:focus-visible) { outline: 3px solid #4066c9; outline-offset: 4px; }
#simulation_modal .sim_accordion { display: block; width: 100%; cursor: pointer; }
#simulation_modal .sim_monthly_wrap[hidden] { display: none; }
#simulation_modal button:focus-visible, #simulation_modal a:focus-visible, .sim-option-dialog button:focus-visible { outline: 2px solid #4066c9; outline-offset: 3px; }
#simulation_modal .modal__close { min-width: 36px; min-height: 36px; cursor: pointer; }
#simulation_modal .detail_btn { cursor: pointer; }
.sim-option-dialog { width: min(780px, 90%); padding: 48px 24px 24px; font-size: 14px; line-height: 1.7; }
.sim-option-dialog [data-sim-close] { position: absolute; right: 8px; top: 8px; width: 36px; height: 36px; font-size: 24px; cursor: pointer; }
.sim-option-dialog .strong { font-weight: 700; color: #4066c9; margin-bottom: 12px; }
.sim-option-dialog .sub_heading { padding: 4px; margin: 20px 0 8px; background: #eee; text-align: center; }
@media (min-width: 750px) { #simulation_modal .pc_hide { display: none; } }
@media (max-width: 749px) { #simulation_modal .sp_hide { display: none; } }
#simulation_modal .option .option_list li .detail_btn { display: block; width: 100%; padding: 12px 32px; }
#simulation_modal .simulation_wrap .sim_option_item.disabled { pointer-events: auto; }
#simulation_modal .simulation_wrap .sim_option_item.disabled label { cursor: not-allowed; }

/* 合計欄の申し込みボタン：参考画像のピンクの丸型と下側の影。 */
#simulation_modal .sim_result .cta_btn {
  position: relative;
  padding: 12px 32px;
  border-radius: 999px;
  background: #f01898;
  color: #fff;
  box-shadow: 0 4px 0 #a51068;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s;
}

#simulation_modal .sim_result .cta_btn::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

#simulation_modal .sim_result .cta_btn:hover { background: #d91086; }
#simulation_modal .sim_result .cta_btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #a51068; }
