@charset "UTF-8";
/* Scss Document */
/*------------------------------------------*/
body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 14px; }

img {
  max-width: 100%;
  height: auto; }
  @media screen and (max-width: 767px) {
    img {
      width: 100%; } }

.inner {
  width: 1100px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .inner {
      width: 95%; } }

.pc_only {
  display: inherit !important; }
  @media screen and (max-width: 767px) {
    .pc_only {
      display: none !important; } }

.sp_only {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .sp_only {
      display: inherit !important; } }

a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"; }
  a:hover.sp_nav_btn {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)"; }

h2 {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 767px) {
    h2 img {
      width: 100%;
      height: 50%; } }

.frame {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .frame {
      flex-direction: column; } }

.btn_frame {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .btn_frame {
      flex-direction: column; }
      .btn_frame a {
        margin-bottom: 16px; }
        .btn_frame a:last-child {
          margin-bottom: 0; } }
  .btn_frame.w538 {
    width: 538px; }
    @media screen and (max-width: 767px) {
      .btn_frame.w538 {
        width: 100%; } }
  .btn_frame.w820 {
    width: 820px; }
    @media screen and (max-width: 767px) {
      .btn_frame.w820 {
        width: 100%; } }

.btn1 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background: #f79821;
  color: #FFF;
  border-bottom: solid 4px #9a5600;
  border-radius: 4px;
  font-size: 22px;
  font-weight: 700;
  width: 257px;
  height: 76px;
  padding-bottom: 4px; }
  .btn1.link {
    position: relative; }
    .btn1.link::after {
      content: url(../images/icn1.png);
      position: absolute;
      top: 0;
      right: 0;
      -webkit-transform: scale(0.5);
      transform: scale(0.5); }
  .btn1.tw {
    font-size: 18px;
    text-align: center;
    width: 300px; }
    @media screen and (max-width: 767px) {
      .btn1.tw {
        font-size: 14px;
        width: 80%; } }
  .btn1.red {
    background: #f5001c;
    border-bottom: solid 4px #9d0012 !important; }
  @media screen and (max-width: 767px) {
    .btn1 {
      width: 80%;
      margin: 0 auto;
      height: 64px;
      font-size: 18px; } }

.btn2 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background: #f5001c;
  color: #FFF;
  border-bottom: solid 4px #9d0012 !important;
  border: none;
  border-radius: 4px;
  font-size: 28px;
  font-weight: 700;
  width: 350px;
  height: 84px;
  padding-bottom: 4px;
  cursor: pointer; }
  .btn2:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }
  @media screen and (max-width: 767px) {
    .btn2 {
      width: 80%;
      margin: 0 auto;
      height: 64px;
      font-size: 24px; } }

.kakao {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  color: #3c1e1e;
  border-radius: 4px;
  font-size: 22px;
  font-weight: 700;
  width: 257px;
  height: 80px; }
  @media screen and (max-width: 767px) {
    .kakao {
      width: 80%;
      margin: 0 auto;
      height: 64px;
      font-size: 18px; } }
  .kakao .kakao_logo {
    background: #ffde00;
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px 0 0 4px; }
    @media screen and (max-width: 767px) {
      .kakao .kakao_logo {
        height: 64px;
        width: 20%; }
        .kakao .kakao_logo img {
          height: 80%;
          width: auto; } }
  .kakao .kakao_txt {
    height: 80px;
    width: 177px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .kakao .kakao_txt {
        height: 64px;
        width: 80%; } }

