@charset "UTF-8";
.header_nav,.nav_bg {
    opacity:0;
    pointer-events:none
}
.header_nav .c-btn-1--white02::after,.header_nav .c-btn-1--white::after,.l-footer-nav__link::before {
    background:url(../img/icon_outlink-2.png) center center/contain no-repeat
}
.l-header {
    height:calc(var(--fixed-header-height) * 1px);
    max-width:calc(var(--contents-width) * 1px);
    margin-inline:auto;
    padding-block:8px;
    padding-inline:14px
}
.l-header__logo {
    display:block;
    width:160px
}
.l-header__logo img {
    display:block;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover
}
.header_inner,.header_wrap {
    width:100%;
    left:0;
    z-index:99999;
    right:0
}

.l-footer__nav {
    padding-block:22px 25px;
    background-color:#4a4a4a
}
.l-footer__copyright {
    padding-block:13px;
    color:var(--color-white-1);
    font-size:12px;
    font-weight:300;
    text-align:center;
    background-color:#CC0033;
}
.copyright_ttl,.copyright_txt,.l-footer-nav__link {
    color:var(--color-white)
}
.l-footer-nav {
    padding-inline:18px;
    max-width:640px;
    margin:0 auto
}
.l-footer-nav__list {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 3.1rem
}
.l-footer-nav__list+.l-footer-nav__list {
    margin-top:10px
}
.l-footer-nav__link {
    position:relative;
    display:inline-block;
    font-size:14px;
    font-weight:300;
    padding-right:24px;
    white-space:nowrap
}

