@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  -webkit-text-size-adjust: 100%;

}

body *,
body *:before,
body *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

ul {
  list-style: none;
}

li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

address {
  font-style: normal;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  margin: 0;
}

img {
  vertical-align: top;
}

body {
  background-color: #fff;
  color: #000;
  font-family: "Noto Sans JP", -apple-system, "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-size: 100%;
  font-weight: 500;
  position: relative;
}

a,
a:link,
a:visited {
  color: #a71c45;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
          box-sizing: content-box;
     -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000;
  opacity: .8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
      filter: alpha(opacity=80);
}

#colorbox {
  outline: 0;
}

#cboxContent {
  margin-top: 32px;
  overflow: visible;
  background: #000;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  background: #000;
  padding: 1px;
}

#cboxLoadingGraphic {
  background: url(../images/loading.gif) no-repeat center center;
}

#cboxLoadingOverlay {
  background: #000;
}

#cboxTitle {
  color: #fff;
  margin-top: 10px;
  text-align: center;
  float: none !important;
}

#cboxCurrent {
  position: absolute;
  top: -22px;
  right: 205px;
  text-indent: -9999px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -20px;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
  outline: 0;
}

#cboxClose {
  padding: 10px;
  border: none;
  position: absolute;
  top: -40px;
  right: 0;
  width: 47px;
  height: 40px;
  overflow: hidden;
  background: none;
  text-indent: -9999px;
  cursor: pointer;
}
#cboxClose:before,
#cboxClose:after {
  display: block;
  position: absolute;
  top: 20px;
  left: 10px;
  width: 27px;
  height: 2px;
  content: "";
  background-color: #fff;
}
#cboxClose:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#cboxClose:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
#cboxClose:hover {
  -webkit-transition: opacity .3 ease;
          transition: opacity .3 ease;
  opacity: .7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

#cboxPrevious,
#cboxNext {
  padding: 10px;
  border: 0 none;
  display: block;
  position: absolute;
  top: 50%;
  width: 40px;
  height: 50px;
  overflow: hidden;
  background: rgba(0, 0, 0, .2);
  text-indent: -9999px;
}

#cboxPrevious:hover,
#cboxNext:hover {
  opacity: .7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

#cboxPrevious:after,
#cboxNext:after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  display: block;
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  content: "";
}

#cboxPrevious {
  border-radius: 0 5px 5px 0;
  left: 0;
}
#cboxPrevious:after {
  left: 17px;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}

#cboxNext {
  border-radius: 5px 0 0 5px;
  right: 0;
}
#cboxNext:after {
  right: 17px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

#cboxCurrent {
  display: none !important;
}