/*------------------------------------------*/
header {
  background: #77cafe;
  position: fixed;
  width: 100%;
  z-index: 100; }
  header .inner .header_frame {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    height: 72px; }
    header .inner .header_frame nav ul {
      display: flex; }
      header .inner .header_frame nav ul li a {
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        display: flex;
        align-items: center;
        height: 72px;
        padding: 0 16px; }
        header .inner .header_frame nav ul li a:hover {
          background: #00a7e6;
          opacity: 1;
          filter: alpha(opacity=100);
          -ms-filter: "alpha(opacity=100)"; }
        header .inner .header_frame nav ul li a.current {
          background: #00a7e6; }

/*------------------------------------------*/
.sp_nav_btn {
  background: transparent url(../images/btn.png) no-repeat 0 0;
  display: block;
  width: 72px;
  height: 72px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 200; }

.sp_nav_btn_close {
  background-position: -72px 0; }

.sp_nav_drawr {
  display: none;
  background-color: rgba(0, 0, 0, 0.9);
  position: absolute;
  top: 72px;
  width: 100%;
  z-index: 100; }

.sp_nav_menu li {
  width: 100%;
  border-bottom: 1px solid #333;
  font-size: 14px; }
  .sp_nav_menu li a {
    color: #fff;
    font-weight: bold;
    display: block;
    padding: 16px;
    text-decoration: none;
    text-align: center; }
    .sp_nav_menu li a:hover {
      filter: alpha(opacity=100) !important;
      -moz-opacity: 1 !important;
      opacity: 1 !important; }

/*------------------------------------------*/
#main {
  padding-top: 72px; }
  #main .main_image {
    margin: 0 auto;
    max-width: 1800px;
    display: block; }

/*------------------------------------------*/
#overview {
  background: #333; }
  #overview .inner {
    padding: 96px 0 72px; }
    @media screen and (max-width: 767px) {
      #overview .inner {
        padding: 48px 0; } }
    @media screen and (max-width: 767px) {
      #overview .inner .frame {
        flex-direction: column-reverse; } }
    #overview .inner .frame .overview_l {
      width: 660px;
      margin-top: 64px; }
      @media screen and (max-width: 767px) {
        #overview .inner .frame .overview_l {
          width: 90%;
          margin: 0 auto; } }
      #overview .inner .frame .overview_l .overview_txt {
        font-size: 20px;
        line-height: 38px;
        color: #fff; }
        @media screen and (max-width: 767px) {
          #overview .inner .frame .overview_l .overview_txt {
            font-size: 18px;
            line-height: 34px; } }
        #overview .inner .frame .overview_l .overview_txt strong {
          font-weight: 700;
          color: #fbff29; }
      #overview .inner .frame .overview_l .overview_btn {
        margin-top: 40px; }
        @media screen and (max-width: 767px) {
          #overview .inner .frame .overview_l .overview_btn {
            margin-top: 20px; } }
    #overview .inner .frame .overview_r .overview_img {
      margin-top: 16px; }

/*------------------------------------------*/
#status .inner {
  padding: 96px 0 40px; }
  @media screen and (max-width: 767px) {
    #status .inner {
      padding: 48px 0 20px; } }
  #status .inner .frame {
    margin-top: 64px;
    align-items: stretch;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      #status .inner .frame {
        margin-top: 32px;
        flex-direction: column; } }
    #status .inner .frame .status_frame {
      width: 534px;
      background: #f2fbfe; }
      @media screen and (max-width: 767px) {
        #status .inner .frame .status_frame {
          width: 100%; } }
      #status .inner .frame .status_frame .status_sub {
        background: #00a7e6;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
        width: 100%;
        padding: 16px 0; }
        @media screen and (max-width: 767px) {
          #status .inner .frame .status_frame .status_sub {
            font-size: 20px;
            padding: 8px 0; } }
      #status .inner .frame .status_frame .status_bg .status_inner {
        padding: 40px 32px;
        font-size: 16px;
        line-height: 28px; }
        @media screen and (max-width: 767px) {
          #status .inner .frame .status_frame .status_bg .status_inner {
            padding: 20px 16px;
            font-size: 14px;
            line-height: 26px; } }
        #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame {
          display: flex;
          flex-wrap: nowrap;
          width: 100%; }
          #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame .status_inner_frame_l {
            width: 30%;
            border-bottom: 1px solid #00a7e6;
            padding-bottom: 24px;
            margin-bottom: 24px;
            padding-left: 16px; }
            @media screen and (max-width: 767px) {
              #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame .status_inner_frame_l {
                padding-bottom: 12px;
                margin-bottom: 12px;
                padding-left: 8px; } }
          #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame .status_inner_frame_r {
            width: 70%;
            border-bottom: 1px solid #ccc;
            padding-bottom: 24px;
            margin-bottom: 24px;
            padding-left: 16px; }
            @media screen and (max-width: 767px) {
              #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame .status_inner_frame_r {
                padding-bottom: 12px;
                margin-bottom: 12px;
                padding-left: 8px; } }
          #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame:last-child .status_inner_frame_l, #status .inner .frame .status_frame .status_bg .status_inner .status_inner_frame:last-child .status_inner_frame_r {
            border-bottom: none;
            padding-bottom: 0;
            margin-bottom: 0; }
        #status .inner .frame .status_frame .status_bg .status_inner .status_inner_txt {
          padding: 0 16px; }
          @media screen and (max-width: 767px) {
            #status .inner .frame .status_frame .status_bg .status_inner .status_inner_txt {
              padding: 0 8px; } }
        #status .inner .frame .status_frame .status_bg .status_inner .status_inner_list {
          padding: 0 16px; }
          @media screen and (max-width: 767px) {
            #status .inner .frame .status_frame .status_bg .status_inner .status_inner_list {
              padding: 0 8px; } }
          #status .inner .frame .status_frame .status_bg .status_inner .status_inner_list li {
            margin-bottom: 8px;
            list-style: disc;
            list-style-position: inside; }
            @media screen and (max-width: 767px) {
              #status .inner .frame .status_frame .status_bg .status_inner .status_inner_list li {
                margin-bottom: 4px; } }
            #status .inner .frame .status_frame .status_bg .status_inner .status_inner_list li:last-child {
              margin-bottom: 0; }
      #status .inner .frame .status_frame:nth-child(n + 3) {
        margin-top: 40px; }
      @media screen and (max-width: 767px) {
        #status .inner .frame .status_frame:nth-child(n + 2) {
          margin-top: 20px; } }
  #status .inner .overview_last_img {
    margin-top: 72px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      #status .inner .overview_last_img {
        margin-top: 36px; }
        #status .inner .overview_last_img img {
          width: 100%;
          height: 50%; } }

