@charset "UTF-8";
/*
Theme Name: SS-theme7
Auther:SS
Description:SS_20250730
Version:4
*/
/* CSS Document */
/* Scss Document */
/*color list*/
/* 文字色 */
/* リンク色 */
/* 背景色 */
/* タグ背景色 */
/* エラーテキスト */
/* エラー背景 */
/*class color*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
.color-white {
  color: #ffffff; }

.color-darkblue {
  color: #0F3A8A; }

.color-orange {
  color: #DF5A00; }

.color-lightblue2 {
  color: #0F4FC4; }

/*bg color*/
.bg-darkblue {
  background: #0F3A8A; }

.bg-darkorange {
  background: #D05400; }

.bg-white {
  background: #ffffff; }

html {
  font-size: 62.5%;
  /* ≒10px（デフォルトのフォントサイズ） */ }
  html body {
    font-size: 1.6em;
    font-family: 'Noto Sans JP', sans-serif; }

p {
  font-size: 1.8rem;
  line-height: 1.5; }

.fnt20 {
  font-size: 2.0rem; }

.fnt21 {
  font-size: 2.1rem; }

.fnt25 {
  font-size: 2.5rem; }

.fnt30 {
  font-size: 3rem; }

/* 矢印 */
.arrow {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #ffffff;
  transition: 0.2s; }
  .arrow::before {
    content: url(img/arrow_bottom.svg);
    position: absolute;
    top: calc(50% - 3px);
    left: 50%;
    transform: translate(-50%, -50%); }

.arrowRight {
  transform: rotate(270deg); }

.arrowLeft {
  transform: rotate(90deg); }

.arrowTop {
  transform: rotate(180deg); }

.arrowBottom {
  transform: none; }

/* ボタン */
.btn {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  padding: 34px 10px;
  text-align: center;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #ffffff;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 1.4rem; }
  .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 1px;
    background: #ffffff;
    transition: 0.2s; }
  .btn:hover::before {
    right: -10px; }

/* Scss Document */
/*margin*/
.m-1 {
  margin: 1px; }

.mt-1 {
  margin-top: 1px; }

.mb-1 {
  margin-bottom: 1px; }

.mr-1 {
  margin-right: 1px; }

.ml-1 {
  margin-left: 1px; }

.m-2 {
  margin: 2px; }

.mt-2 {
  margin-top: 2px; }

.mb-2 {
  margin-bottom: 2px; }

.mr-2 {
  margin-right: 2px; }

.ml-2 {
  margin-left: 2px; }

.m-3 {
  margin: 3px; }

.mt-3 {
  margin-top: 3px; }

.mb-3 {
  margin-bottom: 3px; }

.mr-3 {
  margin-right: 3px; }

.ml-3 {
  margin-left: 3px; }

.m-4 {
  margin: 4px; }

.mt-4 {
  margin-top: 4px; }

.mb-4 {
  margin-bottom: 4px; }

.mr-4 {
  margin-right: 4px; }

.ml-4 {
  margin-left: 4px; }

.m-5 {
  margin: 5px; }

.mt-5 {
  margin-top: 5px; }

.mb-5 {
  margin-bottom: 5px; }

.mr-5 {
  margin-right: 5px; }

.ml-5 {
  margin-left: 5px; }

.m-6 {
  margin: 6px; }

.mt-6 {
  margin-top: 6px; }

.mb-6 {
  margin-bottom: 6px; }

.mr-6 {
  margin-right: 6px; }

.ml-6 {
  margin-left: 6px; }

.m-7 {
  margin: 7px; }

.mt-7 {
  margin-top: 7px; }

.mb-7 {
  margin-bottom: 7px; }

.mr-7 {
  margin-right: 7px; }

.ml-7 {
  margin-left: 7px; }

.m-8 {
  margin: 8px; }

.mt-8 {
  margin-top: 8px; }

.mb-8 {
  margin-bottom: 8px; }

.mr-8 {
  margin-right: 8px; }

.ml-8 {
  margin-left: 8px; }

.m-9 {
  margin: 9px; }

.mt-9 {
  margin-top: 9px; }

.mb-9 {
  margin-bottom: 9px; }

.mr-9 {
  margin-right: 9px; }

.ml-9 {
  margin-left: 9px; }

.m-10 {
  margin: 10px; }

.mt-10 {
  margin-top: 10px; }

.mb-10 {
  margin-bottom: 10px; }

.mr-10 {
  margin-right: 10px; }

.ml-10 {
  margin-left: 10px; }

.m-11 {
  margin: 11px; }

.mt-11 {
  margin-top: 11px; }

.mb-11 {
  margin-bottom: 11px; }

.mr-11 {
  margin-right: 11px; }

.ml-11 {
  margin-left: 11px; }

.m-12 {
  margin: 12px; }

.mt-12 {
  margin-top: 12px; }

.mb-12 {
  margin-bottom: 12px; }

.mr-12 {
  margin-right: 12px; }

.ml-12 {
  margin-left: 12px; }

.m-13 {
  margin: 13px; }

.mt-13 {
  margin-top: 13px; }

.mb-13 {
  margin-bottom: 13px; }

.mr-13 {
  margin-right: 13px; }

.ml-13 {
  margin-left: 13px; }

.m-14 {
  margin: 14px; }

.mt-14 {
  margin-top: 14px; }

.mb-14 {
  margin-bottom: 14px; }

.mr-14 {
  margin-right: 14px; }

.ml-14 {
  margin-left: 14px; }

.m-15 {
  margin: 15px; }

.mt-15 {
  margin-top: 15px; }

.mb-15 {
  margin-bottom: 15px; }

.mr-15 {
  margin-right: 15px; }

.ml-15 {
  margin-left: 15px; }

.m-16 {
  margin: 16px; }

.mt-16 {
  margin-top: 16px; }

.mb-16 {
  margin-bottom: 16px; }

.mr-16 {
  margin-right: 16px; }

.ml-16 {
  margin-left: 16px; }

.m-17 {
  margin: 17px; }

.mt-17 {
  margin-top: 17px; }

.mb-17 {
  margin-bottom: 17px; }

.mr-17 {
  margin-right: 17px; }

.ml-17 {
  margin-left: 17px; }

.m-18 {
  margin: 18px; }

.mt-18 {
  margin-top: 18px; }

.mb-18 {
  margin-bottom: 18px; }

.mr-18 {
  margin-right: 18px; }

.ml-18 {
  margin-left: 18px; }

.m-19 {
  margin: 19px; }

.mt-19 {
  margin-top: 19px; }

.mb-19 {
  margin-bottom: 19px; }

.mr-19 {
  margin-right: 19px; }

.ml-19 {
  margin-left: 19px; }

.m-20 {
  margin: 20px; }

.mt-20 {
  margin-top: 20px; }

.mb-20 {
  margin-bottom: 20px; }

.mr-20 {
  margin-right: 20px; }

.ml-20 {
  margin-left: 20px; }

.m-21 {
  margin: 21px; }

.mt-21 {
  margin-top: 21px; }

.mb-21 {
  margin-bottom: 21px; }

.mr-21 {
  margin-right: 21px; }

.ml-21 {
  margin-left: 21px; }

.m-22 {
  margin: 22px; }

.mt-22 {
  margin-top: 22px; }

.mb-22 {
  margin-bottom: 22px; }

.mr-22 {
  margin-right: 22px; }

.ml-22 {
  margin-left: 22px; }

.m-23 {
  margin: 23px; }

.mt-23 {
  margin-top: 23px; }

.mb-23 {
  margin-bottom: 23px; }

.mr-23 {
  margin-right: 23px; }

.ml-23 {
  margin-left: 23px; }

.m-24 {
  margin: 24px; }

.mt-24 {
  margin-top: 24px; }

.mb-24 {
  margin-bottom: 24px; }

.mr-24 {
  margin-right: 24px; }

.ml-24 {
  margin-left: 24px; }

.m-25 {
  margin: 25px; }

.mt-25 {
  margin-top: 25px; }

.mb-25 {
  margin-bottom: 25px; }

.mr-25 {
  margin-right: 25px; }

.ml-25 {
  margin-left: 25px; }

.m-26 {
  margin: 26px; }

.mt-26 {
  margin-top: 26px; }

.mb-26 {
  margin-bottom: 26px; }

.mr-26 {
  margin-right: 26px; }

.ml-26 {
  margin-left: 26px; }

.m-27 {
  margin: 27px; }

.mt-27 {
  margin-top: 27px; }

.mb-27 {
  margin-bottom: 27px; }

.mr-27 {
  margin-right: 27px; }

.ml-27 {
  margin-left: 27px; }

.m-28 {
  margin: 28px; }

.mt-28 {
  margin-top: 28px; }

.mb-28 {
  margin-bottom: 28px; }

.mr-28 {
  margin-right: 28px; }

.ml-28 {
  margin-left: 28px; }

.m-29 {
  margin: 29px; }

.mt-29 {
  margin-top: 29px; }

.mb-29 {
  margin-bottom: 29px; }

.mr-29 {
  margin-right: 29px; }

.ml-29 {
  margin-left: 29px; }

.m-30 {
  margin: 30px; }

.mt-30 {
  margin-top: 30px; }

.mb-30 {
  margin-bottom: 30px; }

.mr-30 {
  margin-right: 30px; }

.ml-30 {
  margin-left: 30px; }

.m-31 {
  margin: 31px; }

.mt-31 {
  margin-top: 31px; }

.mb-31 {
  margin-bottom: 31px; }

.mr-31 {
  margin-right: 31px; }

.ml-31 {
  margin-left: 31px; }

.m-32 {
  margin: 32px; }

.mt-32 {
  margin-top: 32px; }

.mb-32 {
  margin-bottom: 32px; }

.mr-32 {
  margin-right: 32px; }

.ml-32 {
  margin-left: 32px; }

.m-33 {
  margin: 33px; }

.mt-33 {
  margin-top: 33px; }

.mb-33 {
  margin-bottom: 33px; }

.mr-33 {
  margin-right: 33px; }

.ml-33 {
  margin-left: 33px; }

.m-34 {
  margin: 34px; }

.mt-34 {
  margin-top: 34px; }

.mb-34 {
  margin-bottom: 34px; }

.mr-34 {
  margin-right: 34px; }

.ml-34 {
  margin-left: 34px; }

.m-35 {
  margin: 35px; }

.mt-35 {
  margin-top: 35px; }

.mb-35 {
  margin-bottom: 35px; }

.mr-35 {
  margin-right: 35px; }

.ml-35 {
  margin-left: 35px; }

.m-36 {
  margin: 36px; }

.mt-36 {
  margin-top: 36px; }

.mb-36 {
  margin-bottom: 36px; }

.mr-36 {
  margin-right: 36px; }

.ml-36 {
  margin-left: 36px; }

.m-37 {
  margin: 37px; }

.mt-37 {
  margin-top: 37px; }

.mb-37 {
  margin-bottom: 37px; }

.mr-37 {
  margin-right: 37px; }

.ml-37 {
  margin-left: 37px; }

.m-38 {
  margin: 38px; }

.mt-38 {
  margin-top: 38px; }

.mb-38 {
  margin-bottom: 38px; }

.mr-38 {
  margin-right: 38px; }

.ml-38 {
  margin-left: 38px; }

.m-39 {
  margin: 39px; }

.mt-39 {
  margin-top: 39px; }

.mb-39 {
  margin-bottom: 39px; }

.mr-39 {
  margin-right: 39px; }

.ml-39 {
  margin-left: 39px; }

.m-40 {
  margin: 40px; }

.mt-40 {
  margin-top: 40px; }

.mb-40 {
  margin-bottom: 40px; }

.mr-40 {
  margin-right: 40px; }

.ml-40 {
  margin-left: 40px; }

.m-41 {
  margin: 41px; }

.mt-41 {
  margin-top: 41px; }

.mb-41 {
  margin-bottom: 41px; }

.mr-41 {
  margin-right: 41px; }

.ml-41 {
  margin-left: 41px; }

.m-42 {
  margin: 42px; }

.mt-42 {
  margin-top: 42px; }

.mb-42 {
  margin-bottom: 42px; }

.mr-42 {
  margin-right: 42px; }

.ml-42 {
  margin-left: 42px; }

.m-43 {
  margin: 43px; }

.mt-43 {
  margin-top: 43px; }

.mb-43 {
  margin-bottom: 43px; }

.mr-43 {
  margin-right: 43px; }

.ml-43 {
  margin-left: 43px; }

.m-44 {
  margin: 44px; }

.mt-44 {
  margin-top: 44px; }

.mb-44 {
  margin-bottom: 44px; }

.mr-44 {
  margin-right: 44px; }

.ml-44 {
  margin-left: 44px; }

.m-45 {
  margin: 45px; }

.mt-45 {
  margin-top: 45px; }

.mb-45 {
  margin-bottom: 45px; }

.mr-45 {
  margin-right: 45px; }

.ml-45 {
  margin-left: 45px; }

.m-46 {
  margin: 46px; }

.mt-46 {
  margin-top: 46px; }

.mb-46 {
  margin-bottom: 46px; }

.mr-46 {
  margin-right: 46px; }

.ml-46 {
  margin-left: 46px; }

.m-47 {
  margin: 47px; }

.mt-47 {
  margin-top: 47px; }

.mb-47 {
  margin-bottom: 47px; }

.mr-47 {
  margin-right: 47px; }

.ml-47 {
  margin-left: 47px; }

.m-48 {
  margin: 48px; }

.mt-48 {
  margin-top: 48px; }

.mb-48 {
  margin-bottom: 48px; }

.mr-48 {
  margin-right: 48px; }

.ml-48 {
  margin-left: 48px; }

.m-49 {
  margin: 49px; }

.mt-49 {
  margin-top: 49px; }

.mb-49 {
  margin-bottom: 49px; }

.mr-49 {
  margin-right: 49px; }

.ml-49 {
  margin-left: 49px; }

.m-50 {
  margin: 50px; }

.mt-50 {
  margin-top: 50px; }

.mb-50 {
  margin-bottom: 50px; }

.mr-50 {
  margin-right: 50px; }

.ml-50 {
  margin-left: 50px; }

.m-51 {
  margin: 51px; }

.mt-51 {
  margin-top: 51px; }

.mb-51 {
  margin-bottom: 51px; }

.mr-51 {
  margin-right: 51px; }

.ml-51 {
  margin-left: 51px; }

.m-52 {
  margin: 52px; }

.mt-52 {
  margin-top: 52px; }

.mb-52 {
  margin-bottom: 52px; }

.mr-52 {
  margin-right: 52px; }

.ml-52 {
  margin-left: 52px; }

.m-53 {
  margin: 53px; }

.mt-53 {
  margin-top: 53px; }

.mb-53 {
  margin-bottom: 53px; }

.mr-53 {
  margin-right: 53px; }

.ml-53 {
  margin-left: 53px; }

.m-54 {
  margin: 54px; }

.mt-54 {
  margin-top: 54px; }

.mb-54 {
  margin-bottom: 54px; }

.mr-54 {
  margin-right: 54px; }

.ml-54 {
  margin-left: 54px; }

.m-55 {
  margin: 55px; }

.mt-55 {
  margin-top: 55px; }

.mb-55 {
  margin-bottom: 55px; }

.mr-55 {
  margin-right: 55px; }

.ml-55 {
  margin-left: 55px; }

.m-56 {
  margin: 56px; }

.mt-56 {
  margin-top: 56px; }

.mb-56 {
  margin-bottom: 56px; }

.mr-56 {
  margin-right: 56px; }

.ml-56 {
  margin-left: 56px; }

.m-57 {
  margin: 57px; }

.mt-57 {
  margin-top: 57px; }

.mb-57 {
  margin-bottom: 57px; }

.mr-57 {
  margin-right: 57px; }

.ml-57 {
  margin-left: 57px; }

.m-58 {
  margin: 58px; }

.mt-58 {
  margin-top: 58px; }

.mb-58 {
  margin-bottom: 58px; }

.mr-58 {
  margin-right: 58px; }

.ml-58 {
  margin-left: 58px; }

.m-59 {
  margin: 59px; }

.mt-59 {
  margin-top: 59px; }

.mb-59 {
  margin-bottom: 59px; }

.mr-59 {
  margin-right: 59px; }

.ml-59 {
  margin-left: 59px; }

.m-60 {
  margin: 60px; }

.mt-60 {
  margin-top: 60px; }

.mb-60 {
  margin-bottom: 60px; }

.mr-60 {
  margin-right: 60px; }

.ml-60 {
  margin-left: 60px; }

.m-61 {
  margin: 61px; }

.mt-61 {
  margin-top: 61px; }

.mb-61 {
  margin-bottom: 61px; }

.mr-61 {
  margin-right: 61px; }

.ml-61 {
  margin-left: 61px; }

.m-62 {
  margin: 62px; }

.mt-62 {
  margin-top: 62px; }

.mb-62 {
  margin-bottom: 62px; }

.mr-62 {
  margin-right: 62px; }

.ml-62 {
  margin-left: 62px; }

.m-63 {
  margin: 63px; }

.mt-63 {
  margin-top: 63px; }

.mb-63 {
  margin-bottom: 63px; }

.mr-63 {
  margin-right: 63px; }

.ml-63 {
  margin-left: 63px; }

.m-64 {
  margin: 64px; }

.mt-64 {
  margin-top: 64px; }

.mb-64 {
  margin-bottom: 64px; }

.mr-64 {
  margin-right: 64px; }

.ml-64 {
  margin-left: 64px; }

.m-65 {
  margin: 65px; }

.mt-65 {
  margin-top: 65px; }

.mb-65 {
  margin-bottom: 65px; }

.mr-65 {
  margin-right: 65px; }

.ml-65 {
  margin-left: 65px; }

.m-66 {
  margin: 66px; }

.mt-66 {
  margin-top: 66px; }

.mb-66 {
  margin-bottom: 66px; }

.mr-66 {
  margin-right: 66px; }

.ml-66 {
  margin-left: 66px; }

.m-67 {
  margin: 67px; }

.mt-67 {
  margin-top: 67px; }

.mb-67 {
  margin-bottom: 67px; }

.mr-67 {
  margin-right: 67px; }

.ml-67 {
  margin-left: 67px; }

.m-68 {
  margin: 68px; }

.mt-68 {
  margin-top: 68px; }

.mb-68 {
  margin-bottom: 68px; }

.mr-68 {
  margin-right: 68px; }

.ml-68 {
  margin-left: 68px; }

.m-69 {
  margin: 69px; }

.mt-69 {
  margin-top: 69px; }

.mb-69 {
  margin-bottom: 69px; }

.mr-69 {
  margin-right: 69px; }

.ml-69 {
  margin-left: 69px; }

.m-70 {
  margin: 70px; }

.mt-70 {
  margin-top: 70px; }

.mb-70 {
  margin-bottom: 70px; }

.mr-70 {
  margin-right: 70px; }

.ml-70 {
  margin-left: 70px; }

.m-71 {
  margin: 71px; }

.mt-71 {
  margin-top: 71px; }

.mb-71 {
  margin-bottom: 71px; }

.mr-71 {
  margin-right: 71px; }

.ml-71 {
  margin-left: 71px; }

.m-72 {
  margin: 72px; }

.mt-72 {
  margin-top: 72px; }

.mb-72 {
  margin-bottom: 72px; }

.mr-72 {
  margin-right: 72px; }

.ml-72 {
  margin-left: 72px; }

.m-73 {
  margin: 73px; }

.mt-73 {
  margin-top: 73px; }

.mb-73 {
  margin-bottom: 73px; }

.mr-73 {
  margin-right: 73px; }

.ml-73 {
  margin-left: 73px; }

.m-74 {
  margin: 74px; }

.mt-74 {
  margin-top: 74px; }

.mb-74 {
  margin-bottom: 74px; }

.mr-74 {
  margin-right: 74px; }

.ml-74 {
  margin-left: 74px; }

.m-75 {
  margin: 75px; }

.mt-75 {
  margin-top: 75px; }

.mb-75 {
  margin-bottom: 75px; }

.mr-75 {
  margin-right: 75px; }

.ml-75 {
  margin-left: 75px; }

.m-76 {
  margin: 76px; }

.mt-76 {
  margin-top: 76px; }

.mb-76 {
  margin-bottom: 76px; }

.mr-76 {
  margin-right: 76px; }

.ml-76 {
  margin-left: 76px; }

.m-77 {
  margin: 77px; }

.mt-77 {
  margin-top: 77px; }

.mb-77 {
  margin-bottom: 77px; }

.mr-77 {
  margin-right: 77px; }

.ml-77 {
  margin-left: 77px; }

.m-78 {
  margin: 78px; }

.mt-78 {
  margin-top: 78px; }

.mb-78 {
  margin-bottom: 78px; }

.mr-78 {
  margin-right: 78px; }

.ml-78 {
  margin-left: 78px; }

.m-79 {
  margin: 79px; }

.mt-79 {
  margin-top: 79px; }

.mb-79 {
  margin-bottom: 79px; }

.mr-79 {
  margin-right: 79px; }

.ml-79 {
  margin-left: 79px; }

.m-80 {
  margin: 80px; }

.mt-80 {
  margin-top: 80px; }

.mb-80 {
  margin-bottom: 80px; }

.mr-80 {
  margin-right: 80px; }

.ml-80 {
  margin-left: 80px; }

/*padding*/
.p-1 {
  padding: 1px; }

.pt-1 {
  padding-top: 1px; }

.pb-1 {
  padding-bottom: 1px; }

.pr-1 {
  padding-right: 1px; }

.pl-1 {
  padding-left: 1px; }

.p-2 {
  padding: 2px; }

.pt-2 {
  padding-top: 2px; }

.pb-2 {
  padding-bottom: 2px; }

.pr-2 {
  padding-right: 2px; }

.pl-2 {
  padding-left: 2px; }

.p-3 {
  padding: 3px; }

.pt-3 {
  padding-top: 3px; }

.pb-3 {
  padding-bottom: 3px; }

.pr-3 {
  padding-right: 3px; }

.pl-3 {
  padding-left: 3px; }

.p-4 {
  padding: 4px; }

.pt-4 {
  padding-top: 4px; }

.pb-4 {
  padding-bottom: 4px; }

.pr-4 {
  padding-right: 4px; }

.pl-4 {
  padding-left: 4px; }

.p-5 {
  padding: 5px; }

.pt-5 {
  padding-top: 5px; }

.pb-5 {
  padding-bottom: 5px; }

.pr-5 {
  padding-right: 5px; }

.pl-5 {
  padding-left: 5px; }

.p-6 {
  padding: 6px; }

.pt-6 {
  padding-top: 6px; }

.pb-6 {
  padding-bottom: 6px; }

.pr-6 {
  padding-right: 6px; }

.pl-6 {
  padding-left: 6px; }

.p-7 {
  padding: 7px; }

.pt-7 {
  padding-top: 7px; }

.pb-7 {
  padding-bottom: 7px; }

.pr-7 {
  padding-right: 7px; }

.pl-7 {
  padding-left: 7px; }

.p-8 {
  padding: 8px; }

.pt-8 {
  padding-top: 8px; }

.pb-8 {
  padding-bottom: 8px; }

.pr-8 {
  padding-right: 8px; }

.pl-8 {
  padding-left: 8px; }

.p-9 {
  padding: 9px; }

.pt-9 {
  padding-top: 9px; }

.pb-9 {
  padding-bottom: 9px; }

.pr-9 {
  padding-right: 9px; }

.pl-9 {
  padding-left: 9px; }

.p-10 {
  padding: 10px; }

.pt-10 {
  padding-top: 10px; }

.pb-10 {
  padding-bottom: 10px; }

.pr-10 {
  padding-right: 10px; }

.pl-10 {
  padding-left: 10px; }

.p-11 {
  padding: 11px; }

.pt-11 {
  padding-top: 11px; }

.pb-11 {
  padding-bottom: 11px; }

.pr-11 {
  padding-right: 11px; }

.pl-11 {
  padding-left: 11px; }

.p-12 {
  padding: 12px; }

.pt-12 {
  padding-top: 12px; }

.pb-12 {
  padding-bottom: 12px; }

.pr-12 {
  padding-right: 12px; }

.pl-12 {
  padding-left: 12px; }

.p-13 {
  padding: 13px; }

.pt-13 {
  padding-top: 13px; }

.pb-13 {
  padding-bottom: 13px; }

.pr-13 {
  padding-right: 13px; }

.pl-13 {
  padding-left: 13px; }

.p-14 {
  padding: 14px; }

.pt-14 {
  padding-top: 14px; }

.pb-14 {
  padding-bottom: 14px; }

.pr-14 {
  padding-right: 14px; }

.pl-14 {
  padding-left: 14px; }

.p-15 {
  padding: 15px; }

.pt-15 {
  padding-top: 15px; }

.pb-15 {
  padding-bottom: 15px; }

.pr-15 {
  padding-right: 15px; }

.pl-15 {
  padding-left: 15px; }

.p-16 {
  padding: 16px; }

.pt-16 {
  padding-top: 16px; }

.pb-16 {
  padding-bottom: 16px; }

.pr-16 {
  padding-right: 16px; }

.pl-16 {
  padding-left: 16px; }

.p-17 {
  padding: 17px; }

.pt-17 {
  padding-top: 17px; }

.pb-17 {
  padding-bottom: 17px; }

.pr-17 {
  padding-right: 17px; }

.pl-17 {
  padding-left: 17px; }

.p-18 {
  padding: 18px; }

.pt-18 {
  padding-top: 18px; }

.pb-18 {
  padding-bottom: 18px; }

.pr-18 {
  padding-right: 18px; }

.pl-18 {
  padding-left: 18px; }

.p-19 {
  padding: 19px; }

.pt-19 {
  padding-top: 19px; }

.pb-19 {
  padding-bottom: 19px; }

.pr-19 {
  padding-right: 19px; }

.pl-19 {
  padding-left: 19px; }

.p-20 {
  padding: 20px; }

.pt-20 {
  padding-top: 20px; }

.pb-20 {
  padding-bottom: 20px; }

.pr-20 {
  padding-right: 20px; }

.pl-20 {
  padding-left: 20px; }

.p-21 {
  padding: 21px; }

.pt-21 {
  padding-top: 21px; }

.pb-21 {
  padding-bottom: 21px; }

.pr-21 {
  padding-right: 21px; }

.pl-21 {
  padding-left: 21px; }

.p-22 {
  padding: 22px; }

.pt-22 {
  padding-top: 22px; }

.pb-22 {
  padding-bottom: 22px; }

.pr-22 {
  padding-right: 22px; }

.pl-22 {
  padding-left: 22px; }

.p-23 {
  padding: 23px; }

.pt-23 {
  padding-top: 23px; }

.pb-23 {
  padding-bottom: 23px; }

.pr-23 {
  padding-right: 23px; }

.pl-23 {
  padding-left: 23px; }

.p-24 {
  padding: 24px; }

.pt-24 {
  padding-top: 24px; }

.pb-24 {
  padding-bottom: 24px; }

.pr-24 {
  padding-right: 24px; }

.pl-24 {
  padding-left: 24px; }

.p-25 {
  padding: 25px; }

.pt-25 {
  padding-top: 25px; }

.pb-25 {
  padding-bottom: 25px; }

.pr-25 {
  padding-right: 25px; }

.pl-25 {
  padding-left: 25px; }

.p-26 {
  padding: 26px; }

.pt-26 {
  padding-top: 26px; }

.pb-26 {
  padding-bottom: 26px; }

.pr-26 {
  padding-right: 26px; }

.pl-26 {
  padding-left: 26px; }

.p-27 {
  padding: 27px; }

.pt-27 {
  padding-top: 27px; }

.pb-27 {
  padding-bottom: 27px; }

.pr-27 {
  padding-right: 27px; }

.pl-27 {
  padding-left: 27px; }

.p-28 {
  padding: 28px; }

.pt-28 {
  padding-top: 28px; }

.pb-28 {
  padding-bottom: 28px; }

.pr-28 {
  padding-right: 28px; }

.pl-28 {
  padding-left: 28px; }

.p-29 {
  padding: 29px; }

.pt-29 {
  padding-top: 29px; }

.pb-29 {
  padding-bottom: 29px; }

.pr-29 {
  padding-right: 29px; }

.pl-29 {
  padding-left: 29px; }

.p-30 {
  padding: 30px; }

.pt-30 {
  padding-top: 30px; }

.pb-30 {
  padding-bottom: 30px; }

.pr-30 {
  padding-right: 30px; }

.pl-30 {
  padding-left: 30px; }

.p-31 {
  padding: 31px; }

.pt-31 {
  padding-top: 31px; }

.pb-31 {
  padding-bottom: 31px; }

.pr-31 {
  padding-right: 31px; }

.pl-31 {
  padding-left: 31px; }

.p-32 {
  padding: 32px; }

.pt-32 {
  padding-top: 32px; }

.pb-32 {
  padding-bottom: 32px; }

.pr-32 {
  padding-right: 32px; }

.pl-32 {
  padding-left: 32px; }

.p-33 {
  padding: 33px; }

.pt-33 {
  padding-top: 33px; }

.pb-33 {
  padding-bottom: 33px; }

.pr-33 {
  padding-right: 33px; }

.pl-33 {
  padding-left: 33px; }

.p-34 {
  padding: 34px; }

.pt-34 {
  padding-top: 34px; }

.pb-34 {
  padding-bottom: 34px; }

.pr-34 {
  padding-right: 34px; }

.pl-34 {
  padding-left: 34px; }

.p-35 {
  padding: 35px; }

.pt-35 {
  padding-top: 35px; }

.pb-35 {
  padding-bottom: 35px; }

.pr-35 {
  padding-right: 35px; }

.pl-35 {
  padding-left: 35px; }

.p-36 {
  padding: 36px; }

.pt-36 {
  padding-top: 36px; }

.pb-36 {
  padding-bottom: 36px; }

.pr-36 {
  padding-right: 36px; }

.pl-36 {
  padding-left: 36px; }

.p-37 {
  padding: 37px; }

.pt-37 {
  padding-top: 37px; }

.pb-37 {
  padding-bottom: 37px; }

.pr-37 {
  padding-right: 37px; }

.pl-37 {
  padding-left: 37px; }

.p-38 {
  padding: 38px; }

.pt-38 {
  padding-top: 38px; }

.pb-38 {
  padding-bottom: 38px; }

.pr-38 {
  padding-right: 38px; }

.pl-38 {
  padding-left: 38px; }

.p-39 {
  padding: 39px; }

.pt-39 {
  padding-top: 39px; }

.pb-39 {
  padding-bottom: 39px; }

.pr-39 {
  padding-right: 39px; }

.pl-39 {
  padding-left: 39px; }

.p-40 {
  padding: 40px; }

.pt-40 {
  padding-top: 40px; }

.pb-40 {
  padding-bottom: 40px; }

.pr-40 {
  padding-right: 40px; }

.pl-40 {
  padding-left: 40px; }

.p-41 {
  padding: 41px; }

.pt-41 {
  padding-top: 41px; }

.pb-41 {
  padding-bottom: 41px; }

.pr-41 {
  padding-right: 41px; }

.pl-41 {
  padding-left: 41px; }

.p-42 {
  padding: 42px; }

.pt-42 {
  padding-top: 42px; }

.pb-42 {
  padding-bottom: 42px; }

.pr-42 {
  padding-right: 42px; }

.pl-42 {
  padding-left: 42px; }

.p-43 {
  padding: 43px; }

.pt-43 {
  padding-top: 43px; }

.pb-43 {
  padding-bottom: 43px; }

.pr-43 {
  padding-right: 43px; }

.pl-43 {
  padding-left: 43px; }

.p-44 {
  padding: 44px; }

.pt-44 {
  padding-top: 44px; }

.pb-44 {
  padding-bottom: 44px; }

.pr-44 {
  padding-right: 44px; }

.pl-44 {
  padding-left: 44px; }

.p-45 {
  padding: 45px; }

.pt-45 {
  padding-top: 45px; }

.pb-45 {
  padding-bottom: 45px; }

.pr-45 {
  padding-right: 45px; }

.pl-45 {
  padding-left: 45px; }

.p-46 {
  padding: 46px; }

.pt-46 {
  padding-top: 46px; }

.pb-46 {
  padding-bottom: 46px; }

.pr-46 {
  padding-right: 46px; }

.pl-46 {
  padding-left: 46px; }

.p-47 {
  padding: 47px; }

.pt-47 {
  padding-top: 47px; }

.pb-47 {
  padding-bottom: 47px; }

.pr-47 {
  padding-right: 47px; }

.pl-47 {
  padding-left: 47px; }

.p-48 {
  padding: 48px; }

.pt-48 {
  padding-top: 48px; }

.pb-48 {
  padding-bottom: 48px; }

.pr-48 {
  padding-right: 48px; }

.pl-48 {
  padding-left: 48px; }

.p-49 {
  padding: 49px; }

.pt-49 {
  padding-top: 49px; }

.pb-49 {
  padding-bottom: 49px; }

.pr-49 {
  padding-right: 49px; }

.pl-49 {
  padding-left: 49px; }

.p-50 {
  padding: 50px; }

.pt-50 {
  padding-top: 50px; }

.pb-50 {
  padding-bottom: 50px; }

.pr-50 {
  padding-right: 50px; }

.pl-50 {
  padding-left: 50px; }

/*font-size*/
.fz-1 {
  font-size: 1px; }

.fz-2 {
  font-size: 2px; }

.fz-3 {
  font-size: 3px; }

.fz-4 {
  font-size: 4px; }

.fz-5 {
  font-size: 5px; }

.fz-6 {
  font-size: 6px; }

.fz-7 {
  font-size: 7px; }

.fz-8 {
  font-size: 8px; }

.fz-9 {
  font-size: 9px; }

.fz-10 {
  font-size: 10px; }

.fz-11 {
  font-size: 11px; }

.fz-12 {
  font-size: 12px; }

.fz-13 {
  font-size: 13px; }

.fz-14 {
  font-size: 14px; }

.fz-15 {
  font-size: 15px; }

.fz-16 {
  font-size: 16px; }

.fz-17 {
  font-size: 17px; }

.fz-18 {
  font-size: 18px; }

.fz-19 {
  font-size: 19px; }

.fz-20 {
  font-size: 20px; }

.fz-21 {
  font-size: 21px; }

.fz-22 {
  font-size: 22px; }

.fz-23 {
  font-size: 23px; }

.fz-24 {
  font-size: 24px; }

.fz-25 {
  font-size: 25px; }

.fz-26 {
  font-size: 26px; }

.fz-27 {
  font-size: 27px; }

.fz-28 {
  font-size: 28px; }

.fz-29 {
  font-size: 29px; }

.fz-30 {
  font-size: 30px; }

/*text-align*/
.ta-center {
  text-align: center; }

.ta-right {
  text-align: right; }

.ta-left {
  text-align: left; }

/*display*/
.d-none {
  display: none; }

.d-block {
  display: block; }

.d-inline-block {
  display: inline-block; }

.d-inline {
  display: inline; }

.va-top {
  vertical-align: top; }

.va-middle {
  vertical-align: middle; }

.va-bottom {
  vertical-align: bottom; }

.va-baseline {
  vertical-align: baseline; }

.ai-stretch {
  align-items: stretch; }

.ai-center {
  align-items: center; }

.ai-start {
  align-items: start; }

.ai-end {
  align-items: end; }

/*font-weight*/
.fw-b {
  font-weight: bold; }

/*選択不可にするclass*/
.select-none {
  -ms-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none; }

/*flex-box*/
.flexBox {
  display: flex; }

.flexBox-half {
  display: flex; }
  .flexBox-half > div {
    width: 50%;
    box-sizing: border-box; }

/* Scss Document */
/* Scss Document */
html {
  scroll-behavior: smooth; }

p {
  word-break: break-all; }

a {
  color: #DF5A00;
  text-decoration: none; }
  a[target="_blank"]:not(.apple):not(.android):after {
    display: inline-block;
    content: url(img/link.svg);
    margin-left: 5px;
    vertical-align: middle; }
  a.link {
    transition: 0.2s; }
    a.link:hover {
      opacity: 0.7; }

ul {
  list-style: none; }

::selection {
  background: #fdbf11;
  color: #0F3A8A; }

::-moz-selection {
  background: #FFC94B;
  color: #0F3A8A; }

.scroll-s1::-webkit-scrollbar {
  width: 6px; }
  .scroll-s1::-webkit-scrollbar:hover {
    width: 6px; }

.scroll-s1::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px #0A275D; }

.scroll-s1::-webkit-scrollbar-thumb {
  background: #FFF; }

hr {
  margin: 2em 0; }

main > div:first-child {
  padding-top: 80px;
  /* ヘッダーの高さ */ }

.contents {
  max-width: 1280px;
  width: 80%;
  margin: 0 auto;
  padding: 100px 0; }

.contents-w1120 {
  max-width: 1120px;
  width: 80%;
  margin: 0 auto;
  padding: 100px 0; }

.contents-w1150 {
  max-width: 1150px;
  width: 80%;
  margin: 0 auto;
  padding: 100px 0; }

.contents-w1400 {
  max-width: 1400px;
  width: 80%;
  margin: 0 auto; }

.contents-note {
  background: #ffffff;
  border-radius: 20px;
  position: relative;
  border: 10px solid #3363BB;
  box-sizing: border-box; }
  .contents-note::before {
    content: "";
    position: absolute;
    left: 50px;
    height: 100%;
    width: 12px;
    background: #E1E1E1; }

#singleHeader {
  position: relative;
  background: #DF5A00;
  width: 100%;
  height: 40vh;
  max-height: 470px;
  overflow: hidden; }
  #singleHeader .singleHeader_img {
    width: 100%;
    position: absolute;
    bottom: -3px;
    z-index: 3; }
  #singleHeader #hero-animation {
    margin-top: -80px; }

.singleHeader_title {
  position: relative;
  height: 140px; }
  .singleHeader_title .title_s1 {
    position: absolute;
    right: 5%;
    top: -55px;
    z-index: 10;
    text-align: center; }

.fade_off {
  opacity: 0;
  transition: all 1s;
  margin-top: -30px; }

.fade_on {
  opacity: 1;
  margin-top: 0; }

.waveBottom {
  position: absolute;
  bottom: -2px;
  width: 100%;
  transform: scale(-1, 1); }

.waveTop {
  position: absolute;
  top: -2px;
  width: 100%;
  transform: rotateX(180deg); }

/* バナー */
.app_wrap {
  display: flex;
  box-sizing: border-box; }
  .app_wrap .apple-img {
    height: 65px; }
  .app_wrap .android-img {
    height: 65px; }

/* SP用 改行 */
.spbr {
  display: inline-block;
  margin-right: 10px; }

@media screen and (max-width: 800px) {
  .contents, .contents-w1120, .contents-w1150,
  .contents-w1400, .contents-note {
    width: 90%; }

  #singleHeader {
    height: 7vh; }

  .singleHeader_title {
    height: 80px; }
    .singleHeader_title .title_s1 {
      right: auto;
      left: 50%;
      transform: translateX(-50%); }

  .contents-note::before {
    content: none; } }
@media screen and (max-width: 480px) {
  .spbr {
    display: block;
    margin: 0; } }
/* Scss Document */
#container {
  position: relative; }

header {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px 30px;
  box-sizing: border-box;
  z-index: 300;
  transition: 0.2s; }
  header .logo-img {
    fill: #ffffff; }
  header.scroll {
    /* スクロールした時のヘッダーのスタイル */
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(3px);
    border-bottom: 1px solid #ffffff; }
    header.scroll .logo-img {
      fill: #ffffff; }
  header h1 {
    margin: 0; }
    header h1 a img, header h1 a svg {
      width: 140px;
      height: 28px; }
  header nav {
    margin-left: auto; }
    header nav ul li {
      display: inline-block;
      margin: 0 20px;
      letter-spacing: 0.01em; }
      header nav ul li a {
        color: #ffffff; }

@media screen and (max-width: 1000px) {
  header {
    /*　ハンバーガーボタン　*/ }
    header .hamburger {
      display: block;
      position: absolute;
      z-index: 3;
      right: 13px;
      top: 12px;
      width: 42px;
      height: 42px;
      cursor: pointer;
      text-align: center;
      /* ナビ開いてる時のボタン */ }
      header .hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #ffffff;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        header .hamburger span:nth-child(1) {
          top: 10px; }
        header .hamburger span:nth-child(2) {
          top: 20px; }
        header .hamburger span:nth-child(3) {
          top: 30px; }
      header .hamburger.active span:nth-child(1) {
        top: 16px;
        left: 6px;
        background: #ffffff;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      header .hamburger.active span:nth-child(2), header .hamburger.active span:nth-child(3) {
        top: 16px;
        background: #ffffff;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg); }
    header .globalMenuSp {
      position: fixed;
      z-index: 2;
      top: 0;
      left: 0;
      color: #ffffff;
      background: #0F3A8A;
      text-align: center;
      width: 100%;
      opacity: 0;
      transition: opacity .2s ease, visibility .0s ease;
      visibility: hidden;
      /* jQueryで付与・削除する */ }
      header .globalMenuSp.active {
        visibility: visible;
        transition: opacity .2s ease, visibility .0s ease;
        opacity: 1; }
      header .globalMenuSp ul {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: 100vh;
        padding-top: 55px; }
        header .globalMenuSp ul li {
          list-style-type: none;
          padding: 0;
          margin: 0;
          width: 100%;
          transition: .4s all;
          border-bottom: 1px solid #ffffff; }
          header .globalMenuSp ul li:last-child {
            padding-bottom: 0; }
          header .globalMenuSp ul li:hover {
            background: #122C5B; }
          header .globalMenuSp ul li:first-child {
            border-top: 1px solid #ffffff; }
          header .globalMenuSp ul li a {
            display: block;
            color: #ffffff;
            padding: 1em 0;
            text-decoration: none; } }
@media screen and (max-width: 480px) {
  header {
    padding: 15px 20px; }
    header h1 a img, header header h1 a svg {
      width: 120px;
      height: auto; } }
footer div {
  max-width: 1400px;
  width: 90%;
  margin: 0 auto;
  color: #ffffff;
  border-top: 1px solid #ffffff;
  padding: 10px 0 20px;
  text-align: right; }

/* Scss Document */
.title_s1 {
  color: #ffffff;
  font-weight: normal; }
  .title_s1 span:first-child {
    display: inline-block;
    font-size: 1.8rem;
    text-align: center;
    border: 1px solid #ffffff;
    min-width: 120px;
    padding: 8px 30px;
    letter-spacing: 0.1em;
    margin: 0 auto;
    box-sizing: border-box;
    margin-bottom: 0.5em;
    text-transform: uppercase; }
  .title_s1 span:last-child {
    display: block;
    font-size: 5rem; }

/* 個別ページで使うtitle */
.title_s2 {
  font-size: 5rem;
  color: #122C5B;
  text-align: center;
  margin-bottom: 100px;
  font-weight: bold; }
  .title_s2 span {
    display: block;
    margin-top: 10px;
    font-size: 2rem;
    color: #D05400;
    font-weight: normal; }

.title_s3 {
  font-size: 2rem;
  text-align: center; }
  .title_s3 span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    margin-bottom: 5px; }
  .title_s3::after {
    content: "";
    display: block;
    width: 50px;
    height: 3px;
    background: #FFA465;
    margin: 15px auto 0; }

.subtitle_s1 {
  color: #122C5B;
  font-size: 1.8rem;
  font-weight: bold; }
  .subtitle_s1::before {
    content: "●";
    color: #D05400;
    font-size: 1em;
    margin-left: 5px; }

@media screen and (max-width: 800px) {
  .title_s1 span:first-child {
    font-size: 1rem;
    min-width: 100px;
    padding: 8px 15px; }
  .title_s1 span:last-child {
    font-size: 3rem; }

  .title_s2 {
    font-size: 2.5rem; }
    .title_s2 span {
      font-size: 1.4rem; }

  .title_s3 {
    font-size: 1.6rem; } }
/* Scss Document */
.taglist {
  padding: 0; }
  .taglist li {
    display: inline-block;
    font-size: 1.6rem;
    background: #FFA465;
    color: #ffffff;
    border-radius: 40px;
    padding: 5px 15px;
    margin: 0 5px 10px 0; }

.list_s1 {
  margin: 0;
  padding-left: 1em;
  line-height: 1.7; }
  .list_s1 li {
    position: relative; }
    .list_s1 li::before {
      content: "";
      position: absolute;
      width: 6px;
      height: 6px;
      background: #D05400;
      top: 0.6em;
      left: -1em;
      border-radius: 50%; }

/* Scss Document */
/* Scss Document */
input, button, textarea, select {
  margin: 0;
  padding: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 1.6rem;
  width: 100%; }
  input:disabled, button:disabled, textarea:disabled, select:disabled {
    background: #e0e0e0 !important;
    cursor: not-allowed; }
  input:read-only, button:read-only, textarea:read-only, select:read-only {
    background: #ffffff !important; }
  input::placeholder, button::placeholder, textarea::placeholder, select::placeholder {
    color: #aaaaaa; }

.contact_box {
  position: relative;
  border: 10px solid #3363BB;
  max-width: 360px;
  width: 100%;
  box-sizing: border-box;
  margin: 50px auto; }
  .contact_box::before {
    position: absolute;
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background: #434343; }
  .contact_box::after {
    position: absolute;
    content: url(img/icon-mail.svg);
    display: block;
    top: 50%;
    left: 13px;
    transform: translateY(-50%); }
  .contact_box input {
    border: none;
    padding-left: 60px;
    text-align: center;
    font-weight: bold; }

.formBox_wrap {
  margin-bottom: 1em;
  /* ラジオボタンのスタイル======================= */
  /* チェックボックスのスタイル======================= */
  /* エラー */ }
  .formBox_wrap .label-title {
    display: block;
    font-size: 1.5rem;
    color: #122C5B;
    margin-bottom: 5px;
    font-weight: bold; }
  .formBox_wrap .formBox_group {
    display: flex; }
    .formBox_wrap .formBox_group .mr-10:last-of-type {
      margin-right: 0; }
  .formBox_wrap .formBox {
    height: 38px;
    padding: 0 10px;
    background: #ffffff;
    border: 1px solid #dddddd; }
  .formBox_wrap .formBox_select {
    height: 42px;
    padding: 0 10px;
    background: #ffffff;
    border: 1px solid #dddddd; }
  .formBox_wrap .formBox_textarea {
    min-height: 150px;
    padding: 10px;
    line-height: 1.5;
    background: #ffffff;
    border: 1px solid #dddddd; }
  .formBox_wrap .formBox_radiogroup {
    display: flex; }
    .formBox_wrap .formBox_radiogroup .wrap {
      margin-right: 15px; }
      .formBox_wrap .formBox_radiogroup .wrap:last-of-type {
        margin-right: 0; }
    .formBox_wrap .formBox_radiogroup .formBox_radio + label {
      display: inline-block;
      position: relative;
      padding-left: 1.25em;
      cursor: pointer;
      transition: 0.2s; }
      .formBox_wrap .formBox_radiogroup .formBox_radio + label::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 1em;
        height: 1em;
        margin: auto;
        border: 1px solid #767676;
        border-radius: 50%; }
    .formBox_wrap .formBox_radiogroup .formBox_radio:focus + label::before {
      border-color: #1589ee;
      border-radius: 50%;
      box-shadow: 0 0 5px #1589ee; }
    .formBox_wrap .formBox_radiogroup .formBox_radio:checked + label::after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 4px;
      left: 4px;
      width: 0.6em;
      height: 0.6em;
      margin: auto;
      background: #0F3A8A;
      border-radius: 50%; }
  .formBox_wrap .formBox_checkgroup {
    display: flex; }
    .formBox_wrap .formBox_checkgroup .wrap {
      margin-right: 15px; }
      .formBox_wrap .formBox_checkgroup .wrap:last-of-type {
        margin-right: 0; }
    .formBox_wrap .formBox_checkgroup .formBox_check {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      border: 0;
      overflow: hidden;
      padding: 0;
      clip: rect(0, 0, 0, 0); }
      .formBox_wrap .formBox_checkgroup .formBox_check + label {
        display: inline-block;
        position: relative;
        padding-left: 1.25em;
        cursor: pointer; }
        .formBox_wrap .formBox_checkgroup .formBox_check + label::before {
          content: "";
          display: inline-block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 1em;
          height: 1em;
          margin: auto;
          border: 1px solid #767676;
          border-radius: 3px;
          background-repeat: no-repeat;
          background-size: contain; }
      .formBox_wrap .formBox_checkgroup .formBox_check:focus + label::before {
        border-color: #1589ee;
        box-shadow: 0 0 5px #1589ee; }
      .formBox_wrap .formBox_checkgroup .formBox_check:checked + label::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 4px;
        left: 4px;
        width: 0.6em;
        height: 0.6em;
        margin: auto;
        background: #0F3A8A;
        border-radius: 50%; }
  .formBox_wrap .error_wrap {
    background: #ffd6dd; }
    .formBox_wrap .error_wrap .error {
      font-size: 1.4rem;
      color: #ff5542;
      padding: 2px 5px;
      margin: 5px 0; }

.formBox_readonly {
  height: 60px;
  font-size: 2rem;
  padding-left: 10px;
  background: #ffffff; }

/* トップ================================= */
#hero {
  background: #DF5A00;
  width: 100%;
  height: 100vh;
  max-height: 850px;
  box-sizing: border-box;
  padding-top: 0;
  position: relative; }
  #hero .building {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40vw; }
  #hero .shine {
    position: absolute;
    right: 3%;
    bottom: 5%;
    animation: swingVertical1 6s ease;
    animation-iteration-count: infinite;
    width: 12vw; }
  #hero .waveBottom {
    transform: none; }
  #hero .arrow {
    z-index: 30;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px; }
@keyframes swingVertical1 {
  0% {
    transform: scale(1.2); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(1.2); } }
  #hero #hero-animation {
    width: 100%;
    height: 100vh;
    max-height: 850px; }
  #hero .logo_box {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px; }
    #hero .logo_box img {
      width: 100%;
      height: auto; }
    #hero .logo_box span {
      color: #ffffff;
      letter-spacing: 0.15em;
      position: absolute;
      right: 0;
      bottom: 0; }
  #hero .tori {
    position: absolute;
    bottom: 11.5%;
    right: 23%;
    width: 5.5vw; }

@media screen and (max-width: 1024px) {
  #hero {
    height: 75vh; }
    #hero #hero-animation {
      height: 70vh; }
    #hero .logo_box {
      width: 250px; }
    #hero span {
      font-size: 1.1rem; }
    #hero .building {
      width: 60vw; }
    #hero .shine {
      bottom: 6%;
      width: 18vw; }
    #hero .tori {
      bottom: 2%;
      width: 10.5vw; }
    #hero .arrow {
      bottom: 0;
      width: 50px;
      height: 50px; } }