@media screen and (min-width: 768px), print {
  html {
    overflow-x: hidden;
    line-height: 1.75;
  }
  body {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
    overflow-x: hidden;
  }
  .contents-wrap {
    max-width: 1100px;
    padding: 0 10px;
    margin: 0 auto;
  }

  .inner {
    max-width: 1180px;
    padding: 0 10px;
    margin: 0 auto;
  }

  .tb,
  .sp {
    display: none !important;
  }
  a {
    text-decoration: none;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
  }
  a[href^="tel"] {
    color: #000;
    cursor: default;
    text-decoration: none;
    pointer-events: none;
  }
  a[href^="tel"]:hover {
    color: #000;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  a img {
    -webkit-transition: opacity .3s ease;
            transition: opacity .3s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  a:hover {
    color: #a71c45;
    text-decoration: underline;
  }
  a:hover img {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  }
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: #af0045;
    padding: 24px 0;
  }

  .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1280px;
  }


  #pagetop {
    display: none;
    right: 20px;
    width: 40px;
    height: 40px;
    z-index: 9997;
    overflow: hidden;
  }
  #pagetop a {
    border: 1px solid #4b2806;
    border-radius: 50%;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: #fff;
    text-decoration: none;
    text-indent: -9999px;
    -webkit-transition: all .15s ease-out 0s;
            transition: all .15s ease-out 0s;
  }
  #pagetop a:before {
    border-top: 1px solid #4b2806;
    border-right: 1px solid #4b2806;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all .15s ease-out 0s;
            transition: all .15s ease-out 0s;
  }
  #pagetop a:hover {
    background-color: #4b2806;
    border-color: #fff;
  }
  #pagetop a:hover:before {
    border-color: #fff;
    top: 46%;
  }
  .contactfollow {
    background-color: #fff;
    -webkit-box-shadow: 0 -2px 6px rgba(0, 0, 0, .16);
            box-shadow: 0 -2px 6px rgba(0, 0, 0, .16);
    padding: 17px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  .contactfollow-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contactfollow-btn {
    background-color: #a71c45;
    border-radius: 28px;
    display: block;
    font-weight: 700;
    padding: 14px 20px;
    text-align: center;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }

  .headerLinks .contactfollow-btn {
    background-color: #fff;
  }
  .contactfollow-btn-wrap {
    margin-right: 1.85185%;
    min-width: 174px;
    width: 19.44444%;
  }

  .headerLinks .contactfollow-btn-wrap {
    min-width: 210px;
  }
  .contactfollow-btn:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .contactfollow-btn,
  .contactfollow-btn:link,
  .contactfollow-btn:visited {
    color: #fff;
  }
  
  .contactfollow-btn.materials {
    background-color: #4b2806;
  }
  .fcPink {
    color: #af0045 !important;
  }
  .contactfollow-tell-wrap {
    background-color: #f8f2e9;
    border-radius: 28px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: .875rem;
    line-height: 1.285714;
    padding: 10px 2.31481%;
    text-align: center;
    width: 57.40741%;
  }

  .headerLinks .contactfollow-tell-wrap {
    background: #af0045;
    color: #fff;
    min-width: 450px;
	padding-right: 40px;
  }
  .contactfollow-tell-wrap .en {
    font-family: "Oswald", sans-serif;
    font-weight: 600;
  }
  .contactfollow-tell {
    font-size: 2rem;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
  }
  .contactfollow-tell a {
    display: block;
    padding-left: 24px;
    position: relative;
  }
  .contactfollow-tell a,
  .contactfollow-tell a:link,
  .contactfollow-tell a:visited {
    color: #a71c45;
  }

  .headerLinks .contactfollow-tell a,
  .headerLinks .contactfollow-tell a:link,
  .headerLinks .contactfollow-tell a:visited {
    color: #fff;
  }
  .contactfollow-tell a:before {
    background: url(../images/icon_tel.png) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 18px;
    height: 30px;
  }

  .headerLinks .contactfollow-tell a:before {
    background: url(../images/icon_tel_w.png) 0 0 no-repeat;
    background-size: contain;
  }
  .contactfollow-tell-sup {
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.428571;
    text-align: left;
    width: 36.84211%;
  }
  .icon-mail,
  .icon-mail-pink {
    display: inline-block;
    position: relative;
    padding-left: 35px;
  }
  .icon-mail:before {
    background: url(../images/icon_mail.png) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    width: 25px;
    height: 19px;
  }
  .icon-mail-pink:before {
    background: url(../images/icon_mail_pink.png) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    width: 25px;
    height: 19px;
  }
  .icon-materials {
    display: inline-block;
    position: relative;
    padding-left: 30px;
  }
  .icon-materials:before {
    background: url(../images/icon_materials.svg) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
    height: 24px;
  }
  .topicpath {
    font-size: .8125rem;
    padding: 25px 0;
  }
  .topicpath-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
  }
  .topicpath-list li {
    position: relative;
    margin-right: 7px;
    padding-right: 15px;
  }
  .topicpath-list li:after {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    content: "";
    display: block;
    -webkit-transform: rotate(-45deg) translateY(-50%);
            transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    right: 0;
    top: 50%;
    width: 7px;
    height: 7px;
  }
  .topicpath-list li:last-child {
    margin-right: 0;
    padding-right: 0;
  }
  .topicpath-list li:last-child:after {
    content: none;
    display: none;
  }
  .topicpath-list li a,
  .topicpath-list li a:link,
  .topicpath-list li a:visited {
    color: #000;
  }
  #footer {
    background-color: #a71c45;
    color: #fff;
    padding: 25px 0;
  }
  #footer .footer-copyright {
    font-size: .875rem;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    font-weight: 400;
  }
  #main {
    position: relative;
  }
  .col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
  }
  .col-2-pc {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .col-2-pc .col-inner {
    width: 48.14815%;
  }
  .col-3-pc {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .col-3-pc:after {
    content: "";
    display: block;
  }
  .col-3-pc:after,
  .col-3-pc .col-inner {
    width: 27.77778%;
  }
  .col-4-pc {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .col-4-pc .col-inner {
    width: 22.22222%;
  }
  .col-5-pc {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .col-5-pc .col-inner {
    width: 17.12963%;
  }
  .btn {
    border-radius: 5px;
    font-weight: 700;
    line-height: 1.466667;
    padding: 0 24px;
    position: relative;
    text-align: center;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }
  .btn:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .btn,
  .btn:link,
  .btn:visited {
    color: #fff;
  }
  .btn:after {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    z-index: 3;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    width: 5px;
    height: 5px;
  }
  .btn-color-brown {
    background-color: #4b2806;
  }
  .btn-color-red {
    background-color: #a71c45;
  }
  .btn-color-white {
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.375rem;
    line-height: 1.3;
    min-height: 70px;
    margin: 0 auto;
    padding: 15px 76px;
    width: 450px;
  }
  .btn-color-white,
  .btn-color-white:link,
  .btn-color-white:visited {
    color: #a71c45;
  }
  .btn-color-white:after {
    border-color: #a71c45;
    border-width: 2px;
    right: 20px;
    width: 7px;
    height: 7px;
  }
  .btn-anchor:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .btn-anchor-none:after {
    content: none;
    display: none;
  }
  .mv {
    
    position: relative;
    margin-top: 109px;
  }

  .mv .pagenav-inner {
    margin: 0 auto;
  }

  .mv .mvbg {
    background: url(../images/main_bg_pc.png) 50% 50% no-repeat;
    background-size: cover;
    min-height: 560px;
  }

  .mv .tit_main {
    text-align: center;
    padding-top: 4rem;
    
  }

  

  .mv-inner {
    background-color: rgba(255, 255, 255, .95);
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .mv-inner,
  .mv-inner-s {
    border-radius: 50%;
    width: 464px;
    height: 464px;
  }
  .mv-inner-s {
    overflow: hidden;
    padding: 45px 0;
  }
  .mv-title {
    margin-bottom: 25px;
  }
  .mv p {
    font-size: 1.125rem;
    font-weight: 700;
  }
  .mv p strong {
    font-size: 2rem;
    line-height: 1.25;
  }
  .mv-campaign {
    margin-top: 20px;
    line-height: 1.4;
    overflow: hidden;
    position: absolute;
    bottom: 7px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 400px;
    height: 122px;
  }
  .mv-campaign:before {
    background-color: #a71c45;
    content: "";
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 443px;
    height: 443px;
  }
  .mv-campaign a {
    color: #fff;
    font-size: 1.4375rem;
    font-weight: 700;
    display: block;
    padding: 12px 25px 48px;
    position: relative;
  }
  .mv-campaign a:hover {
    text-decoration: none;
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  }
  .mv-campaign a:after {
    content: "";
    background-image: url("../images/icon_arrow-down-circle.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 33px;
    height: 33px;
    position: absolute;
    left: 50%;
    bottom: 10px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .mv-pop {
    background-color: #a71c45;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.125rem;
    position: absolute;
    top: 56px;
    right: -57px;
    width: 154px;
    height: 154px;
  }
  .mv-pop:after {
    border-style: solid;
    border-width: 34px 14px 0 14px;
    border-color: #a71c45 transparent transparent transparent;
    content: "";
    display: block;
    position: absolute;
    bottom: 3px;
    left: 3px;
    width: 0;
    height: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .pagenav {
    padding: 45px 0 170px;
  }
  .pagenav-inner {
    max-width: 1200px;
  }
  .pagenav-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
  .pagenav-title-subtext {
    font-size: 1.125rem;
    line-height: 2.1111;
    margin: 20px 0 125px;
    text-align: center;
  }
  .pagenav-btn-menu {
    margin: 40px auto 0;
    width: 540px;
  }
  .pagenav-btn-menu a {
    background-color: #a71c45;
    border-radius: 44px;
    font-size: 1.5rem;
    font-weight: 700;
    display: block;
    padding: 10px 0;
    text-align: center;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }
  .pagenav-btn-menu a:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .pagenav-btn-menu a,
  .pagenav-btn-menu a:link,
  .pagenav-btn-menu a:visited {
    color: #fff;
  }
  .pagenav-btn-menu a span {
    display: inline-block;
    letter-spacing: .1em;
    padding-right: 52px;
    position: relative;
  }
  .pagenav-btn-menu a span:after {
    background: url(../images/nav_btn_arrow.svg) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 35px;
    height: 35px;
  }
  .pagenav-list {
    background-color: #fff;
    border-radius: 20px;
    padding: 25px 50px 35px;
    position: relative;
    z-index: 1;
  }
  .pagenav-list-wrap {
    margin-top: 85px;
  }
  .pagenav-list li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pagenav-list-text {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    margin-bottom: 10px;
    text-align: center;
  }
  .pagenav-list-text span {
    display: inline-block;
    text-align: left;
  }
  .pagenav-list-btn {
    font-size: .9375rem;
    margin-top: auto;
  }
  .pagenav-list-btn .btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    height: 70px;
  }
  .pagenav-title-sub {
    font-size: 1.375rem;
    font-weight: 700;
    position: relative;
    margin: 0 auto;
    padding: 40px 0 0 180px;
    width: 320px;
  }
  .pagenav-title-sub:before {
    background-color: #fff;
    border-radius: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 272px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .pagenav-title-sub:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
  }
  .pagenav-title-sub.admin:after {
    background: url(../images/nav_img_admin.png) 0 0 no-repeat;
    background-size: contain;
    top: -72px;
    left: 65px;
    width: 102px;
    height: 165px;
  }
  .pagenav-title-sub.employee:after {
    background: url(../images/nav_img_employee.png) 0 0 no-repeat;
    background-size: contain;
    top: -58px;
    left: 63px;
    width: 99px;
    height: 152px;
  }
  .pagenav-title-sub span {
    position: relative;
  }
  .pagenav .pagenav-acc {
    border-radius: 20px;
    padding: 40px;
    position: relative;
    z-index: 1;
  }
  .pagenav .pagenav-acc-wrap {
    margin: 60px -40px 0;
  }
  .pagenav .pagenav-acc-wrap,
  .pagenav .pagenav-acc-wrap2 {
    position: relative;
  }
  .pagenav .pagenav-acc-wrap:before,
  .pagenav .pagenav-acc-wrap:after,
  .pagenav .pagenav-acc-wrap2:before,
  .pagenav .pagenav-acc-wrap2:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
  }
  .pagenav .pagenav-acc-wrap:before {
    background: url(../images/nav_bg_admin_01.png) 0 0 no-repeat;
    top: -14px;
    left: -113px;
    width: 268px;
    height: 253px;
  }
  .pagenav .pagenav-acc-wrap:after {
    background: url(../images/nav_bg_admin_02.png) 0 0 no-repeat;
    top: -56px;
    right: -238px;
    width: 384px;
    height: 384px;
  }
  .pagenav .pagenav-acc-wrap2:before {
    background: url(../images/nav_bg_employee_01.png) 0 0 no-repeat;
    top: 410px;
    left: -244px;
    width: 443px;
    height: 443px;
  }
  .pagenav .pagenav-acc-wrap2:after {
    background: url(../images/nav_bg_employee_02.png) 0 0 no-repeat;
    top: 604px;
    right: -100px;
    width: 245px;
    height: 241px;
  }
  .pagenav .pagenav-acc-title button {
    color: #a71c45;
    font-size: 2rem;
    font-weight: 700;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin: 0 auto;
    padding-right: 40px;
    text-align: center;
  }
  .pagenav .pagenav-acc-title .acc-icon {
    border: 3px solid #a71c45;
    border-radius: 50%;
    right: 0;
  }
  .pagenav .pagenav-acc-title .acc-icon:before,
  .pagenav .pagenav-acc-title .acc-icon:after {
    background-color: #a71c45;
    width: 20px;
    height: 4px;
  }
  .pagenav,
  .pagenav:before,
  .section,
  .section:before {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
  }
  .bg-beige,
  .bg-beige:before {
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
  }
  .bg-brown {
    color: #fff;
  }
  .bg-brown,
  .bg-brown:before {
    background: #8e755d url(../images/bg_brown.png) 0 0 repeat;
  }
  .bg-red {
    background: #a71c45 url(../images/bg_campaign.png) no-repeat center/1400px;
  }
  .bg-red:before {
    background: #a71c45;
  }
  .section {
    padding: 55px 0 135px;
    position: relative;
  }
  .section:before {
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: -70px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 714px;
    height: 714px;
  }
  .section:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-header {
    margin-bottom: 50px;
  }
  .section .contents-wrap {
    position: relative;
    z-index: 1;
  }
  .section .contents-wrap:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
  }
  .section-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    position: relative;
  }

  .section-title span {
    display: block;
    font-size: 1.313rem;
  }

  .section-title i {
    display: block;
    max-width: 520px;
    margin:  0 auto 24px;
    font-size: 1.5rem;
    position: relative;
    font-style: normal;
    background: #af0045;
    border-radius: 50px;
    color: #fff;
    padding: 10px 0;
  }

  .section-title i:after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 16px solid #af0045;
    left: 50%;
    bottom: -16px;
    transform: translate(-50%,0);
  }

  .section-title-subtext {
    font-size: 1.375rem;
    margin-top: 30px;
    text-align: center;
  }
  .section-title-subtext-sup {
    font-size: 1rem;
    font-weight: 400;
    margin-top: 15px;
  }
  .section-subtitle {
    font-size: 1.375rem;
    font-weight: 700;
    margin-top: 40px;
    text-align: center;
  }
  .section-subtitle-bg {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
    border-radius: 25px;
    margin-bottom: 35px;
    padding: 6px;
  }
  .section-subtitle-subtext {
    font-size: 1.125rem;
    margin-top: 20px;
    text-align: center;
  }
  .section strong {
    color: #a71c45;
    font-weight: 700;
  }
  #menu:after {
    background: url(../images/menu_title_icon.png) 0 0 no-repeat;
    top: -28px;
    width: 62px;
    height: 56px;
  }
  #smartphone:after {
    background: url(../images/smartphone_title_icon.png) 0 0 no-repeat;
    top: -35px;
    width: 36px;
    height: 64px;
  }
  #campaign:after {
    background: url(../images/campaign_title_icon.png) 0 0 no-repeat;
    top: -40px;
    width: 75px;
    height: 63px;
  }
  #price:after {
    background: url(../images/price_title_icon.png) 0 0 no-repeat;
    top: -20px;
    width: 69px;
    height: 69px;
  }
  /*#price .contents-wrap:before {
    background: url(../images/price_bg.png) 0 0 no-repeat;
    bottom: -124px;
    left: -314px;
    width: 431px;
    height: 421px;
  }*/
  #face:after {
    background: url(../images/face_title_icon.png) 0 0 no-repeat;
    top: -16px;
    width: 89px;
    height: 51px;
  }
  #merit:after {
    background: url(../images/merit_title_icon.png) 0 0 no-repeat;
    top: -36px;
    width: 67px;
    height: 60px;
  }
  #merit .contents-wrap:before {
    background: url(../images/merit_bg.png) 0 0 no-repeat;
    bottom: -90px;
    right: -232px;
    width: 356px;
    height: 356px;
  }
  #daiohspay:after {
    background: url(../images/daiohs_pay_icon.png) 0 0 no-repeat;
    top: -32px;
    width: 74px;
    height: 75px;
  }
  #daiohspay .contents-wrap:nth-of-type(2):before {
    background: url(../images/daiohspay_bg.png) 0 0 no-repeat;
    top: -49px;
    left: -234px;
    width: 272px;
    height: 272px;
  }
  #step:after {
    background: url(../images/step_title_icon.png) 0 0 no-repeat;
    top: -17px;
    width: 92px;
    height: 54px;
  }
  #step .contents-wrap:before {
    background: url(../images/step_bg.png) 0 0 no-repeat;
    top: -19px;
    left: -233px;
    width: 316px;
    height: 316px;
  }
  #faq:after {
    background: url(../images/faq_title_icon.png) 0 0 no-repeat;
    top: -31px;
    width: 70px;
    height: 63px;
  }
  #about {
    padding-top: 13px;
  }
  #about .contents-wrap:before {
    background: url(../images/about_bg.png) 0 0 no-repeat;
    bottom: -153px;
    left: -291px;
    width: 483px;
    height: 483px;
  }
  #contact:after {
    background: url(../images/contact_title_icon.png) 0 0 no-repeat;
    top: -33px;
    width: 67px;
    height: 69px;
  }

  
  .menulist-box {
    margin-bottom: 60px;
  }
  .menulist-box-header {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
  }
  .menulist-box-shop {
    margin-right: 14px;
    width: 120px;
  }
  .menulist-box-read {
    width: 74.23077%;
  }
  .menulist-box li.col-inner {
    margin-top: 24px;
    width: 30.76923%;
  }
  .menulist-box li.col-inner a,
  .menulist-box li.col-inner a:link,
  .menulist-box li.col-inner a:visited {
    color: #000;
  }
  .menulist-box-img {
    margin-bottom: 10px;
  }
  .menulist-box-text {
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5714;
    text-align: center;
    min-height: 65px;
  }
  .menu-sup {
    font-size: .75rem;
    font-weight: 400;
    text-align: center;
  }
  .menu-sup a {
    font-weight: 500;
    text-decoration: underline;
  }
  .menu-sup a:hover {
    text-decoration: none;
  }
  .imgtextlist {
    margin-bottom: -40px;
  }
  .imgtextlist-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 40px;
  }
  .imgtextlist-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    margin-bottom: 15px;
  }
  .imgtextlist-title-icon {
    background-color: #a71c45;
    border-radius: 50%;
    color: #fff;
    font-size: .5625rem;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    line-height: 1.15;
    margin-right: 20px;
    padding: 10px;
    text-align: center;
    text-transform: uppercase;
    width: 60px;
    height: 60px;
  }
  .imgtextlist-title-icon strong {
    color: #fff;
    font-size: 1.5625rem;
  }
  .imgtextlist-title-text {
    font-weight: 700;
  }
  .imgtextlist-text {
    background-color: #fff;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    font-size: 1.125rem;
    margin-left: 18.07692%;
    padding: 30px;
    position: relative;
    top: -20px;
  }
  .imgtextlist dd {
    font-size: 1rem;
  }
  #merit .imgtextlist-box,
  #daiohspay .imgtextlist-box {
    margin-bottom: 5px;
  }
  #merit .imgtextlist-text,
  #daiohspay .imgtextlist-text {
    margin-left: 12.69231%;
    top: -35px;
  }
  #merit .imgtextlist .list-dotted,
  #daiohspay .imgtextlist .list-dotted {
    margin-top: 15px;
  }
  #campaign .section {
    padding: 60px 0 130px;
  }
  #campaign .section-header {
    margin: 0;
  }
  #campaign .campaign-btn {
    margin: 40px auto 0;
  }
  #price .price-daiohs {
     width: 57.5%;
  }
  #price .price-others {
     width: 37%;
  }

  #price .section-subtitle {
    margin-top: 20px;
  }
  .price-box {
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    padding: 25px;
    text-align: center;
    position: relative;
  }

  #price .price-daiohs:after {
    position: absolute;
    content: '';
    background: url('../images/icon_item_price.png') no-repeat;
    width: 156px;
    height: 163px;
    left: 0;
    bottom: 0;
  }
  .price-box-wrap {
    margin-top: 30px;
  }
  .price-text-free {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.375rem;
    font-weight: 700;
  }
  .price-text-free strong {
    font-size: 3.75rem;
    margin-left: 25px;
  }
  .price-daiohs-delivery {
        display: flex;
        align-items: flex-start;
  }
  .price-daiohs-delivery dt {
    border: 1px solid #000;
    display: inline-block;
    margin-top: 30px;
    padding: 2px 25px;
    margin-right: 10px;
  }
  .price-daiohs-delivery dd {
    color: #a71c45;
    font-size: 2.125rem;
    font-weight: 700;
    margin-right: 0px;
  }
  .price-daiohs-delivery dd span {
    line-height: 1;
  }
  .price-daiohs-delivery dd strong {
    font-size: 4.375rem;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    margin-right: 5px;
  }
  .price-daiohs-delivery dd .strong-l {
    font-size: 5.375rem;
  }
  #price .price-daiohs-text {
    color: #000;
    margin-left: 160px;
    text-align: left;
}
  .price-daiohs-delivery .tax-included {
    color: #000;
    font-size: .8125rem;
    font-weight: 400;
    margin-left: 5px;
  }
  .price-daiohs-text {
    font-size: .75rem;
    font-weight: 400;
  }
  .price-others {
    text-align: left;
  }
  .price-others-box {
    margin-bottom: 20px;
  }
  .price-others-box:last-child {
    margin-bottom: 0;
  }
  .price-others-text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    line-height: 1;
  }
  .price-others-text-name {
    font-size: 1.125rem;
  }
  .price-others-text-delivery {
    border: 1px solid #000;
    font-size: .8125rem;
    line-height: 1.1;
    margin: 0 20px;
    padding: 4px 5px;
  }
  .price-others-text-price {
    font-size: 1.375rem;
  }
  .price-others-text-price strong {
    color: #000;
    font-size: 2.375rem;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
  }
  .price-others-sup {
    font-size: .75rem;
    font-weight: 400;
    margin-top: 5px;
  }
  .face-grid {
    display: -ms-grid;
    display:     grid;
    -ms-grid-rows: 1fr 38px 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 38px 0;
    grid-template-areas: "grid-l grid-r-1"
    "grid-l grid-r-2";
    margin-bottom: 40px;
  }
  .face-grid .grid-inner:first-of-type {
    grid-area: grid-l;
    margin-right: 38px;
    padding: 30px;
  }
  .face-grid .grid-inner:first-of-type .face-grid-text {
    margin: 25px auto;
    max-width: 353px;
  }
  .face-grid .grid-inner:nth-of-type(2) {
    grid-area: grid-r-1;
  }
  .face-grid .grid-inner:nth-of-type(3) {
    grid-area: grid-r-2;
  }
  .face-grid .grid-inner {
    background-color: #f8f2e9;
    border-radius: 20px;
    padding: 40px;
  }
  .face-grid .grid-inner.col {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
  }
  .face-grid-icon {
    display: block;
    margin-right: 20px;
    text-align: center;
  }
  .face-grid-text {
    font-size: 1.125rem;
    font-weight: 700;
    max-width: 325px;
  }
  .text-circle:before {
    content: "●";
    color: #a71c45;
  }
  .list-dotted li {
    font-size: .9375rem;
    font-weight: 400;
    line-height: 2;
    text-indent: -.5em;
    padding-left: .5em;
  }
  .list-dotted li:before {
    content: "・";
  }
  .sup {
    font-size: .75rem;
    font-weight: 400;
  }
  .daiohspay-img-wrap {
    margin-bottom: 50px;
    position: relative;
  }
  .daiohspay-img {
    background-color: #f8f2e9;
    border-radius: 20px;
    padding: 40px 7.40741% 25px 7.40741%;
  }
  .daiohspay-img figure {
    text-align: center;
  }
  .daiohspay-img-text {
    font-size: 1.375rem;
    font-weight: 700;
    margin-top: 45px;
    text-align: center;
  }
  .daiohspay-cafelink {
    position: absolute;
    top: 41.04478%;
    left: 7.40741%;
    text-align: center;
    width: 25.55556%;
  }
  .daiohspay-cafelink a {
    font-weight: 400;
    text-decoration: underline;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }
  .daiohspay-cafelink a:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .daiohspay-cafelink a:hover {
    text-decoration: none;
  }
  .step-campaign {
    background-color: #a71c45;
    border-radius: 5px;
    color: #fff;
    font-size: 1.375rem;
    font-weight: 700;
    margin-top: 28px;
    padding: 40px 14px;
    text-align: center;
    line-height: 1.4;
  }
  .step-campaign-sub {
    font-size: 1.125rem;
  }
  .step-campaign strong {
    color: #fff;
    font-size: 1.875rem;
  }
  .step-campaign-deadline {
    font-size: 1rem;
    margin-top: 10px;
    text-align: center;
    font-weight: 400;
  }
  .step-campaign .campaign-btn {
    margin-top: 20px;
  }
  .faq-q {
    background-color: #f8f2e9;
    border-radius: 5px;
    padding: 15px 15px 15px 100px;
    position: relative;
  }
  .faq-q:before {
    background: url(../images/faq_icon_question.png) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 13px;
    left: 28px;
    width: 30px;
    height: 30px;
  }
  .faq-a {
    padding: 15px 15px 15px 100px;
    position: relative;
  }
  .faq-a:before {
    background: url(../images/faq_icon_answer.png) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    left: 28px;
    width: 30px;
    height: 30px;
  }
  .about {
    font-size: .9375rem;
    margin: 0 auto;
    max-width: 930px;
  }
  .about-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    line-height: 2.133333;
  }
  .about-list-title {
    font-weight: 700;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .about-list-text {
    font-weight: 400;
  }
  .about-list .about-list-title {
    width: 135px;
  }
  .business-detail dt {
    font-weight: 500;
    margin-top: 10px;
  }
  .business-detail dt:first-of-type {
    margin-top: 0;
  }
  .contact-form {
    border-top: #fff solid 1px;
    width: 892px;
    margin: 0 auto;
  }
  .contact-form-txt {
    text-align: center;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 400;
    margin-top: 20px;
  }
  .contact-form-txt.sup {
    margin-top: 10px;
    font-size: 1rem;
  }
  .contact-form table {
    width: 100%;
  }
  .contact-form table th,
  .contact-form table td {
    font-size: .9375rem;
    font-weight: 400;
    color: #fff;
    padding: 30px 0;
    border-bottom: #fff solid 1px;
    text-align: left;
  }
  .contact-form table th {
    width: 150px;
    vertical-align: top;
    line-height: 1;
    padding-top: 44px;
  }
  .contact-form table th.bikou {
    vertical-align: top;
  }
  .contact-form table td {
    height: 110px;
    vertical-align: middle;
  }
  .contact-form table td .td-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  body.formrun-system-confirm .contact-form table td .td-box[data-formrun-hide-if-confirm] {
    display: none;
  }
  .contact-form table td .confirm-preview-textarea {
    white-space: pre-wrap;
  }
  .contact-form table td .prefecture-box {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .contact-form table td .require {
    font-size: .75rem;
    margin-right: 10px;
  }
  .contact-form table td .text-danger {
    width: 100%;
    color: #f00;
    margin-top: 5px;
    margin-left: 36px;
  }
  .contact-form table td .form-control-danger,
  .contact-form table td .formrun-has-error {
    border: 1px solid #a71c45;
  }
  .contact-form table td input,
  .contact-form table td select {
    border: none;
    border-radius: 0;
  }
  .contact-form table td input[type="text"],
  .contact-form table td input[type="password"],
  .contact-form table td input[type="number"],
  .contact-form table td input[type="email"] {
    width: 95%;
    height: 40px;
    padding: 5px 8px;
  }
  .contact-form table td textarea {
    width: 100% !important;
    margin-left: 25px;
    padding: 8px;
    font-family: "Noto Sans JP", -apple-system, "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  }
  .contact-form table td .detail-box {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
    vertical-align: middle;
  }
  .contact-form table td .detail-box label {
    display: block;
    font-size: .875rem;
    font-weight: 400;
    margin-top: 25px;
  }
  .contact-form table td .detail-box label input {
    margin: 0 5px 0 0;
  }
  .contact-form table td .detail-box .require {
    margin-top: 10px;
  }
  .contact-form table td .detail-box .radio {
    margin-left: 20px;
  }
  .contact-form table td .detail-box .radio .radio-box:first-of-type label {
    margin-top: 10px;
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"] {
    position: absolute;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"] + .radio-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid gray;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    position: relative;
    top: -.15em;
    margin-right: .5em;
    vertical-align: top;
    cursor: pointer;
    vertical-align: middle;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"]:checked + .radio-label:before {
    background-color: #303035;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
  }
  .contact-form table td .detail-box .detail-velue {
    display: inline-block;
    font-size: .9375rem;
    width: 105px;
  }
  .contact-form table td .staff-box {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
    vertical-align: middle;
  }
  .contact-form table td .staff-box label {
    display: block;
    font-size: .9375rem;
    font-weight: 400;
    margin-right: 30px;
  }
  .contact-form table td .staff-box label input {
    margin: 0 5px 0 0;
  }
  .contact-form table td .staff-box .require {
    line-height: 3.2;
  }
  .contact-form table td .staff-box .radio {
    margin-left: 20px;
    height: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"] {
    position: absolute;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"] + .radio-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid gray;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    position: relative;
    top: -.15em;
    margin-right: .5em;
    vertical-align: top;
    cursor: pointer;
    vertical-align: middle;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"]:checked + .radio-label:before {
    background-color: #303035;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
  }
  .contact-form table td.contact-form-select select {
    width: 222px;
    height: 40px;
    padding: 0 20px;
  }
  .contact-form .action-buttons {
    margin-top: 50px;
    text-align: center;
  }
  .contact-form .action-buttons .bt-send {
    width: 334px;
    padding: 25px;
    display: block;
  }


  .contact-form .action-buttons .bt-back {
    width: 25%;
    padding: 15px;
    margin-top: 40px;
  }
  .contact-form .action-buttons button {
    margin: 0 5px;
    border: none;
    -webkit-appearance: none;
    outline: none;
    color: #fff;
    text-shadow: none;
    cursor: pointer;
    font-size: 1rem;
    margin: 0 auto;
  }
  .js-effect-view {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  .js-effect-view.js-effect-view-on {
    -webkit-animation: bound 1s ease-in;
            animation: bound 1s ease-in;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .section.js-effect-fade:after {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .section.js-effect-fade.js-effect-scroll:after {
    -webkit-animation: slideIn 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
            animation: slideIn 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
  }
  #about.js-effect-fade .section-title img {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  #about.js-effect-fade.js-effect-scroll .section-title img {
    -webkit-animation: slideIn_position0 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
            animation: slideIn_position0 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
  }
  #price .price-box .js-effect-fade {
    display: inline-block;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  #price .price-box .js-effect-fade.js-effect-scroll {
    -webkit-animation: slideIn_position0 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
            animation: slideIn_position0 1s cubic-bezier(.25, 1, .5, 1) 1 forwards;
  }
  .showThanksModal {
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    position: fixed;
    top: 0;
  }
  .showThanksModal .modal {
    visibility: visible;
  }
  .showThanksModal .modal-box {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .showThanksModal .modal-box-wrap {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .modal {
    visibility: hidden;
  }
  .modal-box {
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, .9);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all .25s ease-out 0s;
            transition: all .25s ease-out 0s;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .modal-box-wrap {
    background: #fff;
    border-radius: 20px;
    max-width: 1020px;
    width: 90%;
    padding: 30px 80px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    -webkit-transition: opacity .75s linear .2s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, transform 1s cubic-bezier(.4, .01, 0, .96) 0s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
  }
  .modal-logo {
    margin-bottom: 70px;
    text-align: center;
  }
  .modal-title {
    margin-bottom: 40px;
    font-size: 1.375rem;
    font-weight: 700;
  }
  .modal-txt {
    font-size: 1rem;
    font-weight: 400;
  }
  .modal .sup {
    text-indent: -1em;
    padding-left: 1em;
  }
  .modal-bt-link {
    font-size: 1rem;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 70px;
  }
  .modal-bt-link a {
    color: #a71c45;
    display: inline-block;
    position: relative;
  }
  .modal-bt-link a:after {
    content: "　";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #a71c45;
    -webkit-transition: all .3s ease 0s;
            transition: all .3s ease 0s;
  }
  .modal-bt-link a span {
    display: inline-block;
    position: relative;
    right: 0;
    -webkit-transition: all .3s ease 0s;
            transition: all .3s ease 0s;
  }
  .modal-bt-link a:hover {
    text-decoration: none;
  }
  .modal-bt-link a:hover span {
    right: -10px;
  }
  .modal-bt-link a:hover:after {
    width: calc(100% + 10px);
  }
  .modal-bt-close {
    width: 180px;
    display: block;
    padding: 8px;
    background: #a71c45;
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: 25px;
    text-align: center;
    color: #fff;
    margin: 0 auto;
    -webkit-transition: all .15s ease-out 0s;
            transition: all .15s ease-out 0s;
    cursor: pointer;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }
  .modal-bt-close:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .js-acc-contents {
    display: none;
  }
  .js-acc-btn {
    display: block;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    position: relative;
    -webkit-transition: .3s opacity ease-in;
            transition: .3s opacity ease-in;
  }
  .js-acc-btn:hover {
    text-decoration: none;
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
  .js-acc-btn .acc-icon {
    border: 1px solid #a71c45;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 40px;
    height: 40px;
  }
  .js-acc-btn .acc-icon:before,
  .js-acc-btn .acc-icon:after {
    background-color: #a71c45;
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: .3s all ease-out;
            transition: .3s all ease-out;
    width: 20px;
    height: 2px;
  }
  .js-acc-btn .acc-icon:after {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
            transform: translate(-50%, -50%) rotate(-90deg);
  }
  .js-acc-btn.open .acc-icon:after {
    -webkit-transform: translate(-50%, -50%) rotate(-180deg);
            transform: translate(-50%, -50%) rotate(-180deg);
  }
  #meal-thanks {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    min-height: 100vh;
    background: #fff;
  }
  #meal-thanks main {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #meal-thanks a {
    text-decoration: none;
  }
  #meal-thanks section {
    padding: 80px 0 72px;
  }
  #meal-thanks ul,
  #meal-thanks li {
    list-style: none;
  }
  #meal-thanks header {
    text-align: center;
    border-bottom: solid 1px #a71c45;
  }
  #meal-thanks header p {
    padding: 30px 0;
    width: 150px;
    margin: auto;
  }
  #meal-thanks .contents-wrap {
    max-width: 1100px;
    padding: 0 10px;
    margin: auto;
    text-align: center;
  }
  #meal-thanks h1 {
    font-size: 1.5rem;
  }
  #meal-thanks .sup {
    font-size: 1rem;
    margin-top: 40px;
    font-weight: 400;
  }
  #meal-thanks .sup + .sup {
    margin-top: 0;
  }
  #meal-thanks .btn-to-meal {
    display: block;
    color: #fff;
    background-color: #a71c45;
    width: 300px;
    padding: 10px;
    border-radius: 30px;
    margin: auto;
  }
  #meal-thanks .btn-to-meal:hover {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  }
}

