@charset "UTF-8";
/* CSS Document */
/* CSS Document */
html {
  font: 10px/1.5 "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  /* 基本文字設定 */
  *font-size: small;
  /* Win IE7およびWin IE6標準準拠モード向け */
  *font-size: x-small;
  /* Win IE 5-5.5､6(後方互換モード)向け */
  letter-spacing: 0;
  background-color: #CFEDFA;
  color: #000;
  font-weight: normal; }
  @media screen and (max-width: 600px) {
    html {
      background: #CFEDFA; } }

* {
  outline: none; }
  * img {
    max-width: 100%; }

a {
  color: #000;
  outline: none;
  text-decoration: none;
  transition: opacity 300ms ease-in-out; }
  a:after {
    text-decoration: none; }
  a:hover, a:focus {
    opacity: 0.8; }
  a:focus-visible {
    outline: dotted 2px #000;
    outline-offset: -2px;
    color: #000;
    box-shadow: 0 0 0 2px #000; }
  a img {
    background: url(../image/share/transparent.png);
    transition: opacity 300ms ease-in-out; }

header {
  position: sticky;
  top: 0;
  z-index: 1200; }
  @media screen and (max-width: 600px) {
    header {
      position: fixed;
      top: 0;
      right: 0;
      width: 21.3333vw; } }

#header {
  width: 100%;
  height: 80px;
  background-color: #0071BC; }
  @media screen and (max-width: 600px) {
    #header {
      height: 21.333vw;
      background: none; } }
  #header__inner {
    max-width: 1300px;
    height: 80px;
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    @media screen and (max-width: 600px) {
      #header__inner {
        height: 21.333vw;
        width: 100%;
        padding: 0;
        display: block; } }

@media screen and (max-width: 600px) {
  #global-area {
    display: none; } }

#nav-global {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center; }
  #nav-global li {
    font-size: 15px;
    font-style: normal;
    font-weight: bold;
    line-height: 1.6; }
    #nav-global li a {
      color: #fff; }
      #nav-global li a:focus-visible {
        outline: dotted 2px #fff;
        outline-offset: -2px;
        color: #fff;
        box-shadow: 0 0 0 2px #fff; }
    #nav-global li + li {
      margin: 0 0 0 20px;
      padding: 0 0 0 20px;
      border-left: 1px solid #fff; }
      @media screen and (max-width: 800px) {
        #nav-global li + li {
          margin-left: 15px;
          padding-left: 15px; } }

#menu-button {
  display: none;
  position: absolute;
  padding: 0;
  margin: 0;
  top: 0;
  right: 0;
  box-sizing: border-box;
  border-radius: 0 0 0 8vw;
  transition: all 300ms ease-in-out;
  font-size: 0;
  line-height: 1;
  background-color: #0071BC;
  color: #fff;
  font-weight: bold;
  width: 21.333vw;
  height: 21.333vw; }
  #menu-button:focus, #menu-button:focus-visible {
    opacity: 0.8;
    outline: dotted 1px #fff;
    outline-offset: -2px;
    box-shadow: none; }
  #menu-button:hover {
    opacity: 1; }
  @media screen and (max-width: 600px) {
    #menu-button {
      display: block; } }
  #menu-button .menu--line {
    position: absolute;
    display: block;
    background-color: #fff;
    left: 50%;
    top: 10.6665vw;
    width: 12.8vw;
    height: 2px;
    border-radius: 99999px;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: all 300ms ease-in-out;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
  #menu-button .menu--line--top {
    -webkit-transform: translate(-50%, -4.2665vw);
    transform: translate(-50%, -4.2665vw); }
  #menu-button .menu--line--bottom {
    -webkit-transform: translate(-50%, 4.2665vw);
    transform: translate(-50%, 4.2665vw); }
  #menu-button.active {
    background-color: #fff; }
    #menu-button.active .menu--line {
      background-color: #0071BC; }
    #menu-button.active .menu--line--top {
      -webkit-transform: translate(-50%, 0) rotate(45deg);
      transform: translate(-50%, 0) rotate(45deg); }
    #menu-button.active .menu--line--middle {
      opacity: 0; }
    #menu-button.active .menu--line--bottom {
      -webkit-transform: translate(-50%, 0) rotate(-45deg);
      transform: translate(-50%, 0) rotate(-45deg); }

