@charset "UTF-8";
/* *****************************
 *
 * Import file to Scss or Sass.
 *
 **************************** */
/* -----------------------------------------------------------------
Title: reset.css
Created: 2020-02-20
Last Modified: 2020-03-26
------------------------------------------------------------------ */
/*　目次 
-----------------------------------------------------------------

#01-リセット
#02-基本タグの定義
#03-CSSハック

------------------------------------------------------------------ */
/* -----------------------------------------------------------------

#01　リセット

------------------------------------------------------------------ */
* {
  font-style: normal;
  margin: 0px;
  padding: 0px;
  text-decoration: none; }

html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  line-height: 1.6; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

ol, ul, dl {
  list-style: none; }

fieldset {
  border: 0; }

img {
  border: 0;
  vertical-align: bottom;
  width: 100%;
  height: auto; }

::placeholder {
  color: #C0C0C0; }

.grecaptcha-badge {
  display: none; }

/* -----------------------------------------------------------------

#02　基本タグの定義
    font-family: 'Josefin Sans', sans-serif;
    font-family: 'Noto Sans JP', sans-serif;
    font-family: 'Oswald', sans-serif;

------------------------------------------------------------------ */
body {
  font-family: "Yu Gothic", "Meiryo", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  background-color: #FFFCE7;
  color: #333333;
  font-weight: 400;
  letter-spacing: 0.09em;
  text-align: left;
  width: auto;
  height: 100%;
  margin: 0px auto;
  background-position: top;
  box-sizing: border-box; }

@media screen and (max-width: 750px) {
  body {
    border: none; } }
@media all and (-ms-high-contrast: none) {
  body {
    letter-spacing: 0; } }
h1, h2, h3, h4, h5, h6 {
  font-weight: 100; }

p {
  text-align: left;
  font-size: 1.3em; }

span {
  font-size: 1em;
  text-align: left; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: 100; }

a img {
  border-style: none;
  outline: medium none; }

object {
  border-style: none;
  outline: medium none; }

/** anchors */
/**************************************/
a {
  font-size: 1em;
  color: #00559A;
  text-decoration: none;
  outline: none;
  -webkit-transition: opacity 0.30s;
  -moz-transition: opacity 0.30s;
  -ms-transition: opacity 0.30s;
  -o-transition: opacity 0.30s;
  transition: opacity 0.30s; }

a:hover {
  opacity: 0.7; }

a:link {
  outline: medium none; }

a:visited {
  outline: medium none; }

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */
.both {
  position: absolute;
  top: 0;
  left: -7px;
  width: 100%;
  z-index: 70;
  opacity: 0.5; }
  .both img {
    display: block;
    width: 750px;
    max-width: 1280px;
    margin: 0 auto; }

.no_scroll {
  width: 100%;
  height: 100vh;
  overflow: hidden; }

.top_index header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50; }
  .top_index header .logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 33px;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
    background: #FFFFFF;
    width: 96.875vw;
    height: 66px;
    margin: 40px auto 0 auto;
    padding: 0 33px 0 31px;
    box-sizing: border-box; }
    .top_index header .logo h1 {
      width: 225px; }
    .top_index header .logo p {
      width: 32px;
      margin: 4px 0 0 0; }
  .top_index header .menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 60;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    overscroll-behavior-y: none; }
    .top_index header .menu.on {
      display: block; }
    .top_index header .menu .fade {
      position: fixed;
      top: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.7);
      width: 100%;
      height: 100%; }
    .top_index header .menu .box {
      background: #FD97A2;
      position: absolute;
      top: 20px;
      right: 20px;
      border-radius: 33px;
      width: 440px;
      padding: 20px 0 82px 70px;
      box-sizing: border-box; }
      .top_index header .menu .box .link {
        display: flex;
        justify-content: flex-end;
        padding: 0 32px 38px 0; }
        .top_index header .menu .box .link a {
          width: 34px; }
      .top_index header .menu .box ul li {
        margin: 0 0 30px 0; }
        .top_index header .menu .box ul li:last-child {
          margin: 0; }
        .top_index header .menu .box ul li a {
          position: relative;
          top: 0;
          left: 0;
          font-family: "Zen Maru Gothic", serif;
          font-weight: 500;
          font-style: normal;
          font-weight: 500;
          color: #FFFFFF;
          font-size: 26px;
          padding: 0 0 0 30px; }
          .top_index header .menu .box ul li a em {
            font-size: 20px; }
          .top_index header .menu .box ul li a.on::before {
            position: absolute;
            left: 0;
            top: 45%;
            content: '';
            display: block;
            background: #FFFFFF;
            border-radius: 10px;
            width: 10px;
            height: 10px; }
  @media screen and (max-width: 1040px) {
    .top_index header .logo {
      border-radius: 6vw;
      width: 94.6666666667vw;
      height: 12vw;
      margin: 2.6666666667vw auto 0 auto;
      padding: 0 5.2vw 0 4.8vw; }
      .top_index header .logo h1 {
        width: 40vw; }
      .top_index header .logo p {
        width: 7.0666666667vw;
        margin: 1.0666666667vw 0 0 0; }
    .top_index header .menu .box {
      top: 2.6666666667vw;
      right: 2.6666666667vw;
      border-radius: 6vw;
      width: 94.6666666667vw;
      padding: 3.3333333333vw 0 10.9333333333vw 22vw; }
      .top_index header .menu .box .link {
        padding: 0 5.0666666667vw 8.4vw 0; }
        .top_index header .menu .box .link a {
          width: 7.6vw; }
      .top_index header .menu .box ul li {
        margin: 0 0 6.1333333333vw 0; }
        .top_index header .menu .box ul li:last-child {
          margin: 0; }
        .top_index header .menu .box ul li a {
          font-size: 5.3333333333vw;
          padding: 0; }
          .top_index header .menu .box ul li a em {
            font-size: 4.1333333333vw; }
          .top_index header .menu .box ul li a.on::before {
            display: none; } }