@media screen and (min-width: 768px), print {
  .face-grid .grid-inner:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .face-grid .grid-inner:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .face-grid .grid-inner:nth-of-type(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

@media screen and (min-width: 768px) and (max-width: 1090px) {
  .tbsp {
    display: block !important;
  }
  .contactfollow-tell-wrap {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
  }
  .contactfollow-tell-wrap .contactfollow-tell {
    font-size: 2.93578vw;
    margin: 0 .91743vw;
  }
  #contactfollow .contactfollow-tell-sup.tb-none {
    display: none;
  }
  #contactfollow .contactfollow-tell-sup {
    margin-top: 10px;
    text-align: center;
    width: auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  .tb {
    display: block !important;
  }
  .inner-pc {
    margin-left: 10px;
    margin-right: 10px;
  }
  .tb-none {
    display: none;
  }
  .price-others-text-delivery {
    margin: 0 10px;
  }
  .daiohspay-cafelink {
    font-size: 1.48148vw;
  }
  .menulist {
    display: block;
  }
  .menulist .menulist-box {
    width: auto;
  }
  .contact-form {
    width: 100%;
  }
  .contact-form table th {
    padding-top: 40px;
  }
  .contact-form table td .require {
    margin-right: 0;
    width: 40px;
  }
  .contact-form table td .text-danger {
    width: 92%;
    margin-left: 49px;
  }
  .contact-form table td input[type="text"],
  .contact-form table td input[type="password"],
  .contact-form table td input[type="number"],
  .contact-form table td input[type="email"] {
    width: 92%;
  }
  .contact-form table td textarea {
    width: 92%;
    margin-left: 45px;
  }
  .contact-form table td.contact-form-select select {
    margin-left: 19px;
  }
  .contact-form .action-buttons {
    text-align: center;
  }
  .contact-form .action-buttons .bt-send {
    width: 400px;
    padding: 25px;
    display: block;
  }
  .contact-form .action-buttons .bt-back {
    width: 25%;
    padding: 15px;
    margin-top: 40px;
  }
  .contact-form .action-buttons button {
    margin: 0 5px;
    border: none;
    -webkit-appearance: none;
    outline: none;
    color: #fff;
    text-shadow: none;
    cursor: pointer;
    font-size: 1rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  html,
  body {
    overflow-x: hidden;
  }
  body {
    font-size: 3.73333vw;
    line-height: 1.9285;
  }
  main a[href^="tel"] {
    color: #000;
    text-decoration: none;
  }
  main a[href$=".pdf"]:after {
    background: url(../images/icon_pdf.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: "";
    display: inline-block;
    margin-left: 1.86667vw;
    margin-bottom: -.8vw;
    width: 3.06667vw;
    height: 4vw;
  }
  .contents-wrap {
    padding-left: 5.73333vw !important;
    padding-right: 5.73333vw !important;
  }
  .contents-wrap.sp-contents-none {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pc,
  .tb {
    display: none !important;
  }
  #header {
    position: absolute;
    top: 4.88vw;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  #header .header-logo {
    width: 26.26667vw;
  }
  #pagetop {
    display: none;
    right: 2.13333vw;
    width: 10.66667vw;
    height: 10.66667vw;
    z-index: 9997;
    overflow: hidden;
  }
  #pagetop a {
    border: 1px solid #4b2806;
    border-radius: 50%;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: #fff;
    text-decoration: none;
    text-indent: -9999px;
    -webkit-transition: background-color .3s ease;
            transition: background-color .3s ease;
  }
  #pagetop a:before {
    border-top: 1px solid #4b2806;
    border-right: 1px solid #4b2806;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 1.33333vw;
    height: 1.33333vw;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  #contactfollow .contents-wrap {
    padding-left: 3.46667vw !important;
    padding-right: 3.46667vw !important;
  }
  .contactfollow {
    background-color: #fff;
    -webkit-box-shadow: 0 -2px 6px rgba(0, 0, 0, .16);
            box-shadow: 0 -2px 6px rgba(0, 0, 0, .16);
    padding: 4.26667vw 0 4vw;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  .contactfollow-inner {
    display: -ms-grid;
    display:     grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: 1fr 4vw 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4vw 4vw;
    grid-template-areas: "btn-1 btn-2"
    "tell tell";
    width: 100%;
    height: 100%;
  }
  .contactfollow-inner .contactfollow-btn-wrap:first-of-type {
    grid-area: btn-1;
  }
  .contactfollow-inner .contactfollow-btn-wrap:nth-of-type(2) {
    grid-area: btn-2;
  }
  .contactfollow-inner .contactfollow-tell-wrap {
    grid-area: tell;
  }
  .contactfollow-btn {
    background-color: #a71c45;
    border-radius: 5.33333vw;
    display: block;
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1.166667;
    padding: 3.33333vw 0;
    text-align: center;
  }
  .contactfollow-btn,
  .contactfollow-btn:link,
  .contactfollow-btn:visited {
    color: #fff;
  }
  .contactfollow-btn.materials {
    background-color: #4b2806;
  }
  .contactfollow-tell-wrap {
    background-color: #f8f2e9;
    border-radius: 28px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 2.93333vw;
    line-height: 1.25;
    padding: 1.06667vw 2.13333vw 1.06667vw 2.13333vw;
    text-align: center;
  }
  .contactfollow-tell-wrap .en {
    font-family: "Oswald", sans-serif;
    font-weight: 600;
  }
  .contactfollow-tell {
    font-size: 6.66667vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    line-height: 1;
    margin: 0 1.6vw;
  }
  .contactfollow-tell a {
    display: block;
    padding-left: 4.8vw;
    position: relative;
  }
  .contactfollow-tell a,
  .contactfollow-tell a:link,
  .contactfollow-tell a:visited {
    color: #a71c45;
  }
  .contactfollow-tell a:before {
    background: url(../images/icon_tel.png) center left no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3.73333vw;
    height: 6.66667vw;
  }
  .contactfollow-tell-sup {
    font-size: 2.4vw;
    font-weight: 400;
    line-height: 1.444444;
    margin-top: 1.33333vw;
    text-align: center;
  }
  .icon-mail {
    display: inline-block;
    position: relative;
    padding-left: 7.46667vw;
  }
  .icon-mail:before {
    background: url(../images/icon_mail.png) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 4.8vw;
    height: 3.46667vw;
  }
  .icon-materials {
    display: inline-block;
    position: relative;
    padding-left: 7.46667vw;
  }
  .icon-materials:before {
    background: url(../images/icon_materials.svg) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 4.8vw;
    height: 6.4vw;
  }
  .topicpath {
    font-size: 2.93333vw;
    padding: 6.66667vw 0;
  }
  .topicpath-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
  }
  .topicpath-list li {
    position: relative;
    margin-right: 1.86667vw;
    padding-right: 4vw;
  }
  .topicpath-list li:after {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    content: "";
    display: block;
    -webkit-transform: rotate(-45deg) translateY(-50%);
            transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    right: 0;
    top: 50%;
    width: 1.86667vw;
    height: 1.86667vw;
  }
  .topicpath-list li:last-child {
    margin-right: 0;
    padding-right: 0;
  }
  .topicpath-list li:last-child:after {
    content: none;
    display: none;
  }
  .topicpath-list li a,
  .topicpath-list li a:link,
  .topicpath-list li a:visited {
    color: #000;
  }
  #footer {
    background-color: #a71c45;
    color: #fff;
    padding: 6.66667vw 0;
  }
  #footer .footer-copyright {
    font-size: 3.2vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    font-weight: 400;
    text-align: center;
  }
  #main {
    position: relative;
  }
  .col-2-sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .col-2-sp .col-inner {
    width: 41.6vw;
  }
  .btn {
    border-radius: 1.33333vw;
    display: block;
    font-weight: 700;
    line-height: 1.466667;
    padding: 3.73333vw 5.33333vw;
    position: relative;
    text-align: center;
  }
  .btn,
  .btn:link,
  .btn:visited {
    color: #fff;
  }
  .btn:after {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 47%;
    right: 2.66667vw;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    width: 1.33333vw;
    height: 1.33333vw;
  }
  .btn-color-brown {
    background-color: #4b2806;
  }
  .btn-color-red {
    background-color: #a71c45;
  }
  .btn-color-white {
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 4.8vw;
    line-height: 1.3;
    margin: 0 auto;
    padding: 5.06667vw 13.6vw 5.06667vw 9.86667vw;
  }
  .btn-color-white,
  .btn-color-white:link,
  .btn-color-white:visited {
    color: #a71c45;
  }
  .btn-color-white:after {
    border-color: #a71c45;
    border-width: 2px;
    right: 5.33333vw;
    width: 1.86667vw;
    height: 1.86667vw;
  }
  .btn-anchor:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .btn-anchor-none:after {
    content: none;
    display: none;
  }
  .mv {
    background: url(../images/main_bg_sp.png) 50% 50% no-repeat;
    background-size: cover;
    min-height: 133.33333vw;
    position: relative;
  }
  .mv-inner {
    background-color: rgba(255, 255, 255, .95);
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .mv-inner,
  .mv-inner-s {
    border-radius: 50%;
    width: 89.6vw;
    height: 89.6vw;
  }
  .mv-inner-s {
    overflow: hidden;
    padding: 7.46667vw 0;
  }
  .mv-title {
    margin-bottom: 4vw;
  }
  .mv-title img {
    width: 40.53333vw;
  }
  .mv p {
    font-size: 3.73333vw;
    font-weight: 700;
  }
  .mv p strong {
    font-size: 8vw;
    line-height: 1.25;
  }
  .mv .mv-text-strong {
    margin-top: .8vw;
  }
  .mv .mv-text-strong strong {
    line-height: 1.0;
  }
  .mv-campaign {
    margin-top: 2.66667vw;
    line-height: 1.3;
    overflow: hidden;
    position: absolute;
    bottom: 7px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 78.93333vw;
    height: 25.33333vw;
  }
  .mv-campaign:before {
    background-color: #a71c45;
    content: "";
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 86.93333vw;
    height: 86.93333vw;
  }
  .mv-campaign a {
    color: #fff;
    font-size: 4.8vw;
    display: block;
    padding: 2.13333vw 2.66667vw 10.66667vw;
    position: relative;
  }
  .mv-campaign a:after {
    content: "";
    background-image: url("../images/icon_arrow-down-circle.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 8.8vw;
    height: 8.8vw;
    position: absolute;
    left: 50%;
    bottom: 1.46667vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .mv-pop {
    background-color: #a71c45;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    line-height: 1.363636;
    position: absolute;
    top: 5.33333vw;
    right: -3.2vw;
    width: 25.6vw;
    height: 25.6vw;
  }
  .mv-pop p {
    font-size: 3.2vw;
  }
  .mv-pop:after {
    border-style: solid;
    border-width: 5.33333vw 2.13333vw 0 2.13333vw;
    border-color: #a71c45 transparent transparent transparent;
    content: "";
    display: block;
    position: absolute;
    bottom: .8vw;
    left: 2.13333vw;
    width: 0;
    height: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .pagenav {
    padding: 12vw 0 37.33333vw;
  }
  .pagenav-title {
    font-size: 5.33333vw;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
  }
  .pagenav-title-subtext {
    font-size: 4vw;
    line-height: 1.866667;
    margin: 5.33333vw 0 14.66667vw;
  }
  .pagenav-btn-menu {
    margin-top: 4.8vw;
    position: relative;
    z-index: 1;
  }
  .pagenav-btn-menu a {
    background-color: #a71c45;
    border-radius: 5.33333vw;
    font-size: 4.26667vw;
    font-weight: 700;
    display: block;
    padding: 1.33333vw 0;
    text-align: center;
  }
  .pagenav-btn-menu a,
  .pagenav-btn-menu a:link,
  .pagenav-btn-menu a:visited {
    color: #fff;
  }
  .pagenav-btn-menu a span {
    display: inline-block;
    letter-spacing: .1em;
    padding-right: 7.73333vw;
    position: relative;
  }
  .pagenav-btn-menu a span:after {
    background: url(../images/nav_btn_arrow.svg) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 6.13333vw;
    height: 6.13333vw;
  }
  .pagenav-list {
    background-color: #fff;
    border-radius: 5.33333vw;
    padding: 6.66667vw 6.4vw 8vw;
    position: relative;
    z-index: 1;
  }
  .pagenav-list-wrap {
    margin-top: 17.06667vw;
  }
  .pagenav-list li {
    margin-bottom: 5.33333vw;
  }
  .pagenav-list li:last-child {
    margin-bottom: 0;
  }
  .pagenav-list-text {
    margin-bottom: 2.66667vw;
  }
  .pagenav-list-btn {
    font-size: 4vw;
    margin-top: auto;
  }
  .pagenav-title-sub {
    font-size: 4.8vw;
    font-weight: 700;
    position: relative;
    margin: 0 auto;
    padding: 8vw 0 0 32vw;
    width: 66.13333vw;
  }
  .pagenav-title-sub:before {
    background-color: #fff;
    border-radius: 50%;
    content: "";
    display: block;
    width: 100%;
    height: 63.46667vw;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .pagenav-title-sub:after {
    content: "";
    display: block;
    height: 30.66667vw;
    position: absolute;
    z-index: 2;
  }
  .pagenav-title-sub.admin {
    margin-top: 16.53333vw;
  }
  .pagenav-title-sub.admin:after {
    background: url(../images/nav_img_admin.png) 0 0 no-repeat;
    background-size: contain;
    top: -11.2vw;
    left: 11.73333vw;
    width: 18.66667vw;
  }
  .pagenav-title-sub.employee:after {
    background: url(../images/nav_img_employee.png) 0 0 no-repeat;
    background-size: contain;
    top: -10.66667vw;
    left: 10.66667vw;
    width: 19.46667vw;
  }
  .pagenav-title-sub span {
    position: relative;
  }
  .pagenav .pagenav-acc {
    border-radius: 5.33333vw;
    padding: 4.8vw 2.66667vw 2.66667vw;
    position: relative;
    z-index: 1;
  }
  .pagenav .pagenav-acc-wrap {
    margin-top: 10.66667vw;
  }
  .pagenav .pagenav-acc-wrap,
  .pagenav .pagenav-acc-wrap2 {
    position: relative;
  }
  .pagenav .pagenav-acc-wrap:before,
  .pagenav .pagenav-acc-wrap:after,
  .pagenav .pagenav-acc-wrap2:before,
  .pagenav .pagenav-acc-wrap2:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
  }
  .pagenav .pagenav-acc-wrap:before {
    background: url(../images/nav_bg_admin_01.png) 0 0 no-repeat;
    background-size: contain;
    top: 160.8vw;
    left: -14.4vw;
    width: 32.53333vw;
    height: 30.66667vw;
  }
  .pagenav .pagenav-acc-wrap:after {
    background: url(../images/nav_bg_admin_02.png) 0 0 no-repeat;
    background-size: contain;
    top: -14.13333vw;
    right: -17.86667vw;
    width: 43.73333vw;
    height: 43.73333vw;
  }
  .pagenav .pagenav-acc-wrap2:before {
    background: url(../images/nav_bg_employee_01.png) 0 0 no-repeat;
    background-size: contain;
    top: 332.53333vw;
    left: -18.13333vw;
    width: 53.33333vw;
    height: 53.33333vw;
  }
  .pagenav .pagenav-acc-wrap2:after {
    background: url(../images/nav_bg_employee_02.png) 0 0 no-repeat;
    background-size: contain;
    top: 160.8vw;
    right: -14.4vw;
    width: 29.33333vw;
    height: 29.33333vw;
  }
  .pagenav .pagenav-acc-title {
    padding-bottom: 2.13333vw;
  }
  .pagenav .pagenav-acc-title button {
    color: #a71c45;
    font-size: 4.8vw;
    font-weight: 700;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin: 0 auto;
    padding-right: 7.73333vw;
    text-align: center;
  }
  .pagenav .pagenav-acc-title .acc-icon {
    border: 2px solid #a71c45;
    border-radius: 50%;
    right: 0;
  }
  .pagenav .pagenav-acc-title .acc-icon:before,
  .pagenav .pagenav-acc-title .acc-icon:after {
    background-color: #a71c45;
    width: 3.2vw;
    height: 2px;
  }
  .pagenav,
  .pagenav:before,
  .section,
  .section:before {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
  }
  .bg-beige,
  .bg-beige:before {
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
  }
  .bg-brown {
    color: #fff;
  }
  .bg-brown,
  .bg-brown:before {
    background: #8e755d url(../images/bg_brown.png) 0 0 repeat;
  }
  .bg-red,
  .bg-red:before {
    background: #a71c45;
  }
  .section {
    padding: 6.66667vw 0 32vw;
    position: relative;
  }
  .section:before {
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: -13.33333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 99.2vw;
    height: 99.2vw;
  }
  .section:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-header {
    margin-bottom: 6.66667vw;
  }
  .section .contents-wrap {
    position: relative;
    z-index: 1;
  }
  .section .contents-wrap:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
  }
  .section-title {
    font-size: 5.33333vw;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    position: relative;
  }
  .section-title-subtext {
    font-size: 3.6vw;
    margin-top: 6.66667vw;
  }
  .section-title-subtext-sup {
    font-size: 12px;
    font-weight: 400;
    margin-top: 2.66667vw;
  }
  .section-subtitle {
    font-size: 4.8vw;
    font-weight: 700;
    margin-top: 8vw;
    text-align: center;
  }
  .section-subtitle-bg {
    background-color: #f8f2e9;
    border-radius: 5.33333vw;
    margin-bottom: 8vw;
    padding: 1.86667vw;
  }
  .section-subtitle-subtext {
    font-size: 4vw;
    margin-top: 2.66667vw;
  }
  .section strong {
    color: #a71c45;
    font-weight: 700;
  }
  #menu:after {
    background: url(../images/menu_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8.8vw;
    width: 10.4vw;
    height: 9.33333vw;
  }
  #smartphone:after {
    background: url(../images/smartphone_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8.53333vw;
    width: 6.13333vw;
    height: 10.93333vw;
  }
  #campaign {
    padding-bottom: 21.86667vw;
  }
  #campaign:after {
    background: url(../images/campaign_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8.8vw;
    width: 12.53333vw;
    height: 10.66667vw;
  }
  #campaign .campaign-btn {
    margin: 8vw 5.73333vw 0;
  }
  #price:after {
    background: url(../images/price_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -9.86667vw;
    width: 12vw;
    height: 12vw;
  }
  #price .contents-wrap:before {
    background: url(../images/price_bg.png) 0 0 no-repeat;
    background-size: contain;
    bottom: -24.53333vw;
    right: -26.13333vw;
    width: 51.73333vw;
    height: 50.13333vw;
  }
  #face:after {
    background: url(../images/face_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8vw;
    width: 18.13333vw;
    height: 10.4vw;
  }
  #merit:after {
    background: url(../images/merit_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8.8vw;
    width: 10.13333vw;
    height: 8.8vw;
  }
  #daiohspay:after {
    background: url(../images/daiohspay_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8.8vw;
    width: 10.93333vw;
    height: 10.66667vw;
  }
  #step:after {
    background: url(../images/step_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -6.66667vw;
    width: 15.2vw;
    height: 8.8vw;
  }
  #step .contents-wrap:before {
    background: url(../images/step_bg.png) 0 0 no-repeat;
    background-size: contain;
    bottom: -27.73333vw;
    left: -19.46667vw;
    width: 38.66667vw;
    height: 38.66667vw;
  }
  #faq:after {
    background: url(../images/faq_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8vw;
    width: 11.46667vw;
    height: 10.4vw;
  }
  #about .contents-wrap:before {
    background: url(../images/about_bg.png) 0 0 no-repeat;
    background-size: contain;
    top: -2.66667vw;
    right: -15.46667vw;
    width: 41.33333vw;
    height: 41.33333vw;
  }
  #about .section-header {
    position: absolute;
    top: -9.86667vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #about .section-header img {
    width: 34.13333vw;
  }
  #contact {
    padding-bottom: 13.33333vw;
  }
  #contact:after {
    background: url(../images/contact_title_icon.png) 0 0 no-repeat;
    background-size: contain;
    top: -8vw;
    width: 10.13333vw;
    height: 10.4vw;
  }
  #menu .section-subtitle {
    font-size: 4.26667vw;
  }
  #menu .section-title-subtext {
    font-size: 3.6vw;
    text-align: center;
  }
  .menulist-box {
    margin-bottom: 10.66667vw;
  }
  .menulist-box-shop {
    margin: 0 auto 4vw;
    width: 26.66667vw;
  }
  .menulist-box-read {
    font-size: 3.6vw;
    text-align: center;
    line-height: 1.7;
  }
  .menulist-box li.col-inner {
    margin-top: 4.26667vw;
    width: 42.66667vw;
  }
  .menulist-box li.col-inner a,
  .menulist-box li.col-inner a:link,
  .menulist-box li.col-inner a:visited {
    color: #000;
  }
  .menulist-box-img {
    margin-bottom: 2.66667vw;
  }
  .menulist-box-text {
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
	font-size:12px;
  }
  .menu-sup {
    font-size: 3.2vw;
    font-weight: 400;
    margin: -5.73333vw;
    text-align: center;
  }
  .menu-sup a {
    font-weight: 500;
    text-decoration: underline;
  }
  .imgtextlist {
    margin-bottom: -4.53333vw;
  }
  .imgtextlist-box {
    margin-bottom: 4.53333vw;
  }
  .imgtextlist-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    margin-bottom: 4vw;
  }
  .imgtextlist-title-icon {
    background-color: #a71c45;
    border-radius: 50%;
    color: #fff;
    font-size: 2.13333vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    line-height: 1.15;
    margin-right: 3.73333vw;
    padding: 2.66667vw;
    text-align: center;
    text-transform: uppercase;
    width: 13.33333vw;
    height: 13.33333vw;
  }
  .imgtextlist-title-icon strong {
    color: #fff;
    font-size: 5.6vw;
  }
  .imgtextlist-title-icon.icon-company img {
    width: 8vw;
  }
  .imgtextlist-title-icon.icon-employee img {
    margin-top: -.53333vw;
    width: 6.93333vw;
  }
  .imgtextlist-title-text {
    font-weight: 700;
  }
  .imgtextlist-text {
    background-color: #fff;
    font-size: 4.26667vw;
    padding: 4vw 6.66667vw;
    position: relative;
    top: -20px;
    left: 6.4vw;
  }
  .imgtextlist dd {
    font-size: 4vw;
    margin-bottom: 4vw;
  }
  #merit .imgtextlist,
  #daiohspay .imgtextlist {
    margin-bottom: -10.66667vw;
  }
  #merit .imgtextlist-box,
  #daiohspay .imgtextlist-box {
    margin-bottom: 2.66667vw;
  }
  #merit .imgtextlist-text,
  #daiohspay .imgtextlist-text {
    top: -8vw;
  }
  #merit .imgtextlist .list-dotted,
  #daiohspay .imgtextlist .list-dotted {
    margin-top: 2.66667vw;
  }
  #campaign .contents-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #campaign .section {
    padding: 8.53333vw 0 26.66667vw;
  }
  #campaign .section-header {
    margin: 0;
  }
  .price-box {
    background-color: #f8f2e9;
    border-radius: 5.33333vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    padding: 5.33333vw;
    text-align: center;
  }
  .price-box-wrap {
    margin-top: 5.33333vw;
  }
  .price-text-free {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    font-size: 4.8vw;
    font-weight: 700;
  }
  .price-text-free strong {
    font-size: 13.33333vw;
    margin-left: 4vw;
  }
  .price-daiohs-logo {
    margin-top: 5.33333vw;
  }
  .price-daiohs-delivery dt {
    border: 1px solid #000;
    display: inline-block;
    font-size: 2.93333vw;
    margin-top: 5.33333vw;
    padding: .53333vw 2.66667vw;
  }
  .price-daiohs-delivery dd {
    color: #a71c45;
    font-size: 5.6vw;
    font-weight: 700;
    margin-right: -8vw;
  }
  .price-daiohs-delivery dd strong {
    font-size: 8.53333vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    margin-right: 1.33333vw;
  }
  .price-daiohs-delivery dd .strong-l {
    font-size: 12vw;
  }
  .price-daiohs-delivery .tax-included {
    color: #000;
    font-size: 2.13333vw;
    font-weight: 400;
    margin-left: 1.33333vw;
  }
  .price-daiohs-text {
    font-size: 2.66667vw;
    font-weight: 400;
  }
  .price-others {
    margin-top: 5.33333vw;
    text-align: left;
  }
  .price-others-box {
    margin-bottom: 4vw;
  }
  .price-others-box:last-child {
    margin-bottom: 0;
  }
  .price-others-text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    line-height: 1;
  }
  .price-others-text-name {
    font-size: 4vw;
  }
  .price-others-text-delivery {
    border: 1px solid #000;
    font-size: 2.13333vw;
    line-height: 1.1;
    margin: 0 2.66667vw 0 1.06667vw;
    padding: .26667vw .8vw;
  }
  .price-others-text-price strong {
    color: #000;
    font-size: 6.4vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
  }
  .price-others-sup {
    font-size: 2.66667vw;
    font-weight: 400;
    margin-top: 1.33333vw;
  }
  .face-grid .grid-inner {
    background-color: #f8f2e9;
    border-radius: 5.33333vw;
    margin-bottom: 5.33333vw;
    padding: 5.33333vw 6.4vw;
  }
  .face-grid .grid-inner.col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
  }
  .face-grid .grid-inner.col .face-grid-icon {
    margin-right: 5.33333vw;
    width: 13.86667vw;
  }
  .face-grid .grid-inner.col .face-grid-text {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 0;
  }
  .face-grid-icon {
    display: block;
    text-align: center;
  }
  .face-grid-icon img {
    width: 13.86667vw;
  }
  .face-grid-text {
    font-size: 4vw;
    font-weight: 700;
    margin-top: 5.33333vw;
  }
  .face-grid-img {
    margin-top: 4vw;
  }
  .text-circle {
    font-size: 4vw;
    padding-top: 2.66667vw;
    padding-left: 1em;
    text-indent: -1em;
  }
  .text-circle:before {
    content: "●";
    color: #a71c45;
  }
  .list-dotted li {
    font-size: 3vw;
    font-weight: 400;
    line-height: 2;
    text-indent: -.5em;
    padding-left: .5em;
  }
  .list-dotted li:before {
    content: "・";
  }
  .sup {
    font-size: 2.66667vw;
    font-weight: 400;
  }
  .daiohspay-img-wrap {
    margin-bottom: 12vw;
  }
  .daiohspay-img {
    background-color: #f8f2e9;
    border-radius: 20px;
    padding: 8vw 8vw 4vw;
  }
  .daiohspay-img figure {
    text-align: center;
  }
  .daiohspay-img-text {
    font-weight: 700;
    margin-top: 4vw;
  }
  .daiohspay-cafelink {
    margin-top: 2.66667vw;
    text-align: center;
  }
  .daiohspay-cafelink a {
    font-weight: 400;
    text-decoration: underline;
  }
  #step .section-title-subtext {
    text-align: center;
  }
  .step-campaign {
    background-color: #a71c45;
    border-radius: 5.33333vw;
    color: #fff;
    font-size: 5.33333vw;
    font-weight: 700;
    margin-top: 8vw;
    padding: 4vw 5.33333vw 5.33333vw;
    text-align: center;
    line-height: 1.4;
  }
  .step-campaign-sub {
    font-size: 4.26667vw;
    display: block;
    margin-bottom: 2.66667vw;
  }
  .step-campaign strong {
    color: #fff;
    font-size: 6.4vw;
  }
  .step-campaign-deadline {
    font-size: 4vw;
    margin-top: 4vw;
    text-align: center;
    font-weight: 400;
  }
  .step-campaign .campaign-btn {
    margin-top: 3.46667vw;
  }
  .faq {
    font-size: 4vw;
  }
  .faq-q {
    background-color: #f8f2e9;
    border-radius: 5px;
    padding: 3.2vw 5.33333vw 3.2vw 13.33333vw;
    position: relative;
  }
  .faq-q:before {
    background: url(../images/faq_icon_question.png) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 2.66667vw;
    left: 2.66667vw;
    width: 8vw;
    height: 8vw;
  }
  .faq-a {
    margin-bottom: .53333vw;
    padding: 5.33333vw 5.33333vw 5.33333vw 13.33333vw;
    position: relative;
  }
  .faq-a:before {
    background: url(../images/faq_icon_answer.png) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 5.33333vw;
    left: 2.66667vw;
    width: 8vw;
    height: 8vw;
  }
  .about {
    font-size: 3.6vw;
    padding-top: 8vw;
  }
  .about-list {
    line-height: 1.866667;
    margin-top: 4vw;
  }
  .about-list-col-sp * {
    display: inline;
  }
  .about-list-title {
    font-weight: 700;
  }
  .about-list-text {
    font-weight: 400;
  }
  .business-detail dt {
    font-weight: 500;
    margin-top: 2.66667vw;
  }
  .business-detail dt:first-of-type {
    margin-top: 0;
  }
  .contact-form {
    margin: 0 auto;
  }
  .contact-form-txt {
    color: #fff;
    font-size: 4vw;
    font-weight: 400;
    margin-top: 30px;
  }
  .contact-form-txt.sup {
    margin-top: 10px;
    font-size: 3.73333vw;
    text-indent: -1em;
    padding-left: 1em;
  }
  .contact-form table {
    width: 100%;
  }
  .contact-form table tr {
    display: block;
  }
  .contact-form table th,
  .contact-form table td {
    display: block;
    font-weight: 400;
    color: #fff;
  }
  .contact-form table th {
    font-size: 4vw;
    vertical-align: top;
    padding-top: 25px;
    text-align: left;
  }
  .contact-form table td {
    padding: 10px 0 25px;
    border-bottom: #484848 solid 1px;
  }
  .contact-form table td .td-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  body.formrun-system-confirm .contact-form table td .td-box[data-formrun-hide-if-confirm] {
    display: none;
  }
  .contact-form table td .prefecture-box {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .contact-form table td .require {
    font-size: 3.2vw;
    margin-right: 10px;
  }
  .contact-form table td .text-danger {
    font-size: 3.73333vw;
    width: 100%;
    color: #f00;
    margin-top: 5px;
    margin-left: 39px;
  }
  .contact-form table td .form-control-danger,
  .contact-form table td .formrun-has-error {
    border: 1px solid #a71c45;
  }
  .contact-form table td input,
  .contact-form table td select {
    border: none;
    border-radius: 0;
  }
  .contact-form table td input[type="text"],
  .contact-form table td input[type="password"],
  .contact-form table td input[type="number"],
  .contact-form table td input[type="email"] {
    width: 88%;
    height: 40px;
    padding: 5px 8px;
    font-size: 16px;
  }
  .contact-form table td textarea {
    width: 100% !important;
    padding: 8px;
    font-size: 16px;
    font-family: "Noto Sans JP", -apple-system, "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  }
  .contact-form table td .detail-box {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contact-form table td .detail-box .require {
    display: block;
    margin: 0;
  }
  .contact-form table td .detail-box label {
    display: block;
    font-size: 3.2vw;
    font-weight: 400;
  }
  .contact-form table td .detail-box label input {
    margin: 0 5px 0 0;
  }
  .contact-form table td .detail-box .radio {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    width: calc(100% - 40px);
  }
  .contact-form table td .detail-box .radio .radio-box {
    width: 100%;
    margin-bottom: 10px;
  }
  .contact-form table td .detail-box .radio .radio-box:last-child {
    margin-bottom: 0;
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"] {
    position: absolute;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"] + .radio-label {
    padding-left: calc(1.2em + 5px);
    position: relative;
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"] + .radio-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid gray;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    position: absolute;
    top: .55em;
    left: 0;
    margin-right: .5em;
    vertical-align: top;
    cursor: pointer;
    vertical-align: middle;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
  }
  .contact-form table td .detail-box .radio .radio-box input[type="radio"]:checked + .radio-label:before {
    background-color: #303035;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
  }
  .contact-form table td .detail-box .detail-velue {
    display: block;
    font-size: 4vw;
  }
  .contact-form table td .staff-box {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contact-form table td .staff-box .require {
    display: block;
    margin: 0;
  }
  .contact-form table td .staff-box label {
    display: block;
    font-size: 4vw;
    font-weight: 400;
  }
  .contact-form table td .staff-box label input {
    margin: 0 5px 0 0;
  }
  .contact-form table td .staff-box .radio {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    width: calc(100% - 40px);
    margin-bottom: 10px;
  }
  .contact-form table td .staff-box .radio .radio-box {
    width: 100%;
    margin-bottom: 5px;
  }
  .contact-form table td .staff-box .radio .radio-box:last-child {
    margin-bottom: 0;
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"] {
    position: absolute;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"] + .radio-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid gray;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    position: relative;
    top: -.15em;
    margin-right: .5em;
    vertical-align: top;
    cursor: pointer;
    vertical-align: middle;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
  }
  .contact-form table td .staff-box .radio .radio-box input[type="radio"]:checked + .radio-label:before {
    background-color: #303035;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
  }
  .contact-form table td.contact-form-select select {
    position: relative;
    width: 222px;
    height: 40px;
    padding: 0 20px;
    margin-left: 6px;
  }

  .contact-form table td.contact-form-select select[name="区"] {
    margin-top: 15px;
  }
  .contact-form .action-buttons {
    margin-top: 40px;
    text-align: center;
  }
  .contact-form .action-buttons .bt-send {
    width: 100%;
    padding: 25px;
    display: block;
  }
  .contact-form .action-buttons .bt-back {
    width: 25%;
    padding: 10px;
    margin-top: 30px;
    min-width: 120px;
  }
  .contact-form .action-buttons button {
    margin: 0 5px;
    border: none;
    -webkit-appearance: none;
    outline: none;
    color: #fff;
    text-shadow: none;
    cursor: pointer;
    font-size: 4.26667vw;
    margin: 0 auto;
  }
  .js-effect-view {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  .js-effect-view.js-effect-view-on {
    -webkit-animation: bound 1s ease-in;
            animation: bound 1s ease-in;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .section.js-effect-fade:after {
            filter: url("data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"filter\"><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"table\" tableValues=\"0.3 0.7\" /><feFuncG type=\"table\" tableValues=\"0.3 0.7\" /><feFuncB type=\"table\" tableValues=\"0.3 0.7\" /></feComponentTransfer><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"linear\" slope=\"3\" /><feFuncG type=\"linear\" slope=\"3\" /><feFuncB type=\"linear\" slope=\"3\" /></feComponentTransfer></filter></svg>#filter");
    -webkit-filter: invert(30%) brightness(300%);
            filter: invert(30%) brightness(300%);
    -webkit-transition: all 1s ease-in;
            transition: all 1s ease-in;
  }
  .section.js-effect-fade.js-effect-scroll:after {
    -webkit-filter: none;
            filter: none;
  }
  #about.js-effect-fade .section-title img {
            filter: url("data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"filter\"><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"linear\" slope=\"0.01\" /><feFuncG type=\"linear\" slope=\"0.01\" /><feFuncB type=\"linear\" slope=\"0.01\" /></feComponentTransfer><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"linear\" slope=\"0.01\" intercept=\"0.495\" /><feFuncG type=\"linear\" slope=\"0.01\" intercept=\"0.495\" /><feFuncB type=\"linear\" slope=\"0.01\" intercept=\"0.495\" /></feComponentTransfer></filter></svg>#filter");
    -webkit-filter: brightness(0%) contrast(0%);
            filter: brightness(0%) contrast(0%);
    -webkit-transition: all 1s ease-in;
            transition: all 1s ease-in;
  }
  #about.js-effect-fade.js-effect-scroll .section-title img {
            filter: url("data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"filter\"><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"linear\" slope=\"1\" /><feFuncG type=\"linear\" slope=\"1\" /><feFuncB type=\"linear\" slope=\"1\" /></feComponentTransfer><feComponentTransfer color-interpolation-filters=\"sRGB\"><feFuncR type=\"linear\" slope=\"1\" intercept=\"0\" /><feFuncG type=\"linear\" slope=\"1\" intercept=\"0\" /><feFuncB type=\"linear\" slope=\"1\" intercept=\"0\" /></feComponentTransfer></filter></svg>#filter");
    -webkit-filter: brightness(100%) contrast(100%);
            filter: brightness(100%) contrast(100%);
  }
  #price .price-box .js-effect-fade,
  #price .price-box .js-effect-fade strong {
    color: #fff;
    -webkit-transition: all 1s ease-in;
            transition: all 1s ease-in;
  }
  #price .price-box .js-effect-fade.js-effect-scroll,
  #price .price-box .js-effect-fade.js-effect-scroll strong {
    color: #a71c45;
  }
  .showThanksModal {
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    position: fixed;
    top: 0;
  }
  .showThanksModal .modal {
    visibility: visible;
  }
  .showThanksModal .modal-box {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .showThanksModal .modal-box-wrap {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .modal {
    visibility: hidden;
  }
  .modal-box {
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, .9);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all .25s ease-out 0s;
            transition: all .25s ease-out 0s;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .modal-box-wrap {
    background: #fff;
    border-radius: 20px;
    width: 90%;
    margin: auto;
    padding: 10px 20px 20px 20px;
    position: relative;
    top: -6%;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
    -webkit-transition: opacity .75s linear .2s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
            transition: opacity .75s linear .2s, transform 1s cubic-bezier(.4, .01, 0, .96) 0s, -webkit-transform 1s cubic-bezier(.4, .01, 0, .96) 0s;
  }
  .modal-logo {
    margin-bottom: 40px;
    text-align: center;
  }
  .modal-title {
    margin-bottom: 30px;
    font-size: 4.8vw;
    font-weight: 700;
  }
  .modal-txt {
    font-size: 4vw;
    font-weight: 400;
  }
  .modal .sup {
    text-indent: -1em;
    padding-left: 1em;
  }
  .modal-bt-link {
    font-size: 4.26667vw;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
  }
  .modal-bt-link a {
    color: #a71c45;
    display: inline-block;
    position: relative;
  }
  .modal-bt-link a:after {
    content: "　";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #a71c45;
  }
  .modal-bt-close {
    width: 180px;
    display: block;
    padding: 8px;
    background: #a71c45;
    font-size: 4.26667vw;
    font-weight: 700;
    border-radius: 25px;
    text-align: center;
    color: #fff;
    margin: 0 auto;
    cursor: pointer;
  }
  .js-acc-contents {
    display: none;
  }
  .js-acc-btn {
    display: block;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    position: relative;
  }
  .js-acc-btn .acc-icon {
    border: .53333vw solid #a71c45;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 6.4vw;
    height: 6.4vw;
  }
  .js-acc-btn .acc-icon:before,
  .js-acc-btn .acc-icon:after {
    background-color: #a71c45;
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: .3s all ease-out;
            transition: .3s all ease-out;
    width: 3.2vw;
    height: .53333vw;
  }
  .js-acc-btn .acc-icon:after {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
            transform: translate(-50%, -50%) rotate(-90deg);
  }
  .js-acc-btn.open .acc-icon:after {
    -webkit-transform: translate(-50%, -50%) rotate(-180deg);
            transform: translate(-50%, -50%) rotate(-180deg);
  }
  #meal-thanks {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    min-height: 100vh;
    background: #fff;
  }
  #meal-thanks main {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #meal-thanks section {
    padding: 5.33333vw 0 34.66667vw;
  }
  #meal-thanks ul,
  #meal-thanks li {
    list-style: none;
  }
  #meal-thanks header {
    text-align: center;
    border-bottom: solid 1px #a71c45;
  }
  #meal-thanks header p {
    padding: 4.8vw 0 5.6vw;
    width: 32.53333vw;
    margin: auto;
  }
  #meal-thanks .contents-wrap {
    max-width: 100%;
    padding: 0 4.8vw;
    margin: auto;
    text-align: center;
  }
  #meal-thanks h1 {
    font-size: 4.26667vw;
    line-height: 2.25;
  }
  #meal-thanks .sup {
    font-size: 4.26667vw;
    margin-top: 8.53333vw;
    text-align: left;
    font-weight: 400;
  }
  #meal-thanks .sup + .sup {
    margin-top: 0;
  }
  #meal-thanks .btn-to-meal {
    display: block;
    color: #fff;
    background-color: #a71c45;
    width: 80vw;
    padding: 2.66667vw;
    border-radius: 8vw;
    margin: 16vw auto 0;
  }
}