/*------------------------------------------*/
#status2 {
  background: #878787;
  border-bottom: 49px solid #fff; }
  @media screen and (max-width: 767px) {
    #status2 {
      border-bottom: 25px solid #fff; } }
  #status2 .inner {
    padding: 80px 0 0; }
    @media screen and (max-width: 767px) {
      #status2 .inner {
        padding: 40px 0 0; } }
    #status2 .inner .status2_frame .status2_txt {
      margin-top: -40px;
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        #status2 .inner .status2_frame .status2_txt {
          margin-top: -20px; }
          #status2 .inner .status2_frame .status2_txt img {
            width: 100%;
            height: 50%; } }
  #status2::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 104px solid transparent;
    border-right: 104px solid transparent;
    border-top: 48px solid #fff;
    display: block;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #status2::before {
        border-left: 52px solid transparent;
        border-right: 52px solid transparent;
        border-top: 24px solid #fff; } }
  #status2::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 104px solid transparent;
    border-right: 104px solid transparent;
    border-top: 48px solid #878787;
    display: block;
    margin: 0 auto;
    bottom: -48px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #status2::after {
        border-left: 52px solid transparent;
        border-right: 52px solid transparent;
        border-top: 24px solid #878787;
        bottom: -24px; } }

/*------------------------------------------*/
#career .inner {
  padding: 80px 0 96px; }
  @media screen and (max-width: 767px) {
    #career .inner {
      padding: 40px 0; } }
  #career .inner .career_frame {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 64px; }
    @media screen and (max-width: 767px) {
      #career .inner .career_frame {
        margin-top: 32px; } }
    #career .inner .career_frame .career_block {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-content: center;
      width: 100%;
      background: #f4f9f5;
      margin-bottom: 24px; }
      @media screen and (max-width: 767px) {
        #career .inner .career_frame .career_block {
          margin-bottom: 16px;
          flex-direction: column; } }
      #career .inner .career_frame .career_block:nth-child(2) {
        background: #f2fbfe; }
        #career .inner .career_frame .career_block:nth-child(2) .career_block_l {
          background: #00aff0; }
        #career .inner .career_frame .career_block:nth-child(2) .career_arrow {
          border-left: 50px solid #00aff0; }
      #career .inner .career_frame .career_block:nth-child(3) {
        background: #f2fbf2; }
        #career .inner .career_frame .career_block:nth-child(3) .career_block_l {
          background: #00b900; }
        #career .inner .career_frame .career_block:nth-child(3) .career_arrow {
          border-left: 50px solid #00b900; }
      #career .inner .career_frame .career_block:nth-child(4) {
        background: #fcfaf4; }
        #career .inner .career_frame .career_block:nth-child(4) .career_block_l {
          background: #c7a028; }
        #career .inner .career_frame .career_block:nth-child(4) .career_arrow {
          border-left: 50px solid #c7a028; }
      #career .inner .career_frame .career_block:nth-child(5) {
        background: #f4f8fb; }
        #career .inner .career_frame .career_block:nth-child(5) .career_block_l {
          background: #286eb3; }
        #career .inner .career_frame .career_block:nth-child(5) .career_arrow {
          border-left: 50px solid #286eb3; }
      #career .inner .career_frame .career_block:last-child {
        margin-bottom: 0; }
      #career .inner .career_frame .career_block .career_block_l {
        background: #2d8c3c;
        width: 370px; }
        @media screen and (max-width: 767px) {
          #career .inner .career_frame .career_block .career_block_l {
            width: 100%; } }
        #career .inner .career_frame .career_block .career_block_l .career_block_inner {
          padding: 40px 0 40px 48px;
          font-size: 16px;
          color: #fff;
          font-weight: 700; }
          @media screen and (max-width: 767px) {
            #career .inner .career_frame .career_block .career_block_l .career_block_inner {
              font-size: 12px;
              padding: 16px;
              text-align: center; } }
          #career .inner .career_frame .career_block .career_block_l .career_block_inner .career_name {
            font-size: 40px; }
            @media screen and (max-width: 767px) {
              #career .inner .career_frame .career_block .career_block_l .career_block_inner .career_name {
                font-size: 28px; } }
            #career .inner .career_frame .career_block .career_block_l .career_block_inner .career_name span {
              font-size: 20px; }
      #career .inner .career_frame .career_block .career_arrow {
        width: 0;
        height: 0;
        border-left: 50px solid #2d8c3c;
        border-top: 82px solid transparent;
        border-bottom: 82px solid transparent;
        margin-left: -40px; }
        @media screen and (max-width: 767px) {
          #career .inner .career_frame .career_block .career_arrow {
            display: none; } }
      #career .inner .career_frame .career_block .career_block_r {
        width: 640px;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 767px) {
          #career .inner .career_frame .career_block .career_block_r {
            width: 100%; } }
        @media screen and (max-width: 767px) {
          #career .inner .career_frame .career_block .career_block_r ul {
            padding: 20px; } }
        #career .inner .career_frame .career_block .career_block_r ul li {
          font-size: 18px;
          line-height: 38px; }
          #career .inner .career_frame .career_block .career_block_r ul li.small {
            font-size: 16px; }
          @media screen and (max-width: 767px) {
            #career .inner .career_frame .career_block .career_block_r ul li {
              font-size: 16px;
              line-height: 32px; } }
          #career .inner .career_frame .career_block .career_block_r ul li span {
            font-size: 24px;
            color: #f5001c;
            font-weight: 700;
            font-style: italic; }
            @media screen and (max-width: 767px) {
              #career .inner .career_frame .career_block .career_block_r ul li span {
                font-size: 20px; } }