.top_index main .inner {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto; }
  @media screen and (max-width: 1040px) {
    .top_index main .inner {
      max-width: 89.3333333333vw; } }
.top_index main #key {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0 0 150px 0; }
  .top_index main #key h2 {
    width: 90.46875vw;
    max-width: 1158px; }
  @media screen and (max-width: 1040px) {
    .top_index main #key {
      height: auto;
      padding: 23.7333333333vw 0 0 0;
      margin: 0 0 22.6666666667vw 0; }
      .top_index main #key h2 {
        width: 86.9333333333vw;
        max-width: 86.9333333333vw; } }
.top_index main #cont01 {
  margin: 0 0 150px 0; }
  .top_index main #cont01 .inner {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: #FAD9CD;
    padding: 87px 0 62px 0; }
    .top_index main #cont01 .inner .title {
      position: absolute;
      top: -45px;
      left: 0;
      width: 100%; }
    .top_index main #cont01 .inner h3 {
      display: flex;
      align-items: center;
      justify-content: center;
      background: url(../images/cont01_bg.png) center center no-repeat;
      background-size: 100% auto;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      text-align: center;
      color: #FFFFFF;
      font-size: 45px;
      letter-spacing: -0.1em;
      width: 708px;
      height: 87px;
      margin: 0 auto; }
    .top_index main #cont01 .inner .flex {
      display: flex;
      justify-content: space-between;
      width: 916px;
      margin: 0 auto 26px auto; }
      .top_index main #cont01 .inner .flex .left {
        font-size: 18px;
        line-height: 1.75;
        letter-spacing: -0.05em;
        text-align: justify;
        width: 450px; }
      .top_index main #cont01 .inner .flex .right {
        width: 398px;
        margin: -9px 2px 0 0; }
    .top_index main #cont01 .inner .box {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border: solid #EF929E 2px;
      border-radius: 30px;
      background: #FFFFFF;
      width: 916px;
      margin: 0 auto;
      padding: 17px 37px 13px 42px;
      box-sizing: border-box; }
      .top_index main #cont01 .inner .box div {
        width: 550px;
        margin: -9px 0 0 0; }
        .top_index main #cont01 .inner .box div strong {
          display: block;
          font-size: 28px;
          font-family: "Zen Maru Gothic", serif;
          font-weight: 500;
          font-style: normal;
          letter-spacing: -0.14em;
          margin: 0 0 13px 0; }
        .top_index main #cont01 .inner .box div p {
          font-size: 16px;
          line-height: 1.75;
          letter-spacing: 0; }
      .top_index main #cont01 .inner .box .img {
        width: 228px; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont01 {
      margin: 0 0 18.6666666667vw 0; }
      .top_index main #cont01 .inner {
        border-radius: 2.6666666667vw;
        padding: 12vw 0 6vw 0; }
        .top_index main #cont01 .inner .title {
          top: -4.5333333333vw; }
        .top_index main #cont01 .inner h3 {
          background: url(../images/cont01_bg.png) center center no-repeat;
          background-size: 100% auto;
          font-size: 5.3333333333vw;
          letter-spacing: -0.1em;
          width: 81.3333333333vw;
          height: 10vw; }
        .top_index main #cont01 .inner .flex {
          display: block;
          width: 80vw;
          margin: 0 auto 4vw auto; }
          .top_index main #cont01 .inner .flex .left {
            font-size: 4vw;
            line-height: 1.5;
            letter-spacing: -0.05em;
            width: 100%;
            margin: 0 0 3.7333333333vw 0; }
          .top_index main #cont01 .inner .flex .right {
            width: 75.2vw;
            margin: 0 auto; }
        .top_index main #cont01 .inner .box {
          display: block;
          border-radius: 2vw;
          width: 80vw;
          margin: 0 auto;
          padding: 5.6vw 0 6.4vw 0; }
          .top_index main #cont01 .inner .box div {
            width: 73.3333333333vw;
            margin: 0 auto 4.1333333333vw auto; }
            .top_index main #cont01 .inner .box div strong {
              font-size: 5.3333333333vw;
              line-height: 1.2;
              letter-spacing: -0.14em;
              margin: 0 0 2.8vw 0; }
            .top_index main #cont01 .inner .box div p {
              font-size: 4vw;
              line-height: 1.5; }
          .top_index main #cont01 .inner .box .img {
            width: 51.8666666667vw;
            margin: 0 auto; } }