@media screen and (max-width: 767px) {
  .contactfollow-inner .contactfollow-btn-wrap:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .contactfollow-inner .contactfollow-btn-wrap:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .contactfollow-inner .contactfollow-tell-wrap {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

@-webkit-keyframes bound {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  25% {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  50% {
    -webkit-transform: scale(.8);
            transform: scale(.8);
  }
  75% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes bound {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  25% {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  50% {
    -webkit-transform: scale(.8);
            transform: scale(.8);
  }
  75% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60%,
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

@keyframes slideIn {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60%,
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

@-webkit-keyframes slideIn_position0 {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  60%,
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

@keyframes slideIn_position0 {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  60%,
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}
.submit_btn{
  text-align: center;
  display: inline-block;
  margin: 0 auto;
  position: relative;
}
.submit_btn input{
  border: none;
  font-size: 1rem;
  cursor: pointer;
  display: inline-block !important;
  outline: none;
  position: relative;
}
.submit_btn:before{
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 3;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 5px;
  height: 5px;
}
.list01{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.errorMesse {
  width: 100%;
  color: #f00;
  margin-top: 5px;
  margin-left: 36px;
  font-size: 100%;
}
.list li:first-child label{
  margin-top: 10px !important;
}
.contact-form table td input[type='radio']{
  border: 1px solid gray;
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  position: relative;
  top: -.15em;
  margin-right: .5em;
  vertical-align: top;
  cursor: pointer;
  vertical-align: middle;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.list span{
  font-size: .9375rem;
  width: 105px;
}
.visible_ts{
  display: none;
}
.form-btn{
  display: flex;
  justify-content: left;
}
#edit{
  background: gray;
}
.list li{
  position: relative;
}
.list li:first-child:before{
  position: absolute;
  width: 400px;
  content: '資料、お見積りをご希望の方に送付いたします。';
  z-index: 2;
  left: 125px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.list li:nth-child(2):before{
  position: absolute;
  width: 400px;
  content: '各種お問合せを承ります。';
  z-index: 2;
  left: 125px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}


@media screen and (max-width: 767px) {
  .list01{
    display: block;
    align-items: center;
    flex-wrap: wrap;
  }
  .list li:first-child label {
    margin-top: 0 !important;
  }
  .visible_ts{
    display: block;
  }
  .list li label{
    font-size: 4vw !important;
  }
  .list li+li{
    margin-top: 30px;
  }
  .list li:first-child:before{
    position: absolute;
    width: 340px;
    content: '資料、お見積りをご希望の方に送付いたします。';
    z-index: 2;
    left: 0;
    top: 30px;
    font-size: 3.2vw;
    transform: translateY(0);
    z-index: 2;
  }
  .contact-form table td .list{
    padding-bottom: 20px;
  }
  .list li:nth-child(2):before{
    position: absolute;
    width: 340px;
    content: '各種お問合せを承ります。';
    z-index: 2;
    left: 0;
    top: 30px;
    font-size: 3.2vw;
    transform: translateY(0);
    z-index: 2;
  }
  .submit_btn{
    text-align: center;
    display: block;
    margin: 0 auto;
    position: relative;
  }
  .submit_btn input{
    border: none;
    font-size: 1rem;
    cursor: pointer;
    display: block !important;
    outline: none;
    position: relative;
  }
}

.mv .tit_main .tit {
    font-size: 3.75rem;
    font-weight: bold;
    color: #af0045;
    line-height: 1;
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff;
  }

  .mv .tit_main span.catch {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    background: #af0045;
    padding: 10px 20px;
    border-radius: 50px;
    position: relative;
    margin-bottom: 1.25rem;
    display: inline-block;
  }

  .mv .tit_main span.catch:after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 12px solid #af0045;
    bottom: -18px;
    left: 50%;
    transform: translate(0,-50%);
  }

  .mv .main_type {
    background: url('../images/bg_type.jpg') no-repeat center;
    height: 80px;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mv .mainBox {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
  }


#point_campaign {
    padding: 3.75rem 0 3.125rem;
    margin-bottom: 3.125rem;
}

#point_campaign .point {
    padding-bottom: 3.125rem;
}

#point_campaign .point_list {
    display: flex;
    justify-content: space-between;
}

#point_campaign .point_list li {
    width: 32%;
}

#point_campaign .point_list li .item_point {
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
    padding: 0 1.875rem;
    border-radius: 10px;
    display: flex;
    min-height: 140px;
    align-items: center;
}


#point_campaign .point_list li .item_point .point_icon {
    width: 90px;
    text-align: center;
}


#point_campaign .point_list li .item_point .point_tit {
    flex: 1;
    padding-left: 1.25rem;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
}

.campaign {
    max-width: 760px;
    margin: 0 auto;
}

.campaign .campaignIn {
    background: #af0045;
    border-radius: 10px;
    padding: 10px 30px 20px;
}

.campaign .campaignIn .campaignTit {
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    padding-bottom: 12px;
    border-bottom: 2px solid #fff;
    line-height: 1.2;
    margin-bottom: 15px;
}

.campaign .campaignIn .campaignTit span {
    display: inline-block;
    padding-left: 140px;
    position: relative;
}

.campaign .campaignIn .campaignTit span:before {
    position: absolute;
    content: '';
    width: 98px;
    height: 90px;
    background: url('../images/campaign_title_icon02.png') no-repeat;
    left: 22px;
    bottom: -12px;
}

.campaign .detail {
    font-size: 1rem;
    color: #fff;
    font-weight: bold;
    letter-spacing: 2px;
}


#problem {
    padding: 9rem 0 140px;
}

#problem .tit_problem {
    text-align: center;
    padding-bottom: 200px;
}

#problem .tit_problem span {
    display: inline-block;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background: #af0045;
    padding: 2rem 120px;
    border-radius: 100px;
}