@media screen and (max-width: 480px) {
  #hero .shine {
    bottom: 1%;
    width: 16vw; } }
/* 事例紹介================================= */
#event {
  position: relative;
  padding: 80px;
  /* EVENT左側 ここから------------------------ */
  /* EVENT左側 ここまで------------------------ */
  /* EVENT右側 ここから------------------------ */
  /* EVENT右側 ここまで------------------------ */ }
  #event .contents {
    overflow: hidden; }
  #event .main_box {
    background: #ffffff;
    color: #0F3A8A;
    border-radius: 40px; }
    #event .main_box .main_img {
      position: relative;
      top: -25px;
      height: 40%; }
      #event .main_box .main_img .bg {
        position: absolute;
        transform: translateX(-50%) rotate(-10deg);
        top: -15px;
        left: 50%;
        background-image: url(img/event_bg.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: 80%;
        height: 120%;
        max-height: 315px; }
      #event .main_box .main_img .main {
        width: 85%;
        max-width: 500px;
        max-height: 314px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%); }
        #event .main_box .main_img .main img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
        #event .main_box .main_img .main::before, #event .main_box .main_img .main::after {
          content: "";
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          max-width: 500px;
          max-height: 314px;
          border: 5px solid #FFF;
          z-index: 1;
          box-sizing: border-box; }
        #event .main_box .main_img .main::before {
          border: 7px solid #FFF; }
        #event .main_box .main_img .main::after {
          border: 4px solid #0F3A8A;
          top: 0; }
    #event .main_box .main_txt {
      z-index: 0;
      position: relative;
      width: 80%;
      margin: 0 auto; }
      #event .main_box .main_txt .message {
        font-size: 1.6rem;
        margin-bottom: 20px;
        min-height: 120px;
        box-sizing: border-box;
        width: 100%;
        margin-left: auto;
        margin-right: auto; }
      #event .main_box .main_txt .main_link {
        box-sizing: border-box;
        word-break: break-all;
        display: block;
        width: 100%;
        margin: 0 auto; }
      #event .main_box .main_txt .app_wrap {
        width: 100%;
        margin: 0 auto; }
        #event .main_box .main_txt .app_wrap img {
          height: 65px; }
    #event .main_box .dev_tag {
      padding: 15px 0 0;
      text-align: right;
      background: url(img/border.png) repeat-x; }
      #event .main_box .dev_tag li {
        display: inline-block;
        font-size: 1.3rem;
        background: #FF8A65;
        color: #ffffff;
        padding: 4px 10px;
        border-radius: 40px;
        margin: 0 3px; }
    #event .main_box .now::before {
      position: absolute;
      content: "";
      display: block;
      background-image: url(img/now_big.png);
      background-size: contain;
      background-repeat: no-repeat;
      width: 100px;
      height: 100px;
      z-index: 3; }
    #event .main_box .new .main_img .bg {
      background-image: url(img/event_bg_new.png); }
  #event .sub_box {
    padding: 0 20px;
    margin-top: -100px;
    z-index: 5; }
    #event .sub_box .title_s1 {
      margin: 0; }
    #event .sub_box .btn {
      margin: 0 auto; }
    #event .sub_box .evnt_list_wrap {
      color: #ffffff;
      margin-top: 30px;
      margin-bottom: 40px; }
      #event .sub_box .evnt_list_wrap .evnt_list {
        padding: 0;
        flex-wrap: wrap;
        transform: none !important;
        border-top: 1px solid #ffffff;
        border-bottom: 1px solid #ffffff;
        height: 540px;
        overflow: hidden auto; }
        #event .sub_box .evnt_list_wrap .evnt_list li {
          width: 100% !important;
          height: auto !important;
          margin: 0 !important;
          cursor: pointer; }
          #event .sub_box .evnt_list_wrap .evnt_list li.swiper-slide-thumb-active .box {
            opacity: 1; }
          #event .sub_box .evnt_list_wrap .evnt_list li:not(:last-child) {
            border-bottom: 1px solid #ffffff; }
          #event .sub_box .evnt_list_wrap .evnt_list li .box {
            opacity: 0.5;
            /* 非activeは半透明にする */
            display: flex;
            align-items: center;
            margin: 0;
            padding: 1em 60px 1em 0; }
            #event .sub_box .evnt_list_wrap .evnt_list li .box p {
              margin: 0; }
            #event .sub_box .evnt_list_wrap .evnt_list li .box .data {
              width: 25%;
              min-width: 78px;
              height: 75px;
              text-align: center; }
              #event .sub_box .evnt_list_wrap .evnt_list li .box .data .data1 {
                text-align: center;
                letter-spacing: 0.05em;
                font-weight: bold; }
              #event .sub_box .evnt_list_wrap .evnt_list li .box .data .data2 {
                font-size: 5rem;
                letter-spacing: 0.1em;
                line-height: 0.8;
                font-weight: bold; }
            #event .sub_box .evnt_list_wrap .evnt_list li .box .title {
              width: 75%; }
              #event .sub_box .evnt_list_wrap .evnt_list li .box .title .company {
                font-size: 1.4rem;
                margin: 0 0 3px; }
              #event .sub_box .evnt_list_wrap .evnt_list li .box .title .detail {
                font-size: 1.8rem;
                margin: 0; }
    #event .sub_box .now::before {
      position: absolute;
      background: #B82020;
      display: block;
      border-radius: 50%;
      content: "";
      width: 12px;
      height: 12px;
      top: calc(50% - 6px);
      right: 15px; }
    #event .sub_box .new:after {
      position: absolute;
      background: #FFF700;
      display: block;
      border-radius: 50%;
      content: "";
      width: 12px;
      height: 12px;
      top: calc(50% - 6px);
      right: 33px; }