.top_index main #cont02 {
  margin: 0 0 195px 0; }
  .top_index main #cont02 .inner {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: #FAD9CD;
    padding: 79px 0 29px 0; }
    .top_index main #cont02 .inner .title {
      position: absolute;
      top: -48px;
      left: 0;
      width: 100%; }
    .top_index main #cont02 .inner h3 {
      display: flex;
      align-items: center;
      justify-content: center;
      background: url(../images/cont02_bg.png) center center no-repeat;
      background-size: 100% auto;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      text-align: center;
      color: #FFFFFF;
      letter-spacing: -0.1em;
      font-size: 45px;
      width: 862px;
      height: 88px;
      margin: 0 auto; }
    .top_index main #cont02 .inner h4 {
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      text-align: center;
      color: #EB7082;
      font-size: 35px;
      letter-spacing: -0.06em;
      margin: 0 0 7px 0; }
      .top_index main #cont02 .inner h4 em {
        font-size: 21px;
        font-weight: 500; }
    .top_index main #cont02 .inner .text {
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      text-align: center;
      font-size: 21px;
      color: #EB7082;
      line-height: 1.380952381;
      letter-spacing: -0.08em;
      margin: 0 0 33px 0; }
      .top_index main #cont02 .inner .text .sp {
        display: none; }
    .top_index main #cont02 .inner .img {
      width: 921px;
      margin: 0 auto; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont02 {
      margin: 0 0 26.2666666667vw 0; }
      .top_index main #cont02 .inner {
        border-radius: 2.6666666667vw;
        padding: 11.6vw 0 7.0666666667vw 0; }
        .top_index main #cont02 .inner .title {
          top: -5.3333333333vw; }
        .top_index main #cont02 .inner h3 {
          background: url(../images/cont02_bg.png) center center no-repeat;
          background-size: 100% auto;
          letter-spacing: -0.14em;
          font-size: 5.3333333333vw;
          width: 81.3333333333vw;
          height: 10vw; }
        .top_index main #cont02 .inner h4 {
          font-size: 6.6666666667vw;
          line-height: 1.2;
          letter-spacing: -0.1em;
          margin: 0 0 2.8vw 0; }
          .top_index main #cont02 .inner h4 em {
            font-size: 4vw; }
        .top_index main #cont02 .inner .text {
          font-size: 4vw;
          line-height: 1.4;
          letter-spacing: -0.04em;
          margin: 0 0 8vw 0; }
          .top_index main #cont02 .inner .text .pc {
            display: none; }
          .top_index main #cont02 .inner .text .sp {
            display: inherit; }
        .top_index main #cont02 .inner .img {
          width: 80vw; } }