#global-area-sp {
  display: none; }
  @media screen and (max-width: 600px) {
    #global-area-sp {
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 0;
      max-height: 100%;
      padding: 0;
      z-index: 1100;
      background-color: #0071BC;
      box-sizing: border-box;
      transition: all 300ms ease-in-out;
      overflow: hidden;
      text-align: center;
      overflow-y: auto;
      overflow-x: hidden; } }
  #global-area-sp::-webkit-scrollbar {
    width: 2px; }
  #global-area-sp::-webkit-scrollbar-track {
    background: #0071BC;
    border-radius: 1px; }
  #global-area-sp::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 1px; }
  #global-area-sp.active {
    height: 100vh; }
  #global-area-sp__inner {
    position: relative;
    box-sizing: border-box;
    padding: 26.667vw 5.333vw 0; }

#nav-global-sp {
  position: relative;
  z-index: 200;
  margin: 0;
  padding: 0; }
  #nav-global-sp > li {
    color: #fff;
    font-size: 4vw;
    font-weight: bold;
    line-height: 1;
    border-bottom: 1px solid #fff;
    text-align: center;
    margin: 0;
    padding: 0; }
    #nav-global-sp > li:first-child {
      border-top: 1px solid #fff; }
    #nav-global-sp > li > a {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      margin: 0;
      padding: 5.867vw 0;
      color: #fff; }
      @media screen and (max-width: 600px) {
        #nav-global-sp > li > a:focus, #nav-global-sp > li > a:focus-visible, #nav-global-sp > li > a:hover {
          opacity: 1;
          background-color: #fff;
          color: #0071BC;
          outline: none;
          box-shadow: none; } }

#main-area {
  background: url("../image/mainimage-back-pc.svg") center center no-repeat; }
  @media screen and (max-width: 600px) {
    #main-area {
      background: url("../image/mainimage-back-sp.svg") center top no-repeat;
      background-size: 100% auto; } }
  #main-area__inner {
    max-width: 1200px;
    height: 600px;
    margin: 0 auto; }
    @media screen and (max-width: 600px) {
      #main-area__inner {
        height: 133.333vw; } }
    #main-area__inner h1 {
      text-align: center; }
      @media screen and (max-width: 600px) {
        #main-area__inner h1 img {
          width: 100%;
          height: auto; } }

#project {
  margin: 0;
  padding: 60px 0; }
  @media screen and (max-width: 600px) {
    #project {
      padding: 8vw 0; } }
  #project__inner {
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      #project__inner {
        padding: 0 50px; } }
    @media screen and (max-width: 600px) {
      #project__inner {
        padding: 0 5.333vw; } }
    #project__inner .project--title {
      margin: 0 0 52px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #project__inner .project--title {
          margin-bottom: 8vw; } }
      @media screen and (max-width: 600px) {
        #project__inner .project--title img {
          width: 100%;
          height: auto; } }
    #project__inner .project--text {
      color: #8C6239;
      font-family: "M PLUS 1p", sans-serif;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.75;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #project__inner .project--text {
          font-size: 4.267vw; } }
      #project__inner .project--text--ib {
        display: inline-block; }
        @media screen and (max-width: 1200px) {
          #project__inner .project--text--ib {
            display: inline; } }
      #project__inner .project--text--line {
        color: #E61673;
        background: -webkit-linear-gradient(transparent 60%, #FFF33F 60%);
        background: -o-linear-gradient(transparent 60%, #FFF33F 60%);
        background: linear-gradient(transparent 60%, #FFF33F 60%); }
        @media screen and (max-width: 1200px) {
          #project__inner .project--text--line {
            display: inline; } }
    #project__inner .project--event {
      text-align: center;
      margin: 20px 0 0; }
      @media screen and (max-width: 600px) {
        #project__inner .project--event {
          margin-top: 4.8vw; } }
      #project__inner .project--event img {
        max-width: 100%;
        height: auto; }
        @media screen and (max-width: 800px) {
          #project__inner .project--event img {
            width: 100%; } }