@media screen and (min-width: 1191px) and (max-width: 1350px) {
  #event .main_box .main_txt {
    margin-top: -14%; } }
@media screen and (max-width: 1190px) {
  #event {
    padding: 20px; }
    #event .contents {
      width: 100%;
      max-width: 500px; }
    #event .sub_box {
      display: none; }
    #event .flexBox-half {
      flex-wrap: wrap; }
      #event .flexBox-half > div {
        width: 100%; }
    #event .main_box .main_img {
      top: 0;
      height: 200px; }
      #event .main_box .main_img .bg, #event .main_box .main_img .main {
        max-width: 300px; }
    #event .main_box .main_txt {
      width: 90%;
      margin-top: -10px; }
      #event .main_box .main_txt .message {
        font-size: 1.4rem;
        width: 100%;
        min-height: 100px; }
      #event .main_box .main_txt .app_wrap {
        width: 100%; }
        #event .main_box .main_txt .app_wrap a {
          display: block; }
      #event .main_box .main_txt .main_link {
        font-size: 1.2rem; } }
@media screen and (max-width: 320px) {
  #event .main_box .main_img {
    height: 160px; }

  #event .app_wrap {
    display: block; }
    #event .app_wrap img {
      display: block;
      margin: 0 auto; } }
.swiper-container {
  width: 100%;
  overflow: visible; }