/*------------------------------------------*/
.cta {
  background: #333; }
  .cta .inner {
    padding: 96px 0; }
    @media screen and (max-width: 767px) {
      .cta .inner {
        padding: 48px 0; } }
    .cta .inner .cta_txt {
      margin-top: 40px;
      text-align: center;
      font-size: 20px;
      line-height: 38px;
      color: #fff; }
      @media screen and (max-width: 767px) {
        .cta .inner .cta_txt {
          width: 90%;
          font-size: 14px;
          line-height: 26px;
          margin: 20px auto 0;
          text-align: left; } }
      .cta .inner .cta_txt span {
        font-weight: 700;
        color: #fbff29; }
    .cta .inner .btn_frame {
      margin-top: 40px; }
      @media screen and (max-width: 767px) {
        .cta .inner .btn_frame {
          margin-top: 20px; } }

/*------------------------------------------*/
#contents .inner {
  padding: 96px 0; }
  @media screen and (max-width: 767px) {
    #contents .inner {
      padding: 48px 0; } }
  #contents .inner .frame {
    margin-top: 64px;
    align-items: stretch;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      #contents .inner .frame {
        margin-top: 32px;
        flex-direction: column; } }
    #contents .inner .frame .contents_frame {
      width: 351px;
      background: #f2fbfe; }
      #contents .inner .frame .contents_frame:nth-child(n + 4) {
        margin-top: 40px; }
      @media screen and (max-width: 767px) {
        #contents .inner .frame .contents_frame {
          width: 100%; }
          #contents .inner .frame .contents_frame:nth-child(n + 2) {
            margin-top: 20px; } }
      #contents .inner .frame .contents_frame .contents_sub {
        background: #00a7e6;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
        width: 100%;
        padding: 16px 0; }
        @media screen and (max-width: 767px) {
          #contents .inner .frame .contents_frame .contents_sub {
            font-size: 20px;
            padding: 8px 0; } }
      #contents .inner .frame .contents_frame .contents_bg .contents_inner {
        padding: 32px 24px;
        font-size: 14px;
        line-height: 24px; }
        @media screen and (max-width: 767px) {
          #contents .inner .frame .contents_frame .contents_bg .contents_inner {
            padding: 24px 16px;
            font-size: 12px;
            line-height: 21px; } }
        #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img {
          position: relative;
          height: 190px; }
          @media screen and (max-width: 767px) {
            #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img {
              width: 90%;
              height: auto;
              margin: 0 auto; } }
          #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img .img {
            z-index: 2;
            position: absolute; }
            @media screen and (max-width: 767px) {
              #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img .img {
                position: relative; } }
          #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img .bg {
            background: url(../images/bg1.png) repeat;
            width: 280px;
            height: 187px;
            position: absolute;
            right: 0;
            bottom: -12px;
            z-index: 1; }
            @media screen and (max-width: 767px) {
              #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_img .bg {
                display: none; } }
        #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_txt {
          margin-top: 30px; }
          @media screen and (max-width: 767px) {
            #contents .inner .frame .contents_frame .contents_bg .contents_inner .contents_txt {
              margin-top: 8px; } }