#problem .list-problem {
    display: flex;
    justify-content: space-between;

}

#problem .list-problem .item-problem {
    width: 48.15%;
    background: #fff url(../images/bg_white.png) 0 0 repeat;
    position: relative;
    z-index: 1;
}

#problem .list-problem .item-problem:before {
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: -80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 290px;
    height: 100%;
    background: #fff url(../images/bg_white.png) 0 0 repeat;
    z-index: -1;
}

#problem .list-problem .tit {
    display: flex;
    justify-content: flex-end;
    font-size: 1.375rem;
    font-weight: bold;
    width: 190px;
    margin: -30px auto 0;
    position: relative;
    line-height: 1.2;
}

#problem .list-problem .tit.tit-reverse {
    flex-direction: row-reverse;
}

#problem .list-problem .tit .ico {
    position: absolute;
    left: 0;
    top: -150px;
}

#problem .list-problem .tit.tit-reverse .ico {
    right: 0;
    left: auto;
}

#problem .list-problem ul {
    padding: 2.5rem;
}

#problem .list-problem ul li {
    font-size: 1rem;
    font-weight: bold;
    background: url('../images/icon_check.svg')no-repeat left center;
    background-size: 28px auto;
    padding-left: 40px;

}

#problem .list-problem ul li + li {
    margin-top: 1.25rem;
}

