@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i");
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*------------------------------------------------------------
	basic
------------------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  color: #333333;
  text-align: center;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 1.6rem;
      line-height: 2.2; } }

img {
  vertical-align: middle;
  border: none; }

a {
  color: #333333;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  a:hover {
    opacity: .7; }

li {
  list-style: none; }

@-webkit-keyframes rotate {
  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg); } }

@keyframes rotate {
  100% {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg); } }

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.sp_show,
.spIbShow {
  display: none; }

@media screen and (max-width: 767px) {
  .pc_show {
    display: none; }
  .sp_show {
    display: block; }
  .spIbShow {
    display: inline-block; } }

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  margin: 0 auto; }

ul {
  margin: 0;
  padding: 0; }

.coution {
  padding-left: 1em;
  text-indent: -1em; }

.coution::before {
  content: "※"; }

.strongTxt {
  font-weight: bold; }

.elpsTxt {
  display: block;
  width: 100%;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap; }

.nowrapTxt {
  display: inline-block; }

/* link */
.link_txt {
  color: #dc8c00;
  text-decoration: underline;
  word-wrap: break-word; }

/* btn */
.btnArea {
  text-align: center; }

.btn {
  overflow: hidden;
  width: 100%;
  max-width: 150px;
  height: 50px;
  margin: auto;
  border-radius: 50px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #dc8c00;
  border: 1px solid #dc8c00;
  line-height: 1.3;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .btn::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 100%; }
  .btn .btnTxt {
    display: inline-block;
    vertical-align: middle; }
  .btn .btnTxt {
    color: #ffffff;
    line-height: 1;
    position: relative;
    z-index: 10; }
  .btn.type_item {
    max-width: 317px;
    height: 60px;
    margin: 40px auto 0;
    border: 2px solid #fff;
    background-color: #fff600;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0 5px 0 #c7c7c7;
    box-shadow: 0 5px 0 #c7c7c7; }
    @media screen and (max-width: 767px) {
      .btn.type_item {
        max-width: 71.70795vw;
        height: 15.64537vw;
        margin: 5.21512vw auto 0; } }
    .btn.type_item .btn_txt {
      font-size: 2rem;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .btn.type_item .btn_txt {
          font-size: 4.1721vw; } }
    .btn.type_item .icn {
      position: absolute;
      top: 0;
      right: 20px;
      bottom: 0;
      width: 11px;
      height: 17px;
      margin: auto;
      z-index: 55;
      background: url(../img/arw_btn.svg) center/cover no-repeat; }
      @media screen and (max-width: 767px) {
        .btn.type_item .icn {
          right: 5.21512vw;
          width: 3.25945vw;
          height: 5.21512vw; } }
  .btn.type_tw {
    max-width: 312px;
    height: 70px;
    border: none;
    position: relative;
    background-color: #1da1f2; }
    @media screen and (max-width: 767px) {
      .btn.type_tw {
        max-width: 71.70795vw;
        height: 15.64537vw; } }
    .btn.type_tw .btn_txt {
      color: #fff;
      font-size: 2rem;
      letter-spacing: 2px; }
      @media screen and (max-width: 767px) {
        .btn.type_tw .btn_txt {
          font-size: 4.1721vw; } }
    .btn.type_tw .icn_tw {
      width: 28px;
      height: 24px;
      margin-right: 16px;
      background: url(../img/icn_tw.svg) center/cover no-repeat; }
      @media screen and (max-width: 767px) {
        .btn.type_tw .icn_tw {
          width: 6.64928vw;
          height: 5.3455vw;
          margin-right: 3.12907vw; } }
    .btn.type_tw .icn_type_blank {
      position: absolute;
      top: 0;
      right: 24px;
      bottom: 0;
      width: 24px;
      height: 24px;
      margin: auto;
      z-index: 55;
      background: url(../img/icn_blank.svg) center/cover no-repeat; }
      @media screen and (max-width: 767px) {
        .btn.type_tw .icn_type_blank {
          width: 5.21512vw;
          height: 5.21512vw;
          right: 5.21512vw; } }
  .btn.type_modal {
    max-width: 320px;
    height: 64px;
    margin: 30px auto 0;
    position: relative;
    border: 1px solid #333333;
    background: none; }
    @media screen and (max-width: 767px) {
      .btn.type_modal {
        max-width: 52.15124vw;
        height: 8.3442vw; } }
    .btn.type_modal .btn_txt {
      font-size: 1.6rem; }
      @media screen and (max-width: 767px) {
        .btn.type_modal .btn_txt {
          font-size: 2.60756vw; } }
    .btn.type_modal .arw {
      position: absolute;
      top: 0;
      right: 24px;
      bottom: 0;
      width: 12px;
      height: 19px;
      margin: auto;
      z-index: 55;
      background: url(../img/arw_btn.svg) center/cover no-repeat; }
      @media screen and (max-width: 767px) {
        .btn.type_modal .arw {
          right: 4.1721vw;
          width: 1.69492vw;
          height: 2.47718vw; } }
  .btn.type_arw {
    max-width: 372px;
    height: 80px;
    margin: 30px auto 0;
    position: relative;
    background: none;
    -webkit-box-shadow: 0 5px 0 #b1000e;
    box-shadow: 0 5px 0 #b1000e;
    background-color: #e60012;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #e60012; }
    @media screen and (max-width: 767px) {
      .btn.type_arw {
        max-width: 71.70795vw;
        height: 15.64537vw; } }
    .btn.type_arw .btn_txt {
      color: #fff;
      font-size: 2rem; }
      @media screen and (max-width: 767px) {
        .btn.type_arw .btn_txt {
          font-size: 4.1721vw; } }
    .btn.type_arw .icn_arw {
      position: absolute;
      top: 0;
      right: 24px;
      bottom: 0;
      width: 16px;
      height: 27px;
      margin: auto;
      z-index: 55;
      background: url(../img/arw_wh.svg) center/cover no-repeat; }
      @media screen and (max-width: 767px) {
        .btn.type_arw .icn_arw {
          right: 4.69361vw;
          width: 3.12907vw;
          height: 5.08475vw; } }

footer {
  background-color: #fff;
  color: #333;
  font-size: 1.4rem; }
  footer .inner {
    padding: 40px 0 30px; }
  footer small {
    padding: 10px 0;
    font-family: 'Montserrat', sans-serif;
    line-height: 2;
    display: block;
    font-size: 1.2rem;
    color: #fff;
    background-color: #282828; }
    @media screen and (max-width: 767px) {
      footer small {
        font-size: 2.60756vw; } }

.pageTopWrap {
  height: 80px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .pageTopWrap {
      height: 15.64537vw; } }
  .pageTopWrap.fixed .pageTop {
    position: fixed; }
  .pageTopWrap .pageTop {
    position: absolute;
    bottom: 20px;
    right: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    opacity: 0;
    border-radius: 50%;
    background-color: #fff;
    width: 80px;
    height: 80px;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    z-index: 70;
    border: 2px solid #009ee3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); }
    .pageTopWrap .pageTop .arw {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 24px;
      height: 20px;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .pageTopWrap .pageTop .arw {
          display: block;
          margin-bottom: 10px; } }
    .pageTopWrap .pageTop .btn_txt {
      padding-top: 5px;
      font-family: 'Montserrat', sans-serif;
      line-height: 1;
      color: #009ee3;
      font-size: 1.4rem; }
      @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .pageTopWrap .pageTop .btn_txt {
          margin-bottom: 10px; } }
    .pageTopWrap .pageTop:hover .arw {
      -webkit-transform: translateY(-3px);
      -ms-transform: translateY(-3px);
      transform: translateY(-3px); }
    @media screen and (max-width: 767px) {
      .pageTopWrap .pageTop {
        bottom: 2.60756vw;
        right: 2.08605vw;
        width: 15.64537vw;
        height: 15.64537vw; }
        .pageTopWrap .pageTop:before {
          width: 25px;
          height: 15px; }
        .pageTopWrap .pageTop .arw {
          width: 4.43286vw;
          height: 2.73794vw; }
        .pageTopWrap .pageTop .btn_txt {
          font-size: 2.60756vw; }
        .pageTopWrap .pageTop:hover:before {
          top: 0; }
        .pageTopWrap .pageTop:active:before {
          top: -10px; } }

/*------------------------------------------------------------
	modal
------------------------------------------------------------*/
#modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10000; }
  #modal .modal_mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.9); }
  #modal .modal_wrap {
    position: absolute;
    max-width: 800px;
    width: 80%;
    height: 80%;
    top: 5%;
    left: 30px;
    right: 30px;
    bottom: 0;
    z-index: 20;
    margin: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    background-color: #fff;
    /* 閉じるボタン */ }
    @media screen and (max-width: 767px) {
      #modal .modal_wrap {
        max-width: 100%;
        width: 86%;
        top: 0; } }
    #modal .modal_wrap .modal_cont {
      display: none;
      height: 100%;
      overflow: auto; }
      #modal .modal_wrap .modal_cont h2 {
        margin: 56px auto 40px; }
        @media screen and (max-width: 767px) {
          #modal .modal_wrap .modal_cont h2 {
            margin: 7.30117vw auto; } }
      #modal .modal_wrap .modal_cont .copy {
        margin: 40px auto 56px;
        font-size: 2rem;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          #modal .modal_wrap .modal_cont .copy {
            margin: 7.30117vw auto;
            font-size: 4.1721vw;
            line-height: 1.75; } }
      #modal .modal_wrap .modal_cont .howto {
        max-width: 640px;
        width: 100%;
        margin: 0 auto 40px; }
        @media screen and (max-width: 767px) {
          #modal .modal_wrap .modal_cont .howto {
            margin: 0 auto 5.21512vw; } }
        #modal .modal_wrap .modal_cont .howto h3 {
          margin: 30px auto 24px; }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .modal_cont .howto h3 {
              margin: 4.1721vw auto 3.12907vw; } }
        #modal .modal_wrap .modal_cont .howto ul {
          text-align: left; }
          #modal .modal_wrap .modal_cont .howto ul li {
            font-size: 2rem;
            font-weight: 500;
            line-height: 1.6; }
            @media screen and (max-width: 767px) {
              #modal .modal_wrap .modal_cont .howto ul li {
                padding-left: 1.56454vw;
                text-indent: -1.56454vw;
                font-size: 3.12907vw; } }
      #modal .modal_wrap .modal_cont .lineup {
        width: 100%;
        margin: 0 auto; }
        #modal .modal_wrap .modal_cont .lineup.or {
          background: url(../img/bg_modal01.png); }
        #modal .modal_wrap .modal_cont .lineup.gr {
          background: url(../img/bg_modal02.png); }
          #modal .modal_wrap .modal_cont .lineup.gr .item_wrap .item_box + .item_box {
            margin-top: 0; }
        #modal .modal_wrap .modal_cont .lineup.pk {
          background: url(../img/bg_modal03.png); }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .modal_cont .lineup.pk .item_wrap {
              padding: 5.21512vw 0; } }
        #modal .modal_wrap .modal_cont .lineup h4 {
          padding: 40px 0 0; }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .modal_cont .lineup h4 {
              padding: 5.21512vw 9.25684vw 0; } }
        #modal .modal_wrap .modal_cont .lineup .coution {
          margin-top: 16px;
          text-align: right;
          font-size: 1.6rem;
          line-height: 1; }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .modal_cont .lineup .coution {
              margin-top: 3.12907vw;
              font-size: 2.60756vw; } }
        #modal .modal_wrap .modal_cont .lineup .item_wrap {
          padding: 40px; }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .modal_cont .lineup .item_wrap {
              padding: 4.43286vw; } }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box + .item_box {
            margin-top: 60px; }
            @media screen and (max-width: 767px) {
              #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box + .item_box {
                margin-top: 4.1721vw; } }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box h5 {
            margin: 0 0 30px 40px;
            text-align: left;
            line-height: 1.2;
            font-size: 2.4rem; }
            @media screen and (max-width: 767px) {
              #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box h5 {
                margin: 0 0 3.91134vw 4.43286vw;
                font-size: 3.12907vw;
                line-height: 1; } }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box h5::before {
              content: "";
              position: absolute;
              top: 0;
              left: -40px;
              width: 28px;
              height: 28px; }
              @media screen and (max-width: 767px) {
                #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box h5::before {
                  line-height: 1;
                  left: -3.91134vw;
                  width: 3.12907vw;
                  height: 3.12907vw; } }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item + .item {
              margin-top: 40px; }
              @media screen and (max-width: 767px) {
                #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item + .item {
                  margin-top: 0; } }
            @media screen and (max-width: 767px) {
              #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item .img {
                width: 20.8605vw; } }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item .ttl {
              width: 56%;
              margin-left: auto;
              text-align: left;
              font-size: 2rem;
              font-weight: bold;
              letter-spacing: 1px;
              line-height: 1.4; }
              @media screen and (max-width: 767px) {
                #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box .item .ttl {
                  font-size: 2.60756vw; } }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(1) h5 {
            position: relative; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(1) h5::before {
              background: url(../img/icn_no01.svg) center/cover no-repeat; }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(2) h5 {
            position: relative; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(2) h5::before {
              background: url(../img/icn_no02.svg) center/cover no-repeat; }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(3) h5 {
            position: relative; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(3) h5::before {
              background: url(../img/icn_no03.svg) center/cover no-repeat; }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(4) h5 {
            position: relative; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(4) h5::before {
              background: url(../img/icn_no04.svg) center/cover no-repeat; }
          #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(4) .item .img {
            width: 160px; }
            #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(4) .item .img img {
              height: 120px; }
              @media screen and (max-width: 767px) {
                #modal .modal_wrap .modal_cont .lineup .item_wrap .item_box:nth-child(4) .item .img img {
                  height: 15.64537vw; } }
    #modal .modal_wrap .close_btn {
      display: block;
      position: absolute;
      top: -30px;
      right: 36px;
      z-index: 100; }
      @media screen and (max-width: 767px) {
        #modal .modal_wrap .close_btn {
          top: -6.5189vw;
          right: 6.5189vw; } }
      #modal .modal_wrap .close_btn .icnArea {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 40px;
        height: 40px; }
        @media screen and (max-width: 767px) {
          #modal .modal_wrap .close_btn .icnArea {
            width: 7.95306vw;
            height: 7.95306vw; } }
        #modal .modal_wrap .close_btn .icnArea::before, #modal .modal_wrap .close_btn .icnArea::after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto;
          width: 100%;
          height: 6px;
          background-color: #ffffff;
          -webkit-transition: transform 0.3s ease;
          -webkit-transition: -webkit-transform 0.3s ease;
          transition: -webkit-transform 0.3s ease;
          -o-transition: transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
          @media screen and (max-width: 767px) {
            #modal .modal_wrap .close_btn .icnArea::before, #modal .modal_wrap .close_btn .icnArea::after {
              height: 1.30378vw; } }
        #modal .modal_wrap .close_btn .icnArea::before {
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          top: 0; }
        #modal .modal_wrap .close_btn .icnArea::after {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
          bottom: 0; }