/* 提供するサービス================================= */
#service {
  position: relative; }
  #service .contents-w1120 {
    padding: 200px 0; }
  #service ul.service_item {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-top: 5em; }
    #service ul.service_item li {
      width: calc(100% / 5);
      padding: 0 10px;
      text-align: center;
      color: #ffffff;
      box-sizing: border-box;
      margin-bottom: 3em; }
      #service ul.service_item li .circle {
        width: calc(100% - 20px);
        max-width: 200px;
        border-radius: 50%;
        margin: 0 auto;
        border: 10px solid #FFA465;
        background: #ffffff; }
        #service ul.service_item li .circle .in {
          width: 100%;
          padding-top: 100%;
          border-radius: 50%;
          transition: 0.2s;
          background-position: center;
          background-repeat: no-repeat; }
          #service ul.service_item li .circle .in:hover {
            opacity: 0.8; }
          #service ul.service_item li .circle .in.item-1 {
            background-image: url("img/icon-service1.svg"); }
            #service ul.service_item li .circle .in.item-1:hover {
              animation: swingVertical 1s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-2 {
            background-image: url("img/icon-service2.svg");
            background-position: 55%; }
            #service ul.service_item li .circle .in.item-2:hover {
              animation: swingHorizontal 1s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-3 {
            background-image: url("img/icon-service3.svg"); }
            #service ul.service_item li .circle .in.item-3:hover {
              animation: spinner .8s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-4 {
            background-image: url("img/icon-service4.svg"); }
            #service ul.service_item li .circle .in.item-4:hover {
              animation: swingHorizontal 1s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-5 {
            background-image: url("img/icon-service5.svg"); }
            #service ul.service_item li .circle .in.item-5:hover {
              animation: swingVertical 1s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-6 {
            background-image: url("img/icon-service6.svg");
            transition: transform .3s; }
            #service ul.service_item li .circle .in.item-6:hover {
              transform: scale(1.2); }
          #service ul.service_item li .circle .in.item-7 {
            background-image: url("img/icon-service7.svg"); }
            #service ul.service_item li .circle .in.item-7:hover {
              animation: spinner .8s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-8 {
            background-image: url("img/icon-service8.svg"); }
            #service ul.service_item li .circle .in.item-8:hover {
              animation: swingVertical 1s ease;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-9 {
            background-image: url("img/icon-service9.svg");
            background-position: 55%; }
            #service ul.service_item li .circle .in.item-9:hover {
              animation: spin 1.5s ease-in-out;
              animation-iteration-count: 1; }
          #service ul.service_item li .circle .in.item-10 {
            background-image: url("img/icon-service10.svg"); }
            #service ul.service_item li .circle .in.item-10:hover {
              animation: swingHorizontal 1s ease;
              animation-iteration-count: 1; }
