@charset "UTF-8";
/* Scss Document */
/*********************

疑似クラス

*********************/
/*********************

effect

*********************/
.effect_scale {
  overflow: hidden; }
  .effect_scale a {
    display: block; }
  .effect_scale:hover img {
    transition: transform 0.3s linear;
    transform: scale(1.1); }
  .effect_scale img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    transition-duration: 0.3s; }

a:hover .effect_scale img {
  transition: transform 0.3s linear;
  transform: scale(1.1); }

/*********************

ボタン系effect

*********************/
.effect_border:hover {
  color: #FFAE0E;
  background: none;
  border: 1px solid #FFAE0E;
  opacity: 1; }

.effect_bg_left {
  position: relative;
  display: block;
  z-index: 1; }
  .effect_bg_left::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #FFAE0E;
    width: 0%;
    height: 100%;
    transition: all 0.3s;
    z-index: -1; }
  .effect_bg_left:hover {
    color: #FFF;
    text-decoration: none;
    background: none;
    opacity: 1; }
    .effect_bg_left:hover::after {
      width: 100%; }

.effect_slash {
  position: relative;
  display: block;
  z-index: 1; }
  .effect_slash::after {
    content: "";
    position: absolute;
    top: 0;
    left: -20%;
    background: #FFAE0E;
    width: 0%;
    height: 100%;
    transition: all 0.3s;
    z-index: -1;
    transform: skew(45deg); }
  .effect_slash:hover {
    color: #FFF;
    text-decoration: none;
    background: none;
    opacity: 1; }
    .effect_slash:hover::after {
      width: 140%; }