/*------------------------------------------------------------
	layout
------------------------------------------------------------*/
section {
  position: relative;
  margin: 0 auto;
  padding: 60px 0; }

section:nth-of-type(even) {
  background-color: #fafafa; }

.inner {
  max-width: 1240px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 15px; } }

.cf:after {
  display: block;
  content: '';
  height: 0;
  clear: both; }

.leftBox {
  float: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.rightBox {
  float: right;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.col2Wrap {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap; }
  .col2Wrap .colBox {
    width: calc( 50% - 15px);
    margin-left: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .col2Wrap .colBox:nth-of-type(2n+1) {
      margin-left: 0; }
    .col2Wrap .colBox:nth-of-type(n+3) {
      margin-top: 30px; }
  @media screen and (max-width: 767px) {
    .col2Wrap {
      display: block; }
      .col2Wrap .colBox {
        display: block;
        width: 100%;
        margin-left: 0; }
        .col2Wrap .colBox + .colBox {
          margin-top: 10px; } }

.col3Wrap {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap; }
  .col3Wrap .colBox {
    width: calc( 33.33333% - 6.66667px);
    margin-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .col3Wrap .colBox:nth-of-type(3n+1) {
      margin-left: 0; }
    .col3Wrap .colBox:nth-of-type(n+4) {
      margin-top: 10px; }
  @media screen and (max-width: 767px) {
    .col3Wrap {
      display: block; }
      .col3Wrap .colBox {
        display: block;
        width: 100%;
        margin-left: 0; }
        .col3Wrap .colBox + .colBox {
          margin-top: 10px; } }

.colWrap {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap; }
  .colWrap .colBox {
    width: calc( 25% - 0px);
    margin-left: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .colWrap .colBox:nth-of-type(4n+1) {
      margin-left: 0; }
    .colWrap .colBox:nth-of-type(n+5) {
      margin-top: 0px; }
  @media screen and (max-width: 767px) {
    .colWrap {
      display: block; }
      .colWrap .colBox {
        display: block;
        width: 100%;
        margin-left: 0; }
        .colWrap .colBox + .colBox {
          margin-top: 10px; } }

.colFlex {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex; }
  .colFlex .colBox {
    width: 100%; }
    .colFlex .colBox + .colBox {
      margin-left: 20px; }
  @media screen and (max-width: 767px) {
    .colFlex {
      display: block; }
      .colFlex .colBox + .colBox {
        margin-left: 0;
        margin-top: 10px; } }

.col {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap; }
  .col .colBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

#kv {
  padding: 0;
  position: relative; }
  #kv .scroll {
    position: absolute;
    left: 2%;
    bottom: 0;
    font-family: 'Montserrat', sans-serif;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 1.6rem;
    letter-spacing: 1px; }
    @media screen and (max-width: 767px) {
      #kv .scroll {
        left: 1%;
        font-size: 2.60756vw;
        letter-spacing: 0; } }
    #kv .scroll span {
      width: 2px;
      height: 40px;
      margin-top: 15px;
      display: inline-block;
      background-color: #171c61; }
      @media screen and (max-width: 767px) {
        #kv .scroll span {
          width: 1px;
          height: 5.21512vw;
          margin-top: 1.95567vw; } }

#nav {
  padding: 56px 0 80px;
  background: #0080cc;
  background: -webkit-gradient(linear, left top, left bottom, from(#0080cc), color-stop(80%, #00abd7));
  background: -webkit-linear-gradient(top, #0080cc 0%, #00abd7 80%);
  background: -o-linear-gradient(top, #0080cc 0%, #00abd7 80%);
  background: linear-gradient(180deg, #0080cc 0%, #00abd7 80%); }
  @media screen and (max-width: 767px) {
    #nav {
      padding: 8.3442vw 0 14.34159vw; } }
  #nav .inner ul {
    max-width: 1240px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #nav .inner ul .session a {
      position: relative; }
      #nav .inner ul .session a::before {
        content: "";
        position: absolute;
        top: -32px;
        left: -34px;
        width: 112px;
        height: 112px;
        -webkit-animation: 20s linear infinite rotation;
        animation: 20s linear infinite rotation;
        background: url(../img/icn_point.svg) center/cover no-repeat; }
        @media screen and (max-width: 767px) {
          #nav .inner ul .session a::before {
            top: -3.12907vw;
            left: -5.21512vw;
            width: 14.60235vw;
            height: 14.60235vw; } }
      #nav .inner ul .session a .now {
        position: absolute;
        top: 3px;
        left: -20px; }
        @media screen and (min-width: 768px) and (max-width: 960px) {
          #nav .inner ul .session a .now {
            width: 10.691vw;
            top: 0.39113vw;
            left: -2.34681vw; } }
        @media screen and (max-width: 767px) {
          #nav .inner ul .session a .now {
            width: 10.691vw;
            top: -0.65189vw;
            left: -3.12907vw; } }
    #nav .inner ul li {
      max-width: 592px;
      width: 50%; }
      @media screen and (min-width: 768px) and (max-width: 960px) {
        #nav .inner ul li {
          width: 95%;
          margin: auto; } }
      @media screen and (max-width: 767px) {
        #nav .inner ul li {
          width: 95%;
          margin: auto; } }
      #nav .inner ul li a {
        display: block; }
      #nav .inner ul li:nth-of-type(n+3) {
        margin-top: 32px; }
        @media screen and (min-width: 768px) and (max-width: 960px) {
          #nav .inner ul li:nth-of-type(n+3) {
            margin-top: 5.47588vw; } }
        @media screen and (max-width: 767px) {
          #nav .inner ul li:nth-of-type(n+3) {
            margin-top: 5.47588vw; } }
      @media screen and (min-width: 768px) and (max-width: 960px) {
        #nav .inner ul li + li {
          margin-top: 5.47588vw; } }
      @media screen and (max-width: 767px) {
        #nav .inner ul li + li {
          margin-top: 5.47588vw; } }