#period {
  margin: 0;
  padding: 60px 0;
  background: #FCE5EF; }
  @media screen and (max-width: 600px) {
    #period {
      padding: 8vw 0 6.667vw; } }
  #period__inner {
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      #period__inner {
        padding: 0 50px; } }
    @media screen and (max-width: 600px) {
      #period__inner {
        padding: 0 5.333vw; } }
    #period__inner .period--title {
      margin: 0 0 30px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #period__inner .period--title {
          margin-bottom: 6.4vw; } }
      @media screen and (max-width: 600px) {
        #period__inner .period--title img {
          height: 16vw;
          width: auto; } }
    #period__inner .period--between {
      color: #000;
      font-size: 45px;
      font-weight: bold;
      line-height: 1.2;
      text-align: center; }
      @media screen and (max-width: 800px) {
        #period__inner .period--between {
          font-size: 40px; } }
      @media screen and (max-width: 600px) {
        #period__inner .period--between {
          font-size: 7.467vw; } }
      #period__inner .period--between .ib {
        display: inline-block; }

#prize {
  margin: 0;
  padding: 60px 0;
  background: #72D3FF; }
  @media screen and (max-width: 600px) {
    #prize {
      padding: 8vw 0; } }
  #prize__inner {
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      #prize__inner {
        padding: 0 50px; } }
    @media screen and (max-width: 600px) {
      #prize__inner {
        padding: 0 5.333vw; } }
    #prize__inner .prize--title {
      margin: 0 0 22px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #prize__inner .prize--title {
          margin-bottom: 5.333vw; } }
      @media screen and (max-width: 600px) {
        #prize__inner .prize--title img {
          height: 16vw;
          width: auto; } }

#prize--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 100px; }
  @media screen and (max-width: 1200px) {
    #prize--list {
      justify-content: center; } }
  @media screen and (max-width: 600px) {
    #prize--list {
      gap: 5.333vw 0; } }
  #prize--list > dt {
    flex: 0 0 100%;
    text-align: center; }
    #prize--list > dt img {
      max-width: 100%;
      height: auto; }
      @media screen and (max-width: 800px) {
        #prize--list > dt img {
          width: 100%; } }
  #prize--list > dd {
    flex: 0 0 500px;
    text-align: center; }
    @media screen and (max-width: 600px) {
      #prize--list > dd {
        flex: 0 0 100%; } }
    #prize--list > dd img {
      max-width: 100%;
      height: auto; }
      @media screen and (max-width: 800px) {
        #prize--list > dd img {
          width: 100%; } }

#method {
  margin: 0;
  padding: 60px 0;
  background: #6AD6A5; }
  @media screen and (max-width: 600px) {
    #method {
      padding: 8vw 0; } }
  #method__inner {
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      #method__inner {
        padding: 0 50px; } }
    @media screen and (max-width: 600px) {
      #method__inner {
        padding: 0 5.333vw; } }
    #method__inner .method--title {
      margin: 0 0 40px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #method__inner .method--title {
          margin-bottom: 5.333vw; } }
      @media screen and (max-width: 600px) {
        #method__inner .method--title img {
          height: 16vw;
          width: auto; } }