@keyframes swingVertical {
  15% {
    transform: translateY(6px); }
  30% {
    transform: translateY(-6px); }
  50% {
    transform: translateY(4px); }
  65% {
    transform: translateY(-2px); }
  80% {
    transform: translateY(2px); }
  100% {
    transform: translateY(0); } }
@keyframes swingHorizontal {
  15% {
    transform: translateX(5px); }
  30% {
    transform: translateX(-5px); }
  50% {
    transform: translateX(3px); }
  65% {
    transform: translateX(-3px); }
  80% {
    transform: translateX(2px); }
  100% {
    transform: translateX(0); } }
@keyframes spinner {
  to {
    transform: rotate(360deg); } }
@keyframes spin {
  to {
    transform: rotateY(360deg); } }
@media screen and (max-width: 1200px) {
  #service ul.service_item li {
    width: calc(100% / 3); } }
@media screen and (max-width: 1024px) {
  #service ul.service_item li {
    width: calc(100% / 2); }
    #service ul.service_item li .circle .in {
      background-size: 45%; }
      #service ul.service_item li .circle .in.item-1, #service ul.service_item li .circle .in.item-8 {
        background-size: 30%; }
  #service .fnt25 {
    font-size: 1.8rem; } }
/* 技術領域================================= */
#technology {
  position: relative; }
  #technology .title_s1 {
    position: absolute; }
  #technology .technology_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin-bottom: 50px; }
    #technology .technology_list li {
      width: 48%;
      max-width: 550px;
      color: #122C5B; }
    #technology .technology_list .wrap {
      background: #ffffff;
      border-radius: 20px 25px;
      margin-bottom: 50px; }
      #technology .technology_list .wrap .head_img {
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        overflow: hidden; }
        #technology .technology_list .wrap .head_img img {
          width: 100%; }
      #technology .technology_list .wrap .main_text {
        padding: 20px 30px 30px; }
        #technology .technology_list .wrap .main_text .title {
          font-size: 2.5rem;
          margin: 0; }
        #technology .technology_list .wrap .main_text .text {
          font-size: 1.6rem;
          line-height: 1.7; }
  #technology .reflection {
    position: relative;
    overflow: hidden; }
    #technology .reflection::after {
      content: "";
      display: block;
      width: 30px;
      height: 100%;
      position: absolute;
      top: -180px;
      left: 0;
      background-color: #FFF;
      opacity: 0;
      transform: rotate(45deg);
      animation: reflect 2s ease-in-out infinite; }