#recipe {
  padding: 50px 0;
  position: relative;
  background: url(../img/bg_blackboard.png) top; }
  @media screen and (max-width: 767px) {
    #recipe {
      padding: 9.12647vw 0 10.43025vw; } }
  #recipe::before, #recipe::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 61px;
    margin: auto;
    z-index: 55; }
    @media screen and (max-width: 767px) {
      #recipe::before, #recipe::after {
        height: 6.12777vw; } }
  #recipe::before {
    top: -30px;
    background: url(../img/bg_blackboard_top.png) top; }
    @media screen and (max-width: 767px) {
      #recipe::before {
        top: -6.12777vw;
        background-size: 200%;
        background-repeat: no-repeat; } }
  #recipe::after {
    bottom: -30px;
    background: url(../img/bg_blackboard_btm.png) bottom; }
    @media screen and (max-width: 767px) {
      #recipe::after {
        bottom: -6.12777vw;
        background-size: 200%;
        background-repeat: no-repeat; } }
  @media screen and (max-width: 767px) {
    #recipe h2 {
      padding-left: 3.91134vw; } }
  @media screen and (max-width: 767px) {
    #recipe .inner {
      padding: 0 6.5189vw; } }
  #recipe .inner .copy {
    margin: 64px auto 80px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 1px; }
    @media screen and (max-width: 767px) {
      #recipe .inner .copy {
        margin: 8.3442vw auto 10.43025vw;
        font-size: 4.1721vw;
        line-height: 1.75; } }
  #recipe .recipe_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 768px) and (max-width: 960px) {
      #recipe .recipe_wrap {
        -ms-flex-pack: distribute;
        justify-content: space-around; } }
    #recipe .recipe_wrap .recipe_box {
      max-width: 592px;
      width: 50%; }
      @media screen and (min-width: 768px) and (max-width: 960px) {
        #recipe .recipe_wrap .recipe_box {
          width: 46%; } }
      @media screen and (max-width: 767px) {
        #recipe .recipe_wrap .recipe_box {
          width: 100%; } }
      #recipe .recipe_wrap .recipe_box h3 {
        margin-bottom: 26px; }
        @media screen and (max-width: 767px) {
          #recipe .recipe_wrap .recipe_box h3 {
            margin-bottom: 3.12907vw; } }
      #recipe .recipe_wrap .recipe_box .img {
        -webkit-box-shadow: 0 0 22px rgba(0, 0, 0, 0.5);
        box-shadow: 0 0 22px rgba(0, 0, 0, 0.5); }
      #recipe .recipe_wrap .recipe_box:nth-of-type(n+3) {
        margin-top: 80px; }
        @media screen and (max-width: 767px) {
          #recipe .recipe_wrap .recipe_box:nth-of-type(n+3) {
            margin-top: 13.03781vw; } }
      @media screen and (max-width: 767px) {
        #recipe .recipe_wrap .recipe_box + .recipe_box {
          margin-top: 13.03781vw; } }