.top_index main #cont03 {
  margin: 0 0 150px 0; }
  .top_index main #cont03 .inner h4 {
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    color: #FFFFFF;
    text-align: center;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0; }
  .top_index main #cont03 .inner .box {
    position: relative;
    top: 0;
    left: 0; }
    .top_index main #cont03 .inner .box .title {
      position: absolute;
      left: 0;
      width: 100%; }
      .top_index main #cont03 .inner .box .title.bg01 {
        top: -90px; }
        .top_index main #cont03 .inner .box .title.bg01 h4 {
          display: flex;
          align-items: center;
          justify-content: center;
          background: url(../images/cont03_title01.png) center center no-repeat;
          background-size: 100% auto;
          width: 685px;
          height: 181px;
          padding: 17px 0 0 0;
          margin: 0 auto;
          box-sizing: border-box; }
      .top_index main #cont03 .inner .box .title.bg02 {
        top: -88px;
        left: -8px; }
        .top_index main #cont03 .inner .box .title.bg02 h4 {
          display: flex;
          align-items: center;
          justify-content: center;
          background: url(../images/cont03_title02.png) center center no-repeat;
          background-size: 100% auto;
          width: 713px;
          height: 178px;
          margin: 0 auto; }
  .top_index main #cont03 .inner .arrow {
    width: 101px;
    margin: 38px auto 122px auto; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont03 {
      margin: 0 0 21.6vw 0; }
      .top_index main #cont03 .inner h4 {
        font-size: 5.2vw;
        line-height: 1.1794871795; }
      .top_index main #cont03 .inner .box .title.bg01 {
        top: -11.8666666667vw; }
        .top_index main #cont03 .inner .box .title.bg01 h4 {
          background: url(../images/cont03_title01.png) center center no-repeat;
          background-size: 100% auto;
          width: 89.3333333333vw;
          height: 23.6vw;
          padding: 2.2666666667vw 0 0 0; }
      .top_index main #cont03 .inner .box .title.bg02 {
        top: -11.3333333333vw;
        left: -1.0666666667vw; }
        .top_index main #cont03 .inner .box .title.bg02 h4 {
          background: url(../images/cont03_title02.png) center center no-repeat;
          background-size: 100% auto;
          width: 89.3333333333vw;
          height: 23.2vw; }
      .top_index main #cont03 .inner .arrow {
        width: 13.4666666667vw;
        margin: 5.4666666667vw auto 14.9333333333vw auto; } }
.top_index main #cont04 {
  margin: 0 0 66px 0; }
  .top_index main #cont04 .inner {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: #C6787B;
    padding: 100px 0 65px 0; }
    .top_index main #cont04 .inner .title {
      position: absolute;
      top: -43px;
      left: 0;
      width: 100%; }
    .top_index main #cont04 .inner h3 {
      display: flex;
      align-items: center;
      justify-content: center;
      border: solid #C6787B 2px;
      border-radius: 86px;
      background: #FFFFFF;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      color: #C6787B;
      text-align: center;
      font-size: 45px;
      line-height: 1.2222222222;
      width: 707px;
      height: 86px;
      margin: 0 auto; }
    .top_index main #cont04 .inner .text {
      width: 916px;
      margin: 0 auto 65px auto; }
    .top_index main #cont04 .inner .img {
      width: 860px;
      margin: 0 auto 26px auto; }
    .top_index main #cont04 .inner .box {
      position: relative;
      top: 0;
      left: 0;
      width: 916px;
      margin: 0 auto; }
      .top_index main #cont04 .inner .box div {
        position: absolute;
        top: -35px;
        left: 0;
        width: 100%; }
      .top_index main #cont04 .inner .box h4 {
        display: flex;
        align-items: center;
        justify-content: center;
        border: solid #FFFFFF 2px;
        background: #C6787B;
        border-radius: 86px;
        font-family: "Zen Maru Gothic", serif;
        font-weight: 500;
        font-style: normal;
        color: #FFFFFF;
        text-align: center;
        font-size: 35px;
        line-height: 1.2;
        width: 544px;
        height: 66px;
        margin: 0 auto; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont04 {
      margin: 0 0 11.3333333333vw 0; }
      .top_index main #cont04 .inner {
        border-radius: 2.6666666667vw;
        padding: 13.4666666667vw 0 5.7333333333vw 0; }
        .top_index main #cont04 .inner .title {
          top: -4.4vw; }
        .top_index main #cont04 .inner h3 {
          border-radius: 11.4666666667vw;
          font-size: 5.3333333333vw;
          line-height: 1.2;
          width: 81.3333333333vw;
          height: 9.8666666667vw; }
        .top_index main #cont04 .inner .text {
          width: 80vw;
          margin: 0 auto 9.6vw auto; }
        .top_index main #cont04 .inner .img {
          width: 80vw;
          margin: 0 auto -1.0666666667vw auto; }
        .top_index main #cont04 .inner .box {
          width: 80vw; }
          .top_index main #cont04 .inner .box div {
            top: -4.8vw; }
          .top_index main #cont04 .inner .box h4 {
            border-radius: 11.4666666667vw;
            font-size: 5.3333333333vw;
            line-height: 1.2;
            width: 66.6666666667vw;
            height: 9.8666666667vw; } }