@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0; }
  60% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5; }
  61% {
    transform: scale(4) rotate(45deg);
    opacity: 1; }
  80% {
    transform: scale(50) rotate(45deg);
    opacity: 0; }
  100% {
    transform: scale(0) rotate(45deg);
    opacity: 0; } }
@media screen and (max-width: 800px) {
  #technology .title_s1 {
    position: static; }
  #technology .technology_list {
    max-width: 400px;
    margin: 0 auto; }
    #technology .technology_list li {
      width: 100%; } }
/* お問い合わせ================================= */
#contact {
  padding-bottom: 35px; }
  #contact .imgBox img {
    display: block;
    width: 70%;
    max-width: 457px;
    margin: 0 auto; }
  #contact .textBox {
    text-align: center; }

@media screen and (max-width: 1024px) {
  #contact .flexBox-half {
    flex-wrap: wrap;
    flex-direction: column-reverse; }
    #contact .flexBox-half div {
      width: 100%; }
    #contact .flexBox-half .imgBox img {
      width: 55%;
      max-width: 230px;
      margin-top: -280px;
      opacity: 0.5; }
    #contact .flexBox-half .textBox {
      text-align: center;
      z-index: 2;
      font-size: 1.6rem; } }
#pageCompany .contents-note {
  margin-bottom: 100px;
  padding-bottom: 6em; }