#second {
  padding: 50px 0 100px;
  background: url(../img/bg_second.png); }
  @media screen and (max-width: 767px) {
    #second {
      padding: 0vw 0 20.8605vw;
      background-size: 11.4%; } }
  #second::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 61px;
    margin: auto;
    z-index: 55;
    top: -30px;
    background: url(../img/bg_second_top.png) top; }
    @media screen and (max-width: 767px) {
      #second::before {
        height: 6.12777vw;
        top: -6.12777vw;
        background-size: 200%;
        background-repeat: no-repeat; } }
  #second .about {
    padding-bottom: 110px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #second .about {
        padding-bottom: 26.07562vw; } }
    #second .about::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 32px;
      display: inline-block;
      background-image: url(../img/bg_line.png); }
      @media screen and (max-width: 767px) {
        #second .about::after {
          height: 8.3442vw;
          background: url(../img/bg_line_sp.png) center/cover no-repeat; } }
    #second .about h2 {
      margin-bottom: 56px; }
      @media screen and (max-width: 767px) {
        #second .about h2 {
          margin-bottom: 8.3442vw;
          padding: 0 6.5189vw; } }
    #second .about .copy {
      margin-bottom: 40px;
      color: #333;
      font-size: 2.4rem;
      letter-spacing: 1px;
      font-weight: 500;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        #second .about .copy {
          margin-bottom: 7.30117vw;
          font-size: 4.1721vw;
          line-height: 1.75; } }
      #second .about .copy .point {
        font-weight: bold;
        color: #009fe8;
        background-color: #fff000; }
    @media screen and (max-width: 767px) {
      #second .about .img {
        padding: 0 6.5189vw; } }
    #second .about .coution_box {
      font-size: 1.6rem; }
      @media screen and (max-width: 767px) {
        #second .about .coution_box {
          margin-top: 1.30378vw;
          font-size: 3.12907vw;
          line-height: 1.5; } }
    #second .about .period {
      max-width: 592px;
      width: 100%;
      margin: 40px auto 0;
      border: 2px solid #e60012;
      border-radius: 16px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        #second .about .period {
          width: 86%;
          margin-top: 6.5189vw; } }
      #second .about .period h4 {
        padding: 6px 0;
        background-color: #e60012;
        font-size: 2.4rem;
        letter-spacing: 2px;
        color: #fff; }
        @media screen and (max-width: 767px) {
          #second .about .period h4 {
            padding: 0.78227vw 0 1.30378vw;
            line-height: 1.4;
            font-size: 4.1721vw; } }
      #second .about .period p {
        padding: 6px 0 0;
        font-weight: bold;
        font-size: 2rem;
        background-color: #fff;
        letter-spacing: 1px; }
        @media screen and (max-width: 767px) {
          #second .about .period p {
            font-size: 4.1721vw;
            line-height: 1.4; } }
        #second .about .period p .max {
          font-size: 3.2rem; }
          @media screen and (max-width: 767px) {
            #second .about .period p .max {
              font-size: 6.25815vw; } }
        #second .about .period p + p {
          padding-bottom: 20px;
          line-height: 1.5; }
          @media screen and (max-width: 767px) {
            #second .about .period p + p {
              font-size: 3.65059vw; } }
      #second .about .period.close {
        position: relative;
        border: none; }
        #second .about .period.close::before, #second .about .period.close::after {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto; }
        #second .about .period.close::before {
          background: rgba(0, 0, 0, 0.75);
          z-index: 2; }
        #second .about .period.close::after {
          content: "キャンペーンは終了しました。\Aたくさんのご応募ありがとうございました。";
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          white-space: pre;
          color: #fff;
          font-size: 2.4rem;
          line-height: 1.5;
          z-index: 3; }
          @media screen and (max-width: 767px) {
            #second .about .period.close::after {
              font-size: 3.65059vw; } }
  #second .flow {
    padding: 80px 0 160px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #second .flow {
        padding: 15.64537vw 6.5189vw 23.46806vw; } }
    #second .flow::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 32px;
      display: inline-block;
      background-image: url(../img/bg_line.png); }
      @media screen and (max-width: 767px) {
        #second .flow::after {
          height: 8.3442vw;
          background: url(../img/bg_line_sp.png) center/cover no-repeat; } }
    #second .flow .step_area {
      margin-top: 48px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        #second .flow .step_area {
          margin-top: 7.30117vw;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; } }
      #second .flow .step_area .step_box {
        max-width: 472px;
        width: 50%;
        padding: 72px 0 32px;
        position: relative;
        border-radius: 16px;
        -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        background: url(../img/bg_step.svg) top left no-repeat, #fff; }
        @media screen and (max-width: 767px) {
          #second .flow .step_area .step_box {
            width: 100%;
            padding: 8.3442vw 0;
            background-size: 23.46806vw 23.46806vw, auto; } }
        #second .flow .step_area .step_box + .step_box {
          margin-left: 3.5%;
          position: relative; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box + .step_box {
              margin-top: 28.68318vw;
              margin-left: 0; } }
          #second .flow .step_area .step_box + .step_box::after {
            content: "";
            position: absolute;
            top: 0;
            left: -8%;
            bottom: 0;
            width: 24px;
            height: 112px;
            margin: auto;
            z-index: 55;
            background: url(../img/arw_step_pc.png) center/cover no-repeat; }
            @media screen and (max-width: 767px) {
              #second .flow .step_area .step_box + .step_box::after {
                top: -13.03781vw;
                left: 0;
                right: 0;
                bottom: auto;
                width: 26.206vw;
                height: 7.82269vw;
                background: url(../img/arw_step_sp.png) center/contain no-repeat; } }
          #second .flow .step_area .step_box + .step_box .inr .txt {
            margin: 15% auto 0; }
            @media screen and (max-width: 767px) {
              #second .flow .step_area .step_box + .step_box .inr .txt {
                margin: 2.60756vw auto 0; } }
        #second .flow .step_area .step_box h3 {
          position: absolute;
          top: 8px;
          left: 10px;
          z-index: 55; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box h3 {
              top: 1.69492vw;
              left: 2.08605vw;
              width: 13.29857vw; } }
        #second .flow .step_area .step_box .inr .img {
          margin-bottom: 26px; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box .inr .img {
              margin-bottom: 5.21512vw; } }
        #second .flow .step_area .step_box .inr .txt {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          margin-bottom: 31px;
          font-size: 2rem;
          line-height: 1.5; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box .inr .txt {
              min-height: auto;
              margin-bottom: 0vw;
              font-size: 4.1721vw;
              letter-spacing: 1px; } }
        #second .flow .step_area .step_box .inr .coution {
          max-width: 312px;
          margin: 10px auto 0;
          color: #333333;
          font-size: 1.2rem;
          line-height: 1.4;
          text-align: left; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box .inr .coution {
              max-width: 66.49283vw;
              font-size: 3.12907vw; } }
        #second .flow .step_area .step_box .point_area {
          position: absolute;
          display: block;
          bottom: -60px;
          left: 0;
          right: 0;
          margin: auto; }
          @media screen and (max-width: 767px) {
            #second .flow .step_area .step_box .point_area {
              bottom: -11.73403vw; } }
          #second .flow .step_area .step_box .point_area .point {
            font-size: 1.6rem;
            line-height: 1.5; }
            @media screen and (max-width: 767px) {
              #second .flow .step_area .step_box .point_area .point {
                font-size: 3.12907vw;
                line-height: 1.5; } }
    #second .flow .btn_area {
      margin-top: 112px; }
      @media screen and (max-width: 767px) {
        #second .flow .btn_area {
          margin-top: 7.30117vw; } }
      #second .flow .btn_area p {
        margin-bottom: 16px;
        font-weight: bold;
        font-size: 2.4rem;
        line-height: 1; }
        @media screen and (max-width: 767px) {
          #second .flow .btn_area p {
            font-size: 5.21512vw; } }
      #second .flow .btn_area a {
        margin-top: 0;
        border: 1px solid #009fe8;
        background-color: #009fe8;
        -webkit-box-shadow: 0 5px 0 #006b9c;
        box-shadow: 0 5px 0 #006b9c; }
        #second .flow .btn_area a .btn_txt {
          font-size: 2.4rem; }
          @media screen and (max-width: 767px) {
            #second .flow .btn_area a .btn_txt {
              font-size: 4.1721vw; } }
  #second .precautions {
    padding: 80px 0 120px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #second .precautions {
        padding: 15.64537vw 0 26.07562vw; } }
    #second .precautions::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 32px;
      display: inline-block;
      background-image: url(../img/bg_line.png); }
      @media screen and (max-width: 767px) {
        #second .precautions::after {
          height: 8.3442vw;
          background: url(../img/bg_line_sp.png) center/cover no-repeat; } }
    #second .precautions h2 {
      margin: 0 auto 48px; }
      @media screen and (max-width: 767px) {
        #second .precautions h2 {
          margin: 0 auto 7.30117vw;
          padding: 0 6.5189vw; } }
    #second .precautions .txt_area {
      max-width: 1000px;
      width: 100%;
      margin: auto;
      border-radius: 16px;
      background-color: #fff;
      -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
      @media screen and (max-width: 767px) {
        #second .precautions .txt_area {
          width: 86%;
          border-radius: 4.1721vw; } }
      #second .precautions .txt_area .txt {
        padding: 64px;
        text-align: left;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 1px; }
        @media screen and (max-width: 767px) {
          #second .precautions .txt_area .txt {
            padding: 6.5189vw;
            font-size: 3.12907vw; } }
        #second .precautions .txt_area .txt ul {
          padding-left: 1.6em; }
          #second .precautions .txt_area .txt ul li {
            list-style-type: disc; }
      #second .precautions .txt_area + .txt_area {
        margin-top: 40px; }
        @media screen and (max-width: 767px) {
          #second .precautions .txt_area + .txt_area {
            margin-top: 7.30117vw; } }
        #second .precautions .txt_area + .txt_area .txt h4 {
          margin-bottom: 40px;
          text-align: center;
          font-size: 2.4rem; }
          @media screen and (max-width: 767px) {
            #second .precautions .txt_area + .txt_area .txt h4 {
              margin-bottom: 5.21512vw;
              font-size: 4.1721vw; } }
        #second .precautions .txt_area + .txt_area .txt .box {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          @media screen and (max-width: 767px) {
            #second .precautions .txt_area + .txt_area .txt .box {
              -webkit-box-orient: vertical;
              -webkit-box-direction: normal;
              -ms-flex-direction: column;
              flex-direction: column; } }
          #second .precautions .txt_area + .txt_area .txt .box .img {
            -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
            @media screen and (max-width: 767px) {
              #second .precautions .txt_area + .txt_area .txt .box .img {
                padding: 0 1.30378vw; } }
          #second .precautions .txt_area + .txt_area .txt .box .txt {
            padding: 0; }
            #second .precautions .txt_area + .txt_area .txt .box .txt ul {
              margin-left: 20px;
              font-size: 1.6rem; }
              @media screen and (max-width: 767px) {
                #second .precautions .txt_area + .txt_area .txt .box .txt ul {
                  margin-top: 5.21512vw;
                  margin-left: 0;
                  font-size: 3.12907vw;
                  line-height: 1.5; } }
  #second .terms {
    padding: 80px 0 0; }
    @media screen and (max-width: 767px) {
      #second .terms {
        padding: 15.64537vw 0 0; } }
    @media screen and (max-width: 767px) {
      #second .terms h2 {
        padding: 0 6.5189vw; } }
    #second .terms .txt_area {
      max-width: 1000px;
      width: 100%;
      margin: 48px auto 0;
      padding: 64px 0;
      border-radius: 16px;
      background-color: #fff; }
      @media screen and (max-width: 767px) {
        #second .terms .txt_area {
          width: 86%;
          margin: 7.30117vw auto 0;
          padding: 6.5189vw 0;
          border-radius: 2.08605vw; } }
      #second .terms .txt_area .txt {
        height: 372px;
        overflow-y: scroll;
        margin-right: 40px;
        padding: 0 30px 0 64px;
        font-size: 1.6rem;
        line-height: 1.5;
        text-align: left; }
        @media screen and (max-width: 767px) {
          #second .terms .txt_area .txt {
            height: 83.44198vw;
            margin-right: 3.12907vw;
            padding: 0 2.86832vw 0 6.5189vw;
            font-size: 3.12907vw; } }
        #second .terms .txt_area .txt h4 {
          margin-bottom: 1em;
          font-weight: bold; }
        #second .terms .txt_area .txt .max {
          font-weight: bold; }
        #second .terms .txt_area .txt ul {
          padding-left: 2rem; }
          #second .terms .txt_area .txt ul li {
            list-style-type: disc; }
          #second .terms .txt_area .txt ul + h4 {
            margin-top: 1em; }
        #second .terms .txt_area .txt .mt {
          margin-top: 1em; }
        #second .terms .txt_area .txt .mb {
          margin-bottom: 1em; }