.top_index main #cont05 {
  position: relative;
  top: 0;
  left: 0;
  margin: 0 0 119px 0; }
  .top_index main #cont05 .bg {
    background: #FD97A2;
    padding: 0px 0 37px 0; }
  .top_index main #cont05 .inner {
    max-width: 993px; }
    .top_index main #cont05 .inner h3 {
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      color: #FFFFFF;
      text-align: center;
      font-size: 45px;
      line-height: 1.2222222222;
      letter-spacing: -0.1em;
      margin: -3px 0 64px 0; }
    .top_index main #cont05 .inner ul li {
      position: relative;
      top: 0;
      left: 0;
      margin: 0 0 43px 0; }
      .top_index main #cont05 .inner ul li::after {
        content: '';
        display: block;
        position: absolute;
        right: -22px;
        top: -25px;
        background: url(../images/cont05_icon04.png) center center no-repeat;
        background-size: 100% auto;
        width: 38px;
        height: 35px; }
      .top_index main #cont05 .inner ul li:last-child {
        margin: 0; }
      .top_index main #cont05 .inner ul li .icon {
        position: absolute;
        top: -18px;
        left: -24px;
        width: 142px; }
      .top_index main #cont05 .inner ul li div {
        border-radius: 20px;
        background: #FFFCE7;
        padding: 43px 48px 40px 140px;
        box-sizing: border-box; }
        .top_index main #cont05 .inner ul li div strong {
          display: block;
          font-family: "Zen Maru Gothic", serif;
          font-weight: 500;
          font-style: normal;
          letter-spacing: -0.1em;
          font-size: 30px;
          line-height: 1.1666666667;
          margin: 0 0 9px 0; }
        .top_index main #cont05 .inner ul li div em {
          display: block;
          font-size: 16px;
          margin: 0 0 17px 0; }
        .top_index main #cont05 .inner ul li div p {
          font-size: 18px;
          line-height: 1.75; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont05 {
      margin: 0 0 16.2666666667vw 0; }
      .top_index main #cont05 .bg {
        padding: 2vw 0 10.6666666667vw 0; }
      .top_index main #cont05 .inner {
        max-width: 84vw; }
        .top_index main #cont05 .inner h3 {
          font-size: 5.3333333333vw;
          line-height: 1.2;
          letter-spacing: -0.1em;
          margin: 0 0 8.1333333333vw 0; }
        .top_index main #cont05 .inner ul li {
          margin: 0 0 8vw 0; }
          .top_index main #cont05 .inner ul li::after {
            right: -2.9333333333vw;
            top: -3.3333333333vw;
            background: url(../images/cont05_icon04.png) center center no-repeat;
            background-size: 100% auto;
            width: 5.0666666667vw;
            height: 4.6666666667vw; }
          .top_index main #cont05 .inner ul li:last-child {
            margin: 0; }
          .top_index main #cont05 .inner ul li .icon {
            top: -2vw;
            left: -2.5333333333vw;
            width: 15.0666666667vw; }
          .top_index main #cont05 .inner ul li div {
            border-radius: 2.6666666667vw;
            padding: 4.2666666667vw 4.2666666667vw 3.7333333333vw 4.2666666667vw; }
            .top_index main #cont05 .inner ul li div strong {
              letter-spacing: -0.1em;
              font-size: 4.6666666667vw;
              line-height: 1.1428571429;
              margin: 0 0 0.8vw 0;
              padding: 0 0 0 10.6666666667vw;
              box-sizing: border-box; }
            .top_index main #cont05 .inner ul li div em {
              font-size: 2.6666666667vw;
              margin: 0 0 2.1333333333vw 0;
              padding: 0 0 0 10.6666666667vw;
              box-sizing: border-box; }
            .top_index main #cont05 .inner ul li div p {
              font-size: 4vw;
              line-height: 1.5;
              letter-spacing: -0.05em; } }