#method--list {
  max-width: 1090px;
  margin: 0 auto; }
  #method--list > li {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 40px 65px; }
    @media screen and (max-width: 600px) {
      #method--list > li {
        border-radius: 5.333vw;
        padding: 9.333vw 5.333vw 8vw; } }
    #method--list > li .method--step {
      color: #009B6B;
      font-size: 45px;
      font-weight: bold;
      line-height: 1.2;
      margin: 0 0 8px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step {
          font-size: 8vw;
          margin-bottom: 0.8vw; } }
      #method--list > li .method--step--title {
        font-size: 30px;
        font-weight: bold;
        line-height: 1.2;
        text-align: center;
        margin: 0 0 18px; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step--title {
            font-size: 6.4vw;
            margin-bottom: 4.8vw; } }
        #method--list > li .method--step--title span {
          display: inline-block; }
      #method--list > li .method--step--img {
        text-align: center; }
        #method--list > li .method--step--img img {
          max-width: 100%;
          height: auto; }
          @media screen and (max-width: 600px) {
            #method--list > li .method--step--img img {
              width: 100%; } }
      #method--list > li .method--step--text {
        color: #8C6239;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.2;
        text-align: center; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step--text {
            font-size: 4.267vw; } }
    #method--list > li .method--step1--list {
      position: relative;
      margin: 25px 0 0;
      display: flex;
      justify-content: center;
      gap: 0 235px; }
      @media screen and (max-width: 1200px) {
        #method--list > li .method--step1--list {
          flex-wrap: wrap;
          gap: 235px 0; } }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--list {
          margin-top: 8vw;
          gap: 19.467vw; } }
      #method--list > li .method--step1--list::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        border-left: 3px dashed #CCC; }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list::before {
            display: none; } }
      #method--list > li .method--step1--list::after {
        content: "or";
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.2;
        width: 60px;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #CCC;
        border-radius: 50%; }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list::after {
            display: none; } }
      #method--list > li .method--step1--list--download {
        position: relative;
        flex: 0 0 320px;
        text-align: center; }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list--download {
            flex: 0 0 100%; } }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list--download::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -116px;
            border-bottom: 3px dashed #CCC; } }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step1--list--download::before {
            border-bottom-width: 0.8vw;
            bottom: -9.067vw; } }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list--download::after {
            content: "or";
            position: absolute;
            left: 50%;
            bottom: -116px;
            -webkit-transform: translate(-50%, 50%);
            transform: translate(-50%, 50%);
            color: #fff;
            font-size: 24px;
            font-weight: bold;
            line-height: 1.2;
            width: 60px;
            height: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
            background: #CCC;
            border-radius: 50%; } }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step1--list--download::after {
            bottom: -9.067vw;
            font-size: 4.267vw;
            width: 11.2vw;
            height: 11.2vw; } }
      #method--list > li .method--step1--list--info {
        flex: 0 0 320px;
        text-align: center; }
        @media screen and (max-width: 1200px) {
          #method--list > li .method--step1--list--info {
            flex: 0 0 100%; } }
    #method--list > li .method--step1--text1 {
      color: #009B6B;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.2;
      margin: 0 0 20px; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--text1 {
          font-size: 4.8vw;
          margin-bottom: 3.2vw; } }
    #method--list > li .method--step1--text2 {
      color: #8C6239;
      font-size: 22px;
      font-weight: bold;
      line-height: 1.2;
      margin: 0 0 20px; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--text2 {
          font-size: 5.333vw;
          margin-bottom: 3.2vw; } }
    #method--list > li .method--step1--pdf {
      text-align: center;
      margin: 0 0 12px;
      display: block; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--pdf {
          margin-bottom: 3.2vw; } }
    #method--list > li .method--step1--note {
      color: #8C6239;
      font-size: 18px;
      font-weight: bold;
      line-height: 1.2; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--note {
          font-size: 4.267vw; } }
      #method--list > li .method--step1--note span {
        display: inline-block; }
    #method--list > li .method--step1--link {
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      max-width: 300px;
      height: 66px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #37B6D0;
      border-radius: 9999px;
      margin: 0 auto;
      margin: 0 auto; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step1--link {
          font-size: 4.267vw;
          max-width: inherit;
          width: 100%;
          height: 14.933vw; } }
      #method--list > li .method--step1--link--arrow {
        margin: 0 0 0 10px; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step1--link--arrow {
            margin-left: 2.667vw;
            width: 6.933vw;
            height: auto; } }
    #method--list > li .method--step2--img {
      margin-top: 40px;
      margin-bottom: 40px; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step2--img {
          margin-top: 5.333vw;
          margin-bottom: 5.333vw; } }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step2--img img {
          height: 36.267vw;
          width: auto; } }
    #method--list > li .method--step2--condition {
      margin: 30px 80px 0;
      padding: 20px;
      background: #FFF8BB;
      border-radius: 20px; }
      @media screen and (max-width: 1200px) {
        #method--list > li .method--step2--condition {
          margin-right: auto;
          margin-left: auto;
          max-width: 710px; } }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step2--condition {
          margin-top: 4vw;
          padding: 5.333vw;
          border-radius: 2.667vw; } }
      #method--list > li .method--step2--condition > dt {
        color: #009B6B;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.2;
        margin: 0 0 15px;
        padding: 0 0 10px;
        border-bottom: 1px solid #009B6B; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step2--condition > dt {
            font-size: 4.267vw;
            margin-bottom: 3.2vw;
            padding-bottom: 2.133vw; } }
      #method--list > li .method--step2--condition > dd {
        font-size: 16px;
        line-height: 1.2;
        text-align: justify;
        text-justify: inter-ideograph; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step2--condition > dd {
            font-size: 3.733vw; } }
        #method--list > li .method--step2--condition > dd + dd {
          margin-top: 9px; }
          @media screen and (max-width: 600px) {
            #method--list > li .method--step2--condition > dd + dd {
              margin-top: 1.067vw; } }
    #method--list > li .method--step3--img {
      margin-top: 40px;
      margin-bottom: 40px; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step3--img {
          margin-top: 5.333vw;
          margin-bottom: 5.333vw; } }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step3--img img {
          height: 36.267vw;
          width: auto; } }
    #method--list > li .method--step4--link {
      color: #fff;
      font-size: 24px;
      font-weight: bold;
      max-width: 613px;
      height: 85px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #E66F9A;
      border-radius: 9999px;
      margin: 30px auto 0; }
      @media screen and (max-width: 600px) {
        #method--list > li .method--step4--link {
          font-size: 4.267vw;
          max-width: inherit;
          height: 14.933vw;
          margin-top: 2.667vw; } }
      #method--list > li .method--step4--link--arrow {
        margin: 0 0 0 10px; }
        @media screen and (max-width: 600px) {
          #method--list > li .method--step4--link--arrow {
            margin-left: 2.667vw;
            width: 6.933vw;
            height: auto; } }
    #method--list > li + li {
      margin: 110px auto 0; }
      @media screen and (max-width: 600px) {
        #method--list > li + li {
          margin-top: 18.667vw; } }
      #method--list > li + li::before {
        content: "";
        position: absolute;
        border-top: 30px solid #FFF33F;
        border-left: 125px solid transparent;
        border-right: 125px solid transparent;
        border-bottom: none;
        top: -70px;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0); }
        @media screen and (max-width: 600px) {
          #method--list > li + li::before {
            border-top-width: 8vw;
            border-left-width: 33.333vw;
            border-right-width: 33.333vw;
            top: -13.333vw; } }