#select {
    padding: 2.5rem 0 140px;
}

#select .ttl_select {
    font-size: 2.875rem;
    line-height: 1;
    text-align: center;
    margin-top: -65px;
    padding-bottom: 5px;
}

#select .ttl_select span {
    padding: 1.125rem 3.4375rem;
    background: #af0045;
    color: #fff;
    border-radius: 100px;
    position: relative;
}


#select .ttl_select span:after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid #af0045;
    left: 50%;
    bottom: -20px;
    transform: translate(-50%,0);
}

#select .detail_select {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    position: relative;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
}

#select .btn_select {
    display: flex;
    justify-content: space-between;
}

#select .btn_delivery,
#select .btn_frozen {
    width: 520px;  
}  

#select .btn_delivery a,
#select .btn_frozen a {
    display: flex;
    align-items: center;
    padding: 20px 60px 20px 30px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    color: #fff;
    border-radius: 5px;
}

#select .btn_delivery a{
    background: #4b2907 url('../images/arrow_brown.png') no-repeat right 30px center;
}

#select .btn_frozen a {
    background: #003f73 url('../images/arrow_blue.png') no-repeat right 30px center;
}

#select .btn_select .txt {
    display: block;
    padding-left: 2.1875rem;
}

#select .btn_select a:hover {
    text-decoration: none;
}