.top_index main #cont06 {
  margin: 0 0 164px 0; }
  .top_index main #cont06 .inner {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: #FAD9CD;
    padding: 94px 0 53px 0; }
    .top_index main #cont06 .inner .title {
      position: absolute;
      top: -43px;
      left: 0;
      width: 100%; }
      .top_index main #cont06 .inner .title h3 {
        display: flex;
        align-items: center;
        justify-content: center;
        background: url(../images/cont06_bg.png) center center no-repeat;
        background-size: 100% auto;
        font-family: "Zen Maru Gothic", serif;
        font-weight: 500;
        font-style: normal;
        color: #FFFFFF;
        text-align: center;
        font-size: 45px;
        line-height: 1.2222222222;
        letter-spacing: -0.08em;
        width: 708px;
        height: 87px;
        margin: 0 auto; }
        .top_index main #cont06 .inner .title h3 em {
          font-size: 28px;
          font-weight: 400; }
    .top_index main #cont06 .inner ul {
      width: 916px;
      margin: 0 auto; }
      .top_index main #cont06 .inner ul li {
        margin: 0 0 15px 0; }
        .top_index main #cont06 .inner ul li:last-child {
          margin: 0; }
        .top_index main #cont06 .inner ul li dl.open dt a em::after {
          display: none; }
        .top_index main #cont06 .inner ul li dl.open dd {
          grid-template-rows: 1fr; }
        .top_index main #cont06 .inner ul li dl dt a {
          position: relative;
          top: 0;
          left: 0;
          display: flex;
          align-items: center;
          border: solid #EF929E 2px;
          border-radius: 56px;
          background: #FFFFFF;
          width: 100%;
          height: 58px;
          padding: 0px 0 0 23px;
          box-sizing: border-box; }
          .top_index main #cont06 .inner ul li dl dt a span {
            display: block;
            width: 27px;
            margin: 0px 28px 0 0; }
          .top_index main #cont06 .inner ul li dl dt a strong {
            display: block;
            font-weight: bold;
            font-size: 25px;
            letter-spacing: 0;
            color: #EF929E; }
          .top_index main #cont06 .inner ul li dl dt a em {
            display: block;
            position: absolute;
            top: 25px;
            right: 18px;
            border-radius: 3px;
            background: #EF929E;
            width: 22px;
            height: 3px; }
            .top_index main #cont06 .inner ul li dl dt a em::after {
              content: '';
              display: block;
              position: absolute;
              top: 0;
              right: 0;
              border-radius: 3px;
              background: #EF929E;
              width: 22px;
              height: 3px;
              transform: rotate(90deg); }
        .top_index main #cont06 .inner ul li dl dd {
          display: grid;
          grid-template-rows: 0fr;
          -webkit-transition: 0.30s;
          -moz-transition: 0.30s;
          -ms-transition: 0.30s;
          -o-transition: 0.30s;
          transition: 0.30s; }
          .top_index main #cont06 .inner ul li dl dd .base {
            width: 100%;
            overflow: hidden; }
            .top_index main #cont06 .inner ul li dl dd .base div {
              display: flex;
              width: 100%;
              padding: 26px 0 25px 80px;
              box-sizing: border-box; }
              .top_index main #cont06 .inner ul li dl dd .base div span {
                display: block;
                width: 22px;
                margin: 9px 16px 0 0; }
              .top_index main #cont06 .inner ul li dl dd .base div p {
                font-size: 18px;
                line-height: 1.75;
                letter-spacing: -0.04em;
                width: 770px; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont06 {
      margin: 0 0 20.1333333333vw 0; }
      .top_index main #cont06 .inner {
        border-radius: 2.6666666667vw;
        padding: 10.1333333333vw 0 7.0666666667vw 0; }
        .top_index main #cont06 .inner .title {
          top: -4.6666666667vw; }
          .top_index main #cont06 .inner .title h3 {
            background: url(../images/cont06_bg.png) center center no-repeat;
            background-size: 100% auto;
            font-size: 5.3333333333vw;
            line-height: 1.2;
            letter-spacing: -0.08em;
            width: 81.3333333333vw;
            height: 10vw; }
            .top_index main #cont06 .inner .title h3 em {
              font-size: 3.2vw; }
        .top_index main #cont06 .inner ul {
          width: 80vw; }
          .top_index main #cont06 .inner ul li {
            margin: 0 0 1.4666666667vw 0; }
            .top_index main #cont06 .inner ul li:last-child {
              margin: 0; }
            .top_index main #cont06 .inner ul li dl dt a {
              border-radius: 16vw;
              height: 16vw;
              padding: 0vw 0 0 3.6vw; }
              .top_index main #cont06 .inner ul li dl dt a span {
                width: 4.6666666667vw;
                margin: 0vw 2.9333333333vw 0 0; }
              .top_index main #cont06 .inner ul li dl dt a strong {
                font-size: 4.2666666667vw;
                line-height: 1.1875;
                width: 57.0666666667vw;
                letter-spacing: 0; }
              .top_index main #cont06 .inner ul li dl dt a em {
                top: 7.7333333333vw;
                right: 3.2vw;
                border-radius: 0.4vw;
                width: 4vw;
                height: 0.4vw; }
                .top_index main #cont06 .inner ul li dl dt a em::after {
                  border-radius: 0.4vw;
                  width: 4vw;
                  height: 0.4vw; }
            .top_index main #cont06 .inner ul li dl dd .base div {
              width: 100%;
              padding: 3.8666666667vw 0 4.2666666667vw 3.4666666667vw; }
              .top_index main #cont06 .inner ul li dl dd .base div span {
                width: 3.7333333333vw;
                margin: 0.8vw 2.1333333333vw 0 0; }
              .top_index main #cont06 .inner ul li dl dd .base div p {
                font-size: 4vw;
                line-height: 1.5;
                letter-spacing: -0.04em;
                width: 66.6666666667vw; } }