#contents .contents_txt2 {
  display: flex;
  justify-content: center;
  margin-top: 64px; }
  @media screen and (max-width: 767px) {
    #contents .contents_txt2 {
      margin-top: 32px; }
      #contents .contents_txt2 img {
        height: 50%; } }
#contents .contents_txt3 {
  display: flex;
  justify-content: center;
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    #contents .contents_txt3 {
      margin-top: 24px; }
      #contents .contents_txt3 img {
        height: 50%; } }

/*------------------------------------------*/
#schedule {
  background: #f2fbfe; }
  #schedule .inner {
    padding: 96px 0; }
    @media screen and (max-width: 767px) {
      #schedule .inner {
        padding: 48px 0; } }
    #schedule .inner .calendar {
      margin-top: 64px;
      padding: 32px;
      background: #fff;
      border-radius: 8px; }
      @media screen and (max-width: 767px) {
        #schedule .inner .calendar {
          margin-top: 32px;
          padding: 16px; } }
    #schedule .inner .calendar_attention {
      margin-top: 24px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #schedule .inner .calendar_attention {
          margin-top: 12px;
          font-size: 12px; } }
    #schedule .inner .calendar_block {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-content: center;
      width: 100%;
      background: #fff;
      margin-bottom: 24px;
      margin-top: 40px; }
      @media screen and (max-width: 767px) {
        #schedule .inner .calendar_block {
          margin-top: 20px;
          margin-bottom: 16px;
          flex-direction: column; } }
      #schedule .inner .calendar_block .calendar_block_l {
        background: #1da1f2;
        width: 670px; }
        @media screen and (max-width: 767px) {
          #schedule .inner .calendar_block .calendar_block_l {
            width: 100%; } }
        #schedule .inner .calendar_block .calendar_block_l .calendar_block_inner {
          padding: 40px 0 40px 48px;
          font-size: 16px;
          color: #fff;
          font-weight: 700; }
          @media screen and (max-width: 767px) {
            #schedule .inner .calendar_block .calendar_block_l .calendar_block_inner {
              font-size: 12px;
              padding: 16px;
              text-align: center; } }
          #schedule .inner .calendar_block .calendar_block_l .calendar_block_inner .calendar_name {
            font-size: 34px; }
            @media screen and (max-width: 767px) {
              #schedule .inner .calendar_block .calendar_block_l .calendar_block_inner .calendar_name {
                font-size: 18px; } }
      #schedule .inner .calendar_block .calendar_arrow {
        width: 0;
        height: 0;
        border-left: 50px solid #1da1f2;
        border-top: 82px solid transparent;
        border-bottom: 82px solid transparent; }
        @media screen and (max-width: 767px) {
          #schedule .inner .calendar_block .calendar_arrow {
            display: none; } }
      #schedule .inner .calendar_block .calendar_block_r {
        width: 430px;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 767px) {
          #schedule .inner .calendar_block .calendar_block_r {
            width: 100%;
            padding: 24px 0; } }
        #schedule .inner .calendar_block .calendar_block_r a {
          margin: 0 auto; }