@media (hover:hover) and (pointer:fine) {
    .l-header__logo {
        transition:opacity var(--hover-duration)
    }
    .l-header__logo:hover {
        opacity:var(--hover-opacity-ratio)
    }
    .l-footer-nav__link:hover {
        text-decoration:underline
    }
}
.l-footer-nav__link::before {
    content:"";
    position:absolute;
    top:55%;
    right:0;
    display:block;
    width:18px;
    aspect-ratio:19/13;
    transform:translateY(-50%)
}
.copyright_area {
    background-color:#4a4a4a;
    padding-inline:3.125%;
    padding-top:.1%;
    padding-bottom:calc(var(--contents-side-padding) * 1px);
    font-weight:300
}
.copyright_ttl {
    font-size:14px
}
.copyright_txt {
    display:flex;
    font-size:12px;
    flex-wrap:wrap;
    margin-top:1em
}
.header_wrap,.l-header {
    justify-content:space-between;
    background-color:#ffffff
}
.copyright_txt li,.include .max_body .txt01 span {
    padding-right:1em
}
@media screen and (max-width:767px) {
    .l-header {
        height:calc(var(--fixed-header-height)/ var(--design-width) * 100vw);
        padding-block:calc(14 / var(--design-width) * 100vw);
        padding-inline:calc(var(--contents-side-padding)/ var(--design-width) * 100vw)
    }
    .l-header__logo {
        width:calc(160 / var(--design-width) * 100vw)
    }
    .l-footer__nav {
        max-width:none;
        padding-block:calc(43 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw)
    }
    .l-footer__copyright {
        padding-block:calc(60 / var(--design-width) * 100vw);
        font-size:calc(26 / var(--design-width) * 100vw)
    }
    .l-footer-nav {
        max-width:none;
        padding-inline:calc(var(--contents-side-padding)/ var(--design-width) * 100vw)
    }
    .l-footer-nav__list {
        display:block;
        padding-inline:calc(18 / var(--design-width) * 100vw)
    }
    .l-footer-nav__item+.l-footer-nav__item,.l-footer-nav__list+.l-footer-nav__list {
        margin-top:.5rem
    }
    .l-footer-nav__link {
        padding-right:calc(43 / var(--design-width) * 100vw);
        font-size:calc(26 / var(--design-width) * 100vw)
    }
    .l-footer-nav__link::before {
        width:calc(25 / var(--design-width) * 100vw)
    }
    .copyright_area {
        padding-inline:calc(var(--contents-side-padding)/ var(--design-width) * 100vw);
        max-width:100%
    }
    .copyright_ttl {
        font-size:calc(24 / var(--design-width) * 100vw)
    }
    .copyright_txt {
        display:block;
        font-size:calc(20 / var(--design-width) * 100vw)
    }
}
.header_flex,.header_wrap,.l-header {
    display:flex
}
.l-header {
    position:relative;
    align-items:center;
    margin-inline:0!important;
    padding-block:0!important;
    padding-inline:0!important
}
.header_wrap {
    position:fixed;
    margin:0 auto;
    align-items:center
}
.header_inner {
    height:calc(var(--fixed-header-height) * 1px);
    max-width:940px;
    margin-inline:auto;
    margin:0 auto;
    padding-block:24px;
    padding-inline:14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background-color:#ffffff
}
.header_flex li,.header_nav_item {
    width:50%
}
.nav_btn02 {
    width:95%;
    margin:calc(64 / var(--design-width) * 100vw) auto calc(32 / var(--design-width) * 100vw);
    text-align:center;
    max-width:470px
}
.header_hmb {
    display:block;
    width:30px;
    height:30px;
    position:relative;
    appearance:none;
    border:0;
    padding:0;
    margin:0;
    cursor:pointer
}
.header_hmb span,.header_hmb span::after,.header_hmb span::before {
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:2px;
    background-color:#CC0033;
    transition:.5s
}
.header_hmb span::before {
    top:-10px
}
.header_hmb span::after {
    bottom:-10px
}
.header_hmb.open span {
    background-color:transparent
}
.header_hmb.open span::before {
    top:0;
    transform:rotate(45deg)
}
.header_hmb.open span::after {
    bottom:0;
    transform:rotate(-45deg)
}
.nav_bg {
    position:absolute;
    background-color:#000;
    width:100%;
    height:100%;
    z-index:9998;
    transition:.5s
}
.nav_bg.open {
    opacity:.5;
    pointer-events:all
}
.header_nav_subttl {
    font-size:32px;
    margin:32px 42px 0;
    padding-left:1em;
    border-left:3px solid #ffffff
}
.header_nav_anchor {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    flex-direction:column;
    align-items:flex-start
}
.header_nav_anchor li {
    margin:0 21px 0 80px;
    width:76%
}
.header_nav_anchor li a,.header_nav_anchor_2 a {
    position:relative;
    display:flex;
    color:var(--color-white-1);
    border-bottom:2px solid var(--color-white-1);
    padding:.3em 0;
    font-size:28px;
    width:100%;
    justify-content:space-between;
    align-items:center
}
.header_nav_anchor li a::after,.header_nav_anchor_2 a::after {
    content: "";
    background-image: url(../img/triangle.png);
    display: inline-block;
    width: 14px;
    height: 16px;
    background-size: cover;
    margin-left: 10px;
}
.header_nav_item a span {
    display:inline-block;
    vertical-align:middle;
    line-height:1;
    width:.75em;
    height:.75em;
    box-sizing:border-box;
    margin-left:1em
}
.header_nav_anchor_2 {
    font-size: 28px;
    margin: 32px 42px 0;
    width: 81%;
}
.header_nav_anchor_2 a {
    text-indent: -1em;
    padding-left: 1em;
}
.header_nav_anchor_2_noboder {
    border-bottom: 0;
}
.header_nav {
    position:fixed;
    max-width:940px;
    width:82%;
    height:calc(100vh - 80px);
    overflow-y:scroll;
    top:80px;
    left:auto;
    right:0;
    background-color:#CC0033;
    color:#ffffff;
    transition:.5s;
    z-index:9999;
    margin:0 auto;
    padding-bottom: 40px;
}
.header_nav_list {
    display:flex;
    flex-wrap:wrap
}
.header_nav_item a {
    display:flex;
    justify-content:space-between;
    font-size:28px;
    text-decoration:none;
    padding:20px 50px
}
.header_nav.open {
    pointer-events:all;
    opacity:1;
    transition:.5s
}
.header_nav_item a span {
    border:.1em solid currentColor;
    border-left:0;
    border-bottom:0;
    transform:translateY(.375em) rotate(45deg)
}
.nav_btn_ttl {
    display:flex;
    align-items:center;
    font-size:22px;
    margin:20px 50px
}
.nav_btn_ttl:after,.nav_btn_ttl:before {
    content:"";
    flex-grow:1;
    height:1px;
    background:#000;
    margin:0 1em
}
.header_nav .c-btn-1--white02 {
    background-color:#c03;
    border-color:var(--color-base-1);
    color:#fff;
    padding:6px 60px;
    line-height:1.55
}
.nav_btn {
    padding:20px 50px;
    max-width:374px;
    margin:0 auto
}
.nav_btn_txt01,.nav_btn_txt02 {
    font-size:16px;
    padding:10px;
    text-align:center
}
.include .special-bnr_txt::before,.nav_btn_txt02::before {
    content:"＼";
    padding-right:1em
}
.include .special-bnr_txt::after,.nav_btn_txt02::after {
    content:"／";
    padding-left:1em
}
@media screen and (min-width:768px) {
    .nav_btn_flex {
        display:flex;
        justify-content:center;
        flex-wrap:wrap
    }
    .nav_btn_flex .nav_btn {
        padding:20px 10px;
        margin:0
    }
    .nav_btn_flex .nav_btn a {
        font-size:18px
    }
    .nav_btn_flex .nav_btn a::after {
        right:24px
    }
    .header_nav .c-btn-1--white {
        font-size:18px;
        padding:18px 60px
    }
}

