/* CSS Document */
@media screen and (min-width: 767px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 3.8vw;
  }
  .pc {
    display: none !important;
  }
  .fixedcontainer {
    width: 100%;
    max-width: 89.8666666667vw;
  }
  .body {
    font-size: 3.8vw;
  }
  .flex_part .flex_img_left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .flex_part .flex_img_right {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .sp_drag {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
  }
  .sp_drag_part {
    text-align: center;
    padding: 2vw 5px 1.5vw;
  }
  ul.sp_drag_btns {
    list-style: none;
    width: 100%;
  }
  ul.sp_drag_btns li {
    float: left;
    width: 50%;
  }
  ul.sp_drag_btns li a {
    display: block;
    width: 96%;
    display: block;
    margin: 0 auto;
  }
  ul.sp_drag_btns li a img {
    width: 100%;
    vertical-align: middle;
  }
  .top {
    margin-top: 66px;
    height: 133vw;
  }
  .top .container {
    width: 100%;
  }
  .loopSliderWrap1 {
    width: 100%;
    height: 133vw;
  }
  .loopSlider1 {
    width: 100%;
    height: 133vw;
  }
  .loopSlider1 ul {
    width: 100%;
    height: 133vw;
  }
  .loopSlider1 ul li {
    width: 100vw;
    height: 133vw;
  }
  .loopSlider1 ul li div {
    width: 100vw;
    height: 133vw;
  }
  #pc_menu2 {
    width: 100%;
    min-width: 1200px;
    margin: 0 auto;
    padding: 35px 0;
    background: #f6f6f6;
    text-align: center;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
  }
  #pc_menu2 .top_menu_link {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.4;
    font-size: 16px;
    color: #814900;
    padding: 0 30px;
    border-right: 1px solid #ccc;
  }
  #pc_menu2 .top_menu_link span {
    font-size: 22px;
    font-weight: bold;
    color: #444;
  }
  #pc_menu2 .top_menu_link:hover {
    opacity: 0.3;
  }
  #pc_menu2 .top_menu_link:last-child {
    border-right: 0px solid #ccc;
  }
  .fixedcontainer {
    width: 100vw;
  }
  figure {
    line-height: 0;
    width: 85.4vw;
    margin: 0;
  }
  figure.hover-parent {
    position: relative;
  }
  figure.hover-parent .hover-mask {
    line-height: 2;
    width: 100%;
    align-items: center;
    padding: 4vw 0;
    z-index: 10;
  }
  figure.hover-parent .hover-mask .mask_block .img_block {
    text-align: center;
    width: auto;
    height: auto;
    margin-bottom: 2vw;
  }
  figure.hover-parent .hover-mask .mask_block .img_block img {
    width: 50vw;
  }
  figure.hover-parent .hover-mask .mask_block p {
    font-size: 12px;
    padding-bottom: 0vw;
    line-height: 1.7;
  }
  figure.hover-parent .hover-mask .mask_block p.spec_close {
    position: absolute;
    top: 4vw;
    right: 4vw;
    width: 6vw;
    display: block;
  }
  figure.hover-parent .hover-mask .mask_block p a {
    cursor: pointer;
    color: #333;
    text-decoration: underline;
  }
  figure.hover-parent .hover-mask .mask_block p a:visited, figure.hover-parent .hover-mask .mask_block p a:hover {
    color: #333;
    text-decoration: underline;
  }
  figure.hover-parent .hover-mask.hover {
    visibility: visible;
    opacity: 1;
    transition: all 0.6s ease;
  }
  figure.hover-parent .plus {
    width: auto;
    text-align: left;
    font-size: 15px;
    z-index: 20;
  }
  @keyframes logo_animation {
    0% {
      transform: translate(calc(50vw - 50%), calc(50vh - 50%));
    }
    80% {
      transform: translate(calc(50vw - 50%), calc(50vh - 50%));
    }
    100% {
      transform: translate(42vw, 25vw);
    }
  }
  .inviewfadeInUp {
    opacity: 0;
    transform: translate(0, 8px);
    -webkit-transform: translate(0, 8px);
    transition: 0.6s;
  }
  .inviewfadeInUp.scroll_to_right {
    transform: translate(-50px, 8px);
    -webkit-transform: translate(-50px, 8px);
    transition: 0.6s;
  }
  .inviewfadeInUp.scroll_to_left {
    transform: translate(50px, 8px);
    -webkit-transform: translate(50px, 8px);
    transition: 0.6s;
  }
  .inviewfadeInUp.scroll_to_top {
    transform: translate(0, 50px);
    -webkit-transform: translate(0, 50px);
    transition: 0.6s;
  }
  .fadeInUp {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transition: 0.6s;
  }
  #wrapper {
    display: none;
    width: 100vw;
    overflow: hidden;
  }
  #header {
    position: fixed;
    top: 5.6vw;
    width: 100%;
    height: 19.6vw;
    z-index: 1000;
  }
  #header .header_top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 5.6vw;
  }
  #header .header_top h1 {
    background-color: white;
    border: 1px solid #002c6e;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19.6vw;
    height: 19.6vw;
  }
  #header .header_top h1 img {
    width: 10.6666666667vw;
  }
  #header .header_top a {
    width: 39.4666666667vw;
    height: 9.6vw;
    border: 1px solid #002c6e;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2vw;
    font-weight: bold;
    color: #002c6e;
  }
  #contact_sec2 {
    padding-bottom: 16vw;
  }
  #contact_sec2 .btn_wrapper input {
    margin: auto;
    width: 60vw;
    background: #3da980;
    color: white;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    outline: none;
    color: white;
    font-size: 4vw;
  }
  #contact_fv {
    padding: 33.3333333333vw 0 8vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #contact_fv h1 {
    font-size: 6.6666666667vw;
  }
  #contact_fv p {
    font-size: 3.2vw;
  }
  #sec_fv {
    height: 130.8vw;
    background: url(./../img/fv_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #sec_fv h1 {
    position: relative;
    text-align: center;
  }
  #sec_fv h1 > img {
    width: 88vw;
  }
  #sec_fv h1 span {
    position: initial;
    left: 0;
    display: block;
    text-align: center;
    width: 100%;
    height: 19.6vw;
    margin-top: 6.6666666667vw;
  }
  #sec_fv h1 span img {
    width: 19.6vw;
  }
  #sec1 {
    margin: 12.2666666667vw 0 6vw;
  }
  #sec1 p {
    text-align: center;
    font-size: 3.2vw;
    line-height: 2.2;
  }
  #sec1 .img_wrapper {
    text-align: center;
    margin: 16vw 0 6.5333333333vw;
  }
  #sec1 .img_wrapper img {
    width: 36.1333333333vw;
  }
  #sec1 h2 {
    margin-top: 6.5333333333vw;
    text-align: center;
    font-size: 5.3333333333vw;
    font-weight: normal;
  }
  #sec2 {
    background: #f4f1e6;
    padding: 12.8vw 0;
  }
  #sec2 .part1 {
    padding: 0 0;
  }
  #sec2 .part1 ul li {
    font-size: 4.5333333333vw;
    line-height: 1.5;
    padding: 5.3333333333vw 0;
    border-bottom: 2px dashed black;
    text-align: center;
    line-height: 2;
  }
  #sec2 .part1 ul li span {
    color: #f05a45;
    display: block;
  }
  #sec2 .part1 ul li:last-child {
    border-bottom: none;
  }
  #sec3 .part1 {
    text-align: center;
    padding: 11.6vw 0 8vw;
  }
  #sec3 .part1 p {
    font-size: 5.3333333333vw;
  }
  #sec3 .part1 .img_wrapper {
    margin-top: 6.9333333333vw;
  }
  #sec3 .part1 .img_wrapper img {
    width: 10.9333333333vw;
  }
  #sec3 .part2 {
    background: #eeeeee;
    padding-top: 13.0666666667vw;
  }
  #sec3 .part2 .part-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4vw;
  }
  #sec3 .part2 .part-body .block {
    max-width: 42.6666666667vw;
    width: 100%;
  }
  #sec3 .part2 .part-body .block p {
    font-size: 3.2vw;
    margin-top: 10px;
  }
  #sec3 .part2 .part-footer {
    margin-top: 12.9333333333vw;
    padding-bottom: 12.4vw;
  }
  #sec3 .part2 .part-footer .block {
    border-radius: 1.3333333333vw;
    overflow: hidden;
  }
  #sec3 .part2 .part-footer .block-header {
    background: #e22f0c;
    text-align: center;
    color: white;
    height: 10.4vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4vw;
  }
  #sec3 .part2 .part-footer .block-body {
    padding: 4vw 4vw;
    background: white;
  }
  #sec3 .part2 .part-footer .block-body p {
    font-size: 3.2vw;
    text-align: left;
  }
  #sec4 {
    background: #f5f3ea;
  }
  #sec4 .part1 {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  #sec4 .part1 .part-header {
    text-align: center;
    padding-bottom: 8vw;
  }
  #sec4 .part1 .part-header img {
    max-width: 20.8vw;
    width: 100%;
  }
  #sec4 .part1 .part-header h2 {
    font-size: 4.8vw;
    font-weight: normal;
    margin-top: 4.9333333333vw;
  }
  #sec4 .part1 .part-body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 9.2vw;
    max-width: 63.0666666667vw;
    margin: auto;
  }
  #sec4 .part1 .part-body .block {
    flex: auto;
    width: 100%;
    border: 2px solid #e33b1a;
  }
  #sec4 .part1 .part-body .block-header {
    height: 9.8666666667vw;
    align-items: center;
    justify-content: flex-start;
    display: flex;
    background-color: #e33b1a;
    font-size: 3.4666666667vw;
    color: white;
    text-align: left;
    padding-left: 4vw;
    font-weight: bold;
  }
  #sec4 .part1 .part-body .block-body {
    padding: 4vw;
  }
  #sec4 .part1 .part-body .block-body p {
    font-size: 3.4666666667vw;
    color: black;
  }
  #sec4 .part1 .part-body .block-body p.price {
    color: #e33b1a;
    font-size: 4.2666666667vw;
  }
  #sec4 .part1 .part-body .block-body ul {
    border-top: 1px solid #e33b1a;
    margin-top: 2vw;
    padding-top: 2vw;
  }
  #sec4 .part1 .part-body .block-body ul li {
    font-size: 3.4666666667vw;
    color: black;
  }
  #sec4 .part1 .part-footer {
    margin-top: 9.7333333333vw;
  }
  #sec4 .part1 .part-footer p {
    font-size: 3.2vw;
    margin-left: 0;
    text-align: center;
  }
  #sec5 h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 16vw;
    background: #002c6e;
    color: white;
    font-size: 4.9333333333vw;
    position: relative;
    font-weight: normal;
  }
  #sec5 h2::after {
    content: "";
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    bottom: 0;
    background: #002c6e;
    transform: translateX(-50%) translateY(50%) rotate(45deg);
    position: absolute;
    left: 50%;
  }
  #sec5 .part1 {
    padding: 0 0;
    padding-bottom: 2.6666666667vw;
  }
  #sec5 .part1 dl {
    display: flex;
    align-items: center;
    margin: 5.3333333333vw 0;
  }
  #sec5 .part1 dl dt {
    font-size: 3.7333333333vw;
    color: #002c6e;
    width: 17.3333333333vw;
  }
  #sec5 .part1 dl dd {
    flex: 1;
    display: flex;
    align-items: center;
    border-left: 1px solid #002c6e;
    padding-left: 4vw;
  }
  #sec5 .part1 dl dd .content {
    padding-right: 4vw;
    flex: 1;
  }
  #sec5 .part1 dl dd .content h4 {
    font-size: 3.7333333333vw;
    color: #002c6e;
    font-weight: normal;
  }
  #sec5 .part1 dl dd .content p {
    font-size: 3.2vw;
    color: #002c6e;
  }
  #sec5 .part1 dl dd .image img {
    width: 10.6666666667vw;
  }
  #sec6 h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 16vw;
    background: #ea5740;
    color: white;
    font-size: 4.9333333333vw;
    position: relative;
    font-weight: normal;
  }
  #sec6 .part1 {
    max-width: 88vw;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 60px;
  }
  #sec6 .part1 p {
    font-size: 3.2vw;
    color: #333333;
    text-align: center;
  }
  #sec6 .part1 p a {
    font-size: 4.8vw;
    color: #333333;
    margin-left: 12px;
    display: block;
  }
  #sec6 .part1 form {
    margin-top: 5.3333333333vw;
  }
  #sec6 .part1 .form-multi {
    display: flex;
    gap: 0;
    flex-direction: column;
  }
  #sec6 .part1 .form-group {
    margin-bottom: 2.6666666667vw;
    flex: 1;
  }
  #sec6 .part1 .form-group input {
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    height: 10vw;
    display: block;
    width: 100%;
    padding-left: 20px;
    font-size: 3.7333333333vw;
  }
  #sec6 .part1 .form-group textarea {
    border: 1px solid #d4d4d4;
    width: 100%;
    height: 29.3333333333vw;
    border-radius: 3px;
    padding-left: 2.6666666667vw;
    padding-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
    resize: none;
  }
  #sec6 .part1 .form-group button {
    background: #3da980;
    width: 100%;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    outline: none;
    color: white;
    font-size: 4.2666666667vw;
  }
  footer {
    width: 100%;
    left: 0;
    pointer-events: none;
    background: #eeeeee;
  }
  footer .part1 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10.4vw 0;
  }
  footer .part1 a img {
    width: 16vw;
  }
  footer .part1 p {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
    padding-left: 0;
    text-align: center;
    color: #333333;
    line-height: 1.8;
  }
  footer .part1 p a {
    color: #333;
  }
  footer .part1 p a:active, footer .part1 p a:hover {
    color: #333;
  }
  footer .part2 {
    padding-top: 30px;
    padding-bottom: 32px;
    text-align: center;
  }
  footer .part2 a {
    display: block;
    line-height: 1;
  }
  footer .part2 img {
    width: 102px;
  }
  footer .part3 {
    text-align: center;
    padding-bottom: 97px;
  }
  footer .part3 a {
    display: inline-block;
    text-align: center;
    margin: 0 12px;
  }
  footer .part3 a img {
    height: 28px;
  }
}
@media screen and (max-width: 500px) {
  .visible-500 {
    display: block;
  }
  .hidden-500 {
    display: none;
  }
}/*# sourceMappingURL=responsive.css.map */