/*------------------------------------------*/
#recommend {
  background: url(../images/bg4.png) repeat; }
  #recommend .inner {
    padding: 96px 0; }
    @media screen and (max-width: 767px) {
      #recommend .inner {
        padding: 48px 0; } }
    #recommend .inner .recommend_sub_txt {
      font-size: 14px;
      color: #fff;
      text-align: center;
      margin-top: 16px; }
    #recommend .inner .recommend_block {
      margin-top: 64px;
      background: #fff; }
      @media screen and (max-width: 767px) {
        #recommend .inner .recommend_block {
          margin-top: 32px; } }
      #recommend .inner .recommend_block:nth-child(n + 2) {
        margin-top: 48px; }
        @media screen and (max-width: 767px) {
          #recommend .inner .recommend_block:nth-child(n + 2) {
            margin-top: 24px; } }
      #recommend .inner .recommend_block .recommend_inner {
        padding: 72px 56px; }
        @media screen and (max-width: 767px) {
          #recommend .inner .recommend_block .recommend_inner {
            padding: 36px 28px; } }
        #recommend .inner .recommend_block .recommend_inner .recommend_sub {
          display: flex;
          justify-content: center; }
          @media screen and (max-width: 767px) {
            #recommend .inner .recommend_block .recommend_inner .recommend_sub img {
              height: 50%; } }
        #recommend .inner .recommend_block .recommend_inner .recommend_frame {
          display: flex;
          flex-wrap: nowrap;
          justify-content: space-between;
          margin-top: 48px; }
          @media screen and (max-width: 767px) {
            #recommend .inner .recommend_block .recommend_inner .recommend_frame {
              margin-top: 24px;
              flex-direction: column; } }
          #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l {
            width: 230px; }
            @media screen and (max-width: 767px) {
              #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l {
                width: 100%;
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                justify-content: space-between;
                align-items: center; } }
            #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img {
              position: relative;
              height: 210px; }
              @media screen and (max-width: 767px) {
                #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img {
                  width: 30%;
                  height: auto;
                  margin: 0 auto; } }
              #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img .img {
                z-index: 2;
                position: absolute; }
                @media screen and (max-width: 767px) {
                  #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img .img {
                    position: relative; } }
              #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img .bg {
                background: url(../images/bg2.png) repeat;
                width: 210px;
                height: 210px;
                position: absolute;
                right: 0;
                bottom: -12px;
                z-index: 1; }
                @media screen and (max-width: 767px) {
                  #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_img .bg {
                    display: none; } }
            #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_name {
              margin-top: 24px;
              text-align: center; }
              @media screen and (max-width: 767px) {
                #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_name {
                  margin-top: 12px;
                  width: 70%;
                  text-align: left;
                  margin-left: 10%;
                  margin-top: 0; } }
              #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_name .name_large {
                font-size: 26px;
                font-weight: 700; }
                #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_l .recommend_name .name_large span {
                  font-size: 16px; }
          #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_r {
            width: 730px;
            line-height: 40px;
            position: relative;
            background-image: linear-gradient(#eeeeee 0.1em, transparent 0.1em);
            background-size: 100% 40px; }
            @media screen and (max-width: 767px) {
              #recommend .inner .recommend_block .recommend_inner .recommend_frame .recommend_r {
                margin-top: 16px;
                width: 100%;
                font-size: 12px;
                line-height: 34px;
                background-size: 100% 34px; } }