.effect_border_around {
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .effect_border_around::before, .effect_border_around::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    transition: border-width 0s , 0.6s; }
  .effect_border_around::before {
    top: 0;
    left: 0;
    border-top: 0 solid #FFAE0E;
    border-left: 0 solid #FFAE0E; }
  .effect_border_around::after {
    bottom: 0px;
    right: 0px;
    border-bottom: 0 solid #FFAE0E;
    border-right: 0 solid #FFAE0E; }
  .effect_border_around:hover {
    color: #FFAE0E;
    background: none;
    opacity: 1; }
    .effect_border_around:hover::before, .effect_border_around:hover::after {
      width: 100%;
      height: 100%;
      border-color: #FFAE0E;
      border-width: 2px;
      transition: 0.6s,border-width 0s; }

.effect_border_around_bg {
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: all .3s ease-out .4s;
  -webkit-transition: all 0.3s ease-out 0.4s; }
  .effect_border_around_bg::before, .effect_border_around_bg::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    transition: 0.3s ease-out 0.8s,background-color 0.3s ease-out; }
  .effect_border_around_bg::before {
    top: 0;
    left: 0;
    border-top: 0px solid #FFAE0E;
    border-left: 0px solid #FFAE0E; }
  .effect_border_around_bg::after {
    bottom: 0;
    right: 0;
    border-bottom: 0px solid #FFAE0E;
    border-right: 0px solid #FFAE0E; }
  .effect_border_around_bg:hover {
    color: #FFF;
    background-color: none;
    opacity: 1; }
    .effect_border_around_bg:hover::before, .effect_border_around_bg:hover::after {
      width: 100%;
      height: 100%;
      border-color: #FFAE0E;
      border-width: 2px;
      background: #FFAE0E;
      transition: 0.3s ease-out,background-color 0.3s ease-out 0.8s,border-width 0s; }

.effect_drop {
  z-index: 1;
  color: #0A1127;
  transition: all .6s linear;
  -webkit-transition: all .6s linear; }
  .effect_drop::after {
    z-index: -1;
    content: '';
    position: absolute;
    transition: top .5s ease-in .5s, width .5s ease-out, height .5s ease-out;
    -webkit-transition: top .5s ease-in .5s, width .5s ease-out, height .5s ease-out;
    left: 50%;
    top: -50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #001351; }
  .effect_drop:hover {
    background: #FFAE0E;
    border: 1px solid #001351;
    color: #FFF;
    opacity: 1; }
    .effect_drop:hover::after {
      transition: top .5s ease-in, width .5s ease-out .5s, height .5s ease-out .5s;
      -webkit-transition: top .5s ease-in, width .5s ease-out .5s, height .5s ease-out .5s;
      top: 50%;
      width: 200%;
      height: 200%; }

.effect_draw {
  transition: color 0.25s;
  border: 1px solid #FFAE0E; }
  .effect_draw::before, .effect_draw::after {
    border: 2px solid transparent;
    width: 0;
    height: 0;
    content: '';
    position: absolute; }
  .effect_draw::before {
    top: 0;
    left: 0;
    transition: border-color 0s ease-out 1s, height 0.25s ease-out 0.75s, width 0.25s ease-out 1s; }
  .effect_draw::after {
    bottom: 0;
    right: 0;
    transition: border-color 0s ease-out .7s, height 0.25s ease-out 0.25s, width 0.25s ease-out 0.5s; }
  .effect_draw:hover {
    color: #FFAE0E;
    background: none;
    opacity: 1; }
    .effect_draw:hover::before, .effect_draw:hover::after {
      width: 100%;
      height: 100%; }
    .effect_draw:hover::before {
      border-top-color: #FFAE0E;
      border-right-color: #FFAE0E;
      transition: width 0.25s ease-out, height 0.25s ease-out 0.25s; }
    .effect_draw:hover::after {
      border-bottom-color: #FFAE0E;
      border-left-color: #FFAE0E;
      transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s,  height 0.25s ease-out 0.75s; }

/******************************************


アニメーション


******************************************/
[data-effect="fade_up"] {
  transform: translate(0, 25%);
  opacity: 0; }

[data-effect="fade_toRight"] {
  opacity: 0;
  transform: translate(-25%, 0); }

[data-effect="fade_toLeft"] {
  opacity: 0;
  transform: translate(25%, 0); }

.active[data-effect="fade_up"],
.active [data-effect="fade_up"],
.on[data-effect="fade_up"],
.on [data-effect="fade_up"] {
  animation: effect-fadeUp 1.5s ease 0s 1 forwards; }
.active[data-effect="fade_toRight"],
.active [data-effect="fade_toRight"],
.on[data-effect="fade_toRight"],
.on [data-effect="fade_toRight"] {
  animation: effect-toRight 1s ease 0s 1 forwards; }
.active[data-effect="fade_toLeft"],
.active [data-effect="fade_toLeft"],
.on[data-effect="fade_toLeft"],
.on [data-effect="fade_toLeft"] {
  animation: effect-toLeft 1s ease 0s 1 forwards; }
@media screen and (min-width: 769px) {
  .active [data-order="second"], .active[data-order="second"],
  .on [data-order="second"],
  .on[data-order="second"] {
    animation-delay: 0.2s; }
  .active [data-order="third"], .active[data-order="third"],
  .on [data-order="third"],
  .on[data-order="third"] {
    animation-delay: 0.4s; }
  .active [data-order="fourth"], .active[data-order="fourth"],
  .on [data-order="fourth"],
  .on[data-order="fourth"] {
    animation-delay: 0.6s; }
  .active [data-order="two_auto"]:nth-child(2n), .active[data-order="two_auto"]:nth-child(2n),
  .on [data-order="two_auto"]:nth-child(2n),
  .on[data-order="two_auto"]:nth-child(2n) {
    animation-delay: 0.2s; }
  .active [data-order="three_auto"]:nth-child(3n - 1), .active[data-order="three_auto"]:nth-child(3n - 1),
  .on [data-order="three_auto"]:nth-child(3n - 1),
  .on[data-order="three_auto"]:nth-child(3n - 1) {
    animation-delay: 0.2s; }
  .active [data-order="three_auto"]:nth-child(3n), .active[data-order="three_auto"]:nth-child(3n),
  .on [data-order="three_auto"]:nth-child(3n),
  .on[data-order="three_auto"]:nth-child(3n) {
    animation-delay: 0.4s; }
  .active [data-order="four_auto"]:nth-child(4n - 2), .active[data-order="four_auto"]:nth-child(4n - 2),
  .on [data-order="four_auto"]:nth-child(4n - 2),
  .on[data-order="four_auto"]:nth-child(4n - 2) {
    animation-delay: 0.2s; }
  .active [data-order="four_auto"]:nth-child(4n - 1), .active[data-order="four_auto"]:nth-child(4n - 1),
  .on [data-order="four_auto"]:nth-child(4n - 1),
  .on[data-order="four_auto"]:nth-child(4n - 1) {
    animation-delay: 0.4s; }
  .active [data-order="four_auto"]:nth-child(4n), .active[data-order="four_auto"]:nth-child(4n),
  .on [data-order="four_auto"]:nth-child(4n),
  .on[data-order="four_auto"]:nth-child(4n) {
    animation-delay: 0.6s; }
  .active [data-order="five_auto"]:nth-child(5n - 3), .active[data-order="five_auto"]:nth-child(5n - 3),
  .on [data-order="five_auto"]:nth-child(5n - 3),
  .on[data-order="five_auto"]:nth-child(5n - 3) {
    animation-delay: 0.2s; }
  .active [data-order="five_auto"]:nth-child(5n - 2), .active[data-order="five_auto"]:nth-child(5n - 2),
  .on [data-order="five_auto"]:nth-child(5n - 2),
  .on[data-order="five_auto"]:nth-child(5n - 2) {
    animation-delay: 0.4s; }
  .active [data-order="five_auto"]:nth-child(5n - 1), .active[data-order="five_auto"]:nth-child(5n - 1),
  .on [data-order="five_auto"]:nth-child(5n - 1),
  .on[data-order="five_auto"]:nth-child(5n - 1) {
    animation-delay: 0.6s; }
  .active [data-order="five_auto"]:nth-child(5n), .active[data-order="five_auto"]:nth-child(5n),
  .on [data-order="five_auto"]:nth-child(5n),
  .on[data-order="five_auto"]:nth-child(5n) {
    animation-delay: 0.8s; } }

@keyframes effect-toLeft {
  from {
    opacity: 0;
    transform: translate(25%, 0); }
  to {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes effect-toRight {
  from {
    opacity: 0;
    transform: translate(-25%, 0); }
  to {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes effect-fadeUp {
  from {
    opacity: 0;
    transform: translate(0, 25%); }
  to {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes effect-scaleOut {
  from {
    opacity: 1;
    transform: scale3d(1, 1, 1); }
  to {
    opacity: 0.2;
    transform: scale3d(0.8, 0.8, 0.8); } }
@keyframes effect-scale {
  from {
    opacity: 0.2;
    transform: scale3d(0.8, 0.8, 0.8); }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }
@keyframes zoomIn {
  from {
    background-size: 135% 135%; }
  to {
    background-size: 105% 105%; } }
@keyframes zoomIn02 {
  from {
    background-size: auto 135%; }
  to {
    background-size: auto 105%; } }
@keyframes clear {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes circle01 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.sub_main {
  background-image: url("../img/contact_bg.jpg");
  background-size: cover;
  background-position: center; }

/******************************************


フォームデザイン


******************************************/
form {
  max-width: 867px;
  margin: auto; }
  form .req:after {
    display: inline-block;
    padding: 3px 5px;
    color: #FFF;
    background: #FFAE0E;
    line-height: 120%;
    font-size: 0.75rem;
    margin-left: 10px;
    content: "必須"; }
  form dl {
    padding: 30px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
    border-bottom: 1px solid #CCC;
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      form dl {
        flex-wrap: nowrap;
        border: none;
        padding: 10px 0; } }
    form dl:nth-last-of-type(2) {
      border-bottom: none; }
    form dl.scroll {
      border: 1px solid #CCC;
      padding: 0;
      background: #FFF; }
      form dl.scroll dd {
        height: 150px;
        overflow-y: scroll;
        padding: 20px; }
        form dl.scroll dd > p {
          margin-bottom: 30px; }
        form dl.scroll dd > ul > li {
          margin-bottom: 30px; }
          form dl.scroll dd > ul > li div {
            margin-bottom: 15px;
            font-size: 1.125rem;
            font-weight: bold; }
          form dl.scroll dd > ul > li p {
            font-size: 0.875rem; }
            form dl.scroll dd > ul > li p + ul {
              margin-top: 10px; }
          form dl.scroll dd > ul > li ul {
            padding-left: 20px; }
          form dl.scroll dd > ul > li li {
            list-style-type: decimal;
            margin-bottom: 5px; }
    form dl dd, form dl dt {
      padding: 0 5px;
      line-height: 120%; }
      @media screen and (min-width: 769px) {
        form dl dd, form dl dt {
          padding: 15px 5px; } }
    form dl dd {
      width: 100%; }
      form dl dd span {
        display: block;
        margin-top: 5px;
        margin-bottom: 10px; }
      form dl dd p {
        margin-top: 10px; }
      form dl dd.error_area {
        position: relative; }
        form dl dd.error_area input.error {
          border: #FFAE0E solid 2px; }
        form dl dd.error_area label {
          position: relative; }
          form dl dd.error_area label:after {
            content: "!";
            width: 20px;
            height: 20px;
            top: 50%;
            transform: translateY(-50%);
            -webkit-border-radius: 50%;
            border-radius: 50%;
            background: #FFAE0E;
            color: #FFF;
            font-weight: bold;
            text-align: center;
            font-size: 0.6875rem;
            position: absolute;
            right: -2.5em; }
            @media screen and (min-width: 769px) {
              form dl dd.error_area label:after {
                right: -3em; } }
      form dl dd p.error_comment {
        font-size: 0.875rem;
        color: #FFAE0E; }
    form dl dt {
      width: 100%;
      max-width: 100%;
      font-weight: bold;
      margin-bottom: 10px; }
      @media screen and (min-width: 769px) {
        form dl dt {
          width: 240px;
          margin-bottom: 0; } }
      form dl dt + dd {
        width: 100%; }
        @media screen and (min-width: 769px) {
          form dl dt + dd {
            width: calc(100% - 240px); } }
  form .two_column {
    display: flex;
    flex-wrap: wrap; }
    form .two_column label {
      width: 47%;
      max-width: 217px; }
      form .two_column label + label {
        margin-left: 15px; }
      form .two_column label input, form .two_column label select, form .two_column label textarea {
        width: 100%; }
  form .zip label + label {
    margin-top: 10px;
    display: block; }
  form .btn {
    margin-top: 50px; }
  form textarea,
  form select,
  form input {
    font-size: 1rem; }
    @media screen and (min-width: 769px) {
      form textarea,
      form select,
      form input {
        font-size: 0.875rem; } }
  @media screen and (min-width: 769px) {
    form select,
    form input {
      max-width: 450px; } }
  @media screen and (min-width: 769px) {
    form input[type="text"].postal {
      max-width: 120px; } }
  form input[type="text"].zip01 {
    display: block; }
    @media screen and (min-width: 769px) {
      form input[type="text"].zip01 {
        max-width: 210px; } }
  form input[type="text"].zip02, form input[type="text"].zip03 {
    display: block; }
    @media screen and (min-width: 769px) {
      form input[type="text"].zip02, form input[type="text"].zip03 {
        max-width: 330px; } }
  form textarea {
    height: 200px;
    width: 100%;
    border: 1px solid #CCC;
    padding: 8px; }
    form textarea:focus {
      background: #f9fbfe; }
  form input[type="text"], form input[type="email"], form input[type="tel"], form select {
    width: 100%;
    height: 50px;
    border: 1px solid #CCC;
    font-size: 1.125rem;
    max-width: 100%;
    padding: 8px; }
    @media screen and (min-width: 769px) {
      form input[type="text"], form input[type="email"], form input[type="tel"], form select {
        max-width: 450px; } }
    form input[type="text"]:focus, form input[type="email"]:focus, form input[type="tel"]:focus, form select:focus {
      background: #f9fbfe; }
  form input[type="file"] {
    display: none; }
    form input[type="file"] + label {
      display: block;
      text-align: center;
      padding: 10px 10px;
      margin: 15px auto;
      background: #001351;
      color: #FFF;
      font-size: 0.875rem; }
      @media screen and (min-width: 769px) {
        form input[type="file"] + label {
          display: inline-block;
          padding: 3px 10px;
          margin: 0; } }
  form label[for] {
    position: relative;
    display: inline-flex;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    overflow: hidden;
    padding: 15px;
    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 140%; }
  form input[type="checkbox"],
  form input[type="radio"] {
    display: none; }
    form input[type="checkbox"] + label::before,
    form input[type="radio"] + label::before {
      display: inline-block;
      margin-right: 10px;
      content: '';
      border: 1px solid #CCC; }
    form input[type="checkbox"] + label::after,
    form input[type="radio"] + label::after {
      display: inline-block;
      position: absolute;
      top: 18px;
      content: "";
      opacity: 0; }
    form input[type="checkbox"]:checked + label::after,
    form input[type="radio"]:checked + label::after {
      opacity: 1; }
  form input[type="radio"] + label::before {
    border-radius: 50%;
    width: 20px;
    height: 20px; }
  form input[type="radio"] + label::after {
    position: absolute;
    left: 18px;
    width: 14px;
    height: 14px;
    content: '';
    background-color: #FFAE0E;
    border-radius: 50%; }
  form input[type="radio"]:checked + label::before {
    border-color: #FFAE0E;
    transition: border-color .2s ease 0.3s; }
  form input[type="radio"]:checked + label::after {
    opacity: 1;
    animation: checks-action-after 0.5s ease 0s 1 forwards; }
  form input[type="checkbox"] + label::before {
    width: 18px;
    height: 18px; }
  form input[type="checkbox"] + label::after {
    top: 17px;
    left: 23px;
    width: 11px;
    height: 22px;
    transform: translate(0, -50%) rotate(45deg) skewX(15deg); }
  form input[type="checkbox"]:checked + label::before {
    border-width: 2px;
    transition: border-width 0s ease 0.2s;
    animation: checks-action 0.5s ease 0s 1 forwards; }
  form input[type="checkbox"]:checked + label::after {
    border-right: solid 3px #FFAE0E;
    border-bottom: solid 4px #FFAE0E;
    transition: border-bottom 0s ease-in 0.3s, border-right 0s ease-out 0.4s; }
  form .datime > p {
    padding: 30px 0 15px;
    font-weight: bold;
    font-size: 0.875rem; }

.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:first-child *, .ui-datepicker .ui-datepicker-calendar th.ui-datepicker-week-end:first-child * {
  color: #f00 !important; }
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:last-child *, .ui-datepicker .ui-datepicker-calendar th.ui-datepicker-week-end:last-child * {
  color: #00f !important; }

@keyframes checks-action {
  from {
    transform: scale(1); }
  50% {
    transform: scale(0.9); }
  70% {
    transform: scale(1.2); }
  to {
    transform: scale(1); } }
@keyframes checks-action-after {
  from {
    top: 18px;
    left: 18px;
    width: 14px;
    height: 14px; }
  30% {
    top: 20px;
    left: 20px;
    width: 10px;
    height: 10px; }
  50% {
    top: 21px;
    left: 21px;
    width: 8px;
    height: 8px; }
  70% {
    top: 15px;
    left: 15px;
    width: 20px;
    height: 20px; }
  to {
    top: 18px;
    left: 18px;
    width: 14px;
    height: 14px; } }
form dl {
  border-bottom: 1px solid #CCC; }

.privacy_box > div {
  text-align: center;
  margin: 20px auto;
  background: #F4F4F4; }
.privacy_box a {
  text-decoration: underline; }
.privacy_box p.error_comment {
  font-size: 0.875rem;
  color: #FFAE0E; }

.btn {
  background: #FFAE0E;
  color: #FFF;
  max-width: 200px;
  border: 1px solid #FFAE0E; }

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