#pageCompany .about {
  width: 75%;
  max-width: 950px;
  margin: 0 auto; }
  #pageCompany .about .title_s2 {
    padding: 2em 0;
    margin: 0; }
  #pageCompany .about .about_dl {
    display: flex;
    flex-wrap: wrap; }
    #pageCompany .about .about_dl dt, #pageCompany .about .about_dl dd {
      line-height: 1.7;
      margin: 0;
      border-top: 1px dotted #ABABAB;
      padding: 25px 0; }
    #pageCompany .about .about_dl dt {
      width: 20%;
      max-width: 154px;
      font-weight: bold;
      color: #122C5B; }
      #pageCompany .about .about_dl dt:last-of-type {
        border-bottom: 1px dotted #ABABAB; }
    #pageCompany .about .about_dl dd {
      width: 80%;
      max-width: calc(100% - 154px);
      word-break: break-all; }
      #pageCompany .about .about_dl dd:last-of-type {
        border-bottom: 1px dotted #ABABAB; }
#pageCompany .access {
  width: 75%;
  max-width: 950px;
  margin: 0 auto; }
  #pageCompany .access .office {
    margin-bottom: 5em; }
    #pageCompany .access .office .subtitle_s1 {
      margin-bottom: 0; }
    #pageCompany .access .office .address {
      font-size: 1.8rem;
      border-bottom: 1px dotted #ABABAB;
      padding: 10px 0;
      margin: 0 0 15px; }
    #pageCompany .access .office .list_s1 {
      margin-bottom: 2em;
      line-height: 2; }
    #pageCompany .access .office .map {
      position: relative;
      width: 100%;
      height: 60vh;
      border: 20px solid #E1E1E1;
      box-sizing: border-box; }
      #pageCompany .access .office .map::after {
        content: "";
        display: block;
        position: absolute;
        top: -18px;
        left: -18px;
        width: 100%;
        height: 100%;
        border: 18px solid #ffffff; }
      #pageCompany .access .office .map iframe {
        position: absolute;
        z-index: 10; }

@media screen and (max-width: 800px) {
  #pageCompany .about, #pageCompany .access {
    width: 90%; }

  #pageCompany .about .about_dl dt, #pageCompany .about .about_dl dd {
    max-width: none; } }
@media screen and (max-width: 480px) {
  #pageCompany .contents-note {
    margin-bottom: 60px;
    padding-bottom: 3em; }
  #pageCompany .title_s2 {
    padding: 1em 0; }
  #pageCompany .about .about_dl {
    margin: 0; }
    #pageCompany .about .about_dl dt, #pageCompany .about .about_dl dd {
      width: 100%;
      font-size: 1.4rem;
      padding: 10px 0; }
    #pageCompany .about .about_dl dt {
      border: none; }
    #pageCompany .about .about_dl dd {
      margin-bottom: 5px; }
  #pageCompany .access .title_s2 {
    margin: 2em 0; }
  #pageCompany .access .office .subtitle_s1 {
    font-size: 1.6rem; }
  #pageCompany .access .office .address, #pageCompany .access .office .list_s1 {
    font-size: 1.4rem; }
  #pageCompany .access .office .map {
    max-height: 350px; } }
#pageRecruit {
  /* メッセージ */
  /* 募集職種 */
  /* 募集要項 */
  /* 応募方法 */ }
  #pageRecruit .title_s2 {
    color: #ffffff; }
  #pageRecruit .message {
    position: relative;
    border: 10px solid #D05400;
    border-radius: 20px;
    color: #122C5B;
    padding: 6em 3em;
    box-sizing: border-box;
    margin-bottom: 12em; }
    #pageRecruit .message::after {
      display: block;
      position: absolute;
      bottom: -45px;
      left: calc(50% - 45px);
      content: "";
      width: 90px;
      height: 90px;
      border: 5px solid #D05400;
      border-radius: 50%;
      box-sizing: border-box;
      background: url("img/arrow_orange.svg") #FFF no-repeat center;
      animation: move-y .5s infinite alternate ease-in-out; }
    #pageRecruit .message .inner {
      width: 80%;
      max-width: 1200px;
      margin: 0 auto 20px; }
      #pageRecruit .message .inner hr {
        border: 1px dotted #ABABAB;
        border-bottom: none; }
      #pageRecruit .message .inner .fnt20 {
        line-height: 2; }
  #pageRecruit .job_dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    min-width: 684px;
    width: 90%; }
    #pageRecruit .job_dl > dt, #pageRecruit .job_dl > dd {
      line-height: 1.7;
      margin: 0;
      border-top: 1px dotted #ABABAB;
      padding: 25px 0; }
    #pageRecruit .job_dl > dt:last-of-type, #pageRecruit .job_dl > dd:last-of-type {
      border-bottom: 1px dotted #ABABAB; }
    #pageRecruit .job_dl > dt {
      width: 20%;
      max-width: 200px;
      font-weight: bold;
      color: #122C5B; }
    #pageRecruit .job_dl > dd {
      width: 80%;
      max-width: calc(100% - 200px); }
  #pageRecruit .job .card {
    background: #ffffff;
    border-radius: 20px;
    margin-bottom: 6em; }
    #pageRecruit .job .card.pg .imgBox {
      background-image: url(img/job_pg.png); }
    #pageRecruit .job .card.sales .imgBox {
      background-image: url(img/job_sales.png); }
    #pageRecruit .job .card .imgBox {
      position: relative;
      height: 40vh;
      max-height: 374px;
      border-radius: 20px 20px 0 0; }
      #pageRecruit .job .card .imgBox p {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    #pageRecruit .job .card .txtBox {
      padding: 4em 0;
      max-width: 1200px;
      margin: 0 auto; }
      #pageRecruit .job .card .txtBox .job_dl dt {
        width: 20%;
        max-width: 270px; }
      #pageRecruit .job .card .txtBox .job_dl dd {
        width: 80%;
        max-width: calc(100% - 270px); }
  #pageRecruit .requirement {
    margin-bottom: 9em; }
    #pageRecruit .requirement .job_dl {
      width: 70%;
      max-width: 950px;
      margin: 100px auto;
      min-width: 501px; }
    #pageRecruit .requirement .office_dl {
      display: flex;
      flex-wrap: wrap;
      margin: 0; }
      #pageRecruit .requirement .office_dl dt, #pageRecruit .requirement .office_dl dd {
        margin: 0 0 1em; }
      #pageRecruit .requirement .office_dl dt:last-of-type, #pageRecruit .requirement .office_dl dd:last-of-type {
        margin: 0; }
      #pageRecruit .requirement .office_dl dt {
        width: 80px;
        margin-bottom: 1em; }
        #pageRecruit .requirement .office_dl dt .label-orn {
          width: 70px;
          text-align: center;
          background: #DF5A00;
          color: #ffffff;
          font-weight: bold;
          display: block;
          padding: 4px 10px;
          font-size: 1.2rem;
          box-sizing: border-box; }
      #pageRecruit .requirement .office_dl dd {
        width: calc(100% - 80px); }
  #pageRecruit .entry .box {
    width: 100%;
    position: relative; }
    #pageRecruit .entry .box .waveBottom {
      bottom: calc(100% - 2px); }
    #pageRecruit .entry .box .building {
      position: absolute;
      bottom: 0;
      left: 5%;
      width: 21%;
      max-width: 395px;
      height: auto; }
  #pageRecruit .entry .bg-darkorange {
    padding: 2em 0 4em;
    margin-bottom: 3em; }
    #pageRecruit .entry .bg-darkorange p {
      margin: 0; }
  #pageRecruit .entry .contact_box {
    border-color: #FFC94B; }