/*------------------------------------------*/
#special .inner {
  padding: 96px 0; }
  @media screen and (max-width: 767px) {
    #special .inner {
      padding: 48px 0; } }
  #special .inner .frame {
    margin-top: 64px;
    align-items: stretch;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      #special .inner .frame {
        margin-top: 32px;
        flex-direction: column; } }
    #special .inner .frame .special_frame {
      width: 534px;
      border: 4px solid #f5001c;
      box-sizing: border-box; }
      #special .inner .frame .special_frame:nth-child(n + 3) {
        margin-top: 40px; }
      @media screen and (max-width: 767px) {
        #special .inner .frame .special_frame {
          width: 100%; }
          #special .inner .frame .special_frame:nth-child(n + 2) {
            margin-top: 20px; } }
      #special .inner .frame .special_frame .special_sub {
        background: #f5001c;
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        text-align: center;
        width: 100%;
        padding: 8px 0 16px; }
        @media screen and (max-width: 767px) {
          #special .inner .frame .special_frame .special_sub {
            font-size: 16px;
            padding: 4px 0 8px; } }
      #special .inner .frame .special_frame .special_bg .special_inner {
        padding: 40px;
        font-size: 16px;
        line-height: 28px; }
        @media screen and (max-width: 767px) {
          #special .inner .frame .special_frame .special_bg .special_inner {
            padding: 20px;
            font-size: 14px;
            line-height: 26px; } }
        #special .inner .frame .special_frame .special_bg .special_inner .special_ttl {
          font-size: 24px;
          font-weight: 700;
          line-height: 36px;
          color: #f5001c;
          text-align: center; }
          @media screen and (max-width: 767px) {
            #special .inner .frame .special_frame .special_bg .special_inner .special_ttl {
              font-size: 18px;
              line-height: 28px; } }
        #special .inner .frame .special_frame .special_bg .special_inner .special_img {
          position: relative;
          height: 274px;
          margin-top: 32px; }
          @media screen and (max-width: 767px) {
            #special .inner .frame .special_frame .special_bg .special_inner .special_img {
              width: 90%;
              height: auto;
              margin: 16px auto 0; } }
          #special .inner .frame .special_frame .special_bg .special_inner .special_img .img {
            z-index: 2;
            position: absolute; }
            @media screen and (max-width: 767px) {
              #special .inner .frame .special_frame .special_bg .special_inner .special_img .img {
                position: relative; } }
          #special .inner .frame .special_frame .special_bg .special_inner .special_img .bg {
            background: url(../images/bg3.png) repeat;
            width: 410px;
            height: 274px;
            position: absolute;
            right: 0;
            bottom: -16px;
            z-index: 1; }
            @media screen and (max-width: 767px) {
              #special .inner .frame .special_frame .special_bg .special_inner .special_img .bg {
                display: none; } }
        #special .inner .frame .special_frame .special_bg .special_inner .special_txt {
          margin-top: 40px; }
          @media screen and (max-width: 767px) {
            #special .inner .frame .special_frame .special_bg .special_inner .special_txt {
              margin-top: 8px; } }
#special .special_txt2 {
  display: flex;
  justify-content: center;
  margin-top: 64px; }
  @media screen and (max-width: 767px) {
    #special .special_txt2 {
      margin-top: 32px; }
      #special .special_txt2 img {
        height: 50%; } }
#special .special_txt3 {
  display: flex;
  justify-content: center;
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    #special .special_txt3 {
      margin-top: 24px; }
      #special .special_txt3 img {
        height: 50%; } }