#menu.menu_delivery:after {
    background: url(../images/icon_delivery_pink.png) 0 0 no-repeat;
    top: -28px;
    width: 106px;
    height: 69px;
}

.h2dL {
    font-size: 1.625rem;
    font-weight: bold;
    color: #af0045;
    margin-bottom: 30px;
    text-align: center;
}

.h2dL span {
    /*background: url('../images/bg_line.svg') no-repeat center;
    background-size: contain;*/
    padding: 0 15px;
    display: inline-block;
    position: relative;
}

.h2dL span:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: #af0045;
    transform: rotate(-15deg);
}

.h2dL span:after {
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: #af0045;
    transform: rotate(15deg);
}


.mb0 {
    margin-bottom: 0px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}


.mt0 {
    margin-top: 0px !important;
}


.tac {
    text-align: center !important;
}

.tal {
    text-align: left !important;
}

.shop_delivery.menulist-box {
    margin-top: 35px;
    margin-bottom: 0;
}

.shop_delivery.menulist-box .col-5-pc .col-inner {
    width: 18.12963%;
}

#menu02.menu_frozen:after {
    background: url(../images/icon_frozen_blue.png) 0 0 no-repeat;
    top: -28px;
    width: 96px;
    height: 68px;
}

#drink_snack:after {
    background: url(../images/icon_drink.png) 0 0 no-repeat;
    top: -28px;
    width: 85px;
    height: 80px;
}

.drinklist {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.drinklist .img {
    width: 58%;
}

.drinklist .drink_detail {
    width: 40%;
} 

.drinklist .subtxt {
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 15px;
}

.drinklist dl {
    display: table;
    width: 100%;
    padding-bottom: 40px;
    position: relative;
}

.drinklist dl:after {
    position: absolute;
    content: '';
    left: 25px;
    bottom: 10px;
    width: 17px;
    height: 40px;
    background: url('../images/step_arrow.svg') no-repeat;
}

.drinklist dl:last-child {
    padding-bottom: 0;
}

.drinklist dl:last-child:after {
    display: none;
}

.drinklist dl dt,
.drinklist dl dd {
    display: table-cell;
    vertical-align: middle;
}

.drinklist dl dd {
    width: 170px;
   padding-left: 30px;
}

.drinklist dl dt {
    width: calc(100% - 170px);
    font-size: 1.125rem;
    font-weight: 500;
}

.drinklist dl dt .steptit {
    font-size: 1.5rem;
    color: #af0045;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1;
}

.drinklist dl dt .steptit i {
    font-style: normal;
    font-family: 'Roboto', sans-serif;
    font-size: 2.625rem;
    line-height: 1;
}

#reason {
    padding: 70px 0 134px;
}

.h2dL02 {
    font-size: 2.25rem;
    font-weight: bold;
    color: #af0045;
    margin-bottom: 5px;
    text-align: center;
}

.h2dL02 span {
    padding: 0 15px;
    display: inline-block;
    position: relative;
}

.h2dL02 span:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: #af0045;
    transform: rotate(-15deg);
}

.h2dL02 span:after {
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: #af0045;
    transform: rotate(15deg);
}

.h2dL03 {
    font-size: 2.625rem;
    line-height: 1;
    text-align: center;
    padding-bottom: 5px;
    margin-top: 60px;
}

.h2dL03 span {
    padding: 1.875rem 3.4375rem;
    background: #af0045;
    color: #fff;
    border-radius: 100px;
    position: relative;
    display: inline-block;
}

.h2dL03 span:after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid #af0045;
    left: 50%;
    bottom: -20px;
    transform: translate(-50%,0);
}

#reason .h2dL02 {
    padding-bottom: 150px;
}

#reason .list-reason {
    display: flex;
    justify-content: space-between;

}

#reason .list-reason .item-reason {
    width: 48.15%;
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
    position: relative;
    z-index: 1;
}

#reason .list-reason .item-reason:before {
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: -80px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 290px;
    height: 100%;
    background: #f8f2e9 url(../images/bg_beige.png) 0 0 repeat;
    z-index: -1;
}

#reason .list-reason .tit {
    display: flex;
    justify-content: flex-end;
    font-size: 1.375rem;
    font-weight: bold;
    width: 210px;
    margin: -30px auto 0;
    position: relative;
    line-height: 1.2;
}

#reason .list-reason .tit.tit-reverse {
    flex-direction: row-reverse;
}

#reason .list-reason .tit .ico {
    position: absolute;
    left: 0;
    top: -130px;
}

#reason .list-reason .tit.tit-reverse .ico {
    right: 0;
    left: auto;
    top: -110px;
}

#reason .list-reason ul {
    padding: 40px;
}

#reason .list-reason ul li {
    min-height: 8.3vw;
}

#reason .list-reason ul li .subtit {
    background: #8e745c;
    font-weight: 500;
    font-size: 1.5rem;
    color: #fff;
    padding: 8px 20px 8px 20px;
    display: flex;
    align-items: center;
    line-height: 1.2;
    border-radius: 4px;
    margin-bottom: 15px;
}

#reason .list-reason ul li .subtit span {
    display: block;
}

#reason .list-reason ul li .subtit span + span {
    margin-left: 10px;
}

#reason .list-reason ul li .detail {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.8;
    padding: 0 20px;
}

#reason .list-reason ul li+li {
    margin-top: 40px;
}

.bg-white {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
}

.bg-beige02 {
    background: #4b2907 url(../images/bg_beige02.png) 0 0 repeat;
}

#compare:after {
    background: url(../images/menu_title_icon.png) 0 0 no-repeat;
    top: -28px;
    width: 62px;
    height: 56px;
}

.tbl_compare {
    overflow-y: hidden !important;
}

.tbl_compare table{
    width: 100%;
    border-spacing: 8px 2px;
    border-collapse: separate;
}

.tbl_compare table th,
.tbl_compare table td {
    vertical-align: middle;
    text-align: center;
}

.tbl_compare table td {
    padding: 15px 20px;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
}

.tbl_compare table th {
    padding: 10px 5px;
    color: #4b2907;
    font-size: 1rem;
    font-weight: bold;
}

.tbl_compare table th p {
    padding-top: 5px;
}

.tbl_compare table td.bg-white-custom {
    background: url('../images/bg_beige_custom.png') no-repeat center;
    background-size: 100% 100%;
    color: #4b2907;
    font-weight: bold;
    text-align: left;
}

.tbl_compare table td.bg-beige-custom {
    background: url('../images/bg_brown_custom.png') no-repeat center;
    background-size: 100% 100%;
    color: #4b2907;
    font-weight: bold;
    text-align: left;
}

.tbl_compare table td .ico {
    margin-bottom: 5px;
}

.tbl_compare table td .txt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
}

.tbl_compare table td:nth-child(2) {
    position: relative;

}

.tbl_compare table td:nth-child(2):before {
    position: absolute;
    content: '';
    left: -6px;
    width: calc(100% + 11px);
    height: calc(100% + 6px);
    top: -2px;
    border-left: 3px solid #af0045;
    border-right: 3px solid #af0045;
}

.tbl_compare table tr:nth-child(2) td:nth-child(2):after {
    position: absolute;
    content: '';
    left: -6px;
    width: calc(100% + 11px);
    height: calc(100% + 6px);
    top: -5px;
    border-top: 3px solid #af0045;
}

.tbl_compare table tr:last-child td:nth-child(2):after {
    position: absolute;
    content: '';
    left: -6px;
    width: calc(100% + 11px);
    height: calc(100% + 6px);
    bottom: -5px;
    border-bottom: 3px solid #af0045;
}

.detail_answer {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    position: relative;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
}

.detail_answer .img {
    margin-top: -20px;
    margin-left: 40px;
}

.daiohs_answer_img {
    margin-bottom: 77px;
}
#daiohspay .drinklist dl {
    padding-bottom: 15px;
}

#daiohspay .drinklist dl:after {
    bottom: -10px;
}

#daiohspay .drinklist .subtxt {
    font-size: 1.125rem;
    color: #af0045;
    margin-bottom: 0;
}

.daiohspay_use {
    margin-top: 118px;
}

.daiohspay_use .tit_use {
    max-width: 685px;
    margin: 0 auto 50px;
}

.daiohspay_use .tit_use span {
    display: block;
    font-size: 2rem;
    color: #fff;
    padding: 15px 20px;
    background: #af0045;
    border-radius: 50px;
    text-align: center;
    position: relative;
}

.daiohspay_use .tit_use span:after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid #af0045;
    left: 50%;
    bottom: -20px;
    transform: translate(-50%,0);
}

.daiohspay_use .useflow {
    margin-top: 6rem;
}

.daiohspay_use .useflow ul {
    display: flex;
    margin-left: -90px;
    margin-bottom: 40px;
}

.daiohspay_use .useflow ul li {
    width: 33.33%;
    padding-left: 90px;
}

.daiohspay_use .useflow .flowtit {
    font-size: 1.75rem;
    color: #af0045;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1;
    position: relative;
}

.daiohspay_use .useflow .flowtit:after {
    position: absolute;
    content: '';
    right: -20px;
    top: 50%;
    width: 27px;
    height: 64px;
    background: url(../images/step_arrow.svg) no-repeat;
    transform: translate(0,-50%) rotate(-90deg);
    background-size: contain;
}

.daiohspay_use .useflow .flowtit i {
    font-style: normal;
    font-family: 'Roboto', sans-serif;
    font-size: 3.5rem;
    line-height: 1;
}

.daiohspay_use .useflow .imgbrd {
    margin-bottom: 20px;
}

.daiohspay_use .useflow .imgbrd img {
    border: 1px solid #af0045;
}

.daiohspay_use .useflow .txt {
    font-size: 1.125rem;
    font-weight: 500;
}

.daiohspay_use .useflow ul li:last-child .flowtit:after {
    display: none;
}

.daiohspay_use .use_others {
    background: #fff url(../images/bg_white.png) 0 0 repeat;
    padding: 33px 47px;
}

.use_others .menulist-box-text {
    min-height:inherit;
    font-size: 1.125rem;
    font-weight: 500;
    text-align: left;
}

#service {
    padding: 90px 0 120px;
}


#service .serviceBox {
    padding-right: 205px;
    position: relative;
    padding-bottom: 76px;
}

#service .serviceBox .banner02 {
    margin-top: 25px;
}

#service .service_women {
    position: absolute;
    right: 20px;
    bottom: 0;
}

#service .service_tit {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 3px;
}