#selection {
  margin: 0;
  padding: 60px 0;
  background: #FFC891; }
  @media screen and (max-width: 1200px) {
    #selection {
      padding: 60px 50px; } }
  @media screen and (max-width: 600px) {
    #selection {
      padding: 8vw 5.333vw; } }
  #selection__inner {
    max-width: 1090px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 40px 65px; }
    @media screen and (max-width: 600px) {
      #selection__inner {
        padding: 8vw 5.333vw;
        border-radius: 5.333vw; } }
    #selection__inner .selection--title {
      margin: 0 0 40px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #selection__inner .selection--title {
          margin-bottom: 5.333vw; } }
      @media screen and (max-width: 800px) {
        #selection__inner .selection--title img {
          height: 168px;
          width: auto; } }
      @media screen and (max-width: 600px) {
        #selection__inner .selection--title img {
          height: 29.6vw; } }
    #selection__inner .selection--list > div {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0 30px; }
      @media screen and (max-width: 1200px) {
        #selection__inner .selection--list > div {
          display: block; } }
      #selection__inner .selection--list > div + div {
        margin: 30px 0 0; }
        @media screen and (max-width: 1200px) {
          #selection__inner .selection--list > div + div {
            margin-top: 50px; } }
        @media screen and (max-width: 600px) {
          #selection__inner .selection--list > div + div {
            margin-top: 9.333vw; } }
      #selection__inner .selection--list > div > dt {
        flex: 0 0 270px;
        background: #FFF8BB;
        min-height: 72px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.2; }
        @media screen and (max-width: 1200px) {
          #selection__inner .selection--list > div > dt {
            flex: none; } }
        @media screen and (max-width: 600px) {
          #selection__inner .selection--list > div > dt {
            min-height: 19.2vw;
            font-size: 4.8vw;
            margin-bottom: 5.333vw; } }
      #selection__inner .selection--list > div > dd {
        flex: 1 1 100%;
        font-size: 16px;
        line-height: 1.5125;
        text-align: justify;
        text-justify: inter-ideograph; }
        @media screen and (max-width: 1200px) {
          #selection__inner .selection--list > div > dd {
            flex: none; } }
        @media screen and (max-width: 600px) {
          #selection__inner .selection--list > div > dd {
            font-size: 4.267vw; } }