#mycolor {
  padding: 87px 0 0;
  background: url(../img/bg_mycolor.png) top no-repeat; }
  @media screen and (max-width: 767px) {
    #mycolor {
      padding: 15.64537vw 0 0;
      background: url(../img/bg_mycolor_sp.png) top center/contain no-repeat; } }
  @media screen and (max-width: 767px) {
    #mycolor h2 {
      margin: 0 6.5189vw 15.64537vw; } }
  #mycolor .inner {
    max-width: 1240px;
    padding: 0; }
    #mycolor .inner .item_wrap {
      margin-top: 87px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (max-width: 767px) {
        #mycolor .inner .item_wrap {
          margin-top: 0;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column; } }
      #mycolor .inner .item_wrap .item_box {
        width: calc(100% / 3);
        padding: 32px 0;
        background-color: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media screen and (max-width: 767px) {
          #mycolor .inner .item_wrap .item_box {
            width: 100%; } }
        #mycolor .inner .item_wrap .item_box:nth-child(1) {
          border: 16px solid #fabf6c; }
          @media screen and (max-width: 767px) {
            #mycolor .inner .item_wrap .item_box:nth-child(1) {
              border: 15px solid #fabf6c; } }
          #mycolor .inner .item_wrap .item_box:nth-child(1) .txt {
            margin-top: 30px; }
            @media screen and (max-width: 767px) {
              #mycolor .inner .item_wrap .item_box:nth-child(1) .txt {
                margin-top: 7.30117vw; } }
        #mycolor .inner .item_wrap .item_box:nth-child(2) {
          border: 16px solid #a3bd59; }
          @media screen and (max-width: 767px) {
            #mycolor .inner .item_wrap .item_box:nth-child(2) {
              border: 15px solid #a3bd59; } }
        #mycolor .inner .item_wrap .item_box:nth-child(3) {
          border: 16px solid #e590a6; }
          @media screen and (max-width: 767px) {
            #mycolor .inner .item_wrap .item_box:nth-child(3) {
              border: 15px solid #e590a6; } }
          #mycolor .inner .item_wrap .item_box:nth-child(3) .txt {
            margin-top: 28px;
            margin-bottom: 30px; }
            @media screen and (max-width: 767px) {
              #mycolor .inner .item_wrap .item_box:nth-child(3) .txt {
                margin: 7.30117vw auto; } }
        #mycolor .inner .item_wrap .item_box h3 {
          margin-bottom: 32px; }
          @media screen and (max-width: 767px) {
            #mycolor .inner .item_wrap .item_box h3 {
              margin-bottom: 7.30117vw; } }
        #mycolor .inner .item_wrap .item_box .txt {
          margin-top: 20px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          font-size: 2rem;
          line-height: 1.5; }
          @media screen and (max-width: 767px) {
            #mycolor .inner .item_wrap .item_box .txt {
              margin: 7.30117vw auto;
              font-size: 4.1721vw;
              line-height: 1.75; } }
          #mycolor .inner .item_wrap .item_box .txt.point {
            position: relative; }
            #mycolor .inner .item_wrap .item_box .txt.point::before {
              content: "";
              position: absolute;
              top: 0px;
              right: -8px;
              width: 72px;
              height: 68px;
              background: url(../img/img_mycolor_point.png) center/contain no-repeat; }
              @media screen and (max-width: 767px) {
                #mycolor .inner .item_wrap .item_box .txt.point::before {
                  top: 1.30378vw;
                  right: 2.60756vw;
                  width: 15.64537vw;
                  height: 14.47197vw;
                  background: url(../img/img_mycolor_point_sp.png) center/contain no-repeat; } }
        #mycolor .inner .item_wrap .item_box .graph {
          margin-top: 20px; }