.pdf_detail {
    background: #fff;
    padding: 40px 60px 40px 80px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.pdf_detail .pdfLink {
    width: 300px;
}

.pdf_detail .pdfLink .link {
    margin-left: 15px;
}

.pdf_detail .ttl_img {
    margin-bottom: 20px;
}

@media screen and (max-width: 1044px) {
    .headerLinks .contactfollow-tell-wrap {
        min-width: 380px;
    }

    .headerLinks .contactfollow-btn-wrap {
        min-width: 180px;
    }
}

@media screen and (max-width: 1024px) {
    .headerLinks .contactfollow-tell-wrap {
        min-width: 38vw;
        padding-left: 0;
    }


    .headerLinks .contactfollow-btn-wrap {
        min-width: 17vw;
    }
}


@media screen and (max-width: 767px) {
    .mv .main_type {
        height: 0;
        position: absolute;
        bottom: 0;
        line-height: initial;
        padding: 7vw 15px 5vw;
    }

    .mv .main_type p{
        display: block;
        line-height: initial;
    }

    .mv .main_type p:nth-child(1) {
        width: 25%;
    }

    .mv .main_type p:nth-child(2) {
        width: 50%;
    }

    .mv .main_type p:nth-child(3) {
        width: 25%;
    }

    .mv .mvbg {
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translate(0, -50%);
        left: 0;
    }

    .mv .mvbg .item {
        max-width: 60%;
        margin: 0 auto;
    }

    .mv .mvbg .pagenav-inner{
        padding: 0 3vw;
    }

    .mv .tit_main {
        margin: 7vw 0;
        text-align: center;
    }

    .mv .tit_main span.catch {
        display: block;
        font-size: 4vw;
        text-align: center;
        padding: 1vw 2vw;
        max-width: 80%;
        margin: 0 auto 1.25rem;
    }

    .mv .tit_main .tit {
        font-size: 6.5vw;
        text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff;
    }

    .mv .mainBox .item {
        width: 48%;
    }

    .main_type .type_tit {
        padding: 3vw 2vw;
        text-align: center;
        color: #af0045;
        font-weight: 900;
        font-size: 5.7vw;
        line-height: 1.5;
    }

    .main_type .type_link {
        display: flex;
    }

    .main_type .type_link p {
        width: 50%;
    }

    .main_type .type_link p a {
        display: block;
        font-size: 3.73333vw;
        font-weight: 900;
        text-align: center;
        padding: 3.33333vw 0;
        color: #fff;
        position: relative;
    }

    .main_type .type_link p a:before {
        position: absolute;
        content: '';
        width: 0;
        height: 0;
        border-left: 2vw solid transparent;
        border-right: 2vw solid transparent;
        border-top: 2vw solid #fff;
        top: 0;
        left: 50%;
        transform: translate(-50%,0);
    }

    .main_type .type_link p:nth-child(1) a {
        background: #4b2907;
    }

    .main_type .type_link p:nth-child(2) a {
        background: #003f73;
    }

    #point_campaign {
        padding: 10vw 5.73333vw 10vw;
        margin-bottom: 0;
    }

    /*#point_campaign .point_list {
        display: block;
    }

    #point_campaign .point_list li {
        width: auto;
    }*/

    /*#point_campaign .point_list li + li {
        margin-top: 5.73333vw;
    }
*/
    #point_campaign .point_list li .item_point .point_tit {
        font-size: 3vw;
        padding-left: 0;
    }

    #point_campaign .point_list li .item_point {
        padding: 3vw 2vw;
        min-height: inherit;
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    #point_campaign .point_list li .item_point .point_icon {
        width: auto;
        margin-bottom: 2vw;
    }

    #point_campaign .point_list li .item_point .point_icon .img img {
        width: auto;
        height: 9vw;
        object-fit: cover;
    }

    .campaign .campaignIn {
        padding: 5vw;
    }

    .campaign .campaignIn .campaignTit {
        font-size: 5.7vw;
    }

    .campaign .campaignIn .campaignTit span {
        display: block;
        padding-top: 13vw;
        position: relative;
        text-align: center;
        padding-left: 0;
    }

    .campaign .campaignIn .campaignTit span:before {
        position: absolute;
        content: '';
        width: 100%;
        height: 12vw;
        background: url(../images/campaign_title_icon02.png) no-repeat center;
        left: 0;
        bottom: auto;
        top: 0;
        transform: none;
        background-size: contain;
    }
    .campaign .detail {
        line-height: 1.7;
        letter-spacing: initial;
    }
    .h2dL {
        font-size: 5.73333vw;
        line-height: 1.5;
        text-align: center !important;
        margin-bottom: 3vw !important;
    }

    .h2dL span:before,
    .h2dL span:after {
        width: 2px;
    }

    #problem {
        padding: 6vw 0 12vw;
    }

    #problem .tit_problem {
        padding-bottom: 32vw;
    }

    #problem .tit_problem span {
        font-size: 5.333vw;
        padding: 3.5vw 5vw;
    }

    #problem .list-problem .tit {
        margin: -30vw auto 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 4vw;
        width: 20vw;
    }

    #problem .list-problem .tit .ico {
        position: relative;
        left: auto;
        top: auto;
    }

    #problem .list-problem .tit.tit-reverse .ico {
        right: auto;
    }

    #problem .list-problem .tit.tit-reverse {
        flex-direction: column;
    }

    #problem .list-problem .item-problem:before {
        top: -10vw;
        width: 90%;
        height: 40vw;
    }

    #problem .list-problem ul {
        padding: 2vw 3vw;
    }

    #problem .list-problem ul li {
        font-size: 3.73333vw;
        font-weight: 500;
        background: url(../images/icon_check.svg)no-repeat top 1vw left;
        background-size: 4vw auto;
        padding-left: 5vw;
        line-height: 1.6;
    }

    #problem .list-problem ul li + li {
        margin-top: 2.5vw;
    }

    #select {
        padding: 6vw 0 24vw;
    }

    #select .ttl_select {
        font-size: 5.333vw;
        line-height: 1.2;
        padding-bottom: 0;
        margin-top: -15vw;
    }

    #select .ttl_select span {
        display: block;
        
        padding: 3vw 5vw;
    }

    #select .detail_select {
        font-size: 3.73333vw;
    }

    #select .detail_select .img {
        width: 28vw;
    }

    #select .btn_delivery, #select .btn_frozen {
        width: 48.5%;
    }

    #select .btn_delivery a, #select .btn_frozen a {
        padding: 3vw 4vw 3vw 2vw;
        font-size: 3.2vw;
    }

    #select .btn_delivery span:nth-child(1), #select .btn_frozen span:nth-child(1) {
        width: 8vw;
    }

    #select .btn_select .txt {
        padding-left: 1vw;
    }

    #select .btn_delivery a {
        background: #4b2907 url(../images/arrow_brown.png) no-repeat right 2vw center;
        background-size: 3vw auto;
    }

    #select .btn_frozen a {
        background: #003f73 url(../images/arrow_blue.png) no-repeat right 2vw center;
        background-size: 3vw auto;
    }

    #menu.menu_delivery:after {
        background: url(../images/icon_delivery_pink.png) 0 0 no-repeat;
        background-size: contain;
        top: -9.86667vw;
        width: 15vw;
        height: 12vw; 
    }

    .shop_delivery.menulist-box .col-5-pc .col-inner {
        width: 42.66667vw;
    }

    #menu02.menu_frozen:after {
        background: url(../images/icon_frozen_blue.png) 0 0 no-repeat;
        background-size: contain;
        top: -9.86667vw;
        width: 15vw;
        height: 12vw;
    }

    #drink_snack:after {
        background: url(../images/icon_drink.png) 0 0 no-repeat;
        background-size: contain;
        top: -9.86667vw;
        width: 15vw;
        height: 12vw;
    }

    #drink_snack {
        padding: 6.66667vw 0 6.66667vw;
    }

    .drinklist {
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-start;
    }

    .drinklist .drink_detail {
        width: auto;
        margin-bottom: 4vw;
    }

    .drinklist .img {
        width: auto;
        text-align: center;
    }

    #daiohspay .drinklist .subtxt {
        margin-bottom: 4vw;
        font-size: 14px;
    }

    .drinklist dl {
        padding-bottom: 12vw;
    }
    .drinklist dl dt {
        width: calc(100% - 22.5vw);
        font-weight: 500;
        font-size: 3.73333vw;
    }

    .drinklist dl dd {
        width: 22.5vw;
        padding-left: 4vw;
    }

    .drinklist dl dt .steptit {
        font-size: 5vw;
        margin-bottom: 0;
    }

    .drinklist dl dt .steptit i {
        font-size: 9vw;
    }

    .drinklist dl:after {
        position: absolute;
        content: '';
        left: 25px;
        bottom: 0;
        width: 5vw;
        height: 10vw;
        background: url(../images/step_arrow.svg) no-repeat;
        background-size: contain;
    }

    #reason {
        padding: 6.67vw 0 32vw;
    }

    .h2dL02 {
        font-size: 5.73333vw;
        line-height: 1.5;
    }

    .h2dL02 span:before {
        width: 2px;
    }

    .h2dL02 span:after {
        width: 2px;
    }

    #reason .h2dL02 {
        padding-bottom: 32vw;
    }

    #problem .tit_problem span {
        font-size: 5.333vw;
        padding: 3.5vw 5vw;
    }

    #reason .list-reason .tit {
        margin: -30vw auto 0;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        font-size: 4vw;
        width: 20vw;
        height: 35vw;
    }

    #reason .list-reason .tit .ico,
    #reason .list-reason .tit.tit-reverse .ico {
        position: relative;
        left: auto;
        top: auto;
    }

    #reason .list-reason .tit.tit-reverse .ico {
        right: auto;
    }

    #reason .list-reason .tit.tit-reverse {
        flex-direction: column;
    }

    #reason .list-reason .item-reason:before {
        top: -10vw;
        width: 90%;
        height: 40vw;
    }

    #reason .list-reason ul {
        padding: 2vw 3vw;
    }

    #reason .list-reason ul li .subtit {
        padding: 1.5vw;
        font-size: 3.73333vw;
        margin-bottom: 2vw;
        flex-direction: column;
    }

    #reason .list-reason ul li .subtit span + span {
        margin-left: 0;
        margin-top: 1vw;
    }

    #reason .list-reason ul li {
        min-height: 35vw;
    }

    #reason .list-reason ul li +li {
        margin-top: 4vw;
    }

    #reason .list-reason ul li .detail {
        font-size: 3vw;
        padding: 0;
    }
    #compare:after {
        background: url(../images/menu_title_icon.png) 0 0 no-repeat;
        background-size: contain;
        top: -8.8vw;
        width: 10.4vw;
        height: 9.33333vw;
    }

    

    .tbl_compare table {
        width: max(250%,960px);
        margin-bottom: 5px;
    }

    .tbl_compare table th {
        font-size: 3.73333vw;
    }

    .tbl_compare table td {
        font-size: 3.3333vw;
        padding: 2vw 3vw;
    }

    .tbl_compare table td .ico {
        margin-bottom: 0;
    }

    .tbl_compare table td .ico img {
        width: 7vw;
    }

    .tbl_compare table td .txt {
        min-height: initial;
    }

    .h2dL03 {
        font-size: 5.333vw;
        line-height: 1.3;
    }

    .h2dL03 span {
        padding: 3vw 5vw;
    }

    .detail_answer {
        font-size: 3.73333vw;
    }

    .detail_answer .img {
        width: 28vw;
    }

    .daiohs_answer_img {
        margin-bottom: 6vw;
    }

    #daiohspay .drinklist dl {
        padding-bottom: 12vw;
    }

    #daiohspay .drinklist dl:after {
        bottom: 0;
    }

    #daiohspay .drinklist dl:last-child {
        padding-bottom: 0;
    }

    .daiohspay_use {
        margin-top: 10vw;
    }

    .daiohspay_use .tit_use {
        max-width: 685px;
        margin: 0 auto 7vw;
    }

    .daiohspay_use .tit_use span {
        font-size: 5.333vw;
        padding: 3vw 5vw 3.5vw;
        line-height: 1.3;
    }

    .daiohspay_use .useflow {
        margin-top: 10vw;
    }

    

    .daiohspay_use .useflow ul {
        margin-left: 0;
        display: block;
    }

    .daiohspay_use .useflow ul li {
        width: auto;
        padding-left: 0;
        padding-bottom: 12vw;
        position: relative;
    }

    .daiohspay_use .useflow ul li:after {
        position: absolute;
        content: '';
        left: 50%;
        bottom: 0;
        width: 5vw;
        height: 10vw;
        background: url(../images/step_arrow.svg) no-repeat;
        background-size: contain;
        transform: translate(-50%,0);
    }

    .daiohspay_use .useflow ul li:last-child {
        padding-bottom: 6.66667vw;
    }

    .daiohspay_use .useflow ul li:last-child:after {
        display: none;
    }

    .daiohspay_use .useflow .flowtit:after {
        display: none;
    }

    .daiohspay_use .useflow .flowtit {
        font-size: 5vw;
        text-align: center;
    }

    .daiohspay_use .useflow .flowtit i {
        font-size: 9vw;
    }

    .daiohspay_use .useflow .imgbrd {
        margin-bottom: 3vw;
    }

    .daiohspay_use .useflow .imgbrd img {
        width: 100%;
    }

    .daiohspay_use .useflow .txt {
        font-size: 3.73333vw;
    }

    .daiohspay_use .use_others {
        padding: 3vw 5vw;
    }

    .daiohspay_use .use_others ul {
        display: block;
    }

    .daiohspay_use .use_others ul li {
        width: auto;
        display: flex;
        align-items: center;
    }

    .daiohspay_use .use_others ul li + li {
        margin-top: 2.5vw;
    }

    .daiohspay_use .use_others ul li .menulist-box-img {
        margin-bottom: 0;
        width: 15.5vw;
    }

    .use_others .menulist-box-text {
        font-size: 3.73333vw;
        padding-left: 4vw;
        width: calc(100% - 15.5vw - 4vw);
    }

    #smartphone {
        padding: 6.66667vw 0 6.66667vw;
    }

    #service {
        padding: 6.66667vw 0 32vw;
    }

    #service .service_tit {
        font-size: 5.33vw;
        margin-bottom: 4vw;
    }

    #service .serviceBox {
        padding-right: 0;
        padding-bottom: 9vw;
    }

    #service .serviceBox .banner02 {
        margin-top: max(13vw,15px);
        padding-right: 30vw;
    }

    #service .service_women {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 30vw;
    }

    .pdf_detail  {
        padding: 5vw 7vw;
        flex-direction: column-reverse;
    }

    .pdf_detail .pdfLink {
        width: 75%;
        margin: 4vw auto 0;
        text-align: center;
        line-height: initial;
    }

    .pdf_detail .pdfLink .link {
        margin-left: 0;
    }

    .pdfTxt p:last-child {
        margin-left: 3.5vw;
    }
}