@keyframes move-y {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(10px); } }
@media screen and (max-width: 800px) {
  #pageRecruit {
    /* 募集要項 */
    /* 応募方法 */ }
    #pageRecruit .message {
      border-radius: 10px;
      border-width: 5px;
      padding: 1em; }
      #pageRecruit .message::after {
        width: 50px;
        height: 50px;
        border-width: 4px;
        left: calc(50% - 25px);
        bottom: -25px; }
      #pageRecruit .message .inner {
        width: 100%; }
        #pageRecruit .message .inner .fnt30 {
          font-size: 1.7rem; }
        #pageRecruit .message .inner .fnt20 {
          font-size: 1.4rem; }
    #pageRecruit .title_s2 {
      margin-bottom: 50px; }
    #pageRecruit .job_dl {
      min-width: 0; }
    #pageRecruit .job .card .imgBox {
      height: 26vh; }
      #pageRecruit .job .card .imgBox p {
        width: 70%;
        max-width: 380px;
        font-size: 2rem;
        text-align: center;
        margin: 0; }
    #pageRecruit .job .card .txtBox {
      padding: 2em 1em; }
      #pageRecruit .job .card .txtBox .job_dl {
        font-size: 1.4rem; }
        #pageRecruit .job .card .txtBox .job_dl dt, #pageRecruit .job .card .txtBox .job_dl dd {
          max-width: none;
          width: 100%;
          padding: 10px 0; }
        #pageRecruit .job .card .txtBox .job_dl dt {
          border-top: none; }
        #pageRecruit .job .card .txtBox .job_dl dd {
          margin-bottom: 10px; }
        #pageRecruit .job .card .txtBox .job_dl dt:last-of-type, #pageRecruit .job .card .txtBox .job_dl dd:last-of-type {
          border-bottom: none; }
    #pageRecruit .requirement .contents-note {
      width: 100%; }
    #pageRecruit .requirement .job_dl {
      width: 90%;
      margin: 50px auto;
      font-size: 1.4rem;
      min-width: 0; }
      #pageRecruit .requirement .job_dl dt, #pageRecruit .requirement .job_dl dd {
        max-width: none;
        width: 100%;
        padding: 10px 0; }
      #pageRecruit .requirement .job_dl dt {
        border-top: none; }
      #pageRecruit .requirement .job_dl > dd {
        margin-bottom: 20px; }
      #pageRecruit .requirement .job_dl dt:last-of-type, #pageRecruit .requirement .job_dl dd:last-of-type {
        border-bottom: none; }
    #pageRecruit .requirement .office_dl dt {
      padding: 0;
      margin: 0; }
      #pageRecruit .requirement .office_dl dt .label-orn {
        font-size: 1.1rem;
        letter-spacing: 0.1em; }
    #pageRecruit .requirement .office_dl dd {
      padding-left: 1em; }
    #pageRecruit .entry .box .building {
      width: 215px;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0.8; }
    #pageRecruit .entry .box .waveBottom {
      bottom: 100%; }
    #pageRecruit .entry .bg-darkorange p {
      font-size: 1.4rem; }
    #pageRecruit .entry .contact_box {
      width: 80%;
      margin: 50px auto 6em; }
      #pageRecruit .entry .contact_box .formBox_readonly {
        font-size: 1.6rem; } }
#pageEvent .contents {
  max-width: 1200px;
  padding: 0;
  margin-bottom: 6em; }
#pageEvent .event_list {
  padding: 0; }
  #pageEvent .event_list li {
    border-top: 1px solid #ffffff;
    /* タイトル */
    /* 中身 */ }
    #pageEvent .event_list li:last-child {
      border-bottom: 1px solid #ffffff; }
    #pageEvent .event_list li .ac_title {
      align-items: center;
      cursor: pointer; }
      #pageEvent .event_list li .ac_title .date_box {
        width: 143px;
        min-height: 124px;
        text-align: center;
        padding: 22px 10px;
        box-sizing: border-box; }
        #pageEvent .event_list li .ac_title .date_box .data1 {
          font-size: 1.6rem;
          letter-spacing: 0.05em;
          font-weight: bold;
          margin: 0 0 5px; }
        #pageEvent .event_list li .ac_title .date_box .data2 {
          font-size: 5rem;
          letter-spacing: 0.1em;
          line-height: 0.8;
          font-weight: bold;
          margin: 0; }
      #pageEvent .event_list li .ac_title .title_box {
        width: 90%; }
        #pageEvent .event_list li .ac_title .title_box .company {
          font-size: 1.6rem;
          margin: 0 0 5px; }
        #pageEvent .event_list li .ac_title .title_box .detail {
          font-size: 2rem;
          font-weight: bold;
          margin: 0; }
        #pageEvent .event_list li .ac_title .title_box .new {
          color: #FFF700;
          font-size: 1.6rem;
          margin: 0 10px; }
      #pageEvent .event_list li .ac_title.open .arrow {
        transform: rotate(180deg); }
    #pageEvent .event_list li .ac_body {
      display: none;
      background: #ffffff;
      color: #122C5B;
      border-radius: 0 0 20px 20px;
      width: calc(90% - 20px);
      margin-left: auto;
      margin-bottom: 1em;
      padding: 20px 30px;
      box-sizing: border-box;
      position: relative; }
      #pageEvent .event_list li .ac_body .now {
        position: absolute;
        top: -20px;
        right: -5px; }
      #pageEvent .event_list li .ac_body .message {
        margin: 0 0 1em; }
      #pageEvent .event_list li .ac_body .app_wrap img {
        height: 65px; }
      #pageEvent .event_list li .ac_body .dev_tag {
        padding: 15px 0 0;
        text-align: right;
        background: url(img/border.png) repeat-x; }
        #pageEvent .event_list li .ac_body .dev_tag li {
          display: inline-block;
          font-size: 1.3rem;
          background: #FF8A65;
          color: #fff;
          padding: 4px 10px;
          border-radius: 40px;
          margin: 0 3px; }
#pageEvent .pagination {
  text-align: center;
  padding: 0;
  margin: 2em 0 0; }
  #pageEvent .pagination li {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #0F3A8A; }
    #pageEvent .pagination li.active {
      background: #3363BB; }
    #pageEvent .pagination li a {
      vertical-align: middle;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      text-align: center;
      display: table;
      color: #ffffff; }
      #pageEvent .pagination li a span {
        display: table-cell;
        vertical-align: middle; }

@media screen and (max-width: 1024px) {
  #pageEvent .event_list li {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
    #pageEvent .event_list li .ac_title .arrow {
      width: 30px;
      height: 30px;
      right: -10px; }
    #pageEvent .event_list li .ac_title .date_box {
      width: 90px;
      min-height: 110px; }
      #pageEvent .event_list li .ac_title .date_box .data1 {
        font-size: 1.2rem; }
      #pageEvent .event_list li .ac_title .date_box .data2 {
        font-size: 4rem; }
    #pageEvent .event_list li .ac_title .title_box {
      width: calc(100% - 130px); }
      #pageEvent .event_list li .ac_title .title_box .company {
        font-size: 1.2rem; }
      #pageEvent .event_list li .ac_title .title_box .detail {
        font-size: 1.6rem; }
      #pageEvent .event_list li .ac_title .title_box .new {
        font-size: 1.4rem;
        display: block;
        margin-left: 0; }
    #pageEvent .event_list li .ac_body {
      width: 100%;
      padding: 25px 15px 20px; }
      #pageEvent .event_list li .ac_body .now {
        width: 35px;
        height: auto; }
      #pageEvent .event_list li .ac_body .message {
        font-size: 1.4rem; }
      #pageEvent .event_list li .ac_body .main_link {
        font-size: 1.2rem; }
      #pageEvent .event_list li .ac_body .app_wrap {
        width: 100%;
        flex-wrap: wrap;
        margin-bottom: 10px; }
        #pageEvent .event_list li .ac_body .app_wrap .apple-img, #pageEvent .event_list li .ac_body .app_wrap .android-img {
          height: 55px; }
      #pageEvent .event_list li .ac_body .dev_tag li {
        font-size: 1.1rem; } }
@media screen and (max-width: 480px) {
  #pageEvent .pagination li {
    width: 45px;
    height: 45px; } }