.top_index main #cont07 {
  margin: 0 0 90px 0; }
  .top_index main #cont07 .inner {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: #C6787B;
    padding: 107px 0 44px 0; }
    .top_index main #cont07 .inner .title {
      position: absolute;
      top: -43px;
      left: 0;
      width: 100%; }
    .top_index main #cont07 .inner h3 {
      display: flex;
      align-items: center;
      justify-content: center;
      border: solid #C6787B 2px;
      border-radius: 86px;
      background: #FFFFFF;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 500;
      font-style: normal;
      color: #C6787B;
      text-align: center;
      font-size: 45px;
      line-height: 1.2222222222;
      width: 707px;
      height: 83px;
      margin: 0 auto; }
    .top_index main #cont07 .inner .list .btn {
      display: none; }
      .top_index main #cont07 .inner .list .btn.active {
        display: block; }
      .top_index main #cont07 .inner .list .btn a {
        position: relative;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 30px;
        border: solid #EF929E 2px;
        background: #FFFFFF;
        color: #EF929E;
        font-size: 25px;
        font-weight: bold;
        width: 400px;
        height: 60px;
        margin: 0 auto; }
        .top_index main #cont07 .inner .list .btn a em {
          display: block;
          position: absolute;
          top: 28px;
          right: 21px;
          border-radius: 3px;
          background: #EF929E;
          width: 22px;
          height: 3px; }
          .top_index main #cont07 .inner .list .btn a em::after {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            border-radius: 3px;
            background: #EF929E;
            width: 22px;
            height: 3px;
            transform: rotate(90deg); }
    .top_index main #cont07 .inner .list ul {
      width: 916px;
      margin: 0 auto 44px auto; }
      .top_index main #cont07 .inner .list ul li {
        background: #FFFFFF;
        border-radius: 30px;
        margin: 0 0 25px 0; }
        .top_index main #cont07 .inner .list ul li:last-child {
          margin: 0; }
        .top_index main #cont07 .inner .list ul li:nth-child(n+6) {
          display: none; }
        .top_index main #cont07 .inner .list ul li div {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          padding: 24px 22px 24px 22px;
          box-sizing: border-box; }
          .top_index main #cont07 .inner .list ul li div dl {
            display: flex; }
            .top_index main #cont07 .inner .list ul li div dl dt {
              width: 200px;
              margin: 0 28px 0 0; }
            .top_index main #cont07 .inner .list ul li div dl dd {
              width: 485px; }
              .top_index main #cont07 .inner .list ul li div dl dd strong {
                display: block;
                font-weight: bold;
                font-size: 25px;
                margin: 0 0 17px 0; }
              .top_index main #cont07 .inner .list ul li div dl dd p {
                font-size: 18px;
                line-height: 1.4444444444; }
          .top_index main #cont07 .inner .list ul li div a {
            display: block;
            width: 134px; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont07 {
      margin: 0 0 8vw 0; }
      .top_index main #cont07 .inner {
        border-radius: 2.6666666667vw;
        padding: 13.4666666667vw 0 6.4vw 0; }
        .top_index main #cont07 .inner .title {
          top: -4.4vw; }
        .top_index main #cont07 .inner h3 {
          border-radius: 11.4666666667vw;
          font-size: 5.3333333333vw;
          line-height: 1.2;
          width: 81.3333333333vw;
          height: 9.8666666667vw; }
        .top_index main #cont07 .inner .list .btn a {
          border-radius: 6vw;
          font-size: 4.5333333333vw;
          width: 72vw;
          height: 12vw; }
          .top_index main #cont07 .inner .list .btn a em {
            top: 5.6vw;
            right: 4.2666666667vw;
            width: 3.4666666667vw;
            height: 0.4vw; }
            .top_index main #cont07 .inner .list .btn a em::after {
              border-radius: 0.4vw;
              width: 3.4666666667vw;
              height: 0.4vw; }
        .top_index main #cont07 .inner .list ul {
          width: 80vw;
          margin: 0 auto 5.3333333333vw auto; }
          .top_index main #cont07 .inner .list ul li {
            border-radius: 2.6666666667vw;
            margin: 0 0 3.7333333333vw 0; }
            .top_index main #cont07 .inner .list ul li:last-child {
              margin: 0; }
            .top_index main #cont07 .inner .list ul li div {
              display: block;
              padding: 2.9333333333vw 0 4.5333333333vw 0; }
              .top_index main #cont07 .inner .list ul li div dl {
                display: block;
                width: 74.6666666667vw;
                margin: 0 auto 2.9333333333vw auto; }
                .top_index main #cont07 .inner .list ul li div dl dt {
                  width: 100%;
                  margin: 0 0 3.2vw 0; }
                .top_index main #cont07 .inner .list ul li div dl dd {
                  width: 100%; }
                  .top_index main #cont07 .inner .list ul li div dl dd strong {
                    font-size: 4.6666666667vw;
                    line-height: 1.1428571429;
                    margin: 0 0 1.2vw 0; }
                  .top_index main #cont07 .inner .list ul li div dl dd p {
                    font-size: 3.4666666667vw;
                    line-height: 1.3846153846;
                    letter-spacing: -0.06em; }
              .top_index main #cont07 .inner .list ul li div a {
                width: 26.6666666667vw;
                margin: 0 auto; } }
