@media only screen and (max-width: 960px) {
  .p-index, .p-flow-inr, .p-flow-offer-box {
    width: calc(100% - 40px);
    margin: 0 auto; } }
@media print, screen and (min-width: 961px) {
  .p-index, .p-flow-inr, .p-flow-offer-box {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto; } }

@media only screen and (max-width: 960px) {
  .p-notice, .p-bosyu, .p-qa-inr, .p-message {
    width: calc(100% - 40px);
    margin: 0 auto; } }
@media print, screen and (min-width: 961px) {
  .p-notice, .p-bosyu, .p-qa-inr, .p-message {
    width: 100%;
    max-width: 960px;
    margin: 0 auto; } }

.p-qa-acc-ttl {
  position: relative; }
  .p-qa-acc-ttl:before {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    border-top: 1px solid #0c1530;
    position: absolute;
    right: 17px;
    top: 50%; }
  .p-qa-acc-ttl:after {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    border-top: 1px solid #0c1530;
    position: absolute;
    right: 17px;
    top: 50%;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: transform .4s .4s; }
  .is-open.p-qa-acc-ttl:after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }

.p-js-fade-up {
  opacity: 0;
  transform: translate(0, 20px); }
  .is-anime.p-js-fade-up {
    transform: translate(0, 0);
    opacity: 1; }
    @media only screen and (max-width: 960px) {
      .is-anime.p-js-fade-up {
        transition: opacity 1s, transform 1s; } }
    @media print, screen and (min-width: 961px) {
      .is-anime.p-js-fade-up {
        transition: opacity 1s .2s, transform 1s .2s; } }

.p-js-photo {
  text-align: center;
  overflow: hidden;
  transform: translate(0, 20px);
  clip-path: inset(0 0 100% 0);
  opacity: 0; }
  .p-js-photo img {
    width: 100%;
    transform-origin: 50% 0;
    transform: scale(1.3); }
  .p-js-photo.is-anime {
    transform: translate(0, 0);
    clip-path: inset(0 0 0 0);
    opacity: 1; }
    @media only screen and (max-width: 960px) {
      .p-js-photo.is-anime {
        transition: opacity 1s .4s, clip-path 1s .4s, transform 1s .4s; } }
    @media print, screen and (min-width: 961px) {
      .p-js-photo.is-anime {
        transition: opacity 1s, clip-path 1s, transform 1s; } }
    .p-js-photo.is-anime img {
      transform: scale(1); }
      @media only screen and (max-width: 960px) {
        .p-js-photo.is-anime img {
          transition: transform 1s .4s; } }
      @media print, screen and (min-width: 961px) {
        .p-js-photo.is-anime img {
          transition: transform 1s; } }

@media only screen and (max-width: 960px) {
  .p-mv {
    min-height: 600px;
    height: calc(100vh - 80px); } }
@media print, screen and (min-width: 961px) {
  .p-mv {
    min-height: 750px;
    height: calc(100vh - 115px); } }

.p-mv-ttl {
  position: relative;
  z-index: 100;
  color: #fff;
  display: inline-block;
  transform: translate(0, 20px);
  opacity: 0; }
  @media only screen and (max-width: 960px) {
    .p-mv-ttl {
      width: 240px;
      margin-top: calc(50vh - 57px); } }
  @media print, screen and (min-width: 961px) {
    .p-mv-ttl {
      width: 366px;
      margin-top: calc(50vh - 57px); } }

.is-anime .p-mv-ttl {
  transform: translate(0, 0);
  opacity: 1; }
  @media only screen and (max-width: 960px) {
    .is-anime .p-mv-ttl {
      transition: opacity 1s, transform 1s; } }
  @media print, screen and (min-width: 961px) {
    .is-anime .p-mv-ttl {
      transition: opacity 1s .4s, transform 1s .4s; } }

