.btn-renual_prev .btn--in { transform: scale(1.6); }

/* ##############################################################################

    ANIMATION

############################################################################## */
  @keyframes temps_slider {
    0% { background-position: 0 0; }
    100% { background-position: -2770px 0; }
  }
  @keyframes temps_slider-sp {
    0% { background-position: 0 0; }
    100% { background-position: -1385px 0; }
  }
  @keyframes fade_in {
    0% { opacity: 0; }
    100% { opacity: 1; }
  }
  @keyframes fade_out {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }
  @keyframes btn_hov_in-bf {
    0% {
      width: 38%;
      opacity: .15;
    }
    100% {
      width: 210%;
      opacity: 1;
    }
  }
  @keyframes btn_hov_out-bf {
    0% {
      width: 210%;
      opacity: 1;
    }
    100% {
      width: 38%;
      opacity: .15;
    }
  }
  @keyframes btn_hov_in-clr-yel {
    0% { color: #222; }
    100% { color: #ffcb08; }
  }
  @keyframes btn_hov_out-clr-yel {
    0% { color: #ffcb08; }
    100% { color: #222; }
  }
  @keyframes btn_hov_in-clr-org {
    0% { color: #fff; }
    100% { color: #ff8022; }
  }
  @keyframes btn_hov_out-clr-org {
    0% { color: #ff8022; }
    100% { color: #fff; }
  }
  @keyframes btn_hov_in-clr-red {
    0% { color: #fff; }
    100% { color: #ed4327; }
  }
  @keyframes btn_hov_out-clr-red {
    0% { color: #ed4327; }
    100% { color: #fff; }
  }
  @keyframes btn_hov_in-clr-grn {
    0% { color: #07c755; }
    100% { color: #fff; }
  }
  @keyframes btn_hov_out-clr-grn {
    0% { color: #fff; }
    100% { color: #07c755; }
  }
  @keyframes btn_hov-arrow {
    0% {
      transform: translateX(-3px);
      opacity: 0;
    }
    25% {
      transform: translateX(0px);
      opacity: 1;
    }
    75% {
      transform: translateX(3px);
      opacity: 1;
    }
    100% {
      transform: translateX(6px);
      opacity: 0;
    }
  }
  @keyframes bounce {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      transform: scale3d(1, 1, 1);
    }
    20% {
      transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
      transform: scale3d(0.9, 0.9, 0.9);
    }
    60% {
      transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
      transform: scale3d(0.97, 0.97, 0.97);
    }
    to {
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
    20% {
      transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
      transform: scale3d(0.9, 0.9, 0.9);
    }
    60% {
      opacity: 1;
      transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
      transform: scale3d(0.97, 0.97, 0.97);
    }
    to {
      opacity: 1;
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes bounceOut {
    20% {
      transform: scale3d(0.9, 0.9, 0.9);
    }
    50%,
    55% {
      opacity: 1;
      transform: scale3d(1.1, 1.1, 1.1);
    }
    to {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
  }
  @keyframes flipInY {
    from {
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      animation-timing-function: ease-in;
      opacity: 0;
    }
    40% {
      transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      animation-timing-function: ease-in;
    }
    60% {
      transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
      opacity: 1;
    }
    80% {
      transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
      opacity: 1;
    }
    to {
      transform: perspective(400px);
      opacity: 1;
    }
  }
  @keyframes flipOutY {
    from {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
    30% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      opacity: 1;
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  @keyframes flipY {
    from {
      transform: perspective(400px) rotate3d(0, 1, 0, 0deg);
      animation-timing-function: ease-in;
    }
    20% {
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      animation-timing-function: ease-in;
    }
    40% {
      transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      animation-timing-function: ease-in;
    }
    60% {
      transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    }
    80% {
      transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
    to {
      transform: perspective(400px);
    }
  }
  @keyframes beatIn {
    0% {
      transform: scale(1);
      opacity: 0;
    }
    14% {
      transform: scale(1.2);
      opacity: 1;
    }
    35% {
      transform: scale(1);
      opacity: 1;
    }
    60% {
      transform: scale(1.15);
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }
  @keyframes tada {
    from {
      transform: scale3d(1, 1, 1);
    }
    10%,
    20% {
      transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -2deg);
    }
    40%,
    60%,
    90% {
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 2deg);
    }
    55%,
    80% {
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -2deg);
    }
    to {
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes slide-to_rgt {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(0%); }
  }
  @keyframes slide-rev_rgt {
    0% { transform: translateX(0%); }
    100% { transform: translateX(110%); }
  }
  @keyframes gnav_hov_out {
    0% {
      transform: scale(2);
    }
    100% {
      transform: scale(0);
    }
  } 
  @keyframes gnav_hov_in {
    0% {
      transform: scale(0);
    }
    100% {
      transform: scale(2);
    }
  }

  .beat_in {
    opacity: 0;
  }
  .visible .beat_in,
  .visible .chara .chara_txt,
  .visible .chara img:not(.chara_txt),
  .visible .tada,
  .visible.tada {
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
  }
  .visible .beat_in,
  .visible .chara .chara_txt {
    animation-duration: .25s;
    animation-delay: 1.2s;
    animation-name: beatIn;
    animation-timing-function: ease-in-out;
  }
  .visible .tada,
  .visible.tada {
    animation-duration: .5s;
    animation-delay: .8s;
    animation-name: tada;
  }
  @media screen and (min-width: 561px) {
    .visible .chara img:not(.chara_txt) {
      animation-fill-mode: both;
      animation-duration: .4s;
      animation-delay: 1s;
      backface-visibility: visible !important;
      animation-name: flipInY;
    }
  }
  @media screen and (max-width: 560px) {
    .chara img:not(.chara_txt) {
      opacity: 1;
    }
  }


/* ##############################################################################

    COMMON

############################################################################## */
  html {
    height: 100%;
    overflow-y: scroll;
  }
  body {
    height: 100%;
    font: 15px/1.231 'Noto Sans JP', 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
    line-height: 1.8;
    letter-spacing: .1em;
    text-align: justify;
  }
  img {
    -webkit-backface-visibility: hidden;
  }
  @media screen and (max-width: 560px) {
    body {
      font-size: 14px;
      -webkit-text-size-adjust: none;
    }
  }

/* layout
**************************************** */
  
  /* --- inner --- */
  .inner {
    width: 95%;
    max-width: 1280px;
    margin: 0 auto;
  }
  .inner-xs { max-width: 960px; }
  .inner-sm { max-width: 1064px; }
  .inner-lg { max-width: 1400px; }
  .inner-xl { max-width: calc(100% - 80px); }

  /* --- sect_pdg --- */
  .sect_pdg {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  .sect_pdg-nami {
    padding-top: 120px;
    padding-bottom: 160px;
  }
  .sect_pdg-btm_no {
    padding-bottom: 0;
  }
  @media screen and (max-width: 960px) {
    .sect_pdg {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .sect_pdg-btm_no {
      padding-bottom: 0;
    }
  }

  .poa-bf::before,
  .poa-af::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .ofh { overflow: hidden; }
  @media screen and (max-width: 560px) {
    .inner { width: calc(100% - 32px); }
    .inner-xl { max-width: calc(100% - 32px); }
    .sect_pdg {
      padding-top: 48px;
      padding-bottom: 48px;
    }
    .sect_pdg-nami {
      padding-top: 72px;
      padding-bottom: 72px;
    }
    .sect_pdg-btm_no {
      padding-bottom: 0;
    }
  }

  /* --- txt --- */
  .fnt-en {
    font-family: 'Roboto Condensed', sans-serif;
  }
  .fnt-bold {
    font-weight: bold;
  }
  .tbl-ctr {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  strong {
    transition: background .4s;
    transition-delay: 1s;
    background: linear-gradient(#ffd307, #ffd307) 0 100%/0 3px no-repeat;
  }
  .visible strong {
    background-size: 100% 3px;
  }

/* color
**************************************** */
  /* --- yel --- */
  .clr-yel,
  .clr-yel-bf::before,
  .clr-yel-af::after {
    color: #ffd307;
    fill: #ffd307;
  }
  .bg_clr-yel,
  .bg_clr-yel-bf::before,
  .bg_clr-yel-af::after {
    background-color: #ffd307;
  }
  .bdr_clr-yel,
  .bdr_clr-yel-bf::before,
  .bdr_clr-yel-af::after {
    border-color: #ffd307;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-yel:hover {
      color: #ffd307;
      fill: #ffd307;
    }
  }

  /* --- org --- */
  .clr-org,
  .clr-org-bf::before,
  .clr-org-af::after {
    color: #ff8022;
    fill: #ff8022;
  }
  .bg_clr-org,
  .bg_clr-org-bf::before,
  .bg_clr-org-af::after {
    background-color: #ff8022;
  }
  .bdr_clr-org,
  .bdr_clr-org-bf::before,
  .bdr_clr-org-af::after {
    border-color: #ff8022;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-org:hover {
      color: #ff8022;
      fill: #ff8022;
    }
  }

  /* --- red --- */
  .clr-red,
  .clr-red-bf::before,
  .clr-red-af::after {
    color: #ed4327;
    fill: #ed4327;
  }
  .bg_clr-red,
  .bg_clr-red-bf::before,
  .bg_clr-red-af::after {
    background-color: #ed4327;
  }
  .bdr_clr-red,
  .bdr_clr-red-bf::before,
  .bdr_clr-red-af::after {
    border-color: #ed4327;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-red:hover {
      color: #ed4327;
      fill: #ed4327;
    }
  }

  /* --- grn --- */
  .clr-grn,
  .clr-grn-bf::before,
  .clr-grn-af::after {
    color: #07c755;
    fill: #07c755;
  }
  .bg_clr-grn,
  .bg_clr-grn-bf::before,
  .bg_clr-grn-af::after {
    background-color: #07c755;
  }
  .bdr_clr-grn,
  .bdr_clr-grn-bf::before,
  .bdr_clr-grn-af::after {
    border-color: #07c755;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-grn:hover {
      color: #07c755;
      fill: #07c755;
    }
  }

  /* --- gry --- */
  .clr-gry,
  .clr-gry-bf::before,
  .clr-gry-af::after {
    color: #dfe0df;
    fill: #dfe0df;
  }
  .bg_clr-gry,
  .bg_clr-gry-bf::before,
  .bg_clr-gry-af::after {
    background-color: #dfe0df;
  }
  .bdr_clr-gry,
  .bdr_clr-gry-bf::before,
  .bdr_clr-gry-af::after {
    border-color: #dfe0df;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-gry:hover {
      color: #dfe0df;
      fill: #dfe0df;
    }
  }

  /* --- wht --- */
  .clr-wht,
  .clr-wht-bf::before,
  .clr-wht-af::after {
    color: #ffffff;
    fill: #ffffff;
  }
  .bg_clr-wht,
  .bg_clr-wht-bf::before,
  .bg_clr-wht-af::after {
    background-color: #ffffff;
  }
  .bdr_clr-wht,
  .bdr_clr-wht-bf::before,
  .bdr_clr-wht-af::after {
    border-color: #ffffff;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-wht:hover {
      color: #ffffff;
      fill: #ffffff;
    }
  }

  /* --- wht --- */
  .clr-blk,
  .clr-blk-bf::before,
  .clr-blk-af::after {
    color: #222;
    fill: #222;
  }
  .bg_clr-blk,
  .bg_clr-blk-bf::before,
  .bg_clr-blk-af::after {
    background-color: #222;
  }
  .bdr_clr-blk,
  .bdr_clr-blk-bf::before,
  .bdr_clr-blk-af::after {
    border-color: #222;
  }

/* ttl
**************************************** */
  .sect_ttl {
    font-size: 333%;
    letter-spacing: .1em;
    padding-left: 16px;
    padding-right: 16px;
  }
  .sect_ttl .fnt-sm {
    font-size: 72%;
  }
  .sect_ttl::before,
  .sect_ttl::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 72px;
    height: 8px;
  }
  .sect_ttl::before {
    left: -80px;
    transform: rotate(45deg) translateY(-50%);
  }
  .sect_ttl::after {
    right: -80px;
    transform: rotate(-45deg) translateY(-50%);
  }
  .sect_ttl.deco_none::before,
  .sect_ttl.deco_none::after {
    content: none;
  }
  .sect_ttl .cir::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -6px;
    width: 10px;
    height: 10px;
    border-radius: 100px;
    border-width: 2px;
    border-style: solid;
    transform: translateX(-50%);
  }
  .head1 {
    font-size: 133%;
  }
  .head1 .dot_line {
    margin-top: 6px;
    line-height: 6px;
  }
  .head1 .dot_line .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .head1 .dot_line .dot:not(:last-child) {
    margin-right: 10px;
  }
  .page_ttl {
    margin-top: 50px;
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .page_ttl .ttl_img {
    border-style: solid;
    border-width: 10px;
    border-radius: 30px;
    padding-top: 40px;
    padding-bottom: 56px;
    padding-left: 80px;
    padding-right: 80px;
    min-width: 730px;
  }
  .page_ttl .ttl_img::before {
    content: '';
    position: absolute;
    top: calc(100% - 16px);
    left: 50%;
    width: 9px;
    height: 80px;
    transform: rotate(20deg) translateX(-50%);
  }
  .tri_ttl {
    position: relative;
    font-size: 109%;
    margin-bottom: 4px;
    padding-left: 1.5em;
  }
  .tri_ttl::before {
    content: '';
    position: absolute;
    left: 0;
    top: 58%;
    transform: translateY(-50%);
    border-style: solid;
    border-top-width: 12px;
    border-right-width: 7px;
    border-left-width: 7px;
    border-bottom-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
  }
  @media screen and (max-width: 960px) {
    .sect_ttl {
      font-size: 240%;
    }
    .sect_ttl::before,
    .sect_ttl::after {
      width: 48px;
      height: 6px;
    }
    .sect_ttl::before {
      left: -52px;
    }
    .sect_ttl::after {
      right: -52px;
    }
    .page_ttl {
      margin-top: 64px;
      padding-top: 80px;
      padding-bottom: 80px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .page_ttl .ttl_img {
      min-width: auto;
      max-width: 730px;
      border-width: 6px;
      border-radius: 20px;
      padding-top: 32px;
      padding-bottom: 40px;
      padding-left: 64px;
      padding-right: 64px;
    }
    .page_ttl .ttl_img::before {
      top: calc(100% - 12px);
      width: 6px;
      height: 56px;
    }
    .page_ttl .ttl_img img {
      width: auto;
      height: 80px;
    }
  }
  @media screen and (max-width: 560px) {
    .sect_ttl {
      font-size: 190%;
      letter-spacing: .05em;
      text-align: center;
      line-height: 1.3em;
      padding-left: 6px;
      padding-right: 6px;
    }
    .page_ttl {
      margin-top: 56px;
      margin-bottom: 24px;
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .page_ttl .ttl_img {
      padding-top: 24px;
      padding-bottom: 32px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .page_ttl .ttl_img::before {
      top: calc(100% - 8px);
      height: 40px;
    }
    .page_ttl .ttl_img img {
      height: 48px;
    }
    .head1 {
      font-size: 119%;
    }
  }

/* btn
**************************************** */
  .btn--in {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 18px;
    padding-bottom: 18px;
    padding-left: 28px;
    padding-right: 40px;
    border-radius: 100px;
    line-height: 1.6em;
    overflow: hidden;
  }
  .btn--in::before {
    content: '';
    position: absolute;
    width: 38%;
    height: 122%;
    top: 50%;
    left: 6px;
    z-index: -1;
    background-color: #fff;
    opacity: .3;
    transform: translate(-50%,-50%);
    border-radius: 1000px;
  }
  .btn--in::after {
    border-radius: 1000px;
    border-width: 3px;
    border-style: solid;
    opacity: 0;
  }
  .btn--in .arrow {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 16px;
  }
  .btn--in .arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-color: #fff;
    border-top-width: 2px;
    border-top-style: solid;
    border-right-width: 2px;
    border-right-style: solid;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
  }
  .btn--in .shad {
    border-radius: 100px;
    background-color: rgba(0,0,0,.1);
  }

  /* --- size --- */
  .btn-sm .btn--in {
    font-size: 90%;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 18px;
    padding-right: 24px;
  }
  .btn-sm .btn--in .arrow {
    width: 7px;
    height: 7px;
  }
  .btn-sm .btn--in .arrow::before {
    transform: translateY(-1px) rotate(45deg);
  }
  @media screen and (min-width: 961px) {
    .btn_list .btn .btn--in,
    .btn_list .btn .btn--in::before,
    .btn_list .btn .btn--in::after,
    .btn_list .btn .btn--in .arrow {
      animation-duration: .4s;
      animation-timing-function: cubic-bezier(.07, .51, .12, 1);
      animation-delay: 0s;
      animation-iteration-count: 1;
      animation-fill-mode: forwards;
    }
    .btn_list .btn .btn--in::before {
      animation-delay: 0s;
      animation-name: btn_hov_out-bf;
    }
    .btn_list .btn .btn--in:hover::before {
      animation-name: btn_hov_in-bf;
    }
    .btn_list .btn .btn--in::after {
      animation-name: fade_out;
    }
    .btn_list .btn .btn--in:hover::after {
      animation-name: fade_in;
    }
    .btn_list .btn .btn--in.bg_clr-yel {
      animation-name: btn_hov_out-clr-yel;
    }
    .btn_list .btn .btn--in.bg_clr-yel:hover {
      animation-name: btn_hov_in-clr-yel;
    }
    .btn_list .btn .btn--in.bg_clr-org {
      animation-name: btn_hov_out-clr-org;
    }
    .btn_list .btn .btn--in.bg_clr-org:hover {
      animation-name: btn_hov_in-clr-org;
    }
    .btn_list .btn .btn--in.bg_clr-red {
      animation-name: btn_hov_out-clr-red;
    }
    .btn_list .btn .btn--in.bg_clr-red:hover {
      animation-name: btn_hov_in-clr-red;
    }
    .btn_list .btn .btn--in.bg_clr-wht {
      animation-name: btn_hov_out-clr-grn;
    }
    .btn_list .btn .btn--in.bg_clr-wht:hover {
      animation-name: btn_hov_in-clr-grn;
    }
    .btn_list .btn .btn--in .arrow::before {
      transition: .4s cubic-bezier(.07, .51, .12, 1);
    }
    .btn_list .btn .btn--in:hover .arrow {
      animation-name: btn_hov-arrow;
      animation-iteration-count: infinite;
      animation-duration: .7s;
      animation-timing-function: linear;
    }
    .btn_list .btn .btn--in.bg_clr-yel:hover .arrow::before,
    .btn_list .btn .btn--in.bg_clr-gry:hover .arrow::before {
      border-color: #ffcb08;
    }
    .btn_list .btn .btn--in.bg_clr-org:hover .arrow::before {
      border-color: #ff8022;
    }
    .btn_list .btn .btn--in.bg_clr-red:hover .arrow::before {
      border-color: #ed4327;
    }
    .btn_list .btn .btn--in.bg_clr-wht:hover .arrow::before {
      border-color: #fff;
    }
  }
  @media screen and (max-width: 560px) {
    .btn--in {
      padding-top: 12px;
      padding-bottom: 12px;
      padding-left: 16px;
      padding-right: 24px;
    }
    .btn--in .arrow {
      width: 8px;
      height: 8px;
      margin-right: 12px;
      transform: translateY(-1px);
    }
    .btn--in::before {
      height: 185%;
    }
  }

/* bg
**************************************** */
  .bg-ptrn {
    background-repeat: repeat;
    background-position: center;
  }
  .bg-ptrn-org {
    background: url(../images/otegoro/common/ptrn-org.jpg);
  }
  .bg-ptrn-yel {
    background: url(../images/otegoro/common/ptrn-yel.jpg);
  }
  .bg-slash {
    background-repeat: repeat;
    background-position: center;
  }
  .bg-slash_lft-gry {
    background-image: url(../images/otegoro/common/slash_lft-gry.png);
  }
  .bg-slash_rgt-gry {
    background-image: url(../images/otegoro/common/slash_rgt-gry.png);
  }
  .bg-slash_lft-yel {
    background-image: url(../images/otegoro/common/slash_lft-yel.png);
  }
  .bg-slash_rgt-yel {
    background-image: url(../images/otegoro/common/slash_rgt-yel.png);
  }
  .bg-slash_lft-org {
    background-image: url(../images/otegoro/common/slash_lft-org.png);
  }
  .bg-slash_rgt-org {
    background-image: url(../images/otegoro/common/slash_rgt-org.png);
  }
  .bg-slash_lft-wht {
    background-image: url(../images/otegoro/common/slash_lft-wht.png);
  }
  .bg-slash_rgt-wht {
    background-image: url(../images/otegoro/common/slash_rgt-wht.png);
  }
  @media screen and (max-width: 560px) {
    .bg-ptrn {
      background-size: 150px;
    }
    .bg-slash {
      background-size: 4px;
    }
  }

/* nami
**************************************** */
  .nami {
    position: absolute;
    left: 0;
    width: 100%;
    height: 47px;
    background-size: 170px;
    background-repeat: repeat-x;
  }
  .nami-top {
    top: -1px;
    background-image: url(../images/otegoro/common/nami-top.png);
  }
  .nami-btm {
    bottom: -1px;
    background-image: url(../images/otegoro/common/nami-btm.png);
  }
  @media screen and (max-width: 960px) {
    .nami {
      background-size: 85px;
      height: 24px;
    }
  }

/* ashirai
**************************************** */
  .ashirai-ttl span {
    display: inline-block;
    width: 2px;
    height: 10px;
  }
  .ashirai-ttl span:nth-of-type(1) {
    transform: rotate(-25deg) translateY(1px);
  }
  .ashirai-ttl span:nth-of-type(2) {
    margin-left: 8px;
    margin-right: 8px;
  }
  .ashirai-ttl span:nth-of-type(3) {
    transform: rotate(25deg) translateY(1px);
  }

/* area_arrow
**************************************** */
  .area_arrow {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .area_arrow .arrow {
    position: absolute;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
  }
  .area_arrow .arrow-lft {
    right: 50%;
    border-width: 300px 0 0 1920px;
    border-color: transparent transparent transparent #ffffff;
  }
  .area_arrow .arrow-rgt {
    left: 50%;
    border-width: 0 0 300px 1920px;
    border-color: transparent transparent #ffffff transparent;
  }

/* chara
**************************************** */
  .chara {
    position: absolute;
  }
  .chara_txt {
    position: absolute;
    bottom: 100%;
  }
  .chara img {
    opacity: 0;
  }

/* slick
**************************************** */
  .slick-dots {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
  }
  .slick-dots button,
  .slick-dots a {
    position: relative;
    color: transparent;
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
    display: block;
    width: 80px;
    height: 4px;
    appearance: none;
    outline: none;
    transition: .4s all;
  }
  .slick-dots button::before,
  .slick-dots a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #dfe0df;
    transition: .4s all;
  }
  .slick-dots .slick-active button::before,
  .slick-dots .slick-active a::before {
    background-color: #ed4327;
  }
  .slick-dots a {
    width: 48px;
    height: auto;
    padding-bottom: 12px;
    color: #fff;
    text-align: center;
    line-height: 1em;
    letter-spacing: 0em;
    font-weight: bold;
    font-size: 250%;
    font-family: 'Roboto Condensed', sans-serif;
  }
  .slick-dots a::before {
    height: 4px;
    border-radius: 100px;
    background-color: #fff;
  }
  .slick-dots .slick-active a {
    color: #ed4327;
  }
  .slick-dots .slick-active a::before {
    background-color: #ed4327;
  }

/* attn
**************************************** */
  .attn {
    font-size: 80%;
    opacity: .75;
  }
  .attn-kome {
    position: relative;
    padding-left: 1.2em;
    line-height: 1.6em;
  }
  .attn-kome::before {
    content: '※';
    position: absolute;
    top: 0;
    left: 0;
  }

/* bnr_list
**************************************** */
  .bnr_list--item {
    width: 32%;
  }
  .bnr_list--item a {
    display: block;
    background-color: #dfe0df;
    padding-top: 64px;
    border-radius: 10px;
  }
  .bnr_list--item a::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
  }
  .bnr_list--item a .img {
    position: absolute;
    left: 0;
    bottom: 36px;
    width: 100%;
    text-align: center;
  }
  .bnr_list--item a .txt {
    display: block;
    padding-top: 2px;
    padding-bottom: 7px;
    line-height: 27px;
    overflow: hidden;
    border-radius: 0 0 10px 10px;
  }
  .bnr_list--item a .txt::before {
    z-index: -1;
    opacity: .6;
  }
  .bnr_list--item a .txt br {
    display: none;
  }
  @media screen and (min-width: 961px) {
    .bnr_list--item a:hover {
      background-color: #ff8022;
    }
    .bnr_list--item a:hover img {
      animation-fill-mode: forwards;
      animation-iteration-count: 1;
      animation-fill-mode: both;
      animation-duration: .35s;
      backface-visibility: visible !important;
      animation-name: flipY;
    }
  }
  @media screen and (max-width: 768px) {
    .bnr_list--item {
      width: 32.5%;
    }
    .bnr_list--item a {
      padding-top: 48px;
    }
    .bnr_list--item a::before {
      top: 3px;
      left: 3px;
      width: calc(100% - 6px);
      height: calc(100% - 6px);
    }
    .bnr_list--item a .txt {
      line-height: 20px;
      font-size: 85%;
      letter-spacing: 0em;
    }
    .bnr_list--item a .img {
      bottom: 29px;
    }
    .bnr_list--item-app .img img {
      width: 66px;
    }
    .bnr_list--item-simu .img img {
      width: 59px;
    }
    .bnr_list--item-contact .img img {
      width: 67px;
    }
  }
  @media screen and (max-width: 560px) {
    .bnr_list--item {
      width: 100%;
    }
    .bnr_list--item:not(:last-child) {
      margin-bottom: 24px;
    }
    .bnr_list--item a {
      background-color: #ffd307;
    }
  }


/* ##############################################################################

    HEADER

############################################################################## */
  .header {
    position: fixed;
    top: 0;
    left: 0%;
    width: 100%;
    z-index: 10000;
  }
  .header .inner {
    max-width: calc(100% - 208px);
  }
  .header::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 96%;
    left: 2%;
    height: 100%;
    border-radius: 0 0 50px 50px;
  }
  .scrolled .header::before {
    box-shadow: 0 0 10px rgb(0 0 0 / 5%);
  }
  .gnav--item:not(:last-child) {
    margin-right: 24px;
  }
  .gnav--item a {
    font-size: 107%;
    display: block;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .gnav--item a::before,
  .gnav--item a::after {
    content: '';
    position: absolute;
    border-radius: 100%;
    z-index: -1;
  }
  .gnav--item a::before {
    width: 20px;
    height: 20px;
    top: -10px;
    left: calc(50% - 10px);
    transform: translateY(-110%);
  }
  .gnav--item a::after {
    width: 40px;
    height: 40px;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
    opacity: .5;
    transform: scale(0);
    animation-duration: .4s;
    animation-name: bounceOut;
    animation-fill-mode: both;
  }
  .gnav--item.current a::before {
    transform: translateY(0%);
  }
  .gnav--item span {
    position: relative;
    display: inline-block;
    z-index: 1;
  }
  .gnav--price a,
  .gnav--price a::before {
    border-radius: 100px;
  }
  .gnav--price a {
    font-size: 107%;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 32px;
    padding-right: 32px;
    overflow: hidden;
  }
  .gnav--price a::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: -1;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-width: 1px;
    border-style: solid;
  }
  .gnav--price a .ico {
    margin-right: 8px;
    z-index: -5;
  }
  .gnav--price a .ico::before {
    border-radius: 100%;
    z-index: -10;
    transform: scale(0);
  }
  .gnav--price a svg {
    display: block;
  }
  .fix_bnr {
    position: fixed;
    right: 0;
    top: 120px;
    z-index: 1000;
    opacity: 0;
    transform: translateX(10px);
  }
  body.scrolled .fix_bnr {
    opacity: 1;
    transform: translate(0,0);
  }
  .fix_bnr .bnr_list--item:not(:last-child) {
    margin-bottom: 36px;
  }
  .fix_bnr .bnr_list--item a {
    display: block;
    padding-top: 58px;
    width: 150px;
    border-radius: 16px 0 0 16px;
  }
  .fix_bnr .bnr_list--item a::before {
    content: '';
    position: absolute;
    top: 4px;
    right: 0;
    width: calc(100% - 4px);
    height: calc(100% - 8px);
    border-radius: 12px 0 0 12px;
    border-right: none;
  }
  .fix_bnr .bnr_list--item .img {
    bottom: 30px;
  }
  .fix_bnr .bnr_list--item .txt {
    font-size: 83%;
    line-height: 26px;
    border-radius: 0 0 0 16px;
    padding-top: 0;
    padding-bottom: 4px;
    overflow: hidden;
  }
  .fix_bnr .bnr_list--item-simu .txt {
    letter-spacing: .03em;
  }
  .gnav_btn {
    display: none;
  }
  @media screen and (min-width: 961px) {
    .gnav--item a:hover::after {
      animation-duration: .6s;
      animation-name: bounceIn;
      animation-fill-mode: both;
    }
    .gnav--item a:hover span {
      transform: perspective(400px) rotate3d(1, 0, 0, 360deg);
    }
    .gnav--price a:hover .ico::before {
      transform: scale(24);
    }
  }
  @media screen and (min-width: 1600px) {
    .gnav--item:not(:last-child) {
      margin-right: 40px;
    }
  }
  @media screen and (min-width: 1281px) {
    .gnav--logo,
    .gnav--bnrs {
      display: none;
    }
    .fix_bnr .bnr_list {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .gnav--price {
      margin-bottom: 0;
      margin-left: 40px;
    }
    .gnav--price a:hover .ico::before {
      transform: scale(15);
    }
  }
  @media screen and (max-width: 1480px) {
    .header::before {
      width: 98%;
      left: 1%;
    }
    .header .inner {
      max-width: calc(100% - 136px);
    }
  }
  @media screen and (max-width: 1280px) {
    .header::before {
      display: none;
    }
    .header--logo {
      animation-duration: .6s;
      animation-fill-mode: both;
      animation-name: bounceIn;
    }
    .scrolled .header--logo {
      animation-duration: .6s;
      animation-name: bounceOut;
    }
    .gnav {
      position: fixed;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      opacity: 0;
      pointer-events: none;
      background-color: rgba(255,211,7,.9);
      padding: 104px;
    }
    .gnav::before {
      content: '';
      position: absolute;
      top: 38px;
      left: 38px;
      z-index: -1;
      width: calc(100% - 76px);
      height: calc(100% - 76px);
      background-color: #fff;
      border-radius: 40px;
      animation-duration: .45s;
      animation-fill-mode: both;
      animation-name: flipOutY;
      opacity: 0;
    }
    .header.active .gnav {
      pointer-events: all;
      opacity: 1;
    }
    .header.active .gnav::before {
      animation-name: flipInY;
      animation-delay: .2s;
    }
    .gnav--in {
      display: block;
      overflow-y: scroll;
      height: calc(100vh - 208px);
    }
    .gnav_btn {
      display: flex;
      width: 76px;
      height: 76px;
      z-index: 10000;
    }
    .gnav_btn::before,
    .gnav_btn::after {
      content: '';
      position: absolute;
      border-radius: 100%;
    }
    .gnav_btn::before {
      top: calc(50% - 30px);
      left: calc(50% - 30px);
      z-index: -1;
      width: 60px;
      height: 60px;
      transform: scale(0);
      animation-duration: .4s;
      animation-name: bounceOut;
      animation-fill-mode: both;
    }
    .gnav_btn::after {
      width: 64px;
      height: 64px;
      top: 50%;
      left: 50%;
      z-index: -10;
      transform: translate(-50%,-50%);
    }
    .scrolled .gnav_btn::after {
      box-shadow: 0 0 10px rgb(0 0 0 / 5%);
    }
    .gnav_btn .lines {
      width: 32px;
      height: 14px;
    }
    .gnav_btn .lines .line {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #222;
      border-radius: 100px;
    }
    .gnav_btn .lines .line:nth-of-type(1) {
      top: 0;
    }
    .gnav_btn .lines .line:nth-of-type(2) {
      top: calc(50% - 1px);
    }
    .gnav_btn .lines .line:nth-of-type(3) {
      top: calc(100% - 2px);
    }
    .header.active .gnav_btn .lines .line:nth-of-type(1),
    .header.active .gnav_btn .lines .line:nth-of-type(3) {
      top: 50%;
    }
    .header.active .gnav_btn .lines .line:nth-of-type(1) {
      transform: translateY(-50%) rotate(200deg);
    }
    .header.active .gnav_btn .lines .line:nth-of-type(2) {
      left: 6px;
      opacity: 0;
    }
    .header.active .gnav_btn .lines .line:nth-of-type(3) {
      transform: translateY(-50%) rotate(340deg);
    }
    .header.active .gnav_btn::before {
      animation-duration: .6s;
      animation-name: bounceIn;
      animation-fill-mode: both;
    }
    .gnav_btn .txt {
      font-size: 68%;
      line-height: 1em;
      margin-top: 4px;
      letter-spacing: .025em;
    }
    .gnav--logo,
    .gnav--price,
    .gnav--list,
    .gnav--bnrs {
      opacity: 0;
      transform: translateY(8px);
      transition: .6s cubic-bezier(.07, .51, .12, 1);
    }
    .header.active .gnav--logo,
    .header.active .gnav--price,
    .header.active .gnav--list,
    .header.active .gnav--bnrs {
      opacity: 1;
      transform: translateY(0px);
    }
    .header.active .gnav--logo {
      transition-delay: .6s;
    }
    .header.active .gnav--price {
      transition-delay: .7s;
    }
    .header.active .gnav--list {
      transition-delay: .8s;
    }
    .header.active .gnav--bnrs {
      transition-delay: .9s;
    }
    .gnav--price {
      max-width: 380px;
      margin-left: auto;
      margin-right: auto;
    }
    .gnav--price a {
      font-size: 140%;
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .gnav--price a::before {
      top: 3px;
      left: 3px;
      width: calc(100% - 6px);
      height: calc(100% - 6px);
    }
    .gnav--list {
      margin-top: -24px;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
    }
    .gnav--item {
      width: 25%;
      margin-top: 24px;
      text-align: center;
    }
    .gnav--item:not(:last-child) {
      margin-right: 0;
    }
    .gnav--item-price {
      display: none;
    }
    .gnav--item a::before {
      width: 80%;
      height: 4px;
      border-radius: 10px;
      left: 50%;
      top: calc(100% - 4px);
      transform: translateX(-50%);
      background-color: #dfe0df;
    }
    .gnav--item.current a::before {
      background-color: #ffd307;
      transform: translateX(-50%);
    }
    .gnav--bnrs {
      margin-top: 72px;
    }
    .fix_bnr {
      top: auto;
      top: inherit;
      bottom: 0;
      width: 100%;
      padding-left: 24px;
      padding-right: 24px;
      transform: translateY(10px);
    }
    body.scrolled .fix_bnr {
      opacity: 0;
      transform: translateY(10px);
    }
    body.scrolled:not(.fix_sum-show) .fix_bnr {
      opacity: 1;
      transform: translate(0,0);
    }
    body.scrolled .fix_bnr.is_hide {
      opacity: 0;
      transform: translateY(10px);
    }
    .fix_bnr .bnr_list {
      -webkit-align-items: flex-end;
      -ms-flex-align: end;
      align-items: flex-end;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
    .fix_bnr .bnr_list--item {
      width: 32%;
    }
    .fix_bnr .bnr_list--item .img {
      bottom: 26px;
    }
    .fix_bnr .bnr_list--item:not(:last-child) {
      margin-bottom: 0;
    }
    .fix_bnr .bnr_list--item a {
      width: 100%;
      border-radius: 16px 16px 0 0;
      background-color: #ffd308;
    }
    .fix_bnr .bnr_list--item a::before {
      right: 4px;
      width: calc(100% - 8px);
      height: calc(100% - 4px);
      border-radius: 12px 12px 0 0;
      border-right: 1px solid #fff;
      border-bottom: none;
    }
    .fix_bnr .bnr_list--item .txt {
      border-radius: 0px;
      padding-bottom: 0;
    }
  }
  @media screen and (max-width: 960px) {
    .header .inner {
      max-width: calc(100% - 88px);
    }
    .gnav {
      padding-top: 88px;
      padding-bottom: 88px;
      padding-left: 72px;
      padding-right: 72px;
    }
    .gnav--item {
      width: 33.333%;
    }
    .gnav--item a::before {
      width: 90%;
    }
  }
  @media screen and (max-width: 768px) {
    .gnav--bnrs {
      margin-top: 56px;
    }
  }
  @media screen and (max-width: 560px) {
    .header .inner {
      max-width: 100%;
      width: calc(100% - 16px);
    }
    .header--nav {
      -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
      justify-content: flex-end;
    }
    .header--logo {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      text-align: center;
      height: 64px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .header--logo svg {
      width: 180px;
      height: 38px;
    }
    .gnav {
      padding-top: 64px;
      padding-bottom: 64px;
      padding-left: 48px;
      padding-right: 48px;
    }
    .gnav::before {
      top: 24px;
      left: 24px;
      width: calc(100% - 48px);
      height: calc(100% - 48px);
      border-radius: 20px;
      animation: none;
      opacity: 0;
      transform: scale(.85);
      transition: .5s cubic-bezier(.07, .51, .12, 1);
    }
    .header.active .gnav::before {
      opacity: 1;
      transform: scale(1);
      transition-delay: .2s;
    }
    .gnav--in {
      height: calc(100%);
    }
    .gnav--price a {
      font-size: 120%;
    }
    .gnav--bnrs {
      margin-top: 40px;
    }
    .gnav_btn {
      width: 64px;
      height: 64px;
    }
    .gnav_btn::before {
      top: calc(50% - 26px);
      left: calc(50% - 26px);
      width: 52px;
      height: 52px;
    }
    .gnav_btn::after {
      width: 56px;
      height: 56px;
    }
    .gnav--logo {
      margin-bottom: 16px;
    }
    .gnav--logo svg {
      width: 140px;
      height: 96px;
    }
    .gnav--list {
      margin-top: 0;
    }
    .gnav--item {
      width: 50%;
      margin-top: 0;
    }
    .gnav--item a {
      padding-top: 12px;
      padding-bottom: 16px;
    }
    .fix_bnr {
      padding-left: 12px;
      padding-right: 12px;
    }
    .fix_bnr .bnr_list--item {
      width: 32.5%;
    }
    .fix_bnr .bnr_list--item a {
      padding-top: 48px;
    }
    .fix_bnr .bnr_list--item .txt {
      line-height: 1.2em;
      min-height: 42px;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding-bottom: 8px;
    }
    .fix_bnr .bnr_list--item a .txt br {
      display: block;
    }
    .fix_bnr .bnr_list--item .img {
      bottom: 42px;
    }
    .fix_bnr .bnr_list--item-app .img img {
      width: 61px;
    }
    .fix_bnr .bnr_list--item-simu .img img {
      width: 55px;
    }
    .fix_bnr .bnr_list--item-contact .img img {
      width: 63px;
    }
  }


/* ##############################################################################

    FOOTER

############################################################################## */

/* contact
*************************************************** */

  .contact-line::before {
    top: 24px;
    height: calc(100% - 48px);
    z-index: -1;
    border-radius: 40px;
  }
  .contact-line .head1 .dot_line {
    display: block;
    margin-top: 16px;
  }
  .contact-line .imgarea {
    width: 300px;
    height: 300px;
    border-radius: 100%;
    border-width: 10px;
    border-style: solid;
    margin-right: 32px;
    margin-left: 56px;
  }
  .contact-line .attn {
    opacity: .9;
  }
  .contact-line .btn_list {
    position: absolute;
    right: 64px;
    bottom: -8px;
  }
  .contact-line .btn--in {
    border: 4px solid #07c755;
  }
  .contact-line .btn--in::before {
    background-color: #07c755;
    opacity: .1;
  }
  .contact-line .btn--in .arrow::before {
    border-color:#07c755;
  }
  .contact-form .txtarea {
    flex: 1;
  }
  .contact-form .txtarea .attn_list .attn {
    font-size: 100%;
  }
  .contact-form .txtarea .img {
    position: absolute;
    top: 10%;
    right: 0;
    width: 100%;
    transform: translateY(-50%);
    z-index: -1;
  }
  .page-price .contact .inner {
    padding-bottom: 0;
  }
  .page-price .contact-form .txtarea p {
    margin-bottom: 32px;
    font-size: 120%;
  }
  .contact-form .cf_form {
    padding-top: 64px;
    padding-bottom: 64px;
    padding-left: 40px;
    padding-right: 40px;
    border-width: 10px;
    border-style: solid;
    border-radius: 40px;
    z-index: 1;
  }
  .contact-form .cf_form th {
    width: 180px !important;
  }
  .contact-form .cf_form .chara {
    width: 203px;
    bottom: calc(100% + 10px);
    left: 0;
  }
  .contact-form .cf_form .chara .chara_txt {
    left: -24px;
    bottom: 104%;
  }
  @media screen and (max-width: 960px) {
    .contact .sect_ttl {
      margin-bottom: 16px;
    }
    .contact-line {
      padding-bottom: 88px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .contact-line::before {
      top: 88px;
      height: calc(100% - 108px);
      border-radius: 20px;
    }
    .contact-line > .flx {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .contact-line .head1 {
      text-align: center;
    }
    .contact-line .imgarea {
      width: 180px;
      height: 180px;
      padding-left: 32px;
      padding-right: 32px;
      margin-right: auto;
      margin-left: auto;
      border-width: 8px;
    }
    .contact-line .btn_list {
      right: 0;
      transform: translateX(0%);
      text-align: center;
      width: 100%;
    }
    .contact-form .cf_form {
      border-radius: 20px;
    }
    .contact-form .cf_form .chara {
      width: 134px;
    }
    .contact-form .cf_form .chara img:not(.chara_txt) {
      width: 90px;
    }
  }
  @media screen and (max-width: 560px) {
    .contact .head1 img {
      width: auto;
      height: 24px;
    }
    .contact-line {
      padding-left: 16px;
      padding-right: 16px;
    }
    .contact-line::before {
      top: 60px;
      height: calc(100% - 82px);
    }
    .contact-line .imgarea {
      width: 120px;
      height: 120px;
      padding-left: 24px;
      padding-right: 24px;
      margin-bottom: 8px;
      border-width: 5px;
    }
    .contact-line .btn_list {
      bottom: -2px;
    }
    .contact-form .txtarea {
      padding-left: 104px;
    }
    .contact-form .txtarea .txt-ctr {
      text-align: left;
    }
    .page-price .contact .inner {
      padding-bottom: 24px;
    }
    .page-price .contact-form .txtarea {
      padding-left: 0;
    }
    .page-price .contact-form .txtarea p {
      margin-bottom: 24px;
    }
    .page-price .contact-form .txtarea .txt-ctr {
      text-align: center;
    }
    .contact-form .cf_form {
      padding: 16px 24px 24px;
      border-width: 5px;
    }
    .contact-form .cf_form th {
      width: 100% !important;
      text-align: left;
      padding-bottom: 10px;
    }
    .contact-form .cf_form td {
      padding-bottom: 6px;
    }
    .contact-form .cf_form .chara {
      width: 102px;
      bottom: calc(100% + 5px);
    }
    .contact-form .cf_form .chara img:not(.chara_txt) {
      width: 68px;
    }
  }
  @media screen and (max-width: 320px) {
    .contact-line::before {
      top: 44px;
      height: calc(100% - 72px);
    }
    .contact-line .imgarea {
      width: 88px;
      height: 88px;
      padding-left: 16px;
      padding-right: 16px;
    }
  }

/* footer
*************************************************** */
  .footer nav {
    padding-top: 120px;
    padding-bottom: 80px;
  }
  .footer--info .footer--comp {
    padding-top: 24px;
    margin-top: 24px;
    border-top: 2px solid #fff;
  }
  .footer--info .footer--comp h3 {
    padding-right: 12px;
    margin-right: 8px;
  }
  .footer--info .footer--comp h3::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    border-style: solid;
    border-width: 4px 0 4px 4px;
    border-color: transparent transparent transparent #fff;
    transform: translateY(-50%);
  }
  .footer--info .footer--comp ul {
    font-size: 85%;
    line-height: 1.6em;
  }
  .footer--info .footer--comp ul li:not(:last-child) {
    margin-bottom: 2px;
  }
  .footer--info .footer--comp ul li h4 {
    width: 64px;
    text-align: right;
    margin-right: 12px;
  }
  .footer .foot_list {
    width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -20px;
  }
  .footer .foot_list--item {
    width: 25%;
    margin-top: 20px;
  }
  .footer .foot_list--item a {
    display: block;
    padding-left: 22px;
  }
  .footer .foot_list--item a::before,
  .footer .foot_list--item a::after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    z-index: -1;
    width: 8px;
    height: 8px;
    border-radius: 100px;
  }
  .footer .foot_list--item a::after {
    width: 16px;
    height: 16px;
    top: calc(50% - 8px);
    left: -4px;
    animation-duration: .4s;
    animation-name: bounceOut;
    animation-fill-mode: both;
  }
  .footer .foot_list--item a span {
    display: inline-block;
  }
  .footer .footer--bnrs .bnr_list {
    width: 100%;
    max-width: 704px;
    margin-left: auto;
    margin-right: auto;
  }
  .footer .footer--bnrs .bnr_list--item a {
    background-color: rgba(255,255,255,.75);
  }
  .footer .footer--bnrs .bnr_list--item a::before {
    border-color: #ffd307;
  }
  .footer .footer--bnrs .bnr_list--item a .txt::before {
    background-color: #ffd307;
    opacity: .4;
  }
  .footer .footer--copyright {
    font-size: 80%;
    padding-top: 6px;
    padding-bottom: 6px;
    letter-spacing: .2em;
  }
  .footer .footer--copyright span {
    display: block;
  }
  @media screen and (min-width: 961px) {
    .footer .foot_list--item a:hover::after {
      animation-duration: .6s;
      animation-name: bounceIn;
      animation-fill-mode: both;
    }
    .footer .foot_list--item a:hover span {
      transform: perspective(400px) rotate3d(1, 0, 0, 360deg);
    }
    .footer .footer--bnrs .bnr_list--item a:hover {
      background-color: #ff8022;
    }
    .footer .footer--bnrs .bnr_list--item a:hover .txt::before {
      background-color: #fff;
      opacity: .6;
    }
  }
  @media screen and (max-width: 960px) {
    .footer nav {
      display: block;
      padding-top: 224px;
      padding-bottom: 32px;
    }
    .footer .foot_list {
      width: 100%;
    }
    .footer--logo {
      position: absolute;
      top: 72px;
      left: 50%;
      transform: translateX(-50%);
    }
    .footer--info .footer--comp {
      padding-top: 0;
      border: none;
    }
  }
  @media screen and (max-width: 768px) {
    .footer .foot_list--item {
      width: 25%;
    }
  }
  @media screen and (max-width: 560px) {
    .footer nav {
      padding-top: 174px;
      padding-bottom: 24px;
    }
    .footer .footer--logo {
      top: 56px;
    }
    .footer .footer--logo svg {
      width: 140px;
      height: 92px;
    }
    .footer .foot_list {
      margin-top: -12px;
    }
    .footer .foot_list--item {
      margin-top: 12px;
      margin-right: 0;
      width: 50%;
    }
    .footer .footer--bnrs .bnr_list {
      width: 80%;
    }
  }


/* ##############################################################################

    TOP

############################################################################## */
  
  .otegoro {
    overflow: hidden;
    z-index: 1;
  }

/* hero
*************************************************** */
  .hero {
    padding-top: 96px;
    padding-bottom: 96px;
    padding-left: 160px;
    padding-right: 160px;
    margin-top: 76px;
  }
  .hero .hero_bg {
    left: 80px;
    width: calc(100% - 160px);
    border-radius: 100px;
  }
  .hero .txtarea .catch-02 {
    width: 81.4%;
  }
  .hero .txtarea .catch .line {
    display: inline-block;
    height: 10px;
    background-color: #fff;
  }
  .hero .txtarea .catch-01 .line { width: 91%; }
  .hero .txtarea .catch-02 .line { width: 90%; }
  .hero .txtarea .catch-03 .line { width: 69%; }
  .hero .imgarea {
    padding-left: 80px;
  }
  .hero .imgarea .batch,
  .hero .imgarea .mock-tab,
  .hero .imgarea .mock-sp {
    position: absolute;
  }
  .hero .imgarea .batch {
    top: -48px;
    right: -80px;
    z-index: 1;
  }
  .hero .imgarea .mock-tab {
    bottom: -6%;
    right: -22%;
    max-width: 46%;
  }
  .hero .imgarea .mock-sp {
    bottom: -8%;
    right: 18%;
    max-width: 22.5%;
  }
  @media screen and (min-width: 1281px) {
    .hero .txtarea {
      width: 44%;
      max-width: 528px;
    }
    .hero .imgarea {
      flex: 1;
    }
  }
  @media screen and (max-width: 1400px) {
    .hero .imgarea {
      padding-left: 40px;
    }
  }
  @media screen and (max-width: 1280px) {
    .hero {
      padding-top: 64px;
      padding-bottom: 64px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .hero .inner {
      width: 100%;
      display: block;
    }
    .hero .txtarea {
      margin-bottom: 40px;
    }
    .hero .hero-catch {
      max-width: 532px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 32px;
    }
    .hero .hero-desc {
      text-align: center;
    }
    .hero .mocks {
      max-width: 480px;
      margin-bottom: -88px;
      margin-top: 80px;
      margin-left: auto;
      margin-right: auto;
      transform: translateX(-13%);
    }
  }
  @media screen and (max-width: 960px) {
    .hero .hero_bg {
      left: 48px;
      width: calc(100% - 96px);
    }
    .hero .hero-catch,
    .hero .hero-desc {
      max-width: 48%;
    }
    .hero .hero-catch .catch.btm40 {
      margin-bottom: 24px;
    }
    .hero .txtarea .catch .line {
      height: 8px;
    }
    .hero .hero-desc {
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media screen and (max-width: 768px) {
    .hero {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .hero .hero_bg {
      left: 24px;
      width: calc(100% - 48px);
      border-radius: 30px;
    }
    .hero .hero-catch,
    .hero .hero-desc {
      max-width: 73%;
    }
    .hero .hero-catch {
      margin-bottom: 16px;
    }
    .hero .hero-catch .catch.btm40 {
      margin-bottom: 16px;
      line-height: 1.3em;
    }
    .hero .txtarea .catch .line {
      height: 5px;
    }
    .hero .mocks {
      width: 82%;
      margin-top: 32px;
      margin-bottom: -56px;
      transform: translateX(-17%);
    }
  }
  @media screen and (max-width: 560px) {
    .hero {
      margin-top: 64px;
    }
    .hero .imgarea .batch {
      top: -24px;
      right: -32px;
      width: 88px;
    }
  }

/* temps
*************************************************** */
  .temps_img {
    width: 100%;
    height: 570px;
    border-top-width: 8px;
    border-top-style: solid;
    border-bottom-width: 8px;
    border-bottom-style: solid;
    background: url("../images/otegoro/temps_img.jpg") repeat-x 0 0;
    background-size: auto 100%;
    animation-duration: 80.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: temps_slider;
  }
  @media screen and (max-width: 960px) {
    .temps_img {
      height: 285px;
      animation-name: temps_slider-sp;
    }
  }
  @media screen and (max-width: 560px) {
    .temps {
      padding-top: 64px;
    }
    .temps .sect_ttl::before,
    .temps .sect_ttl::after {
      top: 68%;
    }
    .temps_img {
      border-top-width: 5px;
      border-bottom-width: 5px;
    }
  }

/* price_plan
*************************************************** */
  .price_plan {
    z-index: -1;
  }
  .price_plan_ttl {
    margin-bottom: -88px;
    z-index: 1;
  }
  .price_plan_ttl::before {
    content: '';
    position: absolute;
    bottom: -60%;
    left: -25%;
    z-index: -1;
    width: 150%;
    padding-top: 150%;
    border-radius: 100%;
  }
  .plan_list--item {
    width: 50%;
    padding-top: 180px;
    padding-bottom: 80px;
    padding-left: 96px;
    padding-right: 96px;
  }
  .plan_list--item .plan_img {
    padding-top: 72px;
    padding-bottom: 80px;
    padding-left: 80px;
    padding-right: 80px;
    border-radius: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 768px;
    width: 100%;
  }
  .plan_list--item .plan_img .limit_batch {
    position: absolute;
    z-index: 10;
    top: -5.5vw;
    right: calc(50% + 12.5vw);
    max-width: 11.5vw;
    width: 180px;
    transform: rotate(-10deg);
  }
  .plan_list--item .ttl {
    position: absolute;
    width: 66%;
    bottom: 91%;
    left: calc(50% - 33%);
  }
  .price_plan .btn .btn--in {
    display: table;
    color: #fff;
  }
  @media screen and (min-width: 1281px) {
    .price_plan .btn_list {
      margin-top: -44px;
    }
    .price_plan .btn .btn--in {
      font-size: 133%;
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 56px;
      padding-right: 80px;
    }
    .price_plan .btn .btn--in::before {
      opacity: .15;
    }
    .price_plan .btn .btn--in .arrow {
      width: 12px;
      height: 12px;
      margin-right: 24px;
    }
    .price_plan .btn .btn--in .arrow::before {
      border-top-width: 3px;
      border-right-width: 3px;
    }
  }
  @media screen and (max-width: 1600px) {
    .price_plan_ttl {
      transform: scale(.8);
    }
    .plan_list--item {
      padding-top: 160px;
      padding-bottom: 80px;
      padding-left: 64px;
      padding-right: 64px;
    }
    .plan_list--item .plan_img {
      padding-left: 48px;
      padding-right: 48px;
    }
  }
  @media screen and (max-width: 1280px) {
    .price_plan_ttl {
      margin-bottom: -64px;
      transform: scale(.7);
    }
    .plan_list--item {
      padding-top: 120px;
      padding-bottom: 64px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .plan_list--item .plan_img {
      padding-top: 48px;
      padding-bottom: 56px;
      padding-left: 32px;
      padding-right: 32px;
    }
    .price_plan .btn_list {
      margin-top: -30px;
    }
  }
  @media screen and (max-width: 960px) {
    .plan_list--item {
      width: 100%;
      display: block;
      padding-bottom: 48px;
    }
    .plan_list--item-syoki0 {
      padding-top: 192px;
      border-radius: 100px 100px 0 0;
    }
    .plan_list--item-otoku {
      padding-top: 88px;
      border-radius: 0 0 100px 100px;
    }
    .plan_list--item .ttl {
      max-width: 46%;
      left: calc(50% - 23%);
      bottom: 94%;
    }
    .plan_list--item .plan_img {
      padding-left: 48px;
      padding-right: 48px;
    }
    .plan_list--item .plan_img .limit_batch {
      top: -11vw;
      right: -5vw;
      max-width: 21vw;
      transform: rotate(10deg);
    }
    .price_plan .btn .btn--in {
      font-size: 125%;
      padding-top: 20px;
      padding-bottom: 20px;
      padding-left: 48px;
      padding-right: 64px;
    }
    .price_plan .btn .btn--in .arrow {
      width: 10px;
      height: 10px;
    }
  }
  @media screen and (max-width: 560px) {
    .price_plan {
      padding-top: 12px;
    }
    .price_plan_ttl {
      transform: scale(.5);
    }
    .plan_list--item {
      padding-left: 16px;
      padding-right: 16px;
      padding-bottom: 32px;
    }
    .plan_list--item-syoki0 {
      padding-top: 136px;
      border-radius: 32px 32px 0 0;
    }
    .plan_list--item-otoku {
      padding-top: 64px;
      border-radius: 0 0 32px 32px;
    }
    .plan_list--item .plan_img {
      border-radius: 30px;
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .plan_list--item .plan_img .limit_batch {
      max-width: 18vw;
      top: -7vw;
    }
    .plan_list--item .ttl {
      max-width: 66%;
      left: calc(50% - 33%);
      bottom: 92%;
    }
    .plan_list--item .plan_img .limit_batch {
      top: -12vw;
      right: -4vw;
      max-width: 23vw;
    }
    .price_plan > .btn_list {
      margin-top: -32px;
    }
    .price_plan .btn .btn--in {
      font-size: 116%;
      padding-top: 16px;
      padding-bottom: 16px;
      padding-left: 24px;
      padding-right: 32px;
    }
    .price_plan .btn .btn--in::before {
      height: 173%;
    }
    .price_plan .btn .btn--in .arrow {
      margin-right: 16px;
      width: 8px;
      height: 8px;
    }
  }

/* solution
*************************************************** */
  .solution {
    padding-top: 96px;
    padding-bottom: 184px;
  }
  .solution_list--item {
    width: 31.5%;
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 40px;
    padding-bottom: 56px;
  }
  .solution_list--item .poa {
    border-radius: 24px;
  }
  .solution_list--item .bg-slash {
    transform: translate(6px,6px);
    z-index: -10;
  }
  .solution_list--item .ttl {
    padding-top: 48px;
    padding-bottom: 48px;
    font-size: 147%;
    line-height: 2.2em;
  }
  .solution_list--item .ttl .fnt-lg {
    font-size: 159%;
  }
  .solution_list--item .ttl .fnt-lg::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
    opacity: .75;
    z-index: -1;
  }
  .solution_list--item:not(:first-child) .ttl .fnt-lg {
    letter-spacing: 0em;
  }
  .solution_list--item .ttl .deco {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 190px;
    height: 190px;
    border-radius: 100%;
    border: 2px solid #dfe0df;
    transform: translate(-50%,-50%);
    z-index: -1;
  }
  .solution_list--item .ttl .deco::before {
    border-radius: 100%;
    opacity: .5;
    transform: translate(4px,4px);
  }
  .solution_list--item .ttl .deco::after {
    content: '';
    position: absolute;
    bottom: -28px;
    left: 50%;
    width: 2px;
    height: 40px;
    transform: translateX(-50%) rotate(15deg);
  }
  .solution .chara {
    bottom: 100%;
  }
  .solution .chara-3 {
    left: 0;
  }
  .solution .chara-3 .chara_txt {
    left: -24px;
    bottom: 84%;
  }
  .solution .chara-5 {
    right: 16px;
  }
  .solution .chara-5 .chara_txt {
    right: -56px;
    bottom: 97%;
  }
  .solution.visible .chara-5 img:not(.chara_txt) {
    animation-delay: 1.2s;
  }
  .solution.visible .chara-5 img {
    animation-delay: 1.4s;
  }
  @media screen and (max-width: 1280px) {
    .solution .sect_ttl {
      width: 70%;
      margin-left: auto;
      margin-right: auto;
    }
    .solution_list--item .ttl {
      padding-top: 40px;
      padding-bottom: 40px;
      line-height: 1.8em;
    }
    .solution_list--item .ttl .fnt-lg {
      font-size: 133%;
    }
    .solution_list--item .ttl .deco {
      width: 158px;
      height: 158px;
    }
    .solution_list--item .ttl .deco::after {
      bottom: -22px;
      height: 32px;
    }
  }
  @media screen and (max-width: 960px) {
    .solution_list--item {
      width: 100%;
      padding-top: 32px;
      padding-bottom: 40px;
      padding-left: 64px;
      padding-right: 64px;
    }
    .solution_list--item:not(:last-child) {
      margin-bottom: 24px;
    }
    .solution_list--item p {
      text-align: center;
    }
    .solution .chara-3 { left: 16px; }
    .solution .chara-3 img:not(.chara_txt) { width: 98px; }
    .solution .chara-3 .chara_txt { left: -16px; }
    .solution .chara-5 { right: 32px; }
    .solution .chara-5 img:not(.chara_txt) { width: 98px; }
    .solution .chara-5 .chara_txt { right: -24px; }
  }
  @media screen and (max-width: 560px) {
    .solution .sect_ttl {
      width: 68%;
    }
    .solution {
      padding-top: 56px;
      padding-bottom: 80px;
    }
    .solution_list--item {
      padding-top: 24px;
      padding-bottom: 32px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .solution_list--item p {
      text-align: left;
    }
    .solution_list--item .ttl .fnt-lg::before {
      height: 12px;
    }
    .solution .chara-3 { left: 6px; }
    .solution .chara-5 { right: 14px; }
    .solution .chara-3 img:not(.chara_txt) { width: 68px; }
    .solution .chara-5 img:not(.chara_txt) { width: 62px; }
  }

/* point
*************************************************** */
  .point .sect_ttl {
    font-size: 320%;
    position: relative;
  }
  .point .sect_ttl img {
    transform: translate(6px,-10px);
  }
  .point_list--item .imgarea {
    width: 48%;
  }
  .point_list--item .imgarea .arrow {
    position: absolute;
    top: 112px;
    width: 13%;
  }
  .point_list--item:not(:last-child) {
    margin-bottom: 32px;
  }
  .point_list--item:nth-of-type(odd) .imgarea {
    margin-left: 104px;
  }
  .point_list--item:nth-of-type(odd) .imgarea .arrow {
    left: 11px;
    transform: translateX(-100%);
  }
  .point_list--item:nth-of-type(even) .imgarea {
    margin-right: 104px;
  }
  .point_list--item:nth-of-type(even) .imgarea .arrow {
    right: 12px;
    transform: rotate(180deg) translateX(-100%);
  }
  .point_list--item .txtarea {
    flex: 1;
  }
  .point_list--item .txtarea p,
  .point_list--item .txtarea .btn_list {
    padding-left: 104px;
  }
  .point_list--item .txtarea .btn_list {
    margin-top: 40px;
  }
  .point_list--item01 .chara-9 {
    bottom: 100%;
    right: 88px;
    width: 187px;
  }
  .point_list--item01 .imgarea .img_txt {
    border-radius: 100px;
    position: absolute;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 24px;
    padding-right: 24px;
    text-shadow: 2px 1px 0 #fff;
    font-size: 107%;
    border-width: 4px;
    border-style: solid;
  }
  .point_list--item01 .imgarea .img_txt01 {
    top: 6%;
    left: -7%;
  }
  .point_list--item01 .imgarea .img_txt02 {
    top: 32%;
    right: -10%;
  }
  .point_list--item01 .imgarea .img_txt03 {
    bottom: 32%;
    left: -14%;
  }
  .point_list--item01 .imgarea .img_txt04 {
    bottom: 9%;
    right: -7%;
  }
  .point_list--item01 .chara-9 .chara_txt {
    bottom: 97%;
    right: -2%;
  }
  .point_list--item02 .chara-5 {
    left: 0;
    bottom: 5.35%;
    width: 210px;
  }
  .point_list--item02 .chara-5,
  .point_list--item02 .img_txt,
  .point_list--item03 .img_ashirai {
    z-index: 1;
  }
  .point_list--item02 .chara-5 .chara_txt {
    bottom: 87%;
    left: -70px;
  }
  .point_list--item02 .img_txt {
    position: absolute;
    bottom: 56px;
    right: -40px;
  }
  .point_list--item02 .scroll_img {
    position: absolute;
    overflow-y: scroll;
    top: 51.55%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 36.3%;
    height: 76.5%;
    border-radius: 0 0 28px 28px;
  }
  .point_list--item03 .img_ashirai {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 131.536%;
  }
  @media screen and (max-width: 1280px) {
    .point_list--item01 .chara-9 {
      right: 0;
    }
    .point_list--item:nth-of-type(odd) .imgarea .arrow {
      left: 1.7%;
    }
    .point_list--item:nth-of-type(even) .imgarea .arrow {
      right: 1.64%;
    }
  }
  @media screen and (max-width: 960px) {
    .point .sect_ttl {
      display: table;
      margin-left: auto;
      margin-right: auto;
      padding-left: 80px;
      padding-right: 0;
      margin-bottom: 32px;
      text-align: left;
    }
    .point .sect_ttl img {
      position: absolute;
      left: 0;
      bottom: 0;
      transform: none;
      width: 80px;
    }
    .point .sect_ttl span {
      display: block;
      line-height: 1em;
    }
    .point .sect_ttl span:not(:last-child) {
      margin-bottom: 16px;
    }
    .point_list--item {
      position: relative;
      display: block;
      padding-top: calc(214px + 32px);
    }
    .point_list--item .txtarea h3 {
      position: absolute;
      margin-bottom: 0;
      top: 0;
      left: 0;
      width: 100%;
      text-align: center;
      z-index: -1;
    }
    .point_list--item .txtarea h3 img {
      height: 214px;
      width: auto;
      max-width: inherit;
    }
    .point_list--item .txtarea p,
    .point_list--item .txtarea .btn_list {
      padding-left: 0;
    }
    .point_list--item .imgarea {
      display: table;
      width: auto;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 32px;
    }
    .point_list--item:nth-of-type(odd) .imgarea {
      margin-left: auto;
    }
    .point_list--item:nth-of-type(even) .imgarea {
      margin-right: auto;
    }
    .point_list .point_list--item .imgarea .arrow {
      display: none;
    }
    .point_list--item01 .chara-9 {
      display: none;
    }
    .point_list--item01 .imgarea .img_txt01 {
      left: -4%;
    }
    .point_list--item01 .imgarea .img_txt02 {
      right: -3%;
    }
    .point_list--item01 .imgarea .img_txt03 {
      left: -7%;
    }
    .point_list--item01 .imgarea .img_txt04 {
      right: -2%;
    }
    .point_list--item02 .chara-5 {
      width: 34.314%;
    }
    .point_list--item02 .chara-5 img:not(.chara_txt) {
      width: 50.48%;
    }
    .point_list--item02 .chara-5 .chara_txt {
      left: -36%;
    }
    .point_list--item02 .img_txt {
      width: 39.216%;
      right: -8%;
    }
    .point_list--item02 .scroll_img {
      border-radius: 0 0 4vw 4vw;
    }
  }
  @media screen and (max-width: 560px) {
    .point .sect_ttl {
      padding-left: 48px;
      font-size: 214%;
      margin-bottom: 16px;
    }
    .point .sect_ttl img {
      width: 50px;
      bottom: -3px;
    }
    .point .sect_ttl span:not(:last-child) {
      margin-bottom: 10px;
    }
    .point_list--item {
      padding-top: calc(30vw + 16px);
    }
    .point_list--item:not(:last-child) {
      margin-bottom: 24px;
    }
    .point_list--item .txtarea h3 img {
      height: 30vw;
    }
    .point_list--item .imgarea {
      width: 87%;
      margin-bottom: 16px;
    }
    .point_list--item01 .imgarea .img_txt {
      font-size: 85%;
      padding-top: 6px;
      padding-bottom: 6px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .point_list--item .txtarea .btn_list {
      margin-top: 20px;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
  }

/* work
*************************************************** */
  .works .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .works .works--in {
    padding-top: 72px;
    padding-bottom: 72px;
    padding-left: 80px;
    padding-right: 80px;
    margin-bottom: 88px;
  }
  .works .works--in::before,
  .works .works--in .bg-slash {
    border-radius: 50px;
  }
  .works .works--in::before {
    z-index: -10;
  }
  .works .works--in .bg-slash {
    z-index: -100;
    transform: translate(12px,12px);
  }
  .works .works_list--item:not(:first-child) {
    display: none;
  }
  .works .works_list.slick-initialized .works_list--item {
    display: block;
  }
  .works .works_list .slick-list {
    overflow: visible;
  }
  .works .works_list--item .imgarea {
    margin-right: 56px;
    max-width: 52%;
  }
  .works .works_list--item .work_img-sp {
    position: absolute;
    bottom: -24px;
    right: 84%;
    width: 33.585%;
  }
  .works .works_list--item .item--in .txtarea {
    flex: 1;
  }
  .works .works_list--item .item--in .txtarea .ttl span {
    display: block;
  }
  .works .works_list--item .item--in .txtarea .ttl span.ttl-name {
    font-size: 213%;
    line-height: 1.4em;
  }
  .works .works_list--item .item--in .txtarea .ttl span.ttl-kana {
    font-size: 93%;
    opacity: .7;
  }
  .works .works_list .slick-dots {
    position: absolute;
    bottom: -160px;
    left: 50%;
    transform: translateX(-50%);
  }
  .works .works_list .slick-dots li {
    margin-left: 16px;
    margin-right: 16px;
  }
  .works .works_list .slick-arrow {
    position: absolute;
    top: calc(50% - 48px);
    width: 96px;
    height: 96px;
    border-radius: 100%;
    background: #fff;
    color: transparent;
    border: none;
  }
  .works .works_list .slick-arrow::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    border-top-width: 6px;
    border-top-style: solid;
    border-right-width: 6px;
    border-right-style: solid;
    border-color: #ffd307;
  }
  .works .works_list .slick-prev {
    right: calc(100% + 112px);
  }
  .works .works_list .slick-prev::before {
    transform: translate(-50%,-50%) rotate(-135deg);
  }
  .works .works_list .slick-next {
    left: calc(100% + 112px);
  }
  .works .works_list .slick-next::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .works .info_list--item:not(:last-child) {
    margin-bottom: 16px;
  }
  .works .info_list--item .info_ttl {
    border-radius: 100px;
    display: table;
    font-size: 87%;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 12px;
    padding-right: 12px;
    margin-right: 16px;
  }
  .works .info_list--item > p {
    font-size: 93%;
  }
  .works .info_list--item .txtarea {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 24px;
    padding-right: 24px;
    margin-left: 16px;
    transform: translateY(-14px);
    font-size: 80%;
  }
  .works .info_list--item .txtarea::before {
    opacity: .2;
    border-radius: 0 30px 30px 30px;
    z-index: -1;
  }
  .works .link a {
    font-size: 85%;
    padding-bottom: 6px;
  }
  .works .link img {
    margin-right: 8px;
  }
  .works .link a .line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    overflow: hidden;
  }
  .works .link a .line::before {
    transform: translateX(-110%);
  }
  .works .works--in .chara-3 {
    position: absolute;
    right: 120px;
    bottom: calc(100% - 4px);
  }
  .works .works--in .chara-3 .chara_txt {
    right: -26%;
    bottom: 95%;
  }
  @media screen and (min-width: 961px) {
    .works .works_list .slick-arrow,
    .works .works_list .slick-arrow::before {
      transition: .25s all;
    }
    .works .works_list .slick-arrow:hover {
      background-color: #ff8022;
      animation-fill-mode: forwards;
      animation-iteration-count: 1;
      animation-fill-mode: both;
      animation-duration: .35s;
      animation-name: flipY;
      backface-visibility: visible !important;
    }
    .works .works_list .slick-arrow:hover::before {
      border-color: #fff;
    }
    .works .link a:hover .txt {
      color: #ffcb08;
    }
    .works .link a:hover .line::before {
      animation-fill-mode: forwards;
      animation-iteration-count: 1;
      animation-duration: .25s;
      animation-delay: 0s,.3s;
      animation-name: slide-to_rgt,slide-rev_rgt;
    }
  }
  @media screen and (max-width: 1400px) {
    .works .inner {
      padding-left: 112px;
      padding-right: 112px;
    }
  }
  @media screen and (max-width: 1064px) {
    .works .inner {
      padding-left: 40px;
      padding-right: 40px;
    }
    .works .works--in {
      max-width: calc(100% - 80px);
      margin-left: auto;
      margin-right: auto;
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: 40px;
      padding-right: 40px;
      margin-bottom: 64px;
    }
    .works .works--in::before,
    .works .works--in .bg-slash {
      border-radius: 32px;
    }
    .works .works_list--item .item--in {
      display: block;
    }
    .works .works_list--item .imgarea {
      margin-right: 0;
      max-width: 65%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 32px;
    }
    .works .info_list--item .txtarea::before {
      border-radius: 0 10px 10px 10px;
    }
    .works .works_list--item .item--in .txtarea .ttl {
      text-align: center;
    }
    .works .works_list--item .item--in .txtarea .ttl span.ttl-name {
      font-size: 165%;
    }
    .works .works_list .slick-arrow {
      width: 48px;
      height: 48px;
      top: calc(50% - 24px);
    }
    .works .works_list .slick-prev {
      right: calc(100% + 64px);
    }
    .works .works_list .slick-next {
      left: calc(100% + 64px);
    }
    .works .works_list .slick-arrow::before {
      width: 12px;
      height: 12px;
      border-top-width: 4px;
      border-right-width: 4px;
    }
    .works .works_list .slick-dots {
      bottom: -120px;
    }
    .works .works_list .slick-dots a {
      width: 32px;
      font-size: 180%;
    }
    .works .works_list .slick-dots li {
      margin-left: 8px;
      margin-right: 8px;
    }
    .works .works--in .chara-3 {
      right: 16px;
    }
  }
  @media screen and (max-width: 960px) {
    .works .works--in .chara-3 img:not(.chara_txt) {
      width: 98px;
      bottom: calc(100% - 3px);
    }
  }
  @media screen and (max-width: 560px) {
    .works .works--in::before,
    .works .works--in .bg-slash {
      border-radius: 20px;
    }
    .works .inner {
      padding-left: 12px;
      padding-right: 12px;
    }
    .works .works--in .bg-slash {
      transform: translate(10px,10px);
    }
    .works .works--in {
      max-width: 100%;
      padding-top: 32px;
      padding-bottom: 32px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .works .info_list--item .txtarea {
      padding-left: 16px;
      padding-right: 16px;
    }
    .works .works_list--item .imgarea {
      max-width: 75%;
    }
    .works .works_list .slick-arrow {
      top: 20vw;
      width: 40px;
      height: 40px;
      border: 2px solid #ffd307;
    }
    .works .works_list .slick-prev {
      right: calc(100% + 4px);
    }
    .works .works_list .slick-next {
      left: calc(100% + 4px);
    }
    .works .works_list .slick-arrow::before {
      width: 8px;
      height: 8px;
      border-top-width: 3px;
      border-right-width: 3px;
    }
    .works .works_list .slick-dots {
      bottom: -96px;
    }
    .works .works--in .chara-3 {
      right: 0;
      bottom: calc(100% - 2px);
    }
    .works .works--in .chara-3 img:not(.chara_txt) {
      width: 75px;
    }
  }

/* select
*************************************************** */
  .select .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .select .ttl_wrap picture {
    margin-left: 188px;
    margin-right: 188px;
  }
  .select .ttl_wrap .lines {
    display: block;
    width: 100%;
    height: 6px;
    margin-top: 32px;
  }
  .select .ttl_wrap .lines .line {
    position: absolute;
    top: 0;
    width: 33.333%;
    height: 100%;
  }
  .select .ttl_wrap .lines .line01 {
    left: 0;
  }
  .select .ttl_wrap .lines .line02 {
    left: 33.333%;
  }
  .select .ttl_wrap .lines .line03 {
    left: 66.666%;
  }
  .select .ttl_wrap .chara {
    bottom: 5px;
  }
  .select .ttl_wrap .chara-9 {
    left: 0;
    width: 151px;
  }
  .select .ttl_wrap .chara-9 .chara_txt {
    left: -11%;
    bottom: 102%;
  }
  .select .ttl_wrap .chara-3 {
    right: -28px;
  }
  .select .ttl_wrap .chara-3 .chara_txt {
    right: 0;
    bottom: 97%;
  }
  .select.visible .ttl_wrap .chara-5 img:not(.chara_txt) {
    animation-delay: 1.2s;
  }
  .select.visible .ttl_wrap .chara-5 img {
    animation-delay: 1.4s;
  }
  .select_list--item:not(:first-child) {
    display: none;
  }
  .select_list.slick-initialized .select_list--item:not(:first-child) {
    display: block;
  }
  .select_list .select_list--item:not(:first-child) {
    display: none;
  }
  .slick-initialized.select_list .select_list--item:not(:first-child){
    display: block;
  }
  .select_list .slick-list {
    overflow: visible;
  }
  .select_list--item {
    max-width: 373px;
    margin-left: 20px;
    margin-right: 20px;
  }
  .select_list--item .ttl {
    padding-bottom: 2px;
    z-index: -1;
  }
  .select_list--item .ttl::before {
    content: '';
    position: absolute;
    top: 40%;
    left: 50%;
    width: 120px;
    height: 120px;
    border-radius: 100%;
    transform: translateX(-50%);
    z-index: -1;
  }
  .select_list--item .img_btns {
    padding: 4px;
    border-radius: 0 0 8px 8px;
  }
  .select_list--item .btns {
    padding-top: 12px;
    padding-bottom: 8px;
  }
  .select_list--item .btn {
    width: 50%;
  }
  .select_list--item .btn:not(:last-child) {
    border-right: 3px solid #fff;
  }
  .select_list--item .btn a {
    line-height: 1em;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .select_list--item .btn a::before {
    content: '';
    position: absolute;
    width: 88px;
    height: 88px;
    top: calc(50% - 44px);
    left: calc(50% - 44px);
    border-radius: 100%;
    z-index: -1;
    transform: scale(0);
  }
  .select_list--item .btn a .ico {
    margin-bottom: 8px;
  }
  .select_list--item .btn a .fnt-lg {
    font-size: 120%;
    margin-bottom: 6px;
  }
  .select_list--item .btn a .fnt-sm {
    font-size: 80%;
  }
  .select_list .slick-dots button {
    padding-top: 12px;
  }
  .select_list .slick-dots button::before {
    height: 4px;
  }
  .select_list .slick-dots li button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #ed4327 transparent;
    opacity: 0;
    transition: .4s all;
  }
  .select_list .slick-dots li.slick-active button::after {
    opacity: 1;
  }
  .select_list .slick-arrow {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    z-index: 1000;
    color: transparent;
    background: rgba(255,255,255,.8);
    border: none;
    transition: .4s all;
  }
  .select_list .slick-prev {
    right: 100%;
  }
  .select_list .slick-next {
    left: 100%;
  }
  @media screen and (min-width: 961px) {
    .select_list--item .btn a::before {
      animation-duration: .4s;
      animation-name: bounceOut;
      animation-fill-mode: both;
    }
    .select_list--item .btn a:hover::before {
      animation-duration: .6s;
      animation-name: bounceIn;
      animation-fill-mode: both;
    }
    .select_list .slick-arrow:hover {
      opacity: .5;
    }
  }
  @media screen and (max-width: 1064px) {
    .select_list--item {
      margin-left: 12px;
      margin-right: 12px;
    }
    .select_list--item .btn a .fnt-lg {
      font-size: 100%;
      margin-bottom: 2px;
    }
  }
  @media screen and (max-width: 960px) {
    .select .ttl_wrap picture {
      margin-left: auto;
      margin-right: auto;
    }
    .select .ttl_wrap h2 {
      padding-left: 112px;
      padding-right: 112px;
    }
    .select_list--item {
      margin-left: 8px;
      margin-right: 8px;
    }
    .select_list .slick-dots button,
    .select_list .slick-dots a {
      width: 40px;
      height: 3px;
    }
    .select_list .slick-dots button {
      padding-top: 9px;
    }
    .select_list .slick-dots li button::after {
      border-width: 0 6px 6px 6px;
    }
    .select .ttl_wrap .chara-9 {
      width: 100px;
    }
    .select .ttl_wrap .chara-9 img:not(.chara_txt) {
      width: 82px;
    }
    .select .ttl_wrap .chara-3 img:not(.chara_txt) {
      width: 123px;
    }
    .select .ttl_wrap .chara-3 .chara_txt {
      right: -12%;
    }
  }
  @media screen and (max-width: 768px) {
    .select_list--item .btn a {
      padding-top: 4px;
      padding-bottom: 4px;
    }
    .select_list--item .btn a .ico {
      margin-bottom: 6px;
      width: 18px;
    }
  }
  @media screen and (max-width: 560px) {
    .select .inner {
      padding-left: 0;
      padding-right: 0;
    }
    .select .ttl_wrap {
      margin-bottom: 12px;
    }
    .select .ttl_wrap h2 {
      padding-left: 96px;
      padding-right: 96px;
    }
    .select .ttl_wrap .lines {
      margin-top: 24px;
      height: 4px;
    }
    .select .ttl_wrap .chara-9 {
      bottom: 4px;
    }
    .select .ttl_wrap .chara-3 {
      bottom: 3px;
      right: -18px;
    }
    .select .ttl_wrap .chara-3 .chara_txt {
      width: 80%;
      right: 0;
    }
    .select_list--item .ashirai-ttl {
      transform: scale(.8);
    }
    .select_list--item .ttl img {
      width: auto;
      height: 42px;
      transform: translateY(-2px);
    }
    .select_list--item .ttl::before {
      transform: translateX(-50%) scale(.7);
      top: 28%;
    }
    .select_list--item .img_btns {
      padding: 3px;
    }
    .select_list--item .btns {
      height: 106px;
      padding-top: 0;
      padding-bottom: 0;
    }
    .select_list--item .btn {
      width: 100%;
    }
    .select_list--item .btn:not(:last-child) {
      border-right: none;
      border-bottom: 2px solid #fff;
    }
    .select_list--item .btn a {
      padding-left: 26%;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      padding-top: 10px;
      padding-bottom: 10px;
    }
    .select_list--item .btn a .ico {
      margin-bottom: 0;
    }
    .select_list--item .btn a .ico {
      position: absolute;
      left: 11%;
      top: 50%;
      transform: translateY(-50%);
    }
    .select_list .slick-dots {
      margin-top: 24px;
    }
    .select .ttl_wrap .chara-9 {
      width: 75px;
    }
    .select .ttl_wrap .chara-9 img:not(.chara_txt) {
      width: 62px;
    }
    .select .ttl_wrap .chara-3 img:not(.chara_txt) {
      width: 93px;
    }
  }


/* function
*************************************************** */
  .function .sect_ttl > span {
    display: block;
    line-height: 1em;
  }
  .function_tbl .tbl_head_ttl {
    padding-bottom: 4px;
  }
  .function_tbl .tbl_head_ttl::before {
    content: '';
    position: absolute;
    left: 8px;
    bottom: 0;
    z-index: -1;
    width: calc(100% - 16px);
    height: 10px;
    border-radius: 100px;
  }
  .function_tbl table,
  .function_tbl table th,
  .function_tbl table td {
    border-style: solid;
    border-color: #d6d6d6;
  }
  .function_tbl table {
    width: 100%;
    border-width: 4px;
    border-radius: 24px;
    table-layout: fixed;
  }
  .function_tbl table th,
  .function_tbl table td {
    vertical-align: middle;
    border-width: 3px;
    font-weight: bold;
  }
  .function_tbl table th {
    width: 256px;
    background-color: #f3f3f3;
    text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0-2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
  }
  .function_tbl table .tag {
    display: inline-block;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 12px;
    padding-right: 12px;
    line-height: 1em;
  }
  .function_tbl table .tag::before {
    opacity: .05;
    border-radius: 100px;
  }
  .function_tbl table .tag .txt {
    opacity: .5;
  }
  .function_tbl table .price + .tag {
    margin-top: 6px;
  }
  .function_tbl--cont-plans .tbl_head {
    width: calc(100% - 258px);
    margin-left: auto;
  }
  .function_tbl--cont-plans .tbl_head_ttl-otoku {
    width: 66.666%;
  }
  .function_tbl--cont-plans .tbl_head_ttl-syoki0 {
    width: 33.333%;
  }
  .function_tbl--cont-plans table th,
  .function_tbl--cont-plans table td {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .function_tbl--cont-plans table th {
    font-size: 147%;
  }
  .function_tbl--cont-plans table .tag {
    font-size: 72%;
  }
  .function_tbl--cont-plans table .plan_ttl td {
    padding-top: 8px;
    padding-bottom: 18px;
  }
  .function_tbl--cont-plans table .plan_ttl .chara_img {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
  .function_tbl--cont-plans table .plan_ttl .ttl {
    display: inline-block;
    margin-top: -11px;
    padding-bottom: 8px;
    margin-bottom: 6px;
  }
  .function_tbl--cont-plans table .plan_ttl .ttl-3 {
    padding-left: 64px;
  }
  .function_tbl--cont-plans table .plan_ttl .ttl-5 {
    padding-left: 52px;
  }
  .function_tbl--cont-plans table .plan_ttl .ttl-9 {
    padding-left: 56px;
  }
  .function_tbl--cont-plans table .support_txt-otoku .txt {
    font-size: 133%;
  }
  .function_tbl--cont-plans table .mark {
    margin-right: 12px;
  }
  .function_tbl--cont-plans table .txt {
    display: inline-block;
    line-height: 1.4em;
  }
  .function_tbl--cont-plans table .price {
    font-size: 187%;
    line-height: 1em;
    letter-spacing: 0em;
  }
  .function_tbl--cont-plans table .price .fukidashi {
    position: absolute;
    right: calc(100% + 4px);
    bottom: calc(100% - 12px);
  }
  .function_tbl--cont-plans table .price small {
    display: inline-block;
    font-size: 57%;
    margin-left: 4px;
    transform: translateY(-1px);
  }
  .function_tbl--cont-plans table .price-zero {
    font-size: 333%;
  }
  .function_tbl--cont-plans table .price-zero small {
    font-size: 32.032%;
    transform: translateY(-2px);
  }
  .function_tbl--cont-common .tbl_head_ttl {
    padding-left: 40px;
    padding-right: 40px;
  }
  .function_tbl--cont-common table {
    width: calc(50% - 12px);
  }
  .function_tbl--cont-common table th,
  .function_tbl--cont-common table td {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .function_tbl--cont-common table th {
    width: 168px;
    line-height: 1.6em;
  }
  .function_tbl--cont-common table .mark {
    margin-bottom: 6px;
  }
  .function_tbl--cont-common table .tag_list .tag {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 3px;
  }
  .function_tbl--cont-common table .tag_list-page .tag {
    width: calc(50% - 6px);
  }
  .function_tbl--cont-common table .tag_list-domain .tag {
    width: calc(25% - 6px);
  }
  .function_tbl--cont-common table .ttl {
    line-height: 1.6em;
  }
  .function_tbl--cont-common table .ttl small {
    font-size: 74%;
    margin-left: 6px;
  }
  .function_tbl--cont-common table .txt {
    margin-top: 8px;
    font-size: 80%;
    line-height: 1.6em;
  }
  .function_tbl--cont-common table .txt h3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-feature-settings: 'pwid';
    margin-right: 4px;
    padding-right: 8px;
    font-size: 92%;
    opacity: .5;
  }
  .function_tbl--cont-common table .txt h3::before {
    content: '';
    position: absolute;
    right: 0;
    top: calc(50% - 4px);
    border-style: solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left-width: 4px;
    border-right-width: 0;
  }
  .function_tbl--cont-common table .attn {
    padding-left: 1.3em;
    text-align: left;
    opacity: 1;
    font-size: 100%;
  }
  .function_list--item {
    width: 278px;
  }
  .function_list--item .imgarea .img {
    border-width: 4px;
    border-style: solid;
    border-radius: 24px;
  }
  .function_list--item .imgarea .bg-slash {
    border-radius: 24px;
    transform: translate(5px,5px);
  }
  .function_list--item .imgarea .batch {
    position: absolute;
    top: -24px;
    right: -24px;
  }
  .function_list--item .imgarea .line {
    position: absolute;
    top: calc(100% - 16px);
    left: 50%;
    width: 4px;
    height: 42px;
    transform: rotate(30deg) translateX(-50%);
  }
  .function_list--item p {
    font-size: 93%;
  }
  .function_list--item .sns_icos {
    position: absolute;
    bottom: 98%;
    right: 66%;
    width: 177px;
  }
  .function .chara-5 {
    width: 156px;
    bottom: 100%;
    right: -40px;
    z-index: -1;
  }
  .function .chara_txt {
    right: -16%;
  }
  @media screen and (min-width: 1065px) {
    .function_tbl--cont-plans table th br {
      display: none;
    }
  }
  @media screen and (max-width: 1280px) {
    .function_list--item {
      width: calc(25% - 20px);
    }
    .function_list--item .sns_icos {
      bottom: 100%;
      right: 54%;
    }
    .function_tbl--cont-common table .tag_list-page .tag {
      width: 100%;
    }
    .function_tbl--cont-common table .paid_photos .attn {
      padding-right: 64px;
    }
    .function_tbl--cont-common table .paid_photos .attn br {
      display: none;
    }
  }
  @media screen and (max-width: 1064px) {
    .function_tbl table th {
      width: 72px;
      text-align: center;
      line-height: 1.2em;
      font-size: 120%;
    }
    .function_tbl table th span {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      white-space: nowrap;
      font-feature-settings: 'pwid';
    }
    .function_tbl--cont-plans .tbl_head {
      width: calc(100% - 72px);
    }
    .function_tbl--cont-plans table .plan_ttl td {
      padding-bottom: 12px;
    }
    .function_tbl--cont-plans table .support_txt {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .function_tbl--cont-plans table .mark {
      margin-right: 0;
      margin-bottom: 6px;
    }
    .function_tbl--cont-common table {
      width: calc(50% - 6px);
    }
    .function_tbl--cont-common table th,
    .function_tbl--cont-common table td {
      padding-left: 8px;
      padding-right: 8px;
    }
    .function_tbl--cont-common table th {
      font-size: 100%;
      width: 56px;
    }
    .function_tbl--cont-common table .ttl small {
      display: block;
      margin-left: 0;
    }
  }
  @media screen and (max-width: 960px) {
    .function_tbl .tbl_head_ttl {
      padding-bottom: 3px;
    }
    .function_tbl .tbl_head_ttl::before {
      height: 6px;
    }
    .function_tbl .tbl_head_ttl img {
      height: 40px;
      width: auto;
      max-width: inherit;
    }
    .function_tbl--cont-plans table .plan_ttl td {
      padding-top: 48px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-3,
    .function_tbl--cont-plans table .plan_ttl .ttl-5,
    .function_tbl--cont-plans table .plan_ttl .ttl-9 {
      padding-left: 0;
    }
    .function_tbl--cont-plans table .plan_ttl .chara_img {
      left: 35%;
      bottom: 50%;
      transform: translateX(-50%);
    }
    .function_tbl--cont-plans table .plan_ttl .ttl {
      padding-bottom: 0;
    }
    .function_tbl--cont-plans table .plan_ttl .btn-sm .btn--in {
      padding-top: 8px;
      padding-bottom: 8px;
      padding-left: 12px;
      padding-right: 16px;
    }
    .function_tbl--cont-plans table .price {
      font-size: 147%;
    }
    .function_tbl--cont-plans table .price-zero {
      font-size: 252%;
    }
    .function_tbl--cont-plans table .price .fukidashi {
      width: 48px;
    }
    .function_tbl--cont-plans table .support_txt-otoku .txt {
      font-size: 120%;
    }
    .function_tbl--cont-common .tbl_head_ttl {
      padding-left: 24px;
      padding-right: 24px;
    }
    .function_tbl--cont-common .tbl_head_ttl img {
      height: 38px;
    }
    .function_tbl--cont-common table .tag_list-domain .tag {
      width: calc(33% - 6px);
    }
    .function_tbl--cont-common table .paid_photos .attn {
      padding-right: 120px;
    }
    .function_list--item {
      width: calc(50% - 20px);
    }
    .function_list--item .imgarea {
      display: table;
      margin-left: auto;
      margin-right: auto;
    }
    .function_list--item .sns_icos {
      bottom: 98%;
      right: 64%;
      width: 136px;
    }
    .function .chara-5 {
      width: 103px;
      right: 5%;
    }
    .function .chara-5 img:not(.chara_txt) {
      width: 64px;
    }
  }
  @media screen and (max-width: 768px) {
    .function .chara-5 {
      right: 0;
    }
    .function_tbl--cont-plans table .plan_ttl td {
      padding-top: 40px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-3 .chara_img {
      width: 58px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-5 .chara_img {
      width: 44px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-9 .chara_img {
      width: 50px;
    }
    .function_tbl--cont-plans table .plan_ttl .chara_ttl {
      height: 52px;
      width: auto;
    }
    .function_tbl--cont-common table .paid_photos .attn {
      padding-right: 72px;
    }
  }
  @media screen and (max-width: 560px) {
    .function_tbl {
      margin-top: -16px;
    }
    .function_tbl table {
      border-width: 3px;
    }
    .function_tbl table th,
    .function_tbl table td {
      border-width: 2px;
    }
    .function_tbl table th {
      width: 50px;
      font-size: 100%;
    }
    .function_tbl .tbl_head_ttl {
      padding-bottom: 2px;
    }
    .function_tbl .tbl_head_ttl::before {
      width: calc(100% - 6px);
      left: 3px;
      height: 4px;
    }
    .function_tbl .tbl_head_ttl img {
      height: 26px;
    }
    .function_tbl--cont-plans .tbl_head {
      width: calc(100% - 50px);
    }
    .function_tbl table .tag {
      padding-top: 4px;
      padding-bottom: 4px;
      padding-left: 4px;
      padding-right: 4px;
    }
    .function_tbl table .tag .txt {
      font-size: 100%;
    }
    .function_tbl table .price + .tag {
      letter-spacing: 0em;
    }
    .function_tbl--cont-plans table th,
    .function_tbl--cont-plans table td {
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .function_tbl--cont-plans table .plan_ttl td {
      padding-top: 32px;
      padding-bottom: 6px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl {
      margin-bottom: 4px;
    }
    .function_tbl--cont-plans table .plan_ttl .chara_img {
      bottom: 45%;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-3 .chara_img {
      width: 49px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-5 .chara_img {
      width: 39px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-9 .chara_img {
      width: 43px;
    }
    .function_tbl--cont-plans table .plan_ttl .chara_ttl {
      height: 32px;
    }
    .function_tbl--cont-plans table .plan_ttl .btn-sm .btn--in {
      font-size: 70%;
      padding-right: 12px;
    }
    .function_tbl--cont-plans table .plan_ttl .btn-sm .btn--in::before {
      height: 125%;
    }
    .function_tbl--cont-plans table .plan_ttl .btn-sm .btn--in .arrow {
      display: none;
    }
    .function_tbl--cont-plans table .price {
      font-size: 114%;
    }
    .function_tbl--cont-plans table .price small {
      margin-left: 2px;
      font-size: 61%;
    }
    .function_tbl--cont-plans table .price-zero {
      font-size: 252%;
    }
    .function_tbl--cont-plans table .price-zero small {
      font-size: 40%;
      transform: translateY(-1px);
    }
    .function_tbl--cont-plans table .price .fukidashi {
      width: 32px;
      right: calc(100% - 8px);
      bottom: calc(100% + 1px);
    }
    .function_tbl--cont-plans table .support_txt .txt {
      font-size: 86%;
    }
    .function_tbl--cont-plans table .support_txt-syoki0 .txt {
      font-size: 72%;
      letter-spacing: 0em;
    }
    .function_tbl--cont-common .tbl_head_ttl img {
      height: 28px;
    }
    .function_tbl--cont-common table {
      width: 100%;
    }
    .function_tbl--cont-common table:first-child {
      border-bottom-width: 2px;
    }
    .function_tbl--cont-common table:not(:first-child) {
      border-top-width: 2px;
      margin-top: -2px;
    }
    .function_tbl--cont-common table th,
    .function_tbl--cont-common table td {
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .function_tbl--cont-common table th {
      line-height: 1.6em;
      width: 120px;
      font-size: 93%;
      letter-spacing: .05em;
    }
    .function_tbl--cont-common table th span {
      -ms-writing-mode: inherit;
      writing-mode: horizontal-tb;
    }
    .function_tbl--cont-common table .mark {
      margin-bottom: 4px;
    }
    .function_tbl--cont-common table .ttl {
      line-height: 1.4em;
      font-size: 86%;
    }
    .function_tbl--cont-common table .txt {
      margin-top: 4 px;
      font-size: 72%;
    }
    .function_tbl--cont-common table .txt h3 {
      font-size: 100%;
    }
    .function_tbl--cont-common table .tag_list-domain .tag {
      width: auto;
    }
    .function_tbl--cont-common table .paid_photos .attn {
      padding-right: 40px;
    }
    .function .sect_ttl > span {
      line-height: 1.3em;
    }
    .function .sect_ttl span.btm24 {
      margin-bottom: 6px;
    }
    .function .sect_ttl img {
      width: 209px;
    }
    .function_list {
      margin-top: -24px;
    }
    .function_list--item {
      position: relative;
      width: calc(50% - 12px);
      margin-top: 24px;
    }
    .function_list--item .imgarea .batch {
      top: -16px;
      right: -16px;
      width: 64px;
    }
    .function_list--item .imgarea .line {
      top: calc(100% - 12px);
      height: 32px;
    }
    .function_list--item .head1 {
      line-height: 1.4em;
    }
    .function_list--item .sns_icos {
      bottom: 97%;
      right: 61%;
      width: 120px;
    }
    .function .chara-5 {
      bottom: calc(100% - 24px);
      right: -8px;
    }
    .function .chara-5 {
      width: 75px;
    }
    .function .chara-5 img:not(.chara_txt) {
      width: 49px;
    }
  }
  @media screen and (max-width: 374px) {
    .function_tbl table th {
      width: 42px;
      font-size: 93%;
      line-height: 1.2em;
    }
    .function_tbl table .price + .tag {
      margin-top: 0;
      white-space: nowrap;
      position: relative;
      left: 50%;
      transform: translateX(-50%) scale(.75);
    }
    .function_tbl table .mark {
      width: 24px;
    }
    .function_tbl .tbl_head_ttl img {
      height: 22px;
    }
    .function_tbl--cont-plans .tbl_head {
      width: calc(100% - 42px);
    }
    .function_tbl--cont-plans table .plan_ttl .btn-sm .btn--in {
      padding-left: 10px;
      padding-right: 10px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-3 .chara_img {
      width: 42px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-5 .chara_img {
      width: 33px;
    }
    .function_tbl--cont-plans table .plan_ttl .ttl-9 .chara_img {
      width: 37px;
    }
    .function_tbl--cont-plans table .price {
      font-size: 86%;
    }
    .function_tbl--cont-plans table .price small {
      font-size: 83%;
    }
    .function_tbl--cont-plans table .support_txt-syoki0 .txt {
      white-space: nowrap;
      transform: scale(.85);
    }
    .function_tbl--cont-common .tbl_head_ttl img {
      height: 24px;
    }
    .function_tbl--cont-common table th {
      padding-left: 0;
      padding-right: 0;
    }
    .function_tbl--cont-common table th span {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
    }
  }

/* flow
*************************************************** */
  .flow::before,
  .flow::after {
    opacity: .1;
    z-index: -1;
  }
  .flow .sect_ttl {
    margin-bottom: 128px;
  }
  .flow .sect_ttl > span {
    display: block;
  }
  .flow .sect_ttl::before,
  .flow .sect_ttl::after {
    top: calc(50% + 44px);
  }
  .flow .sect_ttl::before {
    left: -56px;
  }
  .flow .sect_ttl::after {
    right: -56px;
  }
  .flow_list {
    padding-left: 40px;
    padding-right: 40px;
  }
  .flow_list--item {
    width: 380px;
    height: 380px;
  }
  .flow_list--item::before {
    border-style: solid;
    border-width: 10px;
    border-radius: 100%;
    z-index: -1;
  }
  .flow_list--item .num {
    position: absolute;
    left: 50%;
    bottom: calc(100% - 32px);
    z-index: -10;
    transform: translateX(-50%);
  }
  .flow_list--item .icon {
    height: 160px;
  }
  .flow_list--item p {
    height: 72px;
    font-size: 109%;
    letter-spacing: .05em;
    line-height: 1.6em;
  }
  .flow_wrap .chara-3 {
    right: 32px;
    bottom: 85%;
    transform: rotate(21deg);
    z-index: -1;
  }
  .flow_wrap .chara-3 .chara_txt {
    right: -16px;
    bottom: 105%;
  }
  .flow_wrap .arrow {
    position: absolute;
    top: 50%;
    left: -2.5%;
    width: 105%;
    z-index: -1;
    transform: translateY(-50%);
  }
  .flow_wrap .arrow span {
    display: block;
    border-radius: 100px;
  }
  .flow_wrap .arrow span:nth-of-type(1) {
    width: 100%;
    height: 15px;
  }
  .flow_wrap .arrow span:nth-of-type(2),
  .flow_wrap .arrow span:nth-of-type(3) {
    position: absolute;
    right: 0;
    width: 15px;
    height: 56px;
  }
  .flow_wrap .arrow span:nth-of-type(2) {
    top: -3px;
    transform: rotate(30deg);
  }
  .flow_wrap .arrow span:nth-of-type(3) {
    bottom: -3px;
    transform: rotate(-30deg);
  }
  @media screen and (max-width: 1280px) and (min-width: 1065px) {
    .flow_list {
      padding-left: 64px;
      padding-right: 64px;
    }
    .flow_list--item {
      width: 300px;
      height: 300px;
    }
    .flow_list--item .icon {
      height: 100px;
    }
    .flow_list--item .icon img {
      width: auto;
      height: 100%;
    }
    .flow_wrap .arrow {
      left: -.05%;
      width: 100%;
    }
    .flow_wrap .chara-3 {
      right: 43px;
    }
  }
  @media screen and (max-width: 1064px) {
    .flow .sect_ttl {
      margin-bottom: 72px;
    }
    .flow .sect_ttl::before {
      left: 12px;
    }
    .flow .sect_ttl::after {
      right: 12px;
    }
    .flow_list {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 80px;
    }
    .flow_list--item:not(:last-child) {
      margin-bottom: 32px;
    }
    .flow_list--item .num {
      left: 17%;
      bottom: calc(100% - 40px);
      width: 66px;
      transform: rotate(-20deg);
    }
    .flow_wrap .arrow {
      left: 50%;
      top: -2%;
      height: 106%;
      width: 15px;
      transform: translateX(-50%);
    }
    .flow_wrap .arrow span:nth-of-type(1) {
      width: 100%;
      height: 100%;
    }
    .flow_wrap .arrow span:nth-of-type(2),
    .flow_wrap .arrow span:nth-of-type(3) {
      width: 15px;
      bottom: -14px;
    }
    .flow_wrap .arrow span:nth-of-type(2) {
      top: inherit;
      top: auto;
      right: -20px;
      transform: rotate(60deg);
    }
    .flow_wrap .arrow span:nth-of-type(3) {
      right: 20px;
      transform: rotate(-60deg);
    }
    .flow_wrap .chara-3 {
      right: inherit;
      right: auto;
      bottom: 315px;
      left: calc(50% + 90px);
    }
    .flow_wrap .chara-3 img:not(.chara_txt) {
      width: 92px;
    }
  }
  @media screen and (max-width: 560px) {
    .flow .sect_ttl::before,
    .flow .sect_ttl::after {
      top: calc(50% + 38px);
    }
    .flow .sect_ttl::before {
      left: -8px;
    }
    .flow .sect_ttl::after {
      right: -8px;
    }
    .flow .sect_ttl .btm8 {
      margin-bottom: 12px;
    }
    .flow .sect_ttl img {
      width: 220px;
    }
    .flow_list {
      margin-bottom: 40px;
    }
    .flow_list--item {
      width: 300px;
      height: 300px;
    }
    .flow_list--item:not(:last-child) {
      margin-bottom: 20px;
    }
    .flow_list--item::before {
      border-width: 8px;
    }
    .flow_list--item .icon {
      height: 100px;
    }
    .flow_list--item .icon img {
      width: auto;
      height: 100%;
    }
    .flow_wrap .arrow {
      width: 10px;
    }
    .flow_wrap .arrow span:nth-of-type(2),
    .flow_wrap .arrow span:nth-of-type(3) {
      width: 10px;
    }
    .flow_wrap .chara-3 {
      bottom: 255px;
      left: calc(50% + 68px);
    }
    .flow_wrap .chara-3 img:not(.chara_txt) {
      width: 70px;
    }
  }

/* faq
*************************************************** */
  .faq_list--item  {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
    padding-right: 40px;
    border-radius: 44px;
    border-width: 4px;
    border-style: solid;
    border-color: #fff;
  }
  .faq_list--item:not(:last-child) {
    margin-bottom: 16px;
  }
  .faq_list--item .faq-mark {
    width: 30px;
    margin-right: 14px;
    text-align: right;
  }
  .faq_list--item h3 {
    font-size: 147%;
  }
  .faq_list--item h3 > span {
    display: inline-block;
  }
  .faq_list--item .txtarea {
    margin-top: 12px;
    display: none;
  }
  .faq_list--item .txtarea .faq-mark {
    margin-right: 10px;
  }
  .faq_list--item .txtarea p {
    padding-top: 3px;
    flex: 1;
  }
  .faq_list--item .txtarea .attn {
    display: block;
    margin-top: 6px;
  }
  .faq .chara-9 {
    bottom: calc(100% - 1px);
    right: 0;
    width: 186px;
  }
  .faq .chara-9 .chara_txt {
    bottom: 98%;
    right: 1%;
  }
  @media screen and (min-width: 961px) {
    .faq_list--item:hover {
      border-color: #ffd307;
    }
  }
  @media screen and (max-width: 960px) {
    .faq .chara-9 {
      width: 123px;
    }
    .faq .chara-9 img:not(.chara_txt) {
      width: 87px;
    }
  }
  @media screen and (max-width: 560px) {
    .faq_list--item {
      padding-top: 10px;
      padding-bottom: 10px;
      padding-left: 16px;
      padding-right: 16px;
      border-radius: 12px;
      border-width: 3px;
    }
    .faq_list--item h3 {
      font-size: 125%;
      line-height: 1.4em;
    }
    .faq_list--item .faq-mark {
      width: 20px;
      margin-right: 10px;
      text-align: center;
    }
    .faq .chara-9 {
      width: 93px;
      bottom: 100%;
      right: -8px;
    }
    .faq .chara-9 img:not(.chara_txt) {
      width: 66px;
    }
  }
  @media all and (-ms-high-contrast:none){
    .faq_list--item h3 .txt {
      padding-top: 5px;
    }
    .faq_list--item .txtarea p {
      padding-top: 6px;
    }
  }

/* paid
*************************************************** */
  .paid .inner {
    padding-left: 64px;
    padding-right: 64px;
  }
  .paid::before {
    content: none;
    z-index: -1;
  }
  .paid .logoarea {
    margin-right: 80px;
  }
  .paid .logoarea .desc_list--item {
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 93%;
    color: #88836f;
  }
  .paid .logoarea .desc_list--item::before {
    border-radius: 6px;
    z-index: -1;
  }
  body:not(.parent-otegoro) .paid .logoarea .desc_list--item {
    color: #333;
  }
  body:not(.parent-otegoro) .paid .logoarea .desc_list--item::before {
    opacity: .15;
  }
  .paid .logoarea .desc_list--item:not(:last-child) {
    margin-right: 12px;
  }
  .paid .txt {
    font-size: 116%;
    line-height: 2em;
    flex: 1;
  }
  @media screen and (max-width: 768px) {
    .paid .logoarea {
      margin-right: 0;
      margin-bottom: 16px;
    }
    .paid .logoarea img {
      width: 200px;
    }
  }
  @media screen and (max-width: 560px) {
    .paid .sect_ttl::before,
    .paid .sect_ttl::after {
      top: 60%;
    }
    .paid .inner {
      padding-left: 0;
      padding-right: 0;
    }
    .paid .sect_ttl + .flx {
      margin-bottom: 16px;
    }
    .paid .logoarea img {
      width: 164px;
    }
    .paid .logoarea .desc_list--item {
      padding-left: 12px;
      padding-right: 12px;
      font-size: 85%;
    }
    .paid .logoarea .desc_list--item:not(:last-child) {
      margin-right: 8px;
    }
  }
  @media screen and (max-width: 320px) {
    .paid .logoarea .desc_list--item {
      padding-left: 8px;
      padding-right: 8px;
      font-size: 80%;
    }
    .paid .logoarea .desc_list--item:not(:last-child) {
      margin-right: 6px;
    }
  }


/* ##############################################################################

    PAGE

############################################################################## */

/* common
*************************************************** */
  .parent-otegoro .paid {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .parent-otegoro .paid::before {
    content: '';
    opacity: .15;
    width: calc(100% - 160px);
    left: 80px;
    border-radius: 80px;
  }
  @media screen and (max-width: 1400px) {
    .parent-otegoro .paid::before {
      width: calc(100% - 80px);
      left: 40px;
      border-radius: 40px;
    }
  }
  @media screen and (max-width: 560px) {
    .parent-otegoro .paid {
      margin-top: 16px;
      margin-bottom: 40px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .parent-otegoro .paid::before {
      width: calc(100% - 16px);
      left: 8px;
      border-radius: 20px;
    }
  }

/* price
*************************************************** */
  
  /* --- common --- */
  .plans .ico_ttl {
    font-size: 147%;
    width: 180px;
    height: 180px;
    line-height: 1.4em;
  }
  .plans .ico_ttl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    width: 140px;
    height: 140px;
    border-radius: 100%;
    opacity: .15;
    transform: translate(-50%,-50%);
  }
  .plans .ico_ttl .ico {
    position: absolute;
    top: 8px;
    left: 0;
    width: 100%;
    text-align: center;
  }

  /* --- plan_tabs --- */
  .plans .plan_tabs .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .plans .plan_tabs .plan_tab {
    position: relative;
    width: calc(50% - 12px);
    padding-top: 18px;
    padding-bottom: 32px;
    padding-left: 24px;
    padding-right: 24px;
    border: 10px solid #dfe0df;
    border-radius: 60px 60px 0 0;
    border-bottom: none;
    cursor: pointer;
    z-index: 1;
  }
  .plans .plan_tabs .plan_tab img {
    opacity: .5;
  }
  .plans .plan_tabs .plan_tab::before,
  .plans .plan_tabs .plan_tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    opacity: 0;
    transition: .4s cubic-bezier(.07, .51, .12, 1);
  }
  .plans .plan_tabs .plan_tab::before {
    height: 14px;
    bottom: -2px;
  }
  .plans .plan_tabs .plan_tab::after {
    width: calc(100% + 20px);
    left: -10px;
    opacity: 1;
  }
  .plans .plan_tabs .plan_tab-otoku img {
    margin-top: auto;
  }
  .plans .plan_tabs .plan_tab.active::before,
  .plans .plan_tabs .plan_tab.active img,
  .plans .plan_tabs .plan_tab:hover img {
    opacity: 1;
  }
  .plans .plan_tabs .plan_tab:not(.active):hover img {
    animation-iteration-count: 1;
    animation-fill-mode: both;
    animation-duration: .4s;
    animation-name: bounce;
  }
  .plans .plan_tabs .plan_tab-syoki0:hover,
  .plans .plan_tabs .plan_tab-syoki0.active {
    border-color: #ffd307;
  }
  .plans .plan_tabs .plan_tab-otoku:hover,
  .plans .plan_tabs .plan_tab-otoku.active {
    border-color: #ff8022;
  }
  .plans .plan_tabs .line {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 10px;
    transform: translateX(-50%);
  }
  .plans .plan_tabs .plan_tab-syoki0.active + .plan_tab + .line,
  .plans .plan_tabs .plan_tab-otoku:not(.active)::after {
    background-color: #ffd307;
  }
  .plans .plan_tabs .plan_tab-otoku.active + .line,
  .plans .plan_tabs .plan_tab-syoki0:not(.active)::after {
    background-color: #ff8022;
  }
  @media screen and (max-width: 960px) {
    .plans .plan_tabs .plan_tab {
      padding-top: 12px;
      padding-bottom: 24px;
      border-radius: 30px 30px 0 0;
      border-width: 8px;
    }
    .plans .plan_tabs .line,
    .plans .plan_tabs .plan_tab::after {
      height: 8px;
    }
    .plans .plan_tabs .plan_tab::after {
      width: calc(100% + 16px);
      left: -8px;
    }
    .plans .plan_tabs .plan_tab {
      width: calc(50% - 4px);
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan_tabs .inner {
      padding-left: 0;
      padding-right: 0;
    }
    .plans .plan_tabs .plan_tab {
      padding-top: 10px;
      padding-bottom: 20px;
      padding-left: 12px;
      padding-right: 12px;
      border-radius: 20px 20px 0 0;
      border-width: 6px;
    }
    .plans .plan_tabs .line,
    .plans .plan_tabs .plan_tab::after {
      height: 6px;
    }
    .plans .plan_tabs .plan_tab::after {
      width: calc(100% + 12px);
      left: -6px;
    }
  }

  /* --- plan_head --- */
  .plan_heads {
    display: none;
  }

  /* --- plan_cont --- */
  .plans .plan_cont:not(:last-child) {
    margin-bottom: 12px;
  }
  .plans .plan_cont > .ttl {
    min-width: 240px;
    padding-bottom: 16px;
    z-index: -1;
  }
  .plans .plan_cont > .ttl::before {
    content: '';
    top: 40%;
    height: 0;
    padding-top: 100%;
    border-radius: 100%;
    z-index: -1;
  }
  .plans .plan_cont > .ttl .ashirai-ttl {
    transform: scale(1.8);
    margin-bottom: 12px;
  }
  .plans .plan_cont--in {
    padding-top: 64px;
    padding-bottom: 64px;
    padding-left: 56px;
    padding-right: 56px;
  }
  .plans .plan_cont--in .bg,
  .plans .plan_cont--in .bg-slash {
    border-radius: 40px;
  }
  .plans .plan_cont--in .bg {
    border-width: 10px;
    border-style: solid;
    z-index: -1;
  }
  .plans .plan_cont--in .bg-slash {
    z-index: -10;
    transform: translate(12px,12px);
  }
  @media screen and (max-width: 960px) {
    .plans .plan_cont--in {
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .plans .plan_cont--in > .flx:not(.fp_list) {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan .inner {
      padding-top: 12px;
    }
    .plan_heads {
      display: block;
      width: 320px;
      max-width: 100%;
      height: 170px;
      margin-left: auto;
      margin-right: auto;
    }
    .plan_head {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .plan_head-otoku {
      display: none;
    }
    .plan_head a {
      position: absolute;
      top: 0;
      z-index: 1;
      width: 33.333%;
      height: 100%;
    }
    .plan_head a:nth-of-type(1) {
      left: 0;
    }
    .plan_head a:nth-of-type(2) {
      left: 33.333%;
    }
    .plan_head a:nth-of-type(3) {
      left: 66.666%;
    }
    .plans .plan_cont > .ttl {
      min-width: 128px;
      padding-bottom: 8px;
    }
    .plans .plan_cont > .ttl .ashirai-ttl {
      transform: scale(1);
      margin-bottom: 2px;
    }
    .plans .plan_cont--in {
      padding-top: 32px;
      padding-bottom: 32px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .plans .plan_cont--in .bg,
    .plans .plan_cont--in .bg-slash {
      border-radius: 20px;
    }
    .plans .plan_cont--in .bg {
      border-width: 6px;
    }
    .plans .plan_cont--in .bg-slash {
      transform: translate(6px,6px);
    }
  }

  /* --- fp --- */
  .plans .plan_cont-fp .fp_list--item:not(:last-child) {
    margin-right: 40px;
  }
  .plans .plan_cont-fp .fp_list--item .ico,
  .plans .plan_cont-fp .fp_list--item .ico::before {
    border-radius: 100%;
  }
  .plans .plan_cont-fp .fp_list--item .ico {
    width: 160px;
    height: 160px;
    margin-left: auto;
    margin-right: auto;
    border-width: 4px;
    border-style: solid;
  }
  .plans .plan_cont-fp .fp_list--item .ico::before {
    opacity: .1;
  }
  .plans .plan_cont-fp .fp_list--item .ico::after {
    content: '';
    position: absolute;
    top: calc(100% - 12px);
    left: 50%;
    width: 4px;
    height: 40px;
    transform: rotate(25deg) translateX(-50%);
  }
  .plans .plan_cont-fp .fp_list--item .ttl {
    font-size: 147%;
    line-height: 1.6em;
  }
  .plans .plan_cont-fp .price_num .num > .txt {
    font-size: 333%;
    margin-left: 16px;
    line-height: 1.4em;
  }
  .plans .plan_cont.plan_cont-fp-syoki0 .price_num .num > .txt {
    margin-left: 24px;
  }
  .plans .plan_cont.plan_cont-fp-otoku .price_num .num > .txt {
    transform: translateY(-6px);
  }
  .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num.num-delete {
    max-width: 45%;
    margin-left: auto;
    margin-right: auto;
  }
  .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num.num-delete::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 4px;
    border-radius: 100px;
    transform: translate(-50%,-50%) rotate(-15deg);
    z-index: 1;
  }
  .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num.num-delete .txt {
    font-size: 120%;
    transform: translateY(-3px);
    margin-left: 6px;
  }
  .plan_cont .price_num .num > .txt:last-child {
    margin-left: 12px;
  }
  .plan_cont .price_num .num > .txt:first-child {
    margin-right: 12px;
  }
  .plans .plan_cont .tax_in {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 93%;
    line-height: 1em;
    margin-top: 12px;
    font-weight: bold;
  }
  .plans .plan_cont .tax_in::before {
    opacity: .05;
    border-radius: 100px;
  }
  .plans .plan_cont .tax_in .txt {
    opacity: .5;
  }
  .plans .plan_cont--in .plus {
    position: absolute;
    bottom: 100%;
    left: 80px;
  }
  .plans .plan_cont--in .plus .line {
    width: 10px;
    height: 156px;
    display: block;
  }
  .plans .plan_cont--in .plus .plus_ico {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 96px;
    height: 96px;
    border-radius: 100%;
    transform: translate(-50%,-50%);
  }
  .plans .plan_cont--in .plus .plus_ico::before,
  .plans .plan_cont--in .plus .plus_ico::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 40px;
    border-radius: 100px;
    transform: translate(-50%,-50%);
  }
  .plans .plan_cont--in .plus .plus_ico::after {
    width: 40px;
    height: 10px;
  }
  .plans .plan_cont-fp .chara {
    bottom: 100%;
    width: 154px;
    transform: translateX(-50%);
  }
  .plans .plan_cont-fp .chara-3 {
    left: 10%;
  }
  .plans .plan_cont-fp .chara-3 .chara_txt {
    left: -24%;
    bottom: 92%;
  }
  .plans .plan_cont-fp .chara-5 {
    left: 23%;
  }
  .plans .plan_cont-fp .chara-5 .chara_txt {
    right: -30%;
    bottom: 84%;
  }
  .plans .plan_cont-fp .chara-9 {
    left: 22%;
    width: 173px;
  }
  .plans .plan_cont-fp .chara-9 .chara_txt {
    left: -10%;
  }
  @media screen and (max-width: 960px) {
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num.num-delete {
      max-width: 50%;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num:not(.num-delete) img {
      width: 230px;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num:not(.num-delete) img.fukidashi {
      width: 72px;
      left: calc(100% - 40px);
      bottom: calc(100% - 32px);
    }
  }
  @media screen and (max-width: 560px) {
    .plan_cont .price_num .num > .txt:last-child {
      margin-left: 8px;
    }
    .plan_cont .price_num .num > .txt:first-child {
      margin-right: 8px;
    }
    .plan_cont-fp .ttl img {
      width: 83px;
    }
    .plans .plan_cont-fp .fp_list--item .ttl {
      font-size: 120%;
    }
    .plans .plan_cont-fp .price_num .num .txt {
      font-size: 250%;
      line-height: 1.4em;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num.num-delete {
      max-width: 55%;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num:not(.num-delete) img {
      width: 185px;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num-delete + .arrow + .num .txt {
      font-size: 200%;
      margin-left: 8px;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num:not(.num-delete) img.fukidashi {
      left: calc(100% - 32px);
    }
    .plans .plan_cont--in .plus {
      left: 40px;
    }
    .plans .plan_cont--in .plus .plus_ico {
      width: 64px;
      height: 64px;
    }
    .plans .plan_cont--in .plus .plus_ico::before {
      width: 8px;
      height: 32px;
    }
    .plans .plan_cont--in .plus .plus_ico::after {
      width: 32px;
      height: 8px;
    }
    .plans .plan_cont--in .plus .line {
      height: 104px;
      width: 8px;
    }
  }
  @media screen and (max-width: 374px) {
    .plans .plan_cont-fp .fp_list {
      width: 100%;
    }
    .plans .plan_cont-fp .fp_list--item .ttl {
      font-size: 100%;
    }
  }

  /* --- fp-syoki0 --- */
  .plans .plan_cont-fp:not(.active),
  .plans .plan_cont-rc:not(.active) {
    display: none;
  }
  .plans .plan_cont-fp .fp_list--item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 16px;
  }
  .plans .plan_cont-fp .fp_list--item .ico {
    width: 72px;
    height: 72px;
    border-width: 3px;
    margin-right: 16px;
  }
  .plans .plan_cont-fp .fp_list--item .ico img {
    transform: scale(.6);
  }
  .plans .plan_cont-fp .fp_list--item .ttl {
    flex: 1;
  }
  .plans .plan_cont-fp .plan_cont--in > .flx > .arrow {
    height: 336px;
    margin-left: 40px;
    margin-right: 24px;
  }
  .plans .plan_cont-fp .plan_cont--in > .flx > .arrow::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    z-index: -1;
  }
  .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num .txt {
    font-size: 250%;
  }
  .plans .plan_cont-fp.plan_cont-fp-otoku .price_num .num .fukidashi {
    position: absolute;
    left: calc(100% - 64px);
    bottom: calc(100% - 40px);
  }
  .plans .plan_cont-rc-syoki0 .rc_plan {
    width: 100%;
  }
  @media screen and (min-width: 961px) {
    .plans .plan_cont-fp .fp_list {
      width: 42%;
    }
    .plans .plan_cont-fp .price_num {
      width: 40%;
    }
  }
  @media screen and (max-width: 960px) {
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow {
      margin-left: 40px;
      margin-right: 40px;
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow {
      width: 100%;
      height: auto;
      margin-left: 0;
      margin-right: 0;
      margin-top: 24px;
      margin-bottom: 12px;
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow img {
      transform: rotate(90deg);
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow::before {
      top: calc(50% - 18px);
      height: 6px;
      width: 100%;
    }
    .plans .plan_cont-fp.plan_cont-fp-syoki0  .price_num .num img {
      width: 56px;
    }
    .plans .plan_cont-fp .price_num .num > .txt {
      font-size: 273%;
      transform: translateY(2px);
    }
    .plans .plan_cont.plan_cont-fp-syoki0 .price_num .num > .txt {
      margin-left: 16px;
    }
    .plans .plan_cont.plan_cont-fp-otoku .price_num .num > .txt {
      transform: translateY(-4px);
    }
    .plans .plan_cont-fp .chara {
      width: 102px;
    }
    .plans .plan_cont-fp .chara-3 img:not(.chara_txt) {
      width: 93px;
    }
    .plans .plan_cont-fp .chara-5 {
      left: 23%;
    }
    .plans .plan_cont-fp .chara-5 img:not(.chara_txt) {
      width: 81px;
    }
    .plans .plan_cont-fp .chara-9 {
      width: 114px;
      left: 20%;
    }
    .plans .plan_cont-fp .chara-9 img:not(.chara_txt) {
      width: 87px;
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan_cont-fp .fp_list--item .ico {
      width: 48px;
      height: 48px;
      border-width: 2px;
      margin-right: 8px;
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow {
      margin-top: 6px;
      margin-bottom: 0;
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow::before {
      top: calc(50% - 12px);
      height: 4px;
    }
    .plans .plan_cont-fp .plan_cont--in > .flx > .arrow img {
      width: 24px;
    }
    .plans .plan_cont-fp .price_num .num > .txt {
      font-size: 225%;
      margin-left: 12px;
    }
    .plans .plan_cont-fp.plan_cont-fp-syoki0  .price_num .num img {
      width: 44px;
    }
    .plans .plan_cont-fp.plan_cont-fp-otoku  .price_num .num img {
      width: 200px;
    }
    .plans .plan_cont-fp .chara {
      width: 77px;
      animation-delay: 0s;
    }
    .plans .plan_cont-fp .chara-3 {
      left: 13%;
    }
    .plans .plan_cont-fp .chara-3 img:not(.chara_txt) {
      width: 72px;
    }
    .plans .plan_cont-fp .chara-5 {
      left: auto;
      left: inherit;
      right: -3%;
    }
    .plans .plan_cont-fp .chara-5 img:not(.chara_txt) {
      width: 62px;
    }
    .plans .plan_cont-fp .chara-9 {
      width: 86px;
    }
    .plans .plan_cont-fp .chara-9 img:not(.chara_txt) {
      width: 66px;
    }
  }
  @media all and (-ms-high-contrast:none){
    .plans .plan_cont-fp .fp_list {
      width: 380px;
    }
  }

  /* --- rc --- */
  .plans .plan_cont-rc .plan_cont--in {
    padding-top: 112px;
  }
  .plans .rc_plans .plan_or {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .plans .rc_plan {
    width: calc(50% - 26px);
    padding-top: 56px;
    padding-bottom: 40px;
    padding-left: 56px;
    padding-right: 56px;
  }
  .plans .rc_plan::before,
  .plans .rc_plan::after {
    border-radius: 24px;
    z-index: -1;
  }
  .plans .rc_plan::after {
    opacity: .1;
  }
  .plans .rc_plan .ttl {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .plans .rc_plan .ttl .num {
    position: absolute;
    left: calc(100% + 12px);
    top: 30%;
    transform: translateY(-50%);
  }
  .plans .rc_plan .chara {
    width: 100%;
    bottom: 100%;
    left: 0;
    z-index: -10;
  }
  .plans .rc_plan-otegoro9 .chara {
    width: auto;
    left: 25%;
    transform: translateX(-50%);
  }
  .plans .rc_plan_list--item {
    padding-top: 6px;
    padding-bottom: 6px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
  }
  .plans .rc_plan_list--item .check {
    width: 14px;
    height: 14px;
    margin-top: 2px;
    margin-right: 12px;
  }
  .plans .rc_plan_list--item .txt {
    flex: 1;
  }
  .plans .rc_plan_list--item:not(.rc_plan_list--item-none) .check {
    border-radius: 100%;
    border-style: solid;
    border-width: 2px;
  }
  .plans .rc_plan_list--item-none .check {
    opacity: .3;
  }
  .plans .rc_plan_list--item-none .check::before,
  .plans .rc_plan_list--item-none .check::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
  }
  .plans .rc_plan_list--item-none .check::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .plans .rc_plan_list--item-none .check::after {
    transform: translate(-50%,-50%) rotate(-45deg);
  }
  .plans .rc_plan_list--item-none .txt {
    position: relative;
    color: #ccc2ba;
  }
  .plans .rc_plan_list--item-none .txt::before {
    content: '';
    position: absolute;
    top: 55%;
    left: 0;
    width: 100%;
    height: 6px;
    transform: translateY(-50%);
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
  }
  .plans .plan_cont-rc-syoki0 .rc_plan-otegoro9 {
    padding-top: 80px;
  }
  .plans .rc_plan-otegoro9 .rc_plan--cont > * {
    width: 48%;
  }
  .plans .rc_plan-otegoro9 .rc_plan_list--item {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .plans .rc_plan-otegoro9 .rc_plan--num_attn {
    padding-top: 16px;
  }
  .plans .rc_plan .attn {
    padding-left: 24px;
  }
  .plans .rc_plan .attn a {
    text-decoration: underline;
  }
  .plans .rc_plan .price_num .num .txt {
    font-size: 200%;
  }
  .plans .rc_plan .tax_in::before {
    opacity: .6;
  }
  @media screen and (min-width: 961px) {
    .plans .rc_plan .attn a:hover {
      text-decoration: none;
    }
  }
  @media screen and (max-width: 960px) {
    .plans .rc_plan-otegoro9 .rc_plan--cont,
    .plans .rc_plans {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .plans .rc_plan-otegoro9 .rc_plan--cont > *,
    .plans .rc_plan {
      width: 100%;
    }
    .plans .rc_plan .rc_plan_list,
    .plans .rc_plan .attn {
      width: 80%;
      margin-left: auto;
      margin-right: auto;
    }
    .plans .rc_plan .attn {
      margin-top: 8px;
    }
    .plans .rc_plan-otegoro9 .rc_plan--cont .rc_plan_list {
      margin-bottom: 24px;
    }
    .plans .rc_plan-nattoku3 {
      margin-bottom: 120px;
    }
    .plans .rc_plan-otegoro9 .chara {
      left: 50%;
    }
    .plans .rc_plan-nattoku3 .chara img {
      width: 97px;
    }
    .plans .rc_plan-jujitsu5 .chara img {
      width: 77px;
    }
    .plans .rc_plan-otegoro9 .chara img {
      width: 92px;
    }
    .plans .rc_plans .plan_or {
      display: none;
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan_cont-rc > .ttl img {
      width: 105px;
    }
    .plans .plan_cont-rc .plan_cont--in {
      padding-top: 88px;
    }
    .plans .rc_plan {
      padding: 24px;
    }
    .plans .rc_plan .rc_plan_list,
    .plans .rc_plan .attn {
      width: 100%;
    }
    .plans .plan_cont-rc-syoki0 .rc_plan-otegoro9 {
      padding-top: 24px;
    }
    .plans .rc_plan-otegoro9 .rc_plan--cont .rc_plan_list {
      margin-bottom: 8px;
    }
    .plans .rc_plan .price_num .num .txt {
      font-size: 150%;
    }
    .plans .rc_plan-nattoku3 {
      margin-bottom: 96px;
    }
    .plans .rc_plan-nattoku3 .chara img {
      width: 74px;
    }
    .plans .rc_plan-jujitsu5 .chara img {
      width: 58px;
    }
    .plans .rc_plan-otegoro9 .chara img {
      width: 69px;
    }
    .plans .rc_plan-nattoku3 .ttl img:not(.num) {
      width: 97px;
    }
    .plans .rc_plan-jujitsu5 .ttl img:not(.num) {
      width: 125px;
    }
    .plans .rc_plan-otegoro9 .ttl img:not(.num) {
      width: 138px;
    }
    .plans .rc_plan-nattoku3 .ttl img.num {
      width: 57px;
    }
    .plans .rc_plan-jujitsu5 .ttl img.num {
      width: 54px;
    }
    .plans .rc_plan-otegoro9 .ttl img.num {
      width: 60px;
    }
    .plans .rc_plan-nattoku3 .price_num .num img,
    .plans .rc_plan-jujitsu5 .price_num .num img {
      width: 123px;
    }
    .plans .rc_plan-otegoro9 .price_num .num img {
      width: 155px;
    }
  }
  @media screen and (max-width: 320px) {
    .plans .rc_plan_list--item .txt {
      font-size: 85%;
    }
    .plans .option_list--item-txt .chara {
      right: -13%;
    }
    .plans .option_list--item-image .chara {
      left: -8%;
    }
    .plans .option_list--item-image .chara .chara_txt {
      left: -23%;
      bottom: 91%;
    }
    .plans .rc_plan-nattoku3 .ttl img.num {
      width: 37px;
    }
    .plans .rc_plan-otegoro9 .ttl img.num {
      width: 40px;
    }
    .plans .rc_plan-jujitsu5 .ttl img.num {
      width: 36px;
    }
  }

  /* --- ao --- */
  .plans .option_list--item {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 48px;
    padding-right: 48px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
  }
  .plans .option_list--item:not(:last-child) {
    margin-bottom: 8px;
  }
  .plans .option_list--item .ico_ttl {
    margin-right: 24px;
  }
  .plans .option_list--item .dot_line .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .plans .option_list--item .dot_line .dot:not(:last-child) {
    margin-right: 8px;
  }
  .plans .option_list--item .txtarea {
    padding-left: 40px;
    padding-right: 40px;
    font-size: 85%;
    flex: 1;
  }
  .plans .option_list--item .txtarea small {
    font-size: 85%;
    letter-spacing: 0em;
  }
  .plans .option_list--item .txtarea .attn {
    font-size: 100%;
    opacity: .5;
  }
  .plans .option_list--item .price_num {
    min-width: 274px;
  }
  .plans .option_list--item .price_num .num .txt {
    font-size: 200%;
  }
  .plans .option_list--item .price_num .attn {
    opacity: .5;
    margin-top: 12px;
  }
  .plans .option_list--item-txt {
    padding-bottom: 40px;
  }
  .plans .option_list--item-txt > .flx:not(:first-child) .ico_ttl,
  .plans .option_list--item-txt > .flx:not(:first-child) .dot_line {
    opacity: 0;
    height: 0;
  }
  .plans .option_list--item-txt .chara {
    bottom: 0;
    left: 130px;
    width: 127px;
  }
  .plans .option_list--item-txt .chara .chara_txt {
    right: -7%;
    bottom: 105%;
  }
  .plans .option_list--item-image .chara {
    bottom: 0;
    left: -24px;
    width: 128px;
  }
  .plans .option_list--item-image .chara .chara_txt {
    left: -14%;
    bottom: 110%;
  }
  .plans .option_list--item-domain .txtarea p {
    letter-spacing: 0em;
  }
  @media screen and (max-width: 960px) {
    .plans .ico_ttl {
      font-size: 125%;
      width: 100%;
      height: 104px;
    }
    .plans .ico_ttl::before {
      width: 104px;
      height: 104px;
    }
    .plans .ico_ttl .ico {
      top: -22px;
      transform: scale(.8);
    }
    .plans .option_list--item .ico_ttl {
      margin-right: 0;
    }
    .plans .option_list--item,
    .plans .option_list--item_child {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .plans .option_list--item {
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .plans .option_list--item_child:not(:first-child) {
      margin-top: 24px;
    }
    .plans .option_list--item:first-child {
      padding-top: 16px;
    }
    .plans .option_list--item .dot_line {
      margin-top: -12px;
      margin-bottom: 16px;
    }
    .plans .option_list--item .dot_line .dot {
      display: block;
    }
    .plans .option_list--item .dot_line .dot:not(:last-child) {
      margin-right: 0;
      margin-bottom: 6px;
    }
    .plans .option_list--item .txtarea {
      padding-left: 0;
      padding-right: 0;
      margin-bottom: 16px;
    }
    .plans .option_list--item-txt .chara {
      left: inherit;
      left: auto;
      right: -5%;
    }
    .plans .option_list--item-image .chara {
      left: -2%;
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan_cont-ao > .ttl img {
      width: 104px;
    }
    .plans .plan_cont-ao .plan_cont--in .plus .line {
      height: 106px;
    }
    .plans .option_list--item {
      padding-left: 16px;
      padding-right: 16px;
    }
    .plans .option_list--item .dot_line .dot {
      width: 4px;
      height: 4px;
    }
    .plans .option_list--item .txtarea {
      width: 100%;
    }
    .plans .option_list--item .price_num .num .txt {
      font-size: 150%;
    }
    .plans .option_list--item:not(.option_list--item-mail) .price_num .num img {
      width: auto;
      height: 55px;
    }
    .plans .option_list--item-mail .price_num .num img {
      width: 69px;
    }
    .plans .option_list--item-txt .chara,
    .plans .option_list--item-image .chara {
      width: 84px;
    }
    .plans .option_list--item-txt .chara img:not(.chara_txt) {
      width: 57px;
    }
    .plans .option_list--item-image .chara img:not(.chara_txt) {
      width: 53px;
    }
  }

  /* --- pe --- */
  .plans .plan_cont-pe {
    width: calc(100% + 128px);
    margin-left: -64px;
  }
  .plans .plan_cont-pe .ashirai-ttl span,
  .plans .plan_cont-pe > .ttl::before {
    background-color: #ffd9bc;
  }
  .plans .plan_cont-pe .plan_cont--in .bg {
    border-color: #ffd9bc;
  }
  .plans .plan_cont-pe .edit_list--item {
    width: 33.333%;
  }
  .plans .plan_cont-pe .edit_list--item:not(:last-child) {
    border-right-width: 2px;
    border-right-style: solid;
  }
  .plans .plan_cont-pe .edit_list--item .dot_line {
    margin-top: -40px;
  }
  .plans .plan_cont-pe .edit_list--item .dot_line .dot {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .plans .plan_cont-pe .edit_list--item .dot_line .dot:not(:last-child) {
    margin-bottom: 8px;
  }
  .plans .plan_cont-pe .edit_list--item .price_num .num > .txt {
    margin-top: 4px;
    margin-left: 0;
    font-size: 109%;
  }
  .plans .plan_cont-pe .edit_list--item .price_num .num .flx .txt {
    font-size: 170%;
    margin-left: 10px;
  }
  .plans .plan_cont-pe .edit_list--item .ico_ttl {
    margin-left: auto;
    margin-right: auto;
  }
  .plans .plan_cont-pe .edit_list--item .attn-kome {
    opacity: .5;
  }
  .plans .plan_cont-pe .edit_list--item .sp_price {
    font-size: 300%;
    line-height: 1.2em;
    opacity: .6;
  }
  .plans .plan_cont-pe strong {
    background: linear-gradient(transparent 80%, #ffb584 80%);
  }
  .plans .plan_cont-pe .chara-9 {
    right: 16px;
    bottom: 10px;
    width: 163px;
  }
  .plans .plan_cont-pe .chara-9 .chara_txt {
    right: -18%;
    bottom: 90%;
  }
  @media screen and (min-width: 561px) {
    .plans .plan_cont-pe .edit_desc {
      display: none;
    }
  }
  @media screen and (max-width: 1280px) {
    .plans .plan_cont-pe {
      width: 100%;
      margin-left: 0;
    }
  }
  @media screen and (max-width: 960px) {
    .plans .plan_cont-pe .edit_list--item {
      width: 100%;
      border-right: none;
      border-bottom-width: 2px;
      border-bottom-style: solid;
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .plans .plan_cont-pe .edit_list--item:first-child {
      padding-top: 16px;
    }
    .plans .plan_cont-pe .edit_list--item:not(:last-child) {
      border-right: none;
    }
    .plans .plan_cont-pe .edit_list--item .dot_line {
      margin-top: -12px;
      margin-bottom: 16px;
    }
    .plans .plan_cont-pe .edit_list--item .dot_line .dot:not(:last-child) {
      margin-right: 0;
      margin-bottom: 6px;
    }
    .plans .plan_cont-pe .chara-9 {
      width: 107px;
    }
    .plans .plan_cont-pe .chara-9 img:not(.chara_txt) {
      width: 81px;
    }
  }
  @media screen and (max-width: 560px) {
    .plans .plan_cont-pe > .ttl img {
      width: 112px;
    }
    .plans .plan_cont-pe .edit_list {
      display: none;
    }
    .plans .plan_cont-pe .edit_list--item .dot_line .dot {
      width: 4px;
      height: 4px;
    }
    .plans .plan_cont-pe .edit_list--item .price_num img {
      height: 55px;
      width: auto;
    }
    .plans .plan_cont-pe .edit_list--item .price_num .num .flx .txt {
      font-size: 140%;
      margin-left: 6px;
    }
    .plans .plan_cont-pe .edit_list--item .price_num .num > .txt {
      margin-top: 0;
      font-size: 100%;
    }
    .plans .plan_cont-pe .edit_list--item .sp_price {
      font-size: 200%;
    }
    .plans .plan_cont-pe .btn--in {
      width: 100%;
    }
    .plans .plan_cont-pe .chara-9 {
      width: 82px;
      bottom: 6px;
      right: -6px;
    }
    .plans .plan_cont-pe .chara-9 img:not(.chara_txt) {
      width: 61px;
    }
  }

  /* --- sa --- */
  .simu_app .inner > .sect_ttl::before,
  .simu_app .inner > .sect_ttl::after {
    top: 75%;
  }
  .simu_app .inner > .sect_ttl::before {
    left: -40px;
  }
  .simu_app .inner > .sect_ttl::after {
    right: -40px;
  }
  .simu_app .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
  .simu_app .sa_form_wrap {
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 24px;
    padding-bottom: 64px;
  }
  .is_app_next_page .simu_app .sa_form_wrap {
    padding-top: 64px;
  }
  .is_app_next_page.is_app_complete .simu_app .sa_form_wrap {
    padding-top: 48px;
  }
  .simu_app .sa_form_wrap::before,
  .simu_app .sa_form_wrap .bg-slash {
    border-radius: 40px;
  }
  .simu_app .sa_form_wrap::before {
    z-index: -1;
  }
  .simu_app .sa_form_wrap .bg-slash {
    z-index: -10;
    transform: translate(12px,12px);
  }
  .simu_app .sa_form_wrap .sa_form table {
    width: 100%;
  }
  .simu_app .sa_form_wrap .sa_form table tr {
    border-bottom-width: 2px;
    border-bottom-style: solid;
  }
  .simu_app .sa_form_wrap .sa_form table th,
  .simu_app .sa_form_wrap .sa_form table td {
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .simu_app .sa_form_wrap .sa_form table th {
    text-align: left;
  }
  .simu_app .sa_form_wrap .sa_form table label {
    display: block;
  }
  .simu_app .sa_form_wrap .sa_form table label:not(:last-child) {
    margin-bottom: 16px;
  }
  .simu_app .sa_form_wrap .sa_form table .flx > label:not(:last-child) {
    margin-bottom: 0;
  }
  .simu_app .sa_form_wrap .sa_form table label .attn {
    color: #888;
    opacity: 1;
    font-size: 70%;
    line-height: 1.5em;
    display: block;
    margin-top: -2px;
  }
  .simu_app .sa_form_wrap .sa_form table label .radio_txt {
    font-size: 107%;
  }
  .simu_app .term_paid .mwform-checkbox-field {
    order: 1;
  }
  .simu_app .term_paid .cf_form--support {
    order: 2;
    margin-top: 0;
  }
  .simu_app .term_paid .error {
    order: 3;
    padding-left: 28px;
    margin-top: 12px;
  }
  .simu_app .term_paid a {
    margin-top: 8px;
    margin-left: 28px;
    padding-top: 0px;
    padding-bottom: 2px;
    padding-left: 12px;
    padding-right: 12px;
    border: 1px solid;
    border-radius: 100px;
  }
  .is_app_next_page .simu_app .term_paid {
    display: none;
  }
  .simu_app .sa_form_wrap .sa_form .mwform-radio-field:not(:last-child),
  .simu_app .sa_form_wrap .sa_form .mwform-checkbox-field:not(:last-child) {
    margin-bottom: 12px;
  }
  .simu_app .sa_form_wrap .sa_form .mwform-radio-field-text,
  .simu_app .sa_form_wrap .sa_form .mwform-checkbox-field-text {
    font-size: 133%;
  }
  .simu_app .sa_form_wrap .simu_arrow {
    margin-top: 40px;
    margin-bottom: 24px;
  }
  .simu_app .sa_form_wrap .num_wrap {
    opacity: .3;
    pointer-events: none;
    margin-left: 26px;
  }
  .simu_app .sa_form_wrap .num_wrap-mail {
    margin-left: 8px;
  }
  .simu_app .sa_form_wrap .num_wrap.visible {
    opacity: 1;
    pointer-events: all;
  }
  .simu_app .sa_form_wrap .cf_form table .num_wrap input[type="number"] {
    height: 36px;
    line-height: 36px;
    padding-right: 0;
    width: 130px;
    border-radius: 4px;
    margin-right: 6px;
  }
  .simu_app .sa_form_wrap .cf_form table .num_wrap-mail input[type="number"] {
    width: 64px;
  }
  .simu_app .sum_list .plus {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 86px;
    height: 86px;
    border-radius: 100%;
    border-style: solid;
    border-width: 6px;
  }
  .simu_app .sum_list .plus::before,
  .simu_app .sum_list .plus::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 100px;
    transform: translate(-50%,-50%);
  }
  .simu_app .sum_list .plus::before {
    width: 36px;
    height: 8px;
  }
  .simu_app .sum_list .plus::after {
    width: 8px;
    height: 36px;
  }
  .simu_app .sum_list--item {
    width: 48.5%;
    border-width: 6px;
    border-style: solid;
    border-radius: 24px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  .simu_app .sum_list--item .ttl {
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
  }
  .simu_app .sum_list--item .ttl span {
    padding-left: 16px;
    padding-right: 16px;
  }
  .simu_app .sum_list--item .price span {
    line-height: 1em;
  }
  .simu_app .sum_list--item .price .num {
    font-size: 468%;
    letter-spacing: -.025em;
  }
  .simu_app .sum_list--item .price .txt {
    font-size: 200%;
    margin-left: 6px;
    transform: translateY(-6px);
  }
  .simu_app .sum_list--item .tax_in {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 93%;
    line-height: 1em;
    margin-top: 12px;
    font-weight: bold;
  }
  .simu_app .sum_list--item .tax_in::before {
    opacity: .05;
    border-radius: 100px;
  }
  .simu_app .sum_list--item .tax_in .txt {
    opacity: .5;
  }
  .simu_app .sa_form_wrap .chara-5 {
    left: 80px;
    bottom: calc(100% - 3px);
    width: 162px;
  }
  .simu_app .sa_form_wrap .chara-5 .chara_txt {
    left: -20%;
  }
  .simu_app .sa_form_wrap .chara-3 {
    right: 80px;
    bottom: calc(100% - 3px);
    width: 153px;
  }
  .simu_app .sa_form_wrap .chara-3 .chara_txt {
    right: -15%;
  }
  .simu_app .sa_form_wrap .option_domain--desc {
    line-height: 1.4em;
    padding-left: 28px;
  }
  .simu_app .sa_form_wrap .option_domain--desc .tri_ttl,
  .simu_app .sa_form_wrap .option_domain--desc p {
    font-size: 93%;
    margin-bottom: 0;
    margin-top: 6px;
  }
  .simu_app .sa_form_wrap .option_domain--desc small {
    letter-spacing: 0em;
  }
  @media screen and (max-width: 960px) {
    .simu_app .inner {
      padding-left: 0;
      padding-right: 0;
    }
    .simu_app .sect_ttl img {
      width: 336px;
    }
    .simu_app .sa_form_wrap {
      padding-top: 8px;
      padding-bottom: 48px;
      padding-left: 48px;
      padding-right: 48px;
    }
    .simu_app .sa_form_wrap::before,
    .simu_app .sa_form_wrap .bg-slash {
      border-radius: 20px;
    }
    .simu_app .sa_form_wrap .sa_form table th,
    .simu_app .sa_form_wrap .sa_form table td {
      display: block;
      padding-left: 0;
      padding-right: 0;
    }
    .simu_app .sa_form_wrap .sa_form table th {
      padding-bottom: 16px;
      width: 100% !important;
    }
    .simu_app .sa_form_wrap .sa_form table td {
      padding-top: 0;
    }
    .simu_app .sum_list {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .simu_app .sum_list--item {
      width: 100%;
      padding-top: 32px;
      padding-bottom: 32px;
    }
    .simu_app .sum_list--item:not(:first-child) {
      margin-top: 24px;
    }
    .simu_app .sum_list--item .ttl {
      position: static;
      margin-bottom: 8px;
    }
    .simu_app .sa_form_wrap .chara-3,
    .simu_app .sa_form_wrap .chara-5 {
      bottom: calc(100% - 2px);
    }
    .simu_app .sa_form_wrap .chara-3 {
      right: 12px;
      width: 101px;
    }
    .simu_app .sa_form_wrap .chara-5 {
      left: 24px;
      width: 107px;
    }
    .simu_app .sa_form_wrap .chara-3 img:not(.chara_txt) {
      width: 106px;
    }
    .simu_app .sa_form_wrap .chara-5 img:not(.chara_txt) {
      width: 92px;
    }
  }
  @media screen and (max-width: 560px) {
    .simu_app .sa_form_wrap .bg-slash {
      transform: translate(6px,6px);
    }
    .simu_app .sect_ttl img {
      width: 221px;
    }
    .simu_app .inner > .sect_ttl::before {
      left: -16px;
    }
    .simu_app .inner > .sect_ttl::after {
      right: -16px;
    }
    .simu_app .sa_form_wrap {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 4px;
      padding-right: 4px;
    }
    .is_app_next_page .simu_app .sa_form_wrap {
      padding-top: 16px;
    }
    .simu_app .sa_form_wrap .sa_form table th,
    .simu_app .sa_form_wrap .sa_form table td {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .simu_app .sa_form_wrap .sa_form table th {
      padding-bottom: 6px;
    }
    .simu_app .sa_form_wrap .sa_form table th img {
      height: 20px;
      width: auto;
    }
    .simu_app .sa_form_wrap .sa_form table td {
      padding-top: 0;
    }
    .simu_app .sa_form_wrap .sa_form .mwform-radio-field-text,
    .simu_app .sa_form_wrap .sa_form .mwform-checkbox-field-text {
      font-size: 100%;
    }
    .simu_app .sa_form_wrap .sa_form .mwform-radio-field:not(:last-child),
    .simu_app .sa_form_wrap .sa_form .mwform-checkbox-field:not(:last-child) {
      margin-bottom: 0;
    }
    .simu_app .sa_form_wrap .num_wrap-mail {
      width: 100%;
      margin-left: 0;
      padding-left: 28px;
    }
    .simu_app .sa_form_wrap .option_domain--desc .tri_ttl {
      margin-top: -2px;
    }
    .simu_app .sa_form_wrap .option_domain--desc p,
    .simu_app .sa_form_wrap .option_domain--desc small {
      font-size: 70%;
    }
    .simu_app .sa_form_wrap .sa_form table label .attn {
      margin-top: -6px;
    }
    .cf_form .baloon_txt {
      margin-top: 4px;
    }
    .simu_app .sa_form_wrap .simu_arrow {
      margin-top: 24px;
      margin-bottom: 16px;
    }
    .simu_app .sa_form_wrap .simu_arrow img {
      width: 116px;
    }
    .simu_app .sa_form_wrap .simu_arrow + .sect_ttl {
      font-size: 150%;
    }
    .simu_app .sum_list--item {
      padding-top: 24px;
      padding-bottom: 24px;
      border-width: 4px;
    }
    .simu_app .sum_list--item:not(:first-child) {
      margin-top: 16px;
    }
    .simu_app .sum_list--item .price .num {
      font-size: 300%;
    }
    .simu_app .sum_list--item .price .txt {
      font-size: 150%;
      transform: translateY(-3px);
    }
    .simu_app .sum_list--item .ttl img {
      height: 24px;
      width: auto;
    }
    .simu_app .sum_list .plus {
      transform: translate(-50%,-50%) scale(.8);
    }
    .simu_app .sa_form_wrap .chara-3 {
      right: -5px;
      width: 76px;
    }
    .simu_app .sa_form_wrap .chara-5 {
      left: 3px;
      width: 81px;
    }
    .simu_app .sa_form_wrap .chara-3 img:not(.chara_txt) {
      width: 81px;
    }
    .simu_app .sa_form_wrap .chara-5 img:not(.chara_txt) {
      width: 70px;
    }
    .is_app_next_page.is_app_complete .simu_app .sa_form_wrap {
      padding-top: 16px;
    }
  }
  @media screen and (max-width: 320px) {
    .simu_app .sa_form_wrap .sa_form .mwform-radio-field-text,
    .simu_app .sa_form_wrap .sa_form .mwform-checkbox-field-text {
      font-size: 90%;
    }
    .simu_app .sa_form_wrap .sa_form table label .attn {
      font-size: 65%;
      letter-spacing: 0em;
    }
    .simu_app .sa_form_wrap .simu_arrow + .sect_ttl {
      font-size: 130%;
    }
    .simu_app .app_form .sect_ttl {
      font-size: 150%;
    }
    .simu_app .app_form .sect_ttl::before,
    .simu_app .app_form .sect_ttl::after {
      width: 32px;
      height: 4px;
    }
    .simu_app .app_form .sect_ttl::before {
      left: -36px;
    }
    .simu_app .app_form .sect_ttl::after {
      right: -36px;
    }
    .simu_app .sum_list--item .ttl img {
      height: 18px;
    }
  }

  /* --- temp_app_txt --- */
  .temp_app_txt {
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 32px;
    padding-left: 16px;
    padding-right: 16px;
    min-width: 80%;
  }
  .temp_app_txt::before {
    border-width: 2px;
    border-style: dashed;
    border-radius: 20px;
  }
  .temp_app_txt .ttl {
    position: absolute;
    top: -.7em;
    left: 50%;
    padding-left: 20px;
    padding-right: 20px;
    transform: translateX(-50%);
    font-size: 133%;
    white-space: nowrap;
    line-height: 1.4em;
  }
  @media screen and (min-width: 769px) {
    .temp_app_txt .ttl br {
      display: none;
    }
  }
  @media screen and (max-width: 960px) {
    .temp_app_txt {
      min-width: 100%;
      margin-top: 32px;
      margin-bottom: 24px;
    }
  }
  @media screen and (max-width: 768px) {
    .temp_app_txt {
      min-width: 100%;
      margin-top: 48px;
      padding-top: 44px;
      padding-bottom: 24px;
    }
    .temp_app_txt .ttl {
      top: -1.4em;
      font-size: 120%;
    }
  }
  @media screen and (max-width: 560px) {
    .temp_app_txt {
      margin-bottom: 8px;
      padding-top: 32px;
      padding-bottom: 20px;
    }
    .temp_app_txt::before {
      border-radius: 12px;
    }
    .temp_app_txt .ttl {
      padding-left: 12px;
      padding-right: 12px;
      font-size: 107%;
    }
    .temp_app_txt p {
      font-size: 86%;
      text-align: justify;
    }
    .temp_app_txt p br {
      display: none;
    }
  }

  /* --- form_flow --- */
  .page-price.parent-otegoro .mw_wp_form:not(.mw_wp_form_confirm):not(.mw_wp_form_complete) .form_flow_list {
    display: none;
  }

  /* --- app_now --- */
  .is_app_complete .simu_app .app_now {
    display: none;
  }
  .simu_app .app_now {
    margin-top: 128px;
  }
  .simu_app .app_now .head1 {
    position: absolute;
    left: 50%;
    top: -56px;
    transform: translateX(-50%);
    z-index: -1;
    order: 1;
  }
  .simu_app .app_now .head1::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -16px;
    width: 220px;
    height: 220px;
    border-radius: 100%;
    background-color: #f4f4f4;
    z-index: -1;
    transform: translateX(-50%);
  }
  .simu_app .app_now .head1 .ashirai-ttl {
    position: absolute;
    left: 50%;
    top: -56px;
    transform: translateX(-50%) scale(1.5);
  }
  .simu_app .app_now .head1 .ashirai-ttl span {
    background-color: #f4f4f4;
  }
  .simu_app .app_now {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
    padding-right: 40px;
    background-color: #f4f4f4;
    border-radius: 24px;
  }
  .simu_app .app_now_list {
    margin-top: -16px;
  }
  .simu_app .app_now_list--item {
    width: calc(50% - 8px);
    margin-top: 16px;
    border-radius: 12px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 32px;
    padding-right: 32px;
  }
  .simu_app .app_now_list--item .tri_ttl {
    line-height: 1.2em;
    padding-left: 1.4em;
  }
  .simu_app .app_now .btn_list {
    margin-top: 24px;
  }
  .simu_app .app_form .mw_wp_form_confirm .form_flow_list {
    margin-bottom: 138px;
  }
  @media screen and (max-width: 560px) {
    .simu_app .app_now {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 20px;
      padding-right: 20px;
      margin-top: 96px;
    }
    .simu_app .app_now .head1 {
      top: -44px;
    }
    .simu_app .app_now .head1::before {
      top: -10px;
      width: 160px;
      height: 160px;
    }
    .simu_app .app_now .head1 img {
      width: 144px;
    }
    .simu_app .app_now .head1 .ashirai-ttl {
      top: -42px;
    }
    .simu_app .app_now_list--item {
      width: 100%;
    }
    .simu_app .app_now_list--item {
      padding: 16px;
    }
  }

  /* --- app_form --- */
  .simu_app .app_form.cf_form th {
    width: 180px !important;
    font-size: 120%;
  }
  .simu_app .app_form .mwform-checkbox-field {
    display: block;
  }
  .simu_app .app_form .mw_wp_form .mwform-checkbox-field + .mwform-checkbox-field {
    margin-left: 0;
  }
  @media screen and (max-width: 560px) {
    .simu_app .app_form.cf_form th {
      width: 100% !important;
      text-align: left;
      padding-bottom: 6px;
    }
    .simu_app .app_form .mw_wp_form_confirm th {
      font-size: 80%;
      padding-bottom: 0;
    }
    .simu_app .app_form .mw_wp_form_confirm .form_flow_list {
      margin-bottom: 104px;
    }
  }
  @media all and (-ms-high-contrast:none){
    .simu_app .app_form .sect_ttl {
      display: block;
      width: 400px;
    }
  }

  /* --- fix_sum --- */
  .fix_sum--in {
    opacity: 0;
    animation: fade_in 0s linear .6s 1 forwards;
  }
  .fix_sum {
    position: fixed;
    right: 40px;
    bottom: 40px;
    z-index: 100000;
    padding-top: 32px;
    padding-bottom: 24px;
    padding-left: 32px;
    padding-right: 32px;
    animation-duration: .6s;
    animation-fill-mode: both;
    animation-name: bounceOut;
  }
  .fix_sum-show .fix_sum {
    animation-duration: .6s;
    animation-name: bounceIn;
  }
  .fix_sum .fukidashi {
    position: absolute;
    bottom: calc(100% - 48px);
    right: calc(100% - 40px);
    z-index: 1;
    width: 72px;
  }
  .fix_sum .bg,
  .fix_sum .bg-slash {
    border-radius: 12px;
  }
  .fix_sum .bg {
    border-width: 5px;
    border-style: solid;
    z-index: -1;
  }
  .fix_sum .bg-slash {
    background-size: 6px;
    transform: translate(4px,4px);
    z-index: -10;
  }
  .fix_sum .fix_sum_ttl {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 116%;
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 4px;
    padding-bottom: 4px;
    border-radius: 100px;
    white-space: nowrap;
    text-shadow: 
       1px  1px 1px #ffffff,
      -1px  1px 1px #ffffff,
       1px -1px 1px #ffffff,
      -1px -1px 1px #ffffff,
       1px  0px 1px #ffffff,
       0px  1px 1px #ffffff,
      -1px  0px 1px #ffffff,
       0px -1px 1px #ffffff;;
  }
  .fix_sum h4 {
    line-height: 1.2em;
  }
  .fix_sum .num {
    letter-spacing: 0em;
  }
  .fix_sum .price {
    margin-bottom: 12px;
  }
  .fix_sum .price .num,
  .fix_sum .price .txt {
    line-height: 1em;
  }
  .fix_sum .price .num {
    font-size: 200%;
    margin-right: 4px;
  }
  .fix_sum .price .txt {
    font-size: 116%;
    transform: translateY(-2px);
  }
  .fix_sum .tax_in {
    font-size: 85%;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-right: 12px;
    padding-left: 12px;
  }
  .fix_sum .tax_in::before {
    opacity: .05;
    border-radius: 100px;
  }
  .fix_sum .tax_in .txt {
    opacity: .5;
  }
  .fix_sum .plus {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    margin-left: 16px;
    margin-right: 16px;
  }
  .fix_sum .plus::before,
  .fix_sum .plus::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 20px;
    border-radius: 100px;
    transform: translate(-50%,-50%);
  }
  .fix_sum .plus::after {
    width: 20px;
    height: 4px;
  }
  @media screen and (max-width: 560px) {
    .fix_sum {
      right: 0;
      bottom: 0;
      width: 100%;
      padding-top: 28px;
      padding-bottom: 20px;
      padding-left: 6px;
      padding-right: 6px;
    }
    .fix_sum .fukidashi {
      bottom: calc(100% - 28px);
      right: calc(100% - 52px);
      width: 56px;
    }
    .fix_sum .bg {
      border-radius: 10px 10px 0 0;
      border-bottom: none;
    }
    .fix_sum .nums > *:not(.plus) {
      width: calc(50% - 28px);
    }
    .fix_sum .plus {
      width: 40px;
      height: 40px;
      margin-left: 8px;
      margin-right: 8px;
    }
  }
  @media screen and (max-width: 320px) {
    .fix_sum .nums > *:not(.plus) {
      width: calc(50% - 36px);
    }
    .fix_sum .plus {
      width: 32px;
      height: 32px;
    }
    .fix_sum .price .num {
      font-size: 170%;
    }
  }

  /* --- next_page display_none --- */
  .is_app_next_page .simu_app .app_form .sect_ttl,
  .is_app_next_page .simu_app .app_form .temp_app_txt,
  .is_app_next_page .simu_app .sa_form_wrap .sa_form,
  .is_app_next_page .simu_app .app_now .btn_list,
  .is_app_complete .fix_sum {
    display: none;
  }

/* terms
*************************************************** */
  .page-terms .terms_list--item {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom-width: 3px;
    border-bottom-style: solid;
  }
  .page-terms .terms_list--item .term_ttl {
    font-size: 150%;
  }
  .page-terms .terms_list--item .dot_line {
    margin-top: 16px;
    margin-bottom: 24px;
    line-height: 6px;
    height: 6px;
  }
  .page-terms .terms_list--item .dot_line .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .page-terms .terms_list--item .dot_line .dot:not(:last-child) {
    margin-right: 6px;
  }
  .page-terms .terms_list--item .list-num {
    padding-left: 2em;
  }
  .page-terms .terms_list--item .list-num:not(:last-child) {
    margin-bottom: 1em;
  }
  .page-terms .terms_list--item .list-num li {
    list-style-type: decimal-leading-zero;
    line-height: 1.6em;
  }
  .page-terms .terms_list--item .list-num li:not(:last-child) {
    margin-bottom: 12px;
  }
  .page-terms .terms_list--item a {
    text-decoration: underline;
  }
  @media screen and (min-width: 961px) {
    .page-terms .terms_list--item a:hover {
      text-decoration: none;
    }
  }
  @media screen and (max-width: 560px) {
    .terms .inner {
      padding-top: 24px;
    }
    .page-terms .terms_list--item .term_ttl {
      font-size: 125%;
    }
    .page-terms .terms_list--item .dot_line {
      margin-top: 8px;
      margin-bottom: 16px;
    }
    .page-terms .terms_list--item {
      margin-bottom: 24px;
      padding-bottom: 24px;
    }
    .page-terms .terms_list--item .list-num {
      padding-left: 2.5em;
    }
  }


/* ======================================================================================

    FORM

====================================================================================== */

/* common
*************************************************** */
  .cf_form .wpcf7-form > br {
    display: none;
  }
  .cf_form table { width:100%; }
  .cf_form th,
  .cf_form td {
    padding-top: 8px;
    padding-bottom: 8px;
    vertical-align: middle;
  }
  .cf_form th {
    position: relative;
    width: 256px !important;
    white-space: nowrap;
    text-align: right;
    padding-right: 48px;
  }
  .cf_form td {
    padding-left: 48px;
  }
  .cf_form table input[type="text"],
  .cf_form table input[type="email"],
  .cf_form table input[type="tel"],
  .cf_form table input[type="date"],
  .cf_form table input[type="password"],
  .cf_form table input[type="number"],
  .cf_form table textarea {
    width: 100%;
    vertical-align: bottom;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 2px solid #dfe0df;
    border-radius: 8px;
  }
  .cf_form table input[type="text"],
  .cf_form table input[type="email"],
  .cf_form table input[type="tel"],
  .cf_form table input[type="date"],
  .cf_form table input[type="password"],
  .cf_form table input[type="number"] {
    height: 48px;
    line-height: 48px;
  }
  .cf_form table input[type="text"],
  .cf_form table input[type="email"],
  .cf_form table input[type="tel"],
  .cf_form table input[type="date"],
  .cf_form table input[type="password"],
  .cf_form table input[type="number"],
  .cf_form select,
  .cf_form textarea {
    margin: 0;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 100%;
    background-color: #fff;
  }
  .cf_form textarea { height: 100px; }
  .cf_form select { height: 40px; }
  .cf_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .cf_form input:focus { outline: none; }

/* radio & checkbox
*************************************************** */
  .cf_form .cf_rc input[type="radio"],
  .cf_form .cf_rc input[type="checkbox"] { display: none !important; }
  .cf_form .cf_rc .wpcf7-list-item {
    margin-left: 0;
    display: block;
    margin-right: 16px;
  }
  .cf_form .cf_rc .mwform-radio-field-text,
  .cf_form .cf_rc .mwform-checkbox-field-text {
    line-height: 38px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding-left: 28px;
    padding-right: 8px;
    cursor: pointer;
    white-space: nowrap;
  }
  .mwform-radio-field.disabled .mwform-radio-field-text,
  .mwform-checkbox-field.disabled .mwform-checkbox-field-text {
    opacity: .3 !important;
  }
  .cf_form .cf_rc .mwform-radio-field-text:hover { opacity: .7; }
  .cf_form .cf_rc .mwform-radio-field-text::before,
  .cf_form .cf_rc .mwform-checkbox-field-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
  }
  .cf_form .acceptance input[type="checkbox"] {
    position: relative;
    margin-right: 8px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
  }
  .cf_form .cf_rc .mwform-radio-field-text::before,
  .cf_form .cf_rc .mwform-checkbox-field-text::before,
  .cf_form .acceptance input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border: 1px solid #dfe0df;
  }
  .cf_form .cf_rc input[type="radio"] + .mwform-radio-field-text::before { border-radius: 10px; }
  .cf_form .cf_rc input[type="radio"]:checked + .mwform-radio-field-text,
  .cf_form .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text {
    font-weight: bold;
  }
  .cf_form .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::after,
  .cf_form .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::after,
  .cf_form .acceptance input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    z-index: 10;
    display: block;
  }
  .cf_form .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::after {
    top: 16px;
    left: 5px;
    width: 8px;
    height: 8px;
    background-color: #ff8022;
    border-radius: 100%;
  }
  .cf_form .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::after,
  .cf_form .acceptance input[type="checkbox"]:checked::after {
    top: 14px;
    left: 6px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #ff8022;
    border-bottom: 2px solid #ff8022;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

/* address
*************************************************** */
  .cf_form .cf_zip input[type="text"] {
    width: auto;
    max-width: 200px;
    margin-left: 8px;
    margin-right: 8px;
  }

/* other
*************************************************** */
  
  /* --- support --- */
  .cf_form--support {
    margin-top: 4px;
    line-height: 1.6em;
    opacity: .5;
    font-size: 80%;
  }
  
  /* --- required --- */
  .required {
    position: absolute;
    top: 50%;
    right: 0;
    color: #fff;
    text-align: center;
    background-color: #ed4327;
    font-size: 60%;
    width: 32px;
    line-height: 30px;
    height: 32px;
    border-radius: 100%;
    letter-spacing: 0em;
    transform: translateY(-50%);
  }

  /* --- cf_form--btns --- */
  .cf_form--btns {
    margin-top: -10px;
    padding-top: 32px;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .cf_form--btns input {
    min-width: 180px;
    line-height: 58px;
    padding-left: 56px;
    padding-right: 56px;
    margin-top: 10px;
    margin-right: 8px;
    margin-left: 8px;
    border-radius: 100px;
    letter-spacing: .1em;
    font-size: inherit;
    font-weight: bold;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background: #ffd307;
    border-width: 3px;
    border-style: solid;
    border-color: #ffd307;
    font-size: 116%;
  }
  .cf_form--btns input.f-form__back {
    background: #ececeb;
    border-color: #ececeb;
  }
  .cf_form--btns input.f-form__submit {
    background: #ff8022;
    border-color: #ff8022;
    color: #fff;
  }

  /* --- error --- */
  .mw_wp_form .error {
    margin-top: 8px;
    line-height: 1em;
    color: #ed4327 !important;
    font-weight: bold;
  }

  .cf_form .baloon_txt {
    display: inline-block;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 8px;
    padding-right: 8px;
    margin-left: 2px;
    letter-spacing: 0em;
    font-size: 96%;
    border-style: solid;
    border-width: 2px;
    line-height: 1em;
    border-radius: 4px;
  }
  .cf_form .baloon_txt::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    transform: translateY(-50%);
    border-top-width: 6px;
    border-right-width: 6px;
    border-bottom-width: 6px;
    border-top-color: transparent;
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-style: solid;
  }
  @media screen and (min-width: 961px) {
    .cf_form--btns input {
      transition: .4s cubic-bezier(.07, .51, .12, 1);
    }
    .cf_form table input:hover { opacity: .7; }
    .cf_form table textarea:hover { opacity: .7; }
    .cf_form--btns input:hover {
      background-color: #fff;
      color: #ffcb08;
    }
    .cf_form--btns input.f-form__back:hover {
      color: #ccc;
      border-color: #dfe0df;
    }
    .cf_form--btns input.f-form__submit:hover {
      color: #ff8022;
    }
  }
  @media only screen and (max-width: 560px) {
    .cf_form {
      padding-top: 16px;
      padding-bottom: 24px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .cf_form th,
    .cf_form td {
      display: block;
      width: auto;
      padding-left: 0;
      padding-right: 0;
    }
    .cf_form th {
      width: 100% !important;
      border-bottom:none;
      padding-top: 8px;
      padding-bottom: 0;
      white-space: normal;
      font-weight: bold;
    }
    .cf_form td {
      padding-top: 0;
      padding-bottom: 8px;
      padding-left: 0;
    }
    .cf_form .cf_rc .wpcf7-list-item {
      display: block;
    }
    .cf_form .cf_zip input[type="text"] {
      width: calc(100% - 23px);
      margin-right: 0;
    }
    .cf_form--btns {
      padding-top: 16px;
    }
    .cf_form--btns input {
      width: 100%;
      line-height: 46px;
      padding-left: 16px;
      padding-right: 16px;
      width: 80%;
      margin-right: auto;
      margin-left: auto;
      background-size: contain;
      background-position: center;
    }
    .cf_form .mw_wp_form_confirm th {
      font-size: 80%;
      opacity: 0.5;
      padding-bottom: 0;
    }
    .cf_form .mw_wp_form_confirm .required {
      display: none;
    }
    .mw_wp_pos {
      top: -80px;
    }
  }
  @media screen and (max-width: 320px) {
    .cf_form .cf_rc .mwform-radio-field-text,
    .cf_form .cf_rc .mwform-checkbox-field-text {
      font-size: 80%;
    }
  }
  @media all and (-ms-high-contrast:none){
    .required {
      line-height: 34px;
    }
  }

  /* --- form_flow --- */
  .form_flow_list {
    order: 1;
    margin-top: 48px;
    margin-bottom: 56px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .is_app_next_page .simu_app .app_form .form_flow_list {
    margin-top: 0;
  }
  .form_flow_list--item {
    width: 33.333%;
    font-size: 133%;
    padding-bottom: 24px;
  }
  .form_flow_list--item:last-child {
    z-index: -1;
  }
  .form_flow_list--item:not(:last-child) {
    border-right: none;
  }
  .form_flow_list--item::before,
  .form_flow_list--item::after {
    content: '';
    position: absolute;
    background-color: #dfe0df;
  }
  .form_flow_list--item::before {
    left: 50%;
    bottom: -6px;
    width: 13px;
    height: 13px;
    border-radius: 100%;
    transform: translateX(-50%);
    z-index: 0;
  }
  .form_flow_list--item::after {
    bottom: -1px;
    left: 50%;
    z-index: -1;
    width: 100%;
    height: 3px;
  }
  .form_flow_list--item:last-child::after {
    content: none;
  }
  .form_flow_list--item-input::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete)::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-input::after,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item::before,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete)::after {
    background-color: #ff8022;
  }
  .mw_wp_form:not(.mw_wp_form_confirm):not(.mw_wp_form_complete) .form_flow_list .form_flow_list--item-input::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-confirm::before,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item-complete::before {
    transform: translateX(-50%) scale(1.3);
  }
  .mw_wp_form:not(.mw_wp_form_confirm):not(.mw_wp_form_complete) .form_flow_list .form_flow_list--item-input,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-confirm,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item-complete {
    color: #ff8022;
  }
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-input,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete) {
    color: #dfe0df;
  }
  @media screen and (max-width: 960px) {
    .form_flow_list {
      width: 100%;
      margin-top: 24px;
    }
    .is_app_next_page .simu_app .app_form .form_flow_list {
      margin-top: 0;
    }
    .form_flow_list--item {
      font-size: 100%;
      letter-spacing: 0em;
      line-height: 1.6em;
    }
  }
  @media screen and (max-width: 560px) {
    .form_flow_list {
      margin-bottom: 20px;
    }
    .form_flow_list--item::before {
      width: 9px;
      height: 9px;
      bottom: -4px;
    }
    .cf_form table input[type="text"],
    .cf_form table input[type="email"],
    .cf_form table input[type="tel"],
    .cf_form table input[type="date"],
    .cf_form table input[type="password"],
    .cf_form table input[type="number"],
    .cf_form table textarea {
      font-size: 16px;
    }
  }
  @media screen and (max-width: 320px) {
    .form_flow_list--item {
      font-size: 90%;
    }
  }


/* ##############################################################################

    campaign - modal

############################################################################## */
  .cp_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
  }
  .cp_modal .layer {
    opacity: .95;
    pointer-events: all;
  }
  .cp_modal .cp_bloc {
    width: 80%;
  }
  .cp_modal .cp_bloc-50off .cp_bloc--in::before {
    background-image: url(../images/otegoro/cp/50off/cp_50off-modal-confetti.png);
  }
  .cp_modal .modal_close {
    position: absolute;
    top: -32px;
    right: -32px;
    width: 88px;
    height: 88px;
    border-radius: 100%;
    border-width: 4px;
    border-style: solid;
    z-index: 1;
  }
  .cp_modal .modal_close::before,
  .cp_modal .modal_close::after {
    content: '';
    position: absolute;
    top: calc(50% - 3px);
    left: calc(50% - 33%);
    width: 66%;
    height: 6px;
    border-radius: 100px;
  }
  .cp_modal .modal_close::before {
    transform: rotate(45deg);
  }
  .cp_modal .modal_close::after {
    transform: rotate(-45deg);
  }
  .cp_modal.is_hide {
    opacity: 0;
  }
  .cp_modal.is_hide,
  .cp_modal.is_hide .layer {
    pointer-events: none;
  }
  @media screen and (min-width: 961px) {
    .cp_modal .modal_close:hover {
      transform: rotate(540deg);
      background-color: #ffd307;
    }
  }
  @media screen and (max-width: 1600px) {
    .cp_modal .cp_bloc {
      width: 90%;
    }
  }
  @media screen and (max-width: 1400px) {
    .cp_modal .cp_bloc {
      width: 95%;
    }
    .cp_modal .modal_close {
      top: -24px;
      right: -24px;
      width: 64px;
      height: 64px;
      border-width: 3px;
    }
    .cp_modal .modal_close::before,
    .cp_modal .modal_close::after {
      top: calc(50% - 2px);
      height: 4px;
    }
  }
  @media screen and (max-width: 960px) {
    .cp_modal .modal_close {
      top: -16px;
      right: -16px;
      background-color: #ffd307;
    }
  }
  @media screen and (max-width: 560px) {
    .cp_modal .modal_close {
      top: -8px;
      right: -8px;
      width: 48px;
      height: 48px;
    }
  }


/* ##############################################################################

    campaign - cp50off

############################################################################## */
  .cp_bloc-50off .inner > * {
    width: 50%;
  }
  .cp_bloc-50off .cp_bloc--in {
    padding-top: 72px;
    padding-bottom: 158px;
    padding-left: 64px;
    padding-right: 64px;
    overflow: hidden;
  }
  .cp_bloc-50off .cp_bloc--in::before {
    background-image: url(../images/otegoro/cp/50off/cp_50off-top-confetti.png);
    background-size: cover;
    background-position: center;
    z-index: 1;
    pointer-events: none;
  }
  .cp_bloc-50off .ttlarea {
    letter-spacing: .1em;
  }
  .cp_bloc-50off .ttlarea .fukidashi {
    font-size: 233%;
    line-height: 1em;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 52px;
    padding-right: 52px;
    border-radius: 100px;
  }
  .cp_bloc-50off .ttlarea .fukidashi::before {
    content: '';
    position: absolute;
    left: calc(50% - 16px);
    top: calc(100% - 1px);
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-top-width: 20px;
    border-bottom-width: 0;
  }
  .cp_bloc-50off .ttlarea .ttl {
    font-size: 400%;
    line-height: 1.6em;
  }
  .cp_bloc-50off .ttlarea .ttl .frame_txt {
    margin-right: 12px;
  }
  .cp_bloc-50off .ttlarea .ttl .frame_txt img {
    position: absolute;
    bottom: 92%;
    right: 92%;
  }
  .cp_bloc-50off .ttlarea .ttl .frame_txt span {
    display: inline-block;
    width: 80px;
    line-height: 72px;
    border: 2px solid #fff;
    padding-bottom: 4px;
  }
  .cp_bloc-50off .ttlarea .ttl .frame_txt span:not(:last-child) {
    margin-left: -2px;
  }
  .cp_bloc-50off .ttlarea p {
    font-size: 93%;
  }
  .cp_bloc-50off .imgarea {
    padding-top: 40px;
    padding-left: 64px;
    padding-right: 64px;
    transform: rotate(8deg) translate(56px,8px);
  }
  .cp_bloc-50off .imgarea .bg_arrow {
    top: auto;
    top: inherit;
    bottom: 0;
    height: 100vh;
    opacity: .8;
  }
  .cp_bloc-50off .imgarea .bg_arrow::before {
    content: '';
    position: absolute;
    left: calc(50% - 420px);
    top: calc(100% - 20px);
    border-style: solid;
    border-right: 420px solid transparent;
    border-left: 420px solid transparent;
    border-top-width: 420px;
    border-bottom-width: 0;
  }
  .cp_bloc-50off .attn_list {
    font-size: 80%;
    left: 0;
    bottom: -88px;
    position: absolute;
  }
  .cp_bloc-50off .attn_list--item {
    margin-left: 10px;
    margin-right: 10px;
  }
  .cp_bloc-50off .attn_list--item::before {
    content: '※';
  }
  .cp_bloc-50off .period {
    position: absolute;
    bottom: 0;
    left: 50%;
    padding-top: 10px;
    padding-bottom: 9px;
    padding-left: 40px;
    padding-right: 24px;
    border-radius: 100px 100px 4px 4px;
    opacity: .95;
    transform: translateX(-50%);
  }
  .plan_list--item .plan_img .delete_price {
    position: absolute;
    top: 72px;
    right: calc(100% - 18px);
  }
  .plan_list--item .plan_img .fukidashi {
    position: absolute;
    right: calc(100% - 64px);
    bottom: calc(100% - 64px);
  }
  @media screen and (max-width: 1280px) {
    .cp_bloc-50off .ttlarea .fukidashi {
      font-size: 180%;
    }
    .cp_bloc-50off .ttlarea .ttl {
      font-size: 267%;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt span {
      width: 58px;
      line-height: 50px;
    }
    .cp_bloc-50off .imgarea {
      padding-left: 48px;
      padding-right: 48px;
    }
    .cp_bloc-50off .imgarea .bg_arrow::before {
      left: calc(50% - 320px);
      border-right: 320px solid transparent;
      border-left: 320px solid transparent;
      border-top-width: 369px;
    }
    .plan_list--item .plan_img .delete_price {
      top: 5vw;
      width: 10%;
    }
    .plan_list--item .plan_img .fukidashi {
      width: 92px;
      bottom: calc(100% - 40px);
    }
  }
  @media screen and (max-width: 1064px) {
    .cp_bloc-50off .cp_bloc--in {
      padding-left: 32px;
    }
    .cp_bloc-50off .imgarea .bg_arrow::before {
      left: calc(50% - 256px);
      border-right: 256px solid transparent;
      border-left: 256px solid transparent;
      border-top-width: 295px;
    }
  }
  @media screen and (max-width: 960px) {
    .cp_bloc-50off {
      margin-top: 64px;
    }
    .cp_bloc-50off .cp_bloc--in {
      padding-top: 64px;
      padding-bottom: 96px;
      padding-right: 0;
      padding-left: 0;
    }
    .cp_bloc-50off .cp_bloc--in::before,
    .cp_modal .cp_bloc-50off .cp_bloc--in::before {
      background-image: url(../images/otegoro/cp/50off/cp_50off-sp-confetti.png);
    }
    .cp_bloc-50off .cp_bloc--in .inner {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .cp_bloc-50off .inner > * {
      width: 100%;
    }
    .cp_bloc-50off .ttlarea {
      order: 2;
      margin-bottom: 48px;
    }
    .cp_bloc-50off .imgarea {
      order: 1;
      margin-bottom: 48px;
      padding-top: 0;
      max-width: 360px;
      transform: rotate(0deg);
      z-index: -1;
    }
    .cp_bloc-50off .imgarea .bg_arrow::before {
      left: calc(50% - 230px);
      border-right: 230px solid transparent;
      border-left: 230px solid transparent;
      border-top-width: 120px;
      top: calc(100% - 16px);
    }
    .cp_bloc-50off .attn_list {
      position: static;
      order: 3;
    }
    .cp_bloc-50off .period {
      border-radius: 100px 100px 4px 4px;
      padding-bottom: 6px;
      padding-left: 32px;
      padding-right: 32px;
      opacity: 1;
      white-space: nowrap;
      font-size: 87%;
    }
    .plan_list--item .plan_img .delete_price {
      top: 9vw;
    }
    .plan_list--item .plan_img .fukidashi {
      width: 120px;
      right: calc(100% - 80px);
      bottom: calc(100% - 50px);
    }
  }
  @media screen and (max-width: 768px) {
    .plan_list--item .plan_img .delete_price {
      top: 11vw;
    }
  }
  @media screen and (max-width: 560px) {
    .cp_bloc-50off {
      margin-top: 40px;
    }
    .cp_bloc-50off .cp_bloc--in {
      padding-top: 40px;
      padding-bottom: 72px;
    }
    .cp_bloc-50off .imgarea {
      max-width: 260px;
      padding-left: 32px;
      padding-right: 32px;
      margin-bottom: 32px;
    }
    .cp_bloc-50off .imgarea .bg_arrow::before {
      left: calc(50% - 180px);
      border-right: 180px solid transparent;
      border-left: 180px solid transparent;
      border-top-width: 96px;
    }
    .cp_bloc-50off .ttlarea {
      margin-bottom: 32px;
    }
    .cp_bloc-50off .ttlarea .fukidashi {
      padding-top: 16px;
      padding-bottom: 16px;
      padding-left: 32px;
      padding-right: 32px;
      font-size: 150%;
    }
    .cp_bloc-50off .ttlarea .fukidashi::before {
      left: calc(50% - 12px);
      border-right: 12px solid transparent;
      border-left: 12px solid transparent;
      border-top-width: 12px;
    }
    .cp_bloc-50off .ttlarea .ttl {
      font-size: 229%;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt {
      margin-right: 8px;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt img {
      width: 32px;
      height: 31px;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt span {
      width: 48px;
      line-height: 40px;
    }
    .cp_bloc-50off .period {
      padding-left: 24px;
      padding-right: 24px;
    }
    .plan_list--item .plan_img .delete_price {
      right: calc(100% - 3.8vw);
    }
    .plan_list--item .plan_img .fukidashi {
      width: 64px;
      right: calc(100% - 52px);
      bottom: calc(100% - 40px);
    }
  }
  @media screen and (max-width: 374px) {
    .cp_bloc-50off .imgarea {
      max-width: 220px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .cp_bloc-50off .ttlarea .fukidashi {
      font-size: 129%;
    }
    .cp_bloc-50off .ttlarea .ttl {
      font-size: 200%;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt {
      margin-right: 6px;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt span {
      width: 40px;
      line-height: 34px;
      padding-bottom: 2px;
    }
    .cp_bloc-50off .ttlarea .ttl .frame_txt img {
      width: 24px;
      height: 23px;
    }
  }


/* ##############################################################################

    campaign - end

############################################################################## */
  .cp_end {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
  }
  .cp_end .chara_list--item {
    margin-left: 8px;
    margin-right: 8px;
  }


/* ======================================================================================

    SAFARI HACK

====================================================================================== */

  _::-webkit-full-page-media, _:future, :root .gnav--item a:hover span {
    transform: none;
  }
  _::-webkit-full-page-media, _:future, :root .visible .chara img:not(.chara_txt) {
    animation: none;
    opacity: 1;
  }
  _::-webkit-full-page-media, _:future, :root .works .works_list .slick-arrow:hover,
  _::-webkit-full-page-media, _:future, :root .header.active .gnav::before {
    animation: none;
  }
  _::-webkit-full-page-media, _:future, :root .header.active .gnav::before {
    opacity: 1;
  }