/*------------------------------------------*/
#contact {
  background: #f79821; }
  #contact .inner {
    padding: 96px 0; }
    @media screen and (max-width: 767px) {
      #contact .inner {
        padding: 48px 0; } }
    #contact .inner .contact_txt {
      color: #fff;
      margin-top: 64px;
      text-align: center;
      font-size: 18px; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_txt {
          font-size: 14px;
          margin-top: 32px; } }
    #contact .inner .contact_bg {
      margin-top: 40px;
      background: #fff; }
      @media screen and (max-width: 767px) {
        #contact .inner .contact_bg {
          margin-top: 20px; } }
      #contact .inner .contact_bg .contact_inner {
        padding: 64px; }
        @media screen and (max-width: 767px) {
          #contact .inner .contact_bg .contact_inner {
            padding: 28px; } }
        #contact .inner .contact_bg .contact_inner .contact_frame {
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          width: 100%;
          margin-top: -1px; }
          @media screen and (max-width: 767px) {
            #contact .inner .contact_bg .contact_inner .contact_frame {
              flex-direction: column; } }
          #contact .inner .contact_bg .contact_inner .contact_frame .contact_l {
            width: 30%;
            background: #eee;
            border: 1px solid #ccc;
            box-sizing: border-box; }
            @media screen and (max-width: 767px) {
              #contact .inner .contact_bg .contact_inner .contact_frame .contact_l {
                width: 100%; } }
            #contact .inner .contact_bg .contact_inner .contact_frame .contact_l .contact_inner2 {
              padding: 24px;
              font-size: 16px;
              display: flex;
              justify-content: space-between; }
              @media screen and (max-width: 767px) {
                #contact .inner .contact_bg .contact_inner .contact_frame .contact_l .contact_inner2 {
                  padding: 12px;
                  font-size: 14px; } }
              #contact .inner .contact_bg .contact_inner .contact_frame .contact_l .contact_inner2 span {
                background: #f5001c;
                color: #fff;
                font-size: 70%;
                padding: 4px 8px;
                display: inline-block; }
          #contact .inner .contact_bg .contact_inner .contact_frame .contact_r {
            width: 70%;
            border: 1px solid #ccc;
            border-left: none;
            box-sizing: border-box;
            display: flex;
            align-items: center; }
            @media screen and (max-width: 767px) {
              #contact .inner .contact_bg .contact_inner .contact_frame .contact_r {
                width: 100%;
                border-left: 1px solid #ccc;
                margin-top: -1px; } }
            #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 {
              padding: 16px 24px;
              font-size: 16px;
              width: 100%; }
              @media screen and (max-width: 767px) {
                #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 {
                  padding: 12px 12px;
                  font-size: 14px; } }
              #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 input, #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 textarea {
                font-size: 15px;
                padding: 16px;
                background: #fafafa;
                width: 95% !important;
                border-radius: 6px;
                border: none;
                box-shadow: 0px 0px 4px 2px #eee inset;
                line-height: 1.5; }
                @media screen and (max-width: 767px) {
                  #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 input, #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 textarea {
                    font-size: 12px;
                    padding: 8px; } }
              #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 textarea {
                height: 200px !important; }
                @media screen and (max-width: 767px) {
                  #contact .inner .contact_bg .contact_inner .contact_frame .contact_r .contact_inner2 textarea {
                    height: 150px !important; } }
        #contact .inner .contact_bg .contact_inner .contact_btn {
          display: flex;
          justify-content: center;
          margin-top: 48px; }
          @media screen and (max-width: 767px) {
            #contact .inner .contact_bg .contact_inner .contact_btn {
              margin-top: 24px; } }

input::placeholder, textarea::placeholder {
  color: #ccc; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #ccc; }
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #ccc; }

/*------------------------------------------*/
footer {
  background: #333;
  color: #fff;
  padding: 40px 0 64px 0;
  text-align: center;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    footer {
      font-size: 12px;
      padding: 20px 0 32px 0; } }

/*------------------------------------------*/
#thanks {
  padding-top: 72px;
  background: url(../images/thanks_bg.png);
  background-position: center top;
  background-size: cover; }
  #thanks .thanks_img {
    padding-top: 120px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      #thanks .thanks_img {
        padding-top: 60px; }
        #thanks .thanks_img img {
          height: 50%; } }
  #thanks .thanks_txt {
    font-size: 20px;
    line-height: 38px;
    text-align: center;
    margin-top: 64px; }
    @media screen and (max-width: 767px) {
      #thanks .thanks_txt {
        font-size: 18px;
        line-height: 34px;
        margin-top: 32px; } }
  #thanks .w820 {
    margin: 48px auto 0;
    padding-bottom: 120px; }
    @media screen and (max-width: 767px) {
      #thanks .w820 {
        margin: 24px auto 0;
        padding-bottom: 60px; } }

/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