.p-entry-ttl {
  margin: auto; }
  @media only screen and (max-width: 960px) {
    .p-entry-ttl {
      width: 180px;
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-entry-ttl {
      width: 160px;
      margin-bottom: 40px; } }

.p-entry-lead {
  text-align: center; }
  @media only screen and (max-width: 960px) {
    .p-entry-lead {
      margin-bottom: 40px; } }
  @media print, screen and (min-width: 961px) {
    .p-entry-lead {
      margin-bottom: 60px; } }

.p-entry-end .p-entry-lead {
  color: #0c1530; }

@media only screen and (max-width: 960px) {
  .p-entry-btns {
    margin: 0 20px; } }
@media print, screen and (min-width: 961px) {
  .p-entry-btns {
    width: 880px;
    margin: auto;
    display: flex;
    justify-content: space-between; } }

@media only screen and (max-width: 960px) {
  .p-entry-item {
    margin-bottom: 10px; } }

.p-entry-btn {
  padding: .5em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }
  @media only screen and (max-width: 960px) {
    .p-entry-btn {
      min-height: 72px; } }
  @media print, screen and (min-width: 961px) {
    .p-entry-btn {
      min-height: 90px;
      width: 430px;
      background: linear-gradient(to right, rgba(12, 21, 48, 0.15), rgba(12, 21, 48, 0.15)) 100% 0/0 100% no-repeat;
      transition: background-size .3s; }
      .p-entry-btn:hover {
        background: linear-gradient(to right, rgba(12, 21, 48, 0.15), rgba(12, 21, 48, 0.15)) 0 0/100% 100% no-repeat;
        backdrop-filter: blur(40px);
        -webkit-backdrop-filter: blur(40px); }
        .p-entry-btn:hover:before {
          width: calc(100% - 10px);
          height: calc(100% - 10px); }
        .p-entry-btn:hover:after {
          transform: translate(5px, -50%) rotateY(360deg); } }
  @media only screen and (max-width: 960px) {
    .p-entry-btn img {
      width: auto;
      height: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-entry-btn img {
      width: auto;
      height: 24px; } }
  .p-entry-btn:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #0c1530;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: width .3s, height .3s; }
  .p-entry-btn:after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 12px;
    background: url(/benesseinfo/saiyou/_assets2024/_common/img/c-arr-bk.png) 50% 50%/contain no-repeat;
    position: absolute;
    top: 50%;
    right: 1.5em;
    transform: translate(0, -50%);
    transition: transform .5s; }

@media print, screen and (min-width: 961px) {
  .p-entry-end .p-entry-btn {
    background: linear-gradient(to right, rgba(12, 21, 48, 0.15), rgba(12, 21, 48, 0.15)) 100% 0/0 100% no-repeat;
    transition: background-size .3s; }
    .p-entry-end .p-entry-btn:hover {
      background: linear-gradient(to right, rgba(12, 21, 48, 0.15), rgba(12, 21, 48, 0.15)) 0 0/100% 100% no-repeat; } }
.p-entry-end .p-entry-btn:before {
  border: 2px solid #0c1530; }
.p-entry-end .p-entry-btn:after {
  background: url(/benesseinfo/saiyou/_assets2024/_common/img/c-arr-bk.png) 50% 50%/contain no-repeat; }

@media print, screen and (min-width: 961px) {
  .p-index {
    margin-top: 50px; } }

.p-notice {
  background: #fff; }
  @media only screen and (max-width: 960px) {
    .p-notice {
      padding: 20px;
      margin-top: 40px; } }
  @media print, screen and (min-width: 961px) {
    .p-notice {
      padding: 40px;
      margin-top: 80px; } }
  .p-notice dt {
    color: #f00;
    font-weight: bold;
    margin-bottom: 1em; }

.p-bosyu-item {
  transform: translate(0, 20px);
  opacity: 0; }
  .p-bosyu-item.is-anime {
    transform: translate(0, 0);
    opacity: 1;
    transition: 1s; }

.p-bosyu-item {
  border-top: solid 1px #cccccc; }
  @media only screen and (max-width: 960px) {
    .p-bosyu-item {
      padding-top: 30px;
      padding-bottom: 30px; } }
  @media print, screen and (min-width: 961px) {
    .p-bosyu-item {
      padding-top: 40px;
      padding-bottom: 40px; } }
  .p-bosyu-item:last-of-type {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 40px; }
  @media only screen and (max-width: 960px) {
    .p-bosyu-item .p-bosyu-txt {
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-bosyu-item .p-bosyu-txt {
      margin-bottom: 30px; } }
  .p-bosyu-item .p-bosyu-txt:last-child {
    margin-bottom: 0; }
  .p-bosyu-item .p-bosyu-sub-ttl {
    font-weight: bold; }
    @media only screen and (max-width: 960px) {
      .p-bosyu-item .p-bosyu-sub-ttl {
        margin-bottom: 5px; } }
    @media print, screen and (min-width: 961px) {
      .p-bosyu-item .p-bosyu-sub-ttl {
        margin-bottom: 10px; } }
  .p-bosyu-item figure:last-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 960px) {
    .p-bosyu-item figure {
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-bosyu-item figure {
      margin-bottom: 30px; } }
  .p-bosyu-item figure img {
    display: block; }
    @media only screen and (max-width: 960px) {
      .p-bosyu-item figure img {
        margin-bottom: 5px; } }
    @media print, screen and (min-width: 961px) {
      .p-bosyu-item figure img {
        margin-bottom: 10px; } }

.p-flow {
  padding-top: 0; }

.p-flow-ttl {
  margin-bottom: 5px; }

.p-flow-ttl-lead {
  text-align: center; }

.p-flow-inr {
  background: rgba(255, 255, 255, 0.4); }
  @media only screen and (max-width: 960px) {
    .p-flow-inr {
      padding: 40px 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-flow-inr {
      padding: 80px 160px; } }

.p-flow-content {
  position: relative; }
  @media only screen and (max-width: 960px) {
    .p-flow-content {
      margin-top: 30px; } }
  @media print, screen and (min-width: 961px) {
    .p-flow-content {
      margin-top: 40px; } }
  .p-flow-content:before {
    position: absolute;
    content: "";
    display: block;
    background: #e4e3e1;
    height: 100%; }
    @media only screen and (max-width: 960px) {
      .p-flow-content:before {
        width: 15px;
        left: 90px; } }
    @media print, screen and (min-width: 961px) {
      .p-flow-content:before {
        width: 14px;
        left: 195px; } }
  .p-flow-content dl {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 30px; }
    .p-flow-content dl:last-of-type {
      margin-bottom: 0; }
  .p-flow-content dt {
    font-weight: bold;
    color: #fff;
    background: #268be7;
    text-align: center;
    position: relative; }
    @media only screen and (max-width: 960px) {
      .p-flow-content dt {
        width: 75px;
        padding: 10px 5px;
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 961px) {
      .p-flow-content dt {
        width: 160px;
        padding: 12px;
        font-size: 18px;
        font-size: 1.125rem; } }
    .p-flow-content dt:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 0 6px 15px;
      border-color: transparent transparent transparent #268be7; }
      @media only screen and (max-width: 960px) {
        .p-flow-content dt:after {
          top: 13px;
          right: -8px; } }
      @media print, screen and (min-width: 961px) {
        .p-flow-content dt:after {
          top: 20px;
          right: -10px; } }
    .p-flow-content dt:before {
      content: "";
      display: block;
      background: linear-gradient(to bottom, #1fddb9, #1fddb9 30%, #268be8);
      border-radius: 50px;
      position: absolute; }
      @media only screen and (max-width: 960px) {
        .p-flow-content dt:before {
          right: -28px;
          top: 14px;
          width: 11px;
          height: 11px; } }
      @media print, screen and (min-width: 961px) {
        .p-flow-content dt:before {
          right: -47px;
          top: 23px;
          width: 9px;
          height: 9px; } }
  @media only screen and (max-width: 960px) {
    .p-flow-content dd {
      line-height: 1.5;
      width: calc(100% - 125px); } }
  @media print, screen and (min-width: 961px) {
    .p-flow-content dd {
      width: calc(100% - 287px); } }
  .p-flow-content dd span {
    display: block; }
    .p-flow-content dd span:first-of-type {
      position: relative; }
      .p-flow-content dd span:first-of-type:before {
        content: "";
        display: block;
        height: 1px;
        background: #268be7;
        position: absolute; }
        @media only screen and (max-width: 960px) {
          .p-flow-content dd span:first-of-type:before {
            width: 12px;
            left: -22px;
            top: 10px; } }
        @media print, screen and (min-width: 961px) {
          .p-flow-content dd span:first-of-type:before {
            width: 60px;
            left: -81px;
            top: 13px; } }
  .p-flow-content dl.p-flow-content-intern {
    border-bottom: dotted 3px #e4e3e1;
    padding-bottom: 30px; }
    .p-flow-content dl.p-flow-content-intern dt {
      color: #268be7;
      background: #cbe4fb; }
      .p-flow-content dl.p-flow-content-intern dt:after {
        border-color: transparent transparent transparent #cbe4fb; }

.p-qa {
  background: rgba(255, 255, 255, 0.4); }

.p-qa-acc-box {
  border-top: 1px solid #cccccc; }
  .p-qa-acc-box:last-of-type {
    border-bottom: 1px solid #cccccc; }

.p-qa-acc-ttl {
  display: flex;
  cursor: pointer; }
  @media only screen and (max-width: 960px) {
    .p-qa-acc-ttl {
      padding: 20px 0;
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 961px) {
    .p-qa-acc-ttl {
      padding: 30px 0;
      font-size: 20px;
      font-size: 1.25rem; } }

.p-qa-acc-body {
  display: none; }

.p-qa-acc-body-inr {
  display: flex; }
  @media only screen and (max-width: 960px) {
    .p-qa-acc-body-inr {
      padding-bottom: 20px; } }
  @media print, screen and (min-width: 961px) {
    .p-qa-acc-body-inr {
      padding-left: 48px;
      padding-top: 10px;
      padding-bottom: 30px; } }

.p-qa-icon {
  display: block; }
  @media only screen and (max-width: 960px) {
    .p-qa-icon {
      width: 20px;
      margin-right: 15px;
      margin-top: 3px; } }
  @media print, screen and (min-width: 961px) {
    .p-qa-icon {
      width: 24px;
      margin-right: 25px; } }

@media only screen and (max-width: 960px) {
  .p-qa-txt {
    width: calc(100% - 80px); } }
@media print, screen and (min-width: 961px) {
  .p-qa-txt {
    width: calc(100% - 120px); } }

.p-message {
  transform: translate(0, 20px);
  opacity: 0; }
  .p-message.is-anime {
    transform: translate(0, 0);
    opacity: 1;
    transition: 1s; }

.p-message-inr {
  position: relative; }

@media only screen and (max-width: 960px) {
  .p-message-ttl {
    margin-bottom: 20px; } }
@media print, screen and (min-width: 961px) {
  .p-message-ttl {
    width: calc(440/960*100%);
    margin-bottom: 30px; } }
.p-message-ttl .-sub {
  display: block;
  margin-bottom: .1em; }
  @media only screen and (max-width: 960px) {
    .p-message-ttl .-sub {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 961px) {
    .p-message-ttl .-sub {
      font-size: 21px;
      font-size: 1.3125rem; } }
  .p-message-ttl .-sub:after {
    content: "";
    display: inline-block;
    width: 3em;
    height: 1px;
    background: currentcolor;
    margin-bottom: .4em;
    margin-left: .5em; }
.p-message-ttl .-main {
  display: block;
  line-height: 1.4; }
  @media only screen and (max-width: 960px) {
    .p-message-ttl .-main {
      font-size: 30px;
      font-size: 1.875rem; } }
  @media print, screen and (min-width: 961px) {
    .p-message-ttl .-main {
      font-size: 40px;
      font-size: 2.5rem; } }

@media only screen and (max-width: 960px) {
  .p-message-photo {
    text-align: center;
    position: relative; } }
@media print, screen and (min-width: 961px) {
  .p-message-photo {
    width: calc(460/960*100%);
    position: absolute;
    top: 0;
    right: 0; } }
.p-message-photo img {
  position: relative; }
.p-message-photo:before {
  content: "";
  display: block;
  background: rgba(0, 169, 157, 0.15);
  position: absolute; }
  @media only screen and (max-width: 960px) {
    .p-message-photo:before {
      width: 75%;
      height: 230px;
      top: 100%;
      left: -20px;
      translate: 0 -50%; } }
  @media print, screen and (min-width: 961px) {
    .p-message-photo:before {
      width: 420px;
      height: 320px;
      top: 60%;
      left: -50%; } }

.p-message-body {
  line-height: 1.7;
  position: relative; }
  @media only screen and (max-width: 960px) {
    .p-message-body {
      margin-top: 1.5em; } }
  @media print, screen and (min-width: 961px) {
    .p-message-body {
      width: calc(440/960*100%); } }

@media only screen and (max-width: 960px) {
  .p-message-txt {
    font-size: 14px;
    font-size: 0.875rem; } }
@media print, screen and (min-width: 961px) {
  .p-message-txt {
    font-size: 18px;
    font-size: 1.125rem; } }

.p-message-name {
  margin-top: 1em; }
  @media only screen and (max-width: 960px) {
    .p-message-name {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 961px) {
    .p-message-name {
      font-size: 12px;
      font-size: 0.75rem; } }

/*# sourceMappingURL=fr_s.css.map */