#contact {
  margin: 0;
  padding: 60px 0 0;
  margin: 0 0 100px; }
  @media screen and (max-width: 600px) {
    #contact {
      padding-top: 8vw;
      margin-bottom: 16vw; } }
  #contact__inner {
    max-width: 1090px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 40px 65px; }
    @media screen and (max-width: 1200px) {
      #contact__inner {
        margin: 0 50px; } }
    @media screen and (max-width: 1200px) {
      #contact__inner {
        margin: 0 5.333vw;
        padding: 8vw 5.333vw; } }
    #contact__inner .contact--title {
      margin: 0 0 40px;
      width: 100%;
      min-height: 75px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 9999px;
      background: #009B6B;
      color: #fff;
      font-size: 30px;
      font-weight: bold;
      line-height: 1.2;
      text-align: center; }
      @media screen and (max-width: 800px) {
        #contact__inner .contact--title {
          flex-direction: column;
          padding: 22px; } }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--title {
          margin-bottom: 5.333vw;
          min-height: inherit;
          font-size: 5.333vw;
          padding: 2.4vw; } }
    #contact__inner .contact--text {
      font-size: 16px;
      line-height: 1.5125;
      @includ justify; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--text {
          font-size: 4.267vw; } }
    #contact__inner .contact--list {
      margin: 30px 0 0; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--list {
          margin-top: 8vw; } }
      #contact__inner .contact--list > div {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        align-content: center;
        gap: 0 30px; }
        @media screen and (max-width: 1200px) {
          #contact__inner .contact--list > div {
            display: block; } }
        #contact__inner .contact--list > div + div {
          margin: 25px 0 0;
          padding: 0; }
          @media screen and (max-width: 1200px) {
            #contact__inner .contact--list > div + div {
              margin-top: 50px; } }
          @media screen and (max-width: 600px) {
            #contact__inner .contact--list > div + div {
              margin-top: 6.667vw; } }
        #contact__inner .contact--list > div > dt {
          flex: 0 0 270px;
          background: #FFF8BB;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 18px;
          font-weight: bold;
          line-height: 1.2;
          margin: 0;
          padding: 0;
          border: none; }
          @media screen and (max-width: 1200px) {
            #contact__inner .contact--list > div > dt {
              flex: none;
              padding: 20px; } }
          @media screen and (max-width: 600px) {
            #contact__inner .contact--list > div > dt {
              font-size: 4.8vw;
              padding: 5.333vw; } }
          #contact__inner .contact--list > div > dt .contact--must {
            background: #E66F9A;
            margin: 0 0 0 10px;
            padding: 2px 12px;
            line-height: 1;
            color: #fff;
            font-size: 16px; }
            @media screen and (max-width: 600px) {
              #contact__inner .contact--list > div > dt .contact--must {
                margin-left: 2.667vw;
                padding: 0.533vw 3.2vw;
                font-size: 3.2vw; } }
        #contact__inner .contact--list > div > dd {
          flex: 1 1 100%;
          font-size: 16px;
          line-height: 1.5125;
          text-align: justify;
          text-justify: inter-ideograph;
          margin: 0;
          padding: 0;
          border: none; }
          @media screen and (max-width: 1200px) {
            #contact__inner .contact--list > div > dd {
              flex: none;
              margin: 10px 0 0; } }
          @media screen and (max-width: 600px) {
            #contact__inner .contact--list > div > dd {
              margin-top: 2.667vw; } }
    #contact__inner .contact--submit {
      text-align: center;
      margin: 40px 0 0; }
      @media screen and (max-width: 1200px) {
        #contact__inner .contact--submit {
          margin-top: 50px; } }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--submit {
          margin-top: 8vw; } }

