@charset "UTF-8";
/*----------------------------------------
       Reset
----------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  word-wrap: break-word;
  color: #000; }

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

a {
  color: #1160d3;
  text-decoration: none;
  transition: all .2s ease-in-out; }

a:hover,
a:active {
  text-decoration: underline; }

a img {
  border: none; }

a.over:hover,
a:hover img,
input.over:hover {
  text-decoration: none;
  filter: opacity(70);
  -moz-opacity: .7;
  opacity: .7; }

a.skip {
  color: #003377;
  background-color: #FFFFFF;
  text-align: center;
  padding: 2px 0;
  top: auto; }

.skip {
  width: 1px;
  color: #000000;
  font-size: 0.1%;
  line-height: 0.1;
  background-color: #FFFFFF;
  position: absolute;
  left: -3000px;
  z-index: 9999; }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
sup {
  font-size: 70%;
  vertical-align: top; }

.only_sp {
  display: inherit; }
  @media only screen and (min-width: 769px) {
    .only_sp {
      display: none; } }

.only_pc {
  display: none; }
  @media only screen and (min-width: 769px) {
    .only_pc {
      display: inherit; } }

.effect-fade-upin {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.6s ease-out; }

.effect-fade-upin02 {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.75s ease-out;
  transition-delay: 0.8s; }

.effect-fade-upin.active, .effect-fade-upin02.active {
  opacity: 1;
  transform: translate(0, 0); }

.effect-slide img {
  opacity: 0;
  max-width: 100%;
  animation-name: anime_effect-slide;
  animation-fill-mode: forwards;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-direction: normal;
  animation-delay: 0.7s; }

@keyframes anime_effect-slide {
  0% {
    opacity: 0;
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%); }
  100% {
    opacity: 1;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); } }
.bg01 {
  background-image: url("../img/bg_deco01_sp.svg");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 769px) {
    .bg01 {
      background-image: url("../img/bg_deco01_pc.svg");
      background-size: calc(1920 / 1080 * 100vw) auto; } }
  @media only screen and (min-width: 1080px) {
    .bg01 {
      background-size: 1920px auto; } }
  @media only screen and (min-width: 1981px) {
    .bg01 {
      background-size: 100% auto; } }

.bg02 {
  background-image: url("../img/bg_deco02_sp.svg");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 769px) {
    .bg02 {
      background-image: url("../img/bg_deco02_pc.svg");
      background-size: cover; } }
  @media only screen and (min-width: 1080px) {
    .bg02 {
      background-size: cover; } }
  @media only screen and (min-width: 1981px) {
    .bg02 {
      background-size: cover; } }

.bg03 {
  background-image: url("../img/bg_deco03_sp.svg");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 769px) {
    .bg03 {
      background-image: url("../img/bg_deco03_pc.svg");
      background-size: cover;
      background-repeat: repeat-y; } }
  @media only screen and (min-width: 1080px) {
    .bg03 {
      background-size: cover; } }
  @media only screen and (min-width: 1981px) {
    .bg03 {
      background-size: cover; } }

.bg03_b {
  background-image: url("../img/bg_deco03_b_sp.svg");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 769px) {
    .bg03_b {
      background-image: url("../img/bg_deco03_pc.svg");
      background-size: cover;
      background-repeat: repeat-y; } }
  @media only screen and (min-width: 1080px) {
    .bg03_b {
      background-size: cover; } }
  @media only screen and (min-width: 1981px) {
    .bg03_b {
      background-size: cover; } }

.bg04 {
  background-image: url("../img/bg_deco04_sp.svg");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: repeat-y; }
  @media only screen and (min-width: 769px) {
    .bg04 {
      background-image: url("../img/bg_deco04_pc.svg");
      background-size: calc(1920 / 1080 * 100vw) auto; } }
  @media only screen and (min-width: 1080px) {
    .bg04 {
      background-size: 1920px auto; } }
  @media only screen and (min-width: 1981px) {
    .bg04 {
      background-size: 100% auto; } }

.bg04b {
  background-image: url("../img/bg_deco04_sp.svg");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: repeat-y; }
  @media only screen and (min-width: 769px) {
    .bg04b {
      background-image: url("../img/bg_deco04_pc.svg");
      background-size: calc(1920 / 1080 * 100vw) auto;
      background-position: bottom center; } }
  @media only screen and (min-width: 1080px) {
    .bg04b {
      background-size: 1920px auto; } }
  @media only screen and (min-width: 1981px) {
    .bg04b {
      background-size: 100% auto; } }

/*******　ヘッダー　*******/
.header {
  width: 100vw;
  height: calc(36 / 390 * 100vw);
  background-color: #fff; }
  @media only screen and (min-width: 769px) {
    .header {
      width: 100%;
      height: calc(85 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .header {
      width: 100%;
      height: 85px; } }

.header-inner {
  position: relative;
  width: 100vw; }
  @media only screen and (min-width: 769px) {
    .header-inner {
      width: 100%;
      padding-top: calc(40 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .header-inner {
      padding-top: 40px; } }

.header-inner-link-pc {
  display: none; }
  @media only screen and (min-width: 769px) {
    .header-inner-link-pc {
      display: block;
      width: calc(860 / 1080 * 100vw);
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  @media only screen and (min-width: 1080px) {
    .header-inner-link-pc {
      width: 860px; } }
  .header-inner-link-pc li {
    width: calc(155 / 1080 * 100vw);
    height: calc(20 / 1080 * 100vw);
    padding: 0; }
    @media only screen and (min-width: 1080px) {
      .header-inner-link-pc li {
        width: 155px;
        height: 20px;
        padding: 0; } }
    .header-inner-link-pc li a {
      display: block;
      position: relative;
      line-height: 1;
      text-align: center;
      color: #000;
      width: 100%;
      height: 100%;
      border: 1px solid #000;
      font-weight: bold; }
      @media only screen and (min-width: 769px) {
        .header-inner-link-pc li a {
          font-size: calc(17 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .header-inner-link-pc li a {
          font-size: 1.7rem; } }
      .header-inner-link-pc li a:hover {
        color: #df6a86;
        border: 1px solid #df6a86;
        opacity: 1; }
      .header-inner-link-pc li a span {
        position: absolute;
        width: 7em;
        display: inline-block !important;
        padding: 0 0.3em;
        background: #FFF;
        top: -0.5em;
        left: 0;
        right: 0;
        margin: auto; }

.header-inner-hb-btn {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(36 / 390 * 100vw);
  height: calc(36 / 390 * 100vw);
  background-image: url("../img/hb_btn_sp.svg");
  background-size: cover;
  z-index: 8888;
  display: none; }
  @media only screen and (min-width: 769px) {
    .header-inner-hb-btn {
      width: calc(85 / 1080 * 100vw);
      height: calc(85 / 1080 * 100vw);
      background-image: url("../img/hb_btn_pc.svg");
      cursor: pointer; } }
  @media only screen and (min-width: 1080px) {
    .header-inner-hb-btn {
      width: 85px;
      height: 85px; } }
  .header-inner-hb-btn.active {
    display: block; }

/*******　フッター　*******/
.footer {
  width: 100vw;
  margin-top: calc(60 / 390 * 100vw);
  padding: calc(60 / 390 * 100vw) 0;
  border-top: 1px solid #999; }
  @media only screen and (min-width: 769px) {
    .footer {
      width: 100%;
      margin-top: calc(125 / 1280 * 100vw);
      padding: calc(70 / 1280 * 100vw) 0; } }
  @media only screen and (min-width: 1280px) {
    .footer {
      margin-top: 125px;
      padding: 70px 0; } }
  .footer.mt0 {
    margin-top: 0; }

.toppage .footer {
  margin-top: 0; }

.footer-inner {
  width: calc(300 / 390 * 100vw);
  margin: 0 auto; }
  @media only screen and (min-width: 769px) {
    .footer-inner {
      width: calc(1177 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .footer-inner {
      width: 1177px; } }

@media only screen and (min-width: 769px) {
  .footer-cont {
    display: flex;
    justify-content: space-between;
    width: calc(1177 / 1280 * 100vw); } }
@media only screen and (min-width: 1280px) {
  .footer-cont {
    width: 1177px; } }

@media only screen and (min-width: 769px) {
  .footer-cont-sns {
    width: calc(186 / 1280 * 100vw); } }
@media only screen and (min-width: 1280px) {
  .footer-cont-sns {
    width: 186px; } }

.footer-cont-sns-title {
  font-size: calc(16 / 390 * 100vw);
  font-weight: 500; }
  @media only screen and (min-width: 769px) {
    .footer-cont-sns-title {
      font-size: calc(16 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .footer-cont-sns-title {
      font-size: 1.6rem; } }

.footer-cont-sns-icon {
  display: flex;
  margin-top: calc(15 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .footer-cont-sns-icon {
      margin-top: calc(15 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .footer-cont-sns-icon {
      margin-top: 15px; } }
  .footer-cont-sns-icon li {
    margin-right: calc(33 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .footer-cont-sns-icon li {
        margin-right: calc(33 / 1280 * 100vw); } }
    @media only screen and (min-width: 1280px) {
      .footer-cont-sns-icon li {
        margin-right: 33px; } }
    .footer-cont-sns-icon li a {
      display: block;
      text-indent: -9999px; }
    .footer-cont-sns-icon li:nth-child(1) a {
      width: calc(37 / 390 * 100vw);
      height: calc(37 / 390 * 100vw);
      background-image: url("../img/icon_sns_x.png");
      background-size: cover; }
      @media only screen and (min-width: 769px) {
        .footer-cont-sns-icon li:nth-child(1) a {
          width: calc(37 / 1280 * 100vw);
          height: calc(37 / 1280 * 100vw); } }
      @media only screen and (min-width: 1280px) {
        .footer-cont-sns-icon li:nth-child(1) a {
          width: 37px;
          height: 37px; } }
    .footer-cont-sns-icon li:nth-child(2) a {
      margin-top: 0.3rem;
      width: calc(43 / 390 * 100vw);
      height: calc(30 / 390 * 100vw);
      background-image: url("../img/icon_sns_youtube.png");
      background-size: 100% auto; }
      @media only screen and (min-width: 769px) {
        .footer-cont-sns-icon li:nth-child(2) a {
          width: calc(43 / 1280 * 100vw);
          height: calc(30 / 1280 * 100vw); } }
      @media only screen and (min-width: 1280px) {
        .footer-cont-sns-icon li:nth-child(2) a {
          width: 43px;
          height: 30px; } }
    .footer-cont-sns-icon li:nth-child(3) a {
      width: calc(37 / 390 * 100vw);
      height: calc(37 / 390 * 100vw);
      background-image: url("../img/icon_sns_line.png");
      background-size: 100% auto; }
      @media only screen and (min-width: 769px) {
        .footer-cont-sns-icon li:nth-child(3) a {
          width: calc(37 / 1280 * 100vw);
          height: calc(37 / 1280 * 100vw); } }
      @media only screen and (min-width: 1280px) {
        .footer-cont-sns-icon li:nth-child(3) a {
          width: 37px;
          height: 37px; } }

.footer-cont-link {
  margin-top: calc(48 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .footer-cont-link {
      width: calc(902 / 1280 * 100vw);
      margin-top: 0;
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 1280px) {
    .footer-cont-link {
      width: 902px; } }
  @media only screen and (min-width: 769px) {
    .footer-cont-link ul {
      width: calc(153 / 1280 * 100vw);
      margin-top: 0; } }
  @media only screen and (min-width: 1280px) {
    .footer-cont-link ul {
      width: 153px; } }
  .footer-cont-link ul li {
    margin-top: 0.5em;
    font-size: calc(15 / 390 * 100vw);
    font-weight: 600;
    line-height: 2.2;
    border-bottom: solid 1px #df6a86;
    padding: 0 0 0 0.2em; }
    @media only screen and (min-width: 769px) {
      .footer-cont-link ul li {
        margin-top: 0;
        font-size: calc(13 / 1280 * 100vw);
        line-height: 2;
        padding: 0; } }
    @media only screen and (min-width: 1280px) {
      .footer-cont-link ul li {
        font-size: 1.3rem;
        line-height: 2; } }
    .footer-cont-link ul li.sub {
      font-weight: 400;
      margin: 0.2em 0 0.7em;
      padding: 0 0 0.7em;
      border: none !important; }
      .footer-cont-link ul li.sub p {
        margin-top: 0.4em;
        padding: 0 0 0 0.2em; }
        @media only screen and (min-width: 769px) {
          .footer-cont-link ul li.sub p {
            padding: 0; } }
    .footer-cont-link ul li a {
      color: #000; }
      .footer-cont-link ul li a:hover {
        color: #df6a86;
        text-decoration: none; }
    .footer-cont-link ul li .sublinklist, .footer-cont-link ul li .sublinklist_l {
      width: 18em;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 0.7em 0 0 1.25em; }
      @media only screen and (min-width: 769px) {
        .footer-cont-link ul li .sublinklist, .footer-cont-link ul li .sublinklist_l {
          width: inherit;
          display: block;
          margin: 0.5em 0 0 1.25em; } }
      .footer-cont-link ul li .sublinklist li, .footer-cont-link ul li .sublinklist_l li {
        width: 6em;
        list-style: disc;
        padding-left: 0;
        font-size: calc(13 / 390 * 100vw);
        font-weight: 400;
        border: none;
        margin-top: 0.5em;
        line-height: 1.6em; }
        @media only screen and (min-width: 769px) {
          .footer-cont-link ul li .sublinklist li, .footer-cont-link ul li .sublinklist_l li {
            width: inherit;
            font-size: calc(12 / 1280 * 100vw); } }
        @media only screen and (min-width: 1280px) {
          .footer-cont-link ul li .sublinklist li, .footer-cont-link ul li .sublinklist_l li {
            font-size: 1.2rem; } }
    .footer-cont-link ul li p + .sublinklist {
      margin-top: 0em !important; }
      @media only screen and (min-width: 769px) {
        .footer-cont-link ul li p + .sublinklist {
          margin-top: 0.5em; } }
    .footer-cont-link ul li .sublinklist_l {
      width: inherit;
      display: block; }
      @media only screen and (min-width: 769px) {
        .footer-cont-link ul li .sublinklist_l {
          width: inherit;
          display: block; } }
      .footer-cont-link ul li .sublinklist_l li {
        width: inherit; }
        @media only screen and (min-width: 769px) {
          .footer-cont-link ul li .sublinklist_l li {
            width: inherit; } }
  .footer-cont-link ul li + li {
    margin-top: 0.5em; }
  @media only screen and (min-width: 769px) {
    .footer-cont-link ul.list_long {
      width: calc(168 / 1280 * 100vw);
      margin-top: 0; } }
  @media only screen and (min-width: 1280px) {
    .footer-cont-link ul.list_long {
      width: 168px; } }
  .footer-cont-link ul.external_list .external {
    border-bottom: none;
    margin-top: 2.5em !important; }
    .footer-cont-link ul.external_list .external a::after {
      content: "";
      background-image: url("../img/acc_external_off.svg");
      background-repeat: no-repeat;
      background-position: center right;
      display: inline-block;
      height: 1.1em;
      width: 1.1em;
      vertical-align: middle;
      margin-left: 0.5em; }
    .footer-cont-link ul.external_list .external a:hover::after {
      background-image: url("../img/acc_external_on.svg"); }
  .footer-cont-link ul.external_list .external + .external {
    margin-top: 0.5em !important; }

.footer-logo-copy {
  width: calc(300 / 390 * 100vw);
  margin: calc(60 / 390 * 100vw) auto 0;
  font-size: calc(11 / 390 * 100vw);
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .footer-logo-copy {
      width: 100%;
      margin: calc(90 / 1280 * 100vw) auto 0;
      font-size: calc(11 / 1280 * 100vw);
      text-align: center; } }
  @media only screen and (min-width: 1280px) {
    .footer-logo-copy {
      margin: 90px auto 0;
      font-size: 1.1rem; } }
  .footer-logo-copy a {
    color: #000; }

/*******　ナビゲーションメニュー　*******/
.header-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow-y: auto;
  background-color: #a6a6a6;
  z-index: 7777; }
  @media only screen and (min-width: 769px) {
    .header-nav {
      width: 100%;
      background-color: #fff; } }
  .header-nav.active {
    display: block; }

.header-nav-close-btn {
  position: fixed;
  top: calc(23 / 390 * 100vw);
  right: calc(18 / 390 * 100vw);
  width: calc(25 / 390 * 100vw);
  height: calc(25 / 390 * 100vw);
  background-image: url("../img/hb_btn_close_sp.svg");
  background-size: cover; }
  @media only screen and (min-width: 769px) {
    .header-nav-close-btn {
      top: calc(25 / 1280 * 100vw);
      right: calc(20 / 1280 * 100vw);
      width: calc(25 / 1280 * 100vw);
      height: calc(25 / 1280 * 100vw);
      background-image: url("../img/hb_btn_close_pc.svg");
      cursor: pointer; } }
  @media only screen and (min-width: 1280px) {
    .header-nav-close-btn {
      top: 25px;
      right: 20px;
      width: 25px;
      height: 25px; } }

.header-nav-link {
  padding: calc(90 / 390 * 100vw) calc(18 / 390 * 100vw) calc(74 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .header-nav-link {
      display: flex;
      justify-content: space-between;
      width: calc(1200 / 1280 * 100vw);
      padding: calc(135 / 1280 * 100vw) 0 calc(95 / 1280 * 100vw);
      margin: 0 auto; } }
  @media only screen and (min-width: 1280px) {
    .header-nav-link {
      width: 1200px;
      padding: 135px 0 95px; } }
  @media only screen and (min-width: 769px) {
    .header-nav-link ul {
      width: calc(220 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .header-nav-link ul {
      width: 220px; } }
  @media only screen and (min-width: 769px) {
    .header-nav-link ul:nth-child(3) {
      width: calc(240 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .header-nav-link ul:nth-child(3) {
      width: 240px; } }
  @media only screen and (min-width: 769px) {
    .header-nav-link ul:last-child {
      width: calc(200 / 1280 * 100vw); } }
  @media only screen and (min-width: 1280px) {
    .header-nav-link ul:last-child {
      width: 200px; } }
  .header-nav-link ul li {
    border-bottom: 1px solid #fff; }
    @media only screen and (min-width: 769px) {
      .header-nav-link ul li {
        border-bottom: solid 1px #df6a86; } }
    .header-nav-link ul li a {
      display: block;
      font-size: calc(18 / 390 * 100vw);
      font-weight: 500;
      line-height: 1;
      color: #fff;
      padding: calc(10 / 390 * 100vw) calc(15 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li a {
          text-decoration: none;
          font-size: calc(16 / 1280 * 100vw);
          color: #000;
          padding: 0 0.3em 0.6em; } }
      @media only screen and (min-width: 1280px) {
        .header-nav-link ul li a {
          font-size: 1.6rem; } }
      .header-nav-link ul li a:hover {
        color: #df6a86;
        text-decoration: none; }
    .header-nav-link ul li.sub {
      border-bottom: none; }
      .header-nav-link ul li.sub a {
        font-size: calc(14 / 390 * 100vw);
        font-weight: 400;
        padding: calc(8 / 390 * 100vw) calc(15 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .header-nav-link ul li.sub a {
            font-size: calc(16 / 1280 * 100vw);
            padding: 0 0 calc(17 / 1280 * 100vw) 0; } }
        @media only screen and (min-width: 1280px) {
          .header-nav-link ul li.sub a {
            font-size: 1.6rem;
            padding: 0 0 17px 0; } }
        .header-nav-link ul li.sub a:hover {
          color: #df6a86; }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li.sub p {
          padding: 0 0.3em 0.6em; } }
    .header-nav-link ul li.sublast {
      border-bottom: 1px solid #fff; }
      .header-nav-link ul li.sublast a {
        font-size: calc(14 / 390 * 100vw);
        font-weight: 400;
        padding: calc(8 / 390 * 100vw) calc(15 / 390 * 100vw) calc(15 / 390 * 100vw); }
        @media only screen and (min-width: 769px) {
          .header-nav-link ul li.sublast a {
            font-size: calc(16 / 1280 * 100vw);
            padding: 0 0 calc(17 / 1280 * 100vw) 0; } }
        @media only screen and (min-width: 1280px) {
          .header-nav-link ul li.sublast a {
            font-size: 1.6rem;
            padding: 0 0 17px 0; } }
        .header-nav-link ul li.sublast a:hover {
          color: #df6a86; }
    .header-nav-link ul li.parent {
      border-bottom: none; }
    .header-nav-link ul li p {
      font-size: calc(14 / 390 * 100vw);
      font-weight: 400;
      line-height: 1;
      color: #fff;
      padding: calc(10 / 390 * 100vw) calc(15 / 390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li p {
          font-size: calc(16 / 1280 * 100vw);
          color: #000;
          padding: 0 0 calc(17 / 1280 * 100vw) 0; } }
      @media only screen and (min-width: 1280px) {
        .header-nav-link ul li p {
          font-size: 1.6rem;
          padding: 0 0 17px 0;
          color: #000; } }
    .header-nav-link ul li .sublinklist, .header-nav-link ul li .sublinklist02 {
      width: calc(250 / 390 * 100vw);
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin: 0 0 0 2.2em;
      padding: 0 0 calc(15 / 390 * 100vw) 0; }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li .sublinklist, .header-nav-link ul li .sublinklist02 {
          width: inherit;
          display: block;
          margin: 0.7em 0 0 1.5em;
          padding: 0; } }
      .header-nav-link ul li .sublinklist li, .header-nav-link ul li .sublinklist02 li {
        width: calc(102 / 390 * 100vw);
        border-bottom: none;
        list-style: disc;
        padding: 0; }
        @media only screen and (min-width: 769px) {
          .header-nav-link ul li .sublinklist li, .header-nav-link ul li .sublinklist02 li {
            width: inherit; } }
        @media only screen and (min-width: 1280px) {
          .header-nav-link ul li .sublinklist li, .header-nav-link ul li .sublinklist02 li {
            width: inherit; } }
        .header-nav-link ul li .sublinklist li::marker, .header-nav-link ul li .sublinklist02 li::marker {
          color: #fff; }
          @media only screen and (min-width: 769px) {
            .header-nav-link ul li .sublinklist li::marker, .header-nav-link ul li .sublinklist02 li::marker {
              color: #000; } }
        .header-nav-link ul li .sublinklist li a, .header-nav-link ul li .sublinklist02 li a {
          display: block;
          font-size: calc(13 / 390 * 100vw);
          font-weight: 400;
          line-height: 1;
          color: #fff;
          padding: calc(5 / 390 * 100vw) 0 calc(5 / 390 * 100vw); }
          @media only screen and (min-width: 769px) {
            .header-nav-link ul li .sublinklist li a, .header-nav-link ul li .sublinklist02 li a {
              font-size: calc(16 / 1280 * 100vw);
              color: #000;
              padding: 0 0 calc(17 / 1280 * 100vw) 0; } }
          @media only screen and (min-width: 1280px) {
            .header-nav-link ul li .sublinklist li a, .header-nav-link ul li .sublinklist02 li a {
              font-size: 1.6rem;
              padding: 0 0 17px 0; } }
          .header-nav-link ul li .sublinklist li a:hover, .header-nav-link ul li .sublinklist02 li a:hover {
            color: #df6a86; }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li .sublinklist li + li, .header-nav-link ul li .sublinklist02 li + li {
          margin-top: 0.5em; } }
    .header-nav-link ul li .sublinklist02 {
      margin-top: 1em; }
      @media only screen and (min-width: 769px) {
        .header-nav-link ul li .sublinklist02 {
          margin-top: 0.5em; } }
      .header-nav-link ul li .sublinklist02 li {
        width: 100%; }
  .header-nav-link ul li + li {
    margin-top: 0em; }
    @media only screen and (min-width: 769px) {
      .header-nav-link ul li + li {
        margin-top: 1em; } }
  .header-nav-link .linklist05 .external {
    border-bottom: none;
    margin-top: 2.5em !important; }
    .header-nav-link .linklist05 .external a::after {
      content: "";
      background-image: url("../img/acc_external_w.svg");
      background-repeat: no-repeat;
      background-position: center right;
      display: inline-block;
      height: 1.1em;
      width: 1.1em;
      vertical-align: middle;
      margin-left: 0.5em; }
      @media only screen and (min-width: 769px) {
        .header-nav-link .linklist05 .external a::after {
          background-image: url("../img/acc_external_off.svg"); } }
    @media only screen and (min-width: 769px) {
      .header-nav-link .linklist05 .external a:hover::after {
        background-image: url("../img/acc_external_on.svg"); } }
  .header-nav-link .linklist05 .external + .external {
    margin-top: 0em !important; }
    @media only screen and (min-width: 769px) {
      .header-nav-link .linklist05 .external + .external {
        margin-top: 0.5em !important; } }

/*******　見出し　*******/
.page-title-sholder {
  font-size: calc(24 / 390 * 100vw);
  font-weight: 600;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .page-title-sholder {
      font-size: calc(44 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .page-title-sholder {
      font-size: 4.4rem; } }

.page-title {
  font-size: calc(20 / 390 * 100vw);
  font-weight: 600;
  text-align: center;
  color: #df6a86; }
  @media only screen and (min-width: 769px) {
    .page-title {
      font-size: calc(33 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .page-title {
      font-size: 3.3rem; } }

.page-title-sholder + .page-title {
  margin-top: calc(28 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .page-title-sholder + .page-title {
      margin-top: calc(55 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .page-title-sholder + .page-title {
      margin-top: 55px; } }

.block-title {
  font-size: calc(20 / 390 * 100vw);
  font-weight: 600;
  text-align: center;
  color: #df6a86; }
  @media only screen and (min-width: 769px) {
    .block-title {
      font-size: calc(33 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .block-title {
      font-size: 3.3rem; } }

.balloon_pink, .balloon_pink02 {
  width: calc(350 / 390 * 100vw);
  height: calc(62 / 390 * 100vw);
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  font-size: calc(18 / 390 * 100vw);
  font-weight: 500;
  color: #df6a86;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.25em;
  padding-top: calc(10 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .balloon_pink, .balloon_pink02 {
      width: calc(502 / 1080 * 100vw);
      height: calc(88 / 1080 * 100vw);
      font-size: calc(24 / 1080 * 100vw);
      padding-top: calc(16 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .balloon_pink, .balloon_pink02 {
      width: 502px;
      height: 88px;
      font-size: 2.4rem;
      padding-top: 16px; } }

.balloon_pink {
  background-image: url("../img/balloon_pink.svg"); }

.balloon_pink02 {
  background-image: url("../img/balloon_pink02.svg"); }

.text-spacing0 {
  letter-spacing: 0em !important; }

/*******　テキスト　*******/
.body-text {
  font-size: calc(14 / 390 * 100vw);
  line-height: 1.7;
  font-weight: 400;
  text-align: justify; }
  @media only screen and (min-width: 769px) {
    .body-text {
      font-size: calc(16 / 1080 * 100vw);
      line-height: 2.3; } }
  @media only screen and (min-width: 1080px) {
    .body-text {
      font-size: 1.6rem; } }

.h2-text {
  font-size: calc(20 / 390 * 100vw);
  line-height: 1.5;
  font-weight: 600;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .h2-text {
      font-size: calc(33 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .h2-text {
      font-size: 3.3rem; } }

.h3-acc_square {
  font-size: calc(16 / 390 * 100vw);
  font-weight: 500; }
  .h3-acc_square::before {
    content: '■';
    color: #df6a86;
    /*色を変える*/ }
  @media only screen and (min-width: 769px) {
    .h3-acc_square {
      font-size: calc(20 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .h3-acc_square {
      font-size: 2rem; } }

.note li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: calc(12 / 390 * 100vw);
  line-height: 1.5em; }
  @media only screen and (min-width: 769px) {
    .note li {
      font-size: calc(13 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .note li {
      font-size: 1.3rem; } }
.note li + li {
  margin-top: 0.3em; }

/*******　ボタン　*******/
.link-btn {
  width: calc(188 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn {
      width: calc(190 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn {
      width: 190px; } }
  .link-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(188 / 390 * 100vw);
    height: calc(25 / 390 * 100vw);
    border: 1px solid #000;
    border-radius: calc(25 / 390 * 100vw);
    text-align: center;
    font-size: calc(13 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #000;
    background-color: #fff;
    background-image: url("../img/btn_arrow_blk.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn a {
        width: calc(190 / 1080 * 100vw);
        height: calc(24 / 1080 * 100vw);
        border-radius: calc(24 / 1080 * 100vw);
        font-size: calc(14 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn a {
        width: 190px;
        height: 24px;
        border-radius: 24px;
        font-size: 1.4rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn a:hover {
      text-decoration: none;
      opacity: 0.5; }

.link-btn_black {
  width: calc(350 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn_black {
      width: calc(500 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn_black {
      width: 500px; } }
  .link-btn_black a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(350 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #000;
    border-radius: calc(30 / 390 * 100vw);
    text-align: center;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #000;
    background-color: #fff;
    background-image: url("../img/btn_arrow_blk.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn_black a {
        width: calc(500 / 1080 * 100vw);
        height: calc(35 / 1080 * 100vw);
        border-radius: calc(35 / 1080 * 100vw);
        font-size: calc(17 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn_black a {
        width: 500px;
        height: 35px;
        border-radius: 35px;
        font-size: 1.7rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn_black a:hover {
      text-decoration: none;
      opacity: 0.5; }

.link-btn_pink {
  width: calc(350 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn_pink {
      width: calc(500 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn_pink {
      width: 500px; } }
  .link-btn_pink a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(350 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #df6a86;
    border-radius: calc(30/ 390 * 100vw);
    text-align: center;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #df6a86;
    background-color: #fff;
    background-image: url("../img/btn_arrow_pink.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn_pink a {
        width: calc(500 / 1080 * 100vw);
        height: calc(35 / 1080 * 100vw);
        border-radius: calc(35 / 1080 * 100vw);
        font-size: calc(17 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn_pink a {
        width: 500px;
        height: 35px;
        border-radius: 35px;
        font-size: 1.7rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn_pink a:hover {
      text-decoration: none;
      opacity: 0.5; }

.link-btn_pink_l {
  width: calc(350 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn_pink_l {
      width: calc(600 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn_pink_l {
      width: 600px; } }
  .link-btn_pink_l a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(350 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #df6a86;
    border-radius: calc(30/ 390 * 100vw);
    text-align: center;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #df6a86;
    background-color: #fff;
    background-image: url("../img/btn_arrow_pink.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn_pink_l a {
        width: calc(650 / 1080 * 100vw);
        height: calc(60 / 1080 * 100vw);
        border-radius: calc(60 / 1080 * 100vw);
        font-size: calc(27 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn_pink_l a {
        width: 650px;
        height: 60px;
        border-radius: 60px;
        font-size: 2.7rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn_pink_l a:hover {
      text-decoration: none;
      opacity: 0.5; }

.link-btn_black_l {
  width: calc(350 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn_black_l {
      width: calc(600 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn_black_l {
      width: 600px; } }
  .link-btn_black_l a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(350 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #000;
    border-radius: calc(30/ 390 * 100vw);
    text-align: center;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #000;
    background-color: #fff;
    background-image: url("../img/btn_arrow_blk.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn_black_l a {
        width: calc(650 / 1080 * 100vw);
        height: calc(60 / 1080 * 100vw);
        border-radius: calc(60 / 1080 * 100vw);
        font-size: calc(27 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn_black_l a {
        width: 650px;
        height: 60px;
        border-radius: 60px;
        font-size: 2.7rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn_black_l a:hover {
      text-decoration: none;
      opacity: 0.5; }

.link-btn_pink-s {
  width: calc(194 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .link-btn_pink-s {
      width: calc(194 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .link-btn_pink-s {
      width: 194px; } }
  .link-btn_pink-s a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(194 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #df6a86;
    border-radius: calc(25 / 390 * 100vw);
    text-align: center;
    font-size: calc(13 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #df6a86;
    background-color: #fff;
    background-image: url("../img/btn_arrow_pink.svg");
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: right calc(18 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .link-btn_pink-s a {
        width: calc(194 / 1080 * 100vw);
        height: calc(30 / 1080 * 100vw);
        border-radius: calc(24 / 1080 * 100vw);
        font-size: calc(14 / 1080 * 100vw);
        background-size: calc(8 / 1080 * 100vw) auto;
        background-position: right calc(20 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .link-btn_pink-s a {
        width: 194px;
        height: 30px;
        border-radius: 24px;
        font-size: 1.4rem;
        background-size: 8px auto;
        background-position: right 20px center; } }
    .link-btn_pink-s a:hover {
      text-decoration: none;
      opacity: 0.5; }

.readmore-btn {
  width: calc(235 / 390 * 100vw); }
  @media only screen and (min-width: 769px) {
    .readmore-btn {
      width: calc(235 / 1080 * 100vw); } }
  @media only screen and (min-width: 1080px) {
    .readmore-btn {
      width: 235px; } }
  .readmore-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(235 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    border: 1px solid #000;
    border-radius: calc(20 / 390 * 100vw);
    text-align: center;
    font-size: calc(18 / 390 * 100vw);
    font-weight: 500;
    line-height: 1;
    color: #000;
    background-color: #fff;
    background-image: url("../img/btn_arrow_blk.svg");
    background-size: calc(9 / 390 * 100vw) auto;
    background-position: right calc(25 / 390 * 100vw) center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .readmore-btn a {
        width: calc(235 / 1080 * 100vw);
        height: calc(30 / 1080 * 100vw);
        border-radius: calc(20 / 1080 * 100vw);
        font-size: calc(16 / 1080 * 100vw);
        background-size: calc(9 / 1080 * 100vw) auto;
        background-position: right calc(25 / 1080 * 100vw) center; } }
    @media only screen and (min-width: 1080px) {
      .readmore-btn a {
        width: 235px;
        height: 30px;
        border-radius: 20px;
        font-size: 1.6rem;
        background-size: 9px auto;
        background-position: right 25px center; } }
    .readmore-btn a:hover {
      text-decoration: none;
      opacity: 0.5; }

/*******　表組　*******/
.table-type1 {
  width: 100%; }
  .table-type1 td, .table-type1 th {
    padding: calc(3 / 390 * 100vw) calc(4 / 390 * 100vw);
    border-bottom: 1px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type1 td, .table-type1 th {
        padding: calc(9 / 1080 * 100vw) calc(10 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type1 td, .table-type1 th {
        padding: 9px 10px; } }
  .table-type1 td {
    width: calc(54 / 390 * 100vw);
    background-color: #fff;
    color: #000;
    text-align: center;
    font-size: calc(7 / 390 * 100vw);
    font-weight: 400;
    border-right: 1px solid #df6a86;
    vertical-align: middle; }
    @media only screen and (min-width: 769px) {
      .table-type1 td {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type1 td {
        font-size: 1.6rem; } }
    .table-type1 td.none {
      background-color: #dbdee1; }
    .table-type1 td.reverse {
      text-align: right; }
    .table-type1 td:last-child {
      border-right: none; }
  .table-type1 th {
    background-color: #df6a86;
    color: #fff;
    font-size: calc(7 / 390 * 100vw);
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #fff; }
    @media only screen and (min-width: 769px) {
      .table-type1 th {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type1 th {
        font-size: 1.6rem; } }
    .table-type1 th.none {
      background-color: #dbdee1; }
    .table-type1 th:last-child {
      border-right: none; }
  .table-type1 th.row {
    width: calc(62 / 390 * 100vw);
    background-color: #fff;
    color: #000;
    font-weight: 400;
    text-align: left;
    border-right: 1px solid #df6a86; }
    .table-type1 th.row.none {
      background-color: #dbdee1; }

.table-type2 {
  width: 100%; }
  .table-type2 td, .table-type2 th {
    padding: calc(3 / 390 * 100vw) calc(4 / 390 * 100vw);
    border-bottom: 1px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type2 td, .table-type2 th {
        padding: calc(9 / 1080 * 100vw) calc(10 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type2 td, .table-type2 th {
        padding: 9px 10px; } }
  .table-type2 td {
    width: calc(54 / 390 * 100vw);
    background-color: #fff;
    color: #000;
    text-align: center;
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 400;
    border-right: 1px solid #df6a86;
    vertical-align: middle; }
    @media only screen and (min-width: 769px) {
      .table-type2 td {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type2 td {
        font-size: 1.6rem; } }
    .table-type2 td.none {
      background-color: #dbdee1; }
    .table-type2 td.reverse {
      text-align: right; }
    .table-type2 td:last-child {
      border-right: none; }
  .table-type2 th {
    background-color: #df6a86;
    color: #fff;
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #fff; }
    @media only screen and (min-width: 769px) {
      .table-type2 th {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type2 th {
        font-size: 1.6rem; } }
    .table-type2 th.none {
      background-color: #dbdee1; }
    .table-type2 th:last-child {
      border-right: none; }
  .table-type2 th.row {
    width: calc(62 / 390 * 100vw);
    background-color: #fff;
    color: #000;
    font-weight: 400;
    text-align: left;
    border-right: 1px solid #df6a86; }
    .table-type2 th.row.none {
      background-color: #dbdee1; }

.table-type3 {
  width: 100%;
  border-top: 1px solid #df6a86; }
  .table-type3 td, .table-type3 th {
    padding: calc(3 / 390 * 100vw) calc(4 / 390 * 100vw);
    border-bottom: 1px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type3 td, .table-type3 th {
        padding: calc(9 / 1080 * 100vw) calc(10 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type3 td, .table-type3 th {
        padding: 9px 10px; } }
  .table-type3 td {
    width: auto;
    background-color: #fff;
    color: #000;
    text-align: left;
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 400;
    border-right: 1px solid #df6a86;
    vertical-align: top; }
    @media only screen and (min-width: 769px) {
      .table-type3 td {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type3 td {
        font-size: 1.6rem; } }
    .table-type3 td:last-child {
      border-right: none; }
  .table-type3 th {
    width: 8em;
    background-color: #FFF;
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 400;
    text-align: left;
    vertical-align: top;
    border-right: 1px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type3 th {
        width: 8.5em;
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type3 th {
        font-size: 1.6rem; } }
    .table-type3 th:last-child {
      border-right: none; }

.table-type4 {
  width: 100%; }
  .table-type4 td, .table-type4 th {
    padding: calc(3 / 390 * 100vw) calc(4 / 390 * 100vw);
    border-bottom: 1px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type4 td, .table-type4 th {
        padding: calc(9 / 1080 * 100vw) calc(10 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type4 td, .table-type4 th {
        padding: 9px 10px; } }
  .table-type4 td {
    background-color: #fff;
    color: #000;
    text-align: center;
    font-size: calc(17 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 600;
    border: 2px solid #df6a86;
    vertical-align: middle;
    padding: 0.3em; }
    @media only screen and (min-width: 769px) {
      .table-type4 td {
        font-size: calc(22 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type4 td {
        font-size: 2.2rem; } }
  .table-type4 th {
    background-color: #df6a86;
    color: #fff;
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3em;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    border: 2px solid #df6a86; }
    @media only screen and (min-width: 769px) {
      .table-type4 th {
        font-size: calc(16 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .table-type4 th {
        font-size: 1.6rem; } }

/*******　モーダル　*******/
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999; }

.modal__bg {
  background: rgba(255, 255, 255, 0.9);
  height: 100vh;
  position: absolute;
  width: 100%; }

.modal__content {
  background-color: #fcf0f3;
  left: 50%;
  position: absolute;
  top: 4%;
  transform: translate(-50%, 0%);
  width: calc(380 / 390 * 100vw);
  height: 92vh; }
  @media only screen and (min-width: 769px) {
    .modal__content {
      width: calc(900/1080 * 100vw);
      height: auto;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); } }
  @media only screen and (min-width: 1080px) {
    .modal__content {
      width: 900px; } }
  .modal__content .cont_wrap {
    position: relative;
    padding: calc(65 / 390 * 100vw) calc(2 / 390 * 100vw) calc(60 / 390 * 100vw) calc(20 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .modal__content .cont_wrap {
        padding: calc(70/1080 * 100vw) calc(50/1080 * 100vw) calc(60/1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .modal__content .cont_wrap {
        padding: 70px 50px 60px; } }
    .modal__content .cont_wrap .js-modal-close {
      position: absolute;
      width: calc(23/390 * 100vw);
      top: calc(20/390 * 100vw);
      right: calc(15/390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .modal__content .cont_wrap .js-modal-close {
          width: calc(25/1080 * 100vw);
          top: calc(22/1080 * 100vw);
          right: calc(20/1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .modal__content .cont_wrap .js-modal-close {
          width: 25px;
          top: 22px;
          right: 20px; } }
    .modal__content .cont_wrap .cont {
      width: 95%;
      height: 80vh;
      margin: 0 auto 0;
      overflow-y: scroll;
      padding-right: 5%; }
      @media only screen and (min-width: 769px) {
        .modal__content .cont_wrap .cont {
          width: 100%;
          height: auto;
          overflow: inherit;
          padding-right: 0; } }

.modal__content02 {
  background-color: #f0f0f0;
  left: 50%;
  position: absolute;
  top: 4%;
  transform: translate(-50%, 0%);
  width: calc(380 / 390 * 100vw);
  height: 92vh; }
  @media only screen and (min-width: 769px) {
    .modal__content02 {
      width: calc(960/1080 * 100vw);
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      height: 90vh; } }
  @media only screen and (min-width: 1080px) {
    .modal__content02 {
      width: 960px; } }
  .modal__content02 .cont_wrap {
    position: relative;
    padding: calc(65 / 390 * 100vw) calc(2 / 390 * 100vw) calc(60 / 390 * 100vw) calc(20 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .modal__content02 .cont_wrap {
        padding: calc(70/1080 * 100vw) calc(30/1080 * 100vw) calc(60/1080 * 100vw) calc(50/1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .modal__content02 .cont_wrap {
        padding: 70px 30px 60px 50px; } }
    .modal__content02 .cont_wrap .js-modal-close {
      position: absolute;
      width: calc(23/390 * 100vw);
      top: calc(20/390 * 100vw);
      right: calc(15/390 * 100vw); }
      @media only screen and (min-width: 769px) {
        .modal__content02 .cont_wrap .js-modal-close {
          width: calc(25/1080 * 100vw);
          top: calc(22/1080 * 100vw);
          right: calc(20/1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .modal__content02 .cont_wrap .js-modal-close {
          width: 25px;
          top: 22px;
          right: 20px; } }
    .modal__content02 .cont_wrap .cont {
      width: 95%;
      height: 80vh;
      margin: 0 auto 0;
      overflow-y: scroll;
      padding-right: 5%; }
      @media only screen and (min-width: 769px) {
        .modal__content02 .cont_wrap .cont {
          width: 100%;
          padding-right: 0; } }