#contact {
  padding: 80px 0 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    #contact {
      padding: 15.64537vw 0 0; } }
  #contact .inner .contact_box {
    max-width: 560px;
    margin: auto;
    padding: 64px 0;
    border: 2px solid #009ee3; }
    @media screen and (max-width: 767px) {
      #contact .inner .contact_box {
        width: 92%;
        padding: 8.3442vw 0; } }
    #contact .inner .contact_box h3 {
      margin-bottom: 30px;
      line-height: 1;
      font-size: 3.2rem;
      color: #009ee3; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_box h3 {
          margin-bottom: 5.21512vw;
          font-size: 5.21512vw; } }
    #contact .inner .contact_box dl {
      margin: 0 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      font-weight: 500;
      letter-spacing: 1px;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_box dl {
          margin: 0 5.21512vw; } }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_box dl + dl {
          margin-top: 2.60756vw; } }
      #contact .inner .contact_box dl dt {
        width: 100%;
        margin-bottom: 10px;
        font-size: 2.4rem;
        line-height: 1;
        text-align: center; }
        @media screen and (max-width: 767px) {
          #contact .inner .contact_box dl dt {
            font-size: 4.1721vw;
            letter-spacing: 0;
            line-height: 1.4; } }
      #contact .inner .contact_box dl dd {
        margin-bottom: 20px;
        line-height: 1;
        text-align: center;
        font-size: 4rem; }
        @media screen and (max-width: 767px) {
          #contact .inner .contact_box dl dd {
            font-size: 6.25815vw;
            letter-spacing: 0; } }
        #contact .inner .contact_box dl dd .min {
          font-size: 1.4rem;
          letter-spacing: 0.14rem; }
          @media screen and (max-width: 767px) {
            #contact .inner .contact_box dl dd .min {
              font-size: 2.60756vw;
              letter-spacing: 0;
              line-height: 1; } }
        #contact .inner .contact_box dl dd .tel {
          display: block;
          position: relative;
          letter-spacing: 2px; }
          @media screen and (min-width: 768px) {
            #contact .inner .contact_box dl dd .tel {
              pointer-events: none; } }
          @media screen and (max-width: 767px) {
            #contact .inner .contact_box dl dd .tel {
              margin-left: 2.60756vw;
              padding-left: 1.30378vw;
              letter-spacing: 1px; } }
          #contact .inner .contact_box dl dd .tel .icn_tel {
            position: absolute;
            top: 0;
            left: 0px;
            bottom: 0;
            width: 47px;
            height: 31px;
            margin: auto;
            background: url(../img/icn_tel.svg) center/contain no-repeat; }
            @media screen and (max-width: 767px) {
              #contact .inner .contact_box dl dd .tel .icn_tel {
                left: 4.69361vw;
                width: 7.1708vw;
                height: 4.69361vw; } }
    #contact .inner .contact_box p {
      font-size: 2rem;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_box p {
          font-size: 3.12907vw;
          line-height: 1.5;
          letter-spacing: 1px; } }
    #contact .inner .contact_box ul {
      width: 80%;
      margin: 20px auto 0;
      padding-left: 1em; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_box ul {
          width: 80%;
          margin-top: 5.21512vw; } }
      #contact .inner .contact_box ul li {
        line-height: 1.6;
        text-align: left;
        font-size: 1.6rem;
        list-style-type: disc; }
        @media screen and (max-width: 767px) {
          #contact .inner .contact_box ul li {
            font-size: 3.12907vw; } }