#mailformpro textarea,
#mailformpro input[type="text"],
#mailformpro input[type="email"] {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  background: #fff;
  padding: 20px;
  width: 100%;
  border: 2px solid #CCC; }
  @media screen and (max-width: 600px) {
    #mailformpro textarea,
    #mailformpro input[type="text"],
    #mailformpro input[type="email"] {
      font-size: 4.8vw;
      padding: 5.333vw; } }
  #mailformpro textarea:focus-visible,
  #mailformpro input[type="text"]:focus-visible,
  #mailformpro input[type="email"]:focus-visible {
    outline: dotted 2px #000;
    outline-offset: -4px;
    color: #000;
    box-shadow: 0 0 0 2px #000; }
#mailformpro #contact--value {
  height: 180px; }
  @media screen and (max-width: 600px) {
    #mailformpro #contact--value {
      height: 48vw; } }
#mailformpro #contact--name {
  height: 86px; }
  @media screen and (max-width: 600px) {
    #mailformpro #contact--name {
      height: 16.533vw; } }
#mailformpro #contact--email {
  height: 86px; }
  @media screen and (max-width: 600px) {
    #mailformpro #contact--email {
      height: 16.533vw; } }
#mailformpro #contact--submit {
  width: 300px;
  height: 66px;
  background: #009B6B;
  margin: 0 auto;
  border-radius: 9999px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-shadow: none;
  transition: opacity 300ms ease-in-out; }
  @media screen and (max-width: 600px) {
    #mailformpro #contact--submit {
      width: 100%;
      height: 14.133vw;
      font-size: 4.267vw; } }
  #mailformpro #contact--submit:focus-visible {
    outline: dotted 2px #000;
    outline-offset: -4px;
    box-shadow: 0 0 0 2px #000; }
  #mailformpro #contact--submit:hover {
    opacity: 0.8; }