.top_index main #cont08 {
  margin: 0 0 115px 0; }
  .top_index main #cont08 .inner {
    position: relative;
    top: 0;
    left: 0; }
    .top_index main #cont08 .inner a {
      position: relative;
      top: 0;
      left: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 86px;
      border: solid #ef929e 2px;
      background: #FFFFFF;
      color: #ef929e;
      font-size: 25px;
      font-weight: bold;
      width: 560px;
      height: 86px;
      margin: 0 auto; }
      .top_index main #cont08 .inner a img {
        width: 22px;
        margin: 0 18px 0 0; }
  @media screen and (max-width: 1040px) {
    .top_index main #cont08 {
      margin: 0 0 12.9333333333vw 0; }
      .top_index main #cont08 .inner a {
        border-radius: 11.6vw;
        font-size: 4.5333333333vw;
        width: 74.6666666667vw;
        height: 11.6vw; }
        .top_index main #cont08 .inner a img {
          width: 3.4666666667vw;
          margin: 0 2.4vw 0 0; } }
.top_index footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #EF929E;
  height: 113px; }
  .top_index footer .copy {
    font-family: "Rubik", sans-serif;
    color: #FFFFFF;
    text-align: center;
    font-size: 14px; }
  @media screen and (max-width: 1040px) {
    .top_index footer {
      height: 16vw; }
      .top_index footer .copy {
        font-size: 3.2vw; } }
.top_index .pagetop {
  width: 70px;
  position: fixed;
  bottom: -15%;
  right: 20px;
  z-index: 40;
  -webkit-transition: 0.30s;
  -moz-transition: 0.30s;
  -ms-transition: 0.30s;
  -o-transition: 0.30s;
  transition: 0.30s; }
  .top_index .pagetop.on {
    bottom: 155px; }
  @media screen and (max-width: 960px) {
    .top_index .pagetop {
      width: 13.3333333333vw;
      right: 1.3333333333vw; }
      .top_index .pagetop.on {
        bottom: 10.6666666667vw; } }
.top_index .fp-watermark {
  display: none; }

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