/* plan_select_wrap エリア */
.include.plan_select_head {
    display:flex;
    width:100%;
    align-items:flex-end;
    height:120px
}
.include.plan_select_head li,.include.plan_select_head li:nth-child(3) button img {
    width:25%
}
.include.plan_select_head li:not(:last-child) {
    margin-right:.5%
}
.include.plan_select_head li button {
    display:flex;
    background-color:#fff;
    width:100%;
    border-radius:12px 12px 0 0;
    transition:.5s;
    justify-content:center;
    align-items:center
}
.include.plan_select_head li button img {
    width:100%
}
.include.plan_select_head li:first-child button {
    padding:12.75% 10%
}
.include.plan_select_head li:nth-child(2) button {
    padding:13.5% 10%
}
.include.plan_select_head li:nth-child(3) button {
    padding:11.34% 10%
}
.include.plan_select_head li:nth-child(4) button {
    padding:10%
}
.include.plan_select_head li:first-child button.select_plan {
    padding:20.75% 10%;
    border-bottom:6px solid #fe694c
}
.include.plan_select_head li:nth-child(2) button.select_plan {
    padding:21.5% 10%;
    border-bottom:6px solid #c03
}
.include.plan_select_head li:nth-child(3) button.select_plan {
    padding:19.34% 10%;
    border-bottom:6px solid #000
}
.include.plan_select_head li:nth-child(4) button.select_plan {
    padding:18% 10%;
    border-bottom:6px solid #1d428a
}
.include.plan_select_head li:nth-child(4) button img {
    width:70%
}
.include.plan_select_head li button.select {
    height:120%
}
.include.plan_select_body li {
    display:none;
    padding:4.125%
}
.include.plan_select_body li.select_body {
    display:block
}
.include .plan_select_body_ttl {
  width: 93%;
  margin: 0 auto;
  display: block;
}
.include .plan_select_body_ttl2 {
  width: 93%;
  margin: 30px auto 0;
  display: block;
}
.include .plan_select_body_ttl3 {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.include .plan_select_box {
  position: relative;
  padding: 30px 20px;
  background-color: #ffffff;
  border-radius: 15px;
  border-top-left-radius: 100px;
  margin-top: 30px;
}
.include .plan_select_box_num {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
}
.include .plan_select_box_num2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 66px;
}
.include .plan_select_box_ttl {
  width: 380px;
  display: block;
  margin: 0 auto;
}
.include .plan_select_box_ttl2 {
  margin: 30px auto 0;
}
.include .plan_select_box_img {
  width: 400px;
  display: block;
  margin: 30px auto 0;
}
.include .plan_select_box_img2 {
  width: 100%;
  display: block;
  margin: 30px auto 0;
}
.include .plan_select_box_img3 {
  width: 59%;
  display: block;
  margin: 30px auto 0;
}
.include .plan_select_box .plan_select_box_txt {
  font-size: 16px;
  text-align: left;
  margin-top: 20px;
  padding-left: 1em;
  text-indent: -1em;
}
.include .plan_select_box .plan_select_box_txt li {
  display: block;
}
.include .plan_select_box_txt2 {
  text-align: center;
  padding-top: 10px;
  font-size: 19px;
  font-weight: 500;
}
.include .plan_select_box_txt2 a {
  color: #0068B7;
  border-bottom: 1px solid #0068B7;
}
.include .plan_select_box_btn {
  display: block;
  margin-top: 30px;
}
.include .plan_select_box_btn img {
  width: 100%;
}
.include .plan_select_box_banner {
  width: 460px;
  display: block;
  margin: 30px auto 0;
}
.include .plan_select_body li {
  display: none;
  border-radius: 0 0 20px 20px;
  background-size: 100%;
}
.include .plan_select_body li.select_body {
  display: block;
}
.include .plan_select_note {
  width: 482px;
  margin: 5px auto 0;
  font-size: 16px;
  color: #000000;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #FFFFFF;
  paint-order: stroke;
}
.include .plan_select_note li {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.include .plan_select_note2 {
  width: 100%;
  margin: 10px auto 0;
  font-size: 16px;
  color: #000000;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #FFFFFF;
  paint-order: stroke;
}
.include .plan_select_note2 li {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.include .plan_select_note3 {
  width: 100%;
  margin: 5px auto 0;
  font-size: 16px;
  color: #000000;
}
.include .plan_select_note3 li {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.include .plan_select_note3_inner {
  width: 100%;
  margin: 0 auto;
  font-size: 16px;
  color: #000000;
}
.include .plan_select_note3_inner li {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.include .max_body {
    background-image: url(../img/tab_bg_1.png);
}
.include .mini_body {
    background-image: url(../img/tab_bg_2.png);
}
.include .ahamo_body {
    background-image: url(../img/tab_bg_3.png);
}
.plan_select_body_wrapper {
    padding: 5%;
}
.include .max_body .img02 {
    width:94%;
    margin:0 auto
}
.include .max_body .img03 {
    overflow-x:scroll
}
.include .max_body .img03 img {
    max-width:none;
    width:220%
}
.include .max_body .img04 {
    text-align:center;
    width:93%;
    margin:0 auto
}
.include .max_body .txt02 {
    text-align:center;
    width:75%;
    font-size:28px;
    border-bottom:4px solid #ca1855;
    padding-bottom:10px;
    margin:0 auto;
    font-weight:500
}
.include .mini_body p:nth-child(2),.include .ahamo_body p:nth-child(2),.include .nba_body p:nth-child(2) {
    text-align:center
}
.include .special-bnr_txt {
    text-align:center;
    font-size:24px;
    color:#fff
}
.include .accordion_wrapper {
    margin-top: 30px;
    display: block;
    border-radius: 15px;
    overflow: hidden;
}
.include .accordion_wrapper button {
  display: block;
}
.include .accordion_contents {
  background-color: #ffffff;
  padding: 20px;
  display: none;
  font-size: 16px;
}
.include .accordion_contents ul li {
  display: block;
  text-indent: -1.7em;
  padding-left: 1.7em;
}
.open {display: block!important;}

@media screen and (max-width:767px) {
    .header_inner {
        height:calc(var(--fixed-header-height)/ var(--design-width) * 100vw);
        padding-block:calc(29 / var(--design-width) * 100vw);
        padding-inline:calc(var(--contents-side-padding)/ var(--design-width) * 100vw)
    }
    .nav_bg {
        position:absolute;
        background-color:#000;
        opacity:0;
        pointer-events:none;
        width:100%;
        height:100%;
        z-index:9998;
        transition:.5s;
        top:0
    }
    .header_hmb {
        display:block;
        width:calc(30 / var(--design-width) * 100vw);
        height:calc(30 / var(--design-width) * 100vw);
        position:relative;
        appearance:none;
        border:0;
        padding:0;
        margin:0;
        cursor:pointer
    }
    .header_hmb span,.header_hmb span::after,.header_hmb span::before {
        height:calc(2 / var(--design-width) * 100vw)
    }
    .header_hmb span::before {
        top:calc(-10 / var(--design-width) * 100vw)
    }
    .header_hmb span::after {
        bottom:calc(-10 / var(--design-width) * 100vw)
    }
    .header_nav_anchor li {
        margin:0 calc(20 / 720 * 100vw) 0 calc(75 / 720 * 100vw);
        width:74%
    }
    .header_nav_anchor li a,.header_nav_anchor_2 a {
        border-bottom:calc(2 / var(--design-width) * 100vw) solid var(--color-white-1);
        font-size:calc(28 / var(--design-width) * 100vw)
    }
    .header_nav_subttl,.include .special-bnr_txt {
        font-size:calc(32 / var(--design-width) * 100vw);
        margin: calc(30 / 720 * 100vw) calc(40 / 720 * 100vw) 0;
    }
    .header_nav {
        height:calc(100vh - (var(--fixed-header-height)/ var(--design-width) * 100vw));
        top:calc(var(--fixed-header-height)/ var(--design-width) * 100vw)
    }
    .header_nav_list {
        display:block
    }
    .header_nav_item {
        width:100%
    }
    .header_nav_item a {
        font-size:calc(28 / var(--design-width) * 100vw);
        padding:calc(20 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw)
    }
    .header_nav_anchor_2 {
        font-size: calc(30 / 720 * 100vw);
        margin: calc(30 / 720 * 100vw) calc(40 / 720 * 100vw) 0;
        width: 80%;
    }
    .nav_btn_ttl {
        display:flex;
        align-items:center;
        font-size:calc(22 / var(--design-width) * 100vw)
    }
    .nav_btn {
        max-width:540px;
        padding:calc(5 / var(--design-width) * 100vw) calc(15 / var(--design-width) * 100vw)
    }
    .header_nav .c-btn-1--white {
        font-size:calc(26 / var(--design-width) * 100vw);
        padding-block:calc(21 / var(--design-width) * 100vw)
    }
    .header_nav .c-btn-1--white02 {
        padding:calc(3 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw) calc(3 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
        font-size:calc(26 / var(--design-width) * 100vw)
    }
    .nav_btn_txt01,.nav_btn_txt02 {
        font-size:calc(16 / var(--design-width) * 100vw);
        padding:calc(10 / var(--design-width) * 100vw)
    }
    .include.plan_select_head {
        height:15vw
    }
    .include.plan_select_head li button {
        border-radius:2vw 2vw 0 0
    }
    .include.plan_select_head li:first-child button.select_plan {
        border-bottom:1vw solid #fe694c
    }
    .include.plan_select_head li:nth-child(2) button.select_plan {
        border-bottom:1vw solid #c03
    }
    .include.plan_select_head li:nth-child(3) button.select_plan {
        border-bottom:1vw solid #000
    }
    .include.plan_select_head li:nth-child(4) button.select_plan {
        border-bottom:1vw solid #1d428a
    }
    .include .campaign_bg .c-section-plan {
        padding-bottom:calc(32 / var(--design-width) * 100vw)
    }

    .include .plan_select_body_ttl2 {
      margin: 5vw auto 0;
    }
    .include .plan_select_box {
        padding: 6vw 4vw;
        border-radius: 2vw;
        border-top-left-radius: 20vw;
        margin-top: 5vw;
    }
   .include .plan_select_box_num {
       width: 10.8vw;
    }
    .include .plan_select_box_num2 {
       width: 11vw;
    }
    .include .plan_select_box_ttl {
        width: 78%;
    }
    .include .plan_select_box_ttl2 {
        margin: 5vw auto 0;
    }
    .include .plan_select_box_img {
        width: 74vw;
        margin: 5vw auto 0;
    }
    .include .plan_select_box_img2 {
        margin: 5vw auto 0;
    }
    .include .plan_select_box_img3 {
        margin: 5vw auto 0;
    }
    .include .plan_select_box .plan_select_box_txt {
        font-size: 12px;
        margin-top: 2.6vw;
    }
    .include .plan_select_box_txt2 {
        font-size: 15px;
    }
    .include .plan_select_box_btn {
        margin-top: 5vw;
    }
    .include .plan_select_box_banner {
        width: 93%;
        margin: 5vw auto 0;
    }
    .include .plan_select_body li {
        border-radius: 0 0 2.7vw 2.7vw;
    }
    .include .plan_select_note {
        width: 92%;
        font-size: 12px;
    }
    .include .plan_select_note2 {
        width: 100%;
        font-size: 12px;
    }
    .include .plan_select_note3 {
        font-size: 12px;
    }
    .include .plan_select_note3_inner {
        font-size: 12px;
    }
    .include .max_body .txt01 {
        font-size:.75em
    }
    .include .max_body .txt02 {
        font-size:calc(28 / var(--design-width) * 100vw);
        border-bottom:calc(4 / var(--design-width) * 100vw) solid #ca1855;
        padding-bottom:calc(10 / var(--design-width) * 100vw)
    }
    .include .max_body .txt03 {
        font-size:calc(24 / var(--design-width) * 100vw)
    }
    .include .accordion_wrapper {
        border-radius: 2vw;
    }
    .include .accordion_contents {
      font-size: 12px;
    }
}
.dispNone {
    display:none
}