#caveat,
#haram {
  margin: 0 0 80px;
  padding: 0; }
  @media screen and (max-width: 600px) {
    #caveat,
    #haram {
      margin-bottom: 12vw; } }
  #caveat__inner,
  #haram__inner {
    max-width: 970px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      #caveat__inner,
      #haram__inner {
        padding: 0 50px; } }
    @media screen and (max-width: 1200px) {
      #caveat__inner,
      #haram__inner {
        padding: 0 5.333vw; } }
    #caveat__inner .caveat--title,
    #caveat__inner .haram--title,
    #haram__inner .caveat--title,
    #haram__inner .haram--title {
      font-size: 30px;
      font-weight: bold;
      line-height: 1.2;
      text-align: center;
      margin: 0 0 20px;
      padding: 0 0 10px;
      border-bottom: 1px solid #000; }
      @media screen and (max-width: 600px) {
        #caveat__inner .caveat--title,
        #caveat__inner .haram--title,
        #haram__inner .caveat--title,
        #haram__inner .haram--title {
          font-size: 5.333vw;
          margin-bottom: 5.333vw;
          padding-bottom: 1.867vw; } }
    #caveat__inner .caveat--text,
    #caveat__inner .haram--text,
    #haram__inner .caveat--text,
    #haram__inner .haram--text {
      font-size: 16px;
      line-height: 1.7625;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media screen and (max-width: 600px) {
        #caveat__inner .caveat--text,
        #caveat__inner .haram--text,
        #haram__inner .caveat--text,
        #haram__inner .haram--text {
          font-size: 3.733vw; } }
    #caveat__inner .caveat--list > li,
    #caveat__inner .haram--list > li,
    #haram__inner .caveat--list > li,
    #haram__inner .haram--list > li {
      font-size: 16px;
      line-height: 1.7625;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media screen and (max-width: 600px) {
        #caveat__inner .caveat--list > li,
        #caveat__inner .haram--list > li,
        #haram__inner .caveat--list > li,
        #haram__inner .haram--list > li {
          font-size: 3.733vw; } }

#haram {
  margin: 0; }

#footer {
  margin: 150px 0 0;
  padding: 0 0 280px;
  background: url("../image/footer-pc.svg") center bottom no-repeat; }
  @media screen and (max-width: 600px) {
    #footer {
      margin-top: 21.333vw;
      padding-bottom: 42.667vw;
      background: url("../image/footer-sp.svg") center bottom no-repeat;
      background-size: 100% auto; } }
  #footer__inner {
    max-width: 1100px;
    margin: 0 auto; }

#footer--banner {
  display: flex;
  justify-content: center; }
  #footer--banner > li a {
    display: block; }
  @media screen and (max-width: 600px) {
    #footer--banner > li img {
      width: 40vw;
      height: auto; } }

#thanks {
  margin: 0 auto 100px;
  padding: 100px 0 0; }
  @media screen and (max-width: 1200px) {
    #thanks {
      padding: 20vw 50px 0; } }
  @media screen and (max-width: 600px) {
    #thanks {
      padding: 20vw 5.333vw 0;
      margin-bottom: 20vw; } }
  #thanks__inner {
    width: 1100px;
    margin: 0 auto;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
    box-sizing: border-box; }
    @media screen and (max-width: 600px) {
      #thanks__inner {
        padding: 5.333vw;
        width: auto;
        border-radius: 5.333vw; } }
    #thanks__inner .thanks--h2 {
      margin: 0 0 40px;
      width: 100%;
      min-height: 75px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 9999px;
      background: #009B6B;
      color: #fff;
      font-size: 30px;
      font-weight: bold;
      line-height: 1.2;
      text-align: center; }
      @media screen and (max-width: 800px) {
        #thanks__inner .thanks--h2 {
          flex-direction: column;
          padding: 22px; } }
      @media screen and (max-width: 600px) {
        #thanks__inner .thanks--h2 {
          margin-bottom: 5.333vw;
          min-height: inherit;
          font-size: 5.333vw;
          padding: 2.4vw; } }
    #thanks__inner .thanks--text {
      font-size: 16px;
      line-height: 1.5125;
      @includ justify; }
      @media screen and (max-width: 600px) {
        #thanks__inner .thanks--text {
          font-size: 4.267vw; } }

#mfp_overlay h4 {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px; }
  @media screen and (max-width: 600px) {
    #mfp_overlay h4 {
      font-size: 5.333vw;
      margin-bottom: 5.333vw; } }
#mfp_overlay #mfp_confirm_table th,
#mfp_overlay #mfp_confirm_table td {
  font-size: 16px;
  padding: 10px; }
  @media screen and (max-width: 600px) {
    #mfp_overlay #mfp_confirm_table th,
    #mfp_overlay #mfp_confirm_table td {
      font-size: 4vw;
      padding: 2.667vw; } }

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