@charset "UTF-8";
/* partial */
/*  Import file to Scss or Sass. */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, 　b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, textarea, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, input, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  /*font-weight: normal; this time remove*/
  vertical-align: baseline;
}

address, em {
  font-style: normal;
}

li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

th {
  text-align: left;
}

img {
  vertical-align: top;
  /*max-width: 100%; this time remove*/
  /*height: auto;*/
}

legend {
  clear: both;
}

input[type="submit"], button, label, select {
  cursor: pointer;
  -webkit-appearance: none;
}

button {
  border: none;
  box-sizing: content-box;
  background: transparent;
}

hr {
  -webkit-margin-before: 2em;
  -webkit-margin-after: 2em;
  clear: both;
}

main {
  display: block;
}

/* Fonts
------------------------------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body, input, button, textarea, select {
  font-family: "Yu Gothic", "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","HGゴシックE","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic","ＭＳ ゴシック","MS Gothic", sans-serif;
  color: #000000;
}

html {
  font-size: 100%;
}

body {
  font-size: 1.4em;
  /* -> 14px; */
  line-height: 1.0;
  letter-spacing: 0.1px;
}

/* link custom
------------------------------------------------------------*/
a {
  color: #000000;
  text-decoration: none;
  /* disable to smartphone highlight when touch timing */
  -webkit-tap-highlight-color: transparent;
}

a img {
  backface-visibility: hidden;
}

/* additonal custom
------------------------------------------------------------*/
#scroll-point {
  display: none;
  position: fixed;
  top: 10rem;
  left: 10rem;
  color: tomato;
  z-index: 1000;
}

body {
  font-family: 'Noto Sans JP', "Yu Gothic", "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","HGゴシックE","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic","ＭＳ ゴシック","MS Gothic", sans-serif;
  color: #373737;
  letter-spacing: 0px;
  font-size: 1rem;
  line-height: 1.625;
  background: url(../images/general/main-bg.png) center/auto repeat scroll;
}

body ::selection {
  background-color: #ccc;
  color: #000;
}

body ::-moz-selection {
  background-color: #ccc;
  color: #000;
}

body h2 {
  font-size: 2.8em;
  text-transform: uppercase;
}

body a {
  color: #ff9059;
}

body a:hover {
  text-decoration: underline;
}

body input[type=text], body input[type=password], body input[type=email], body input[type=url], body input[type=number], body textarea {
  color: #222;
  border: 1px solid #ddd;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  outline: none;
}

body div#wrapper {
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: 1rem auto;
  background-color: #fff;
}

body div#wrapper header {
  padding-bottom: 10px;
  z-index: 120;
  border-top: 1px solid #eee;
  position: relative;
}

body div#wrapper header div#logo-wrap {
  margin: 0 7.6%;
}

body div#wrapper header div#logo-wrap h1 {
  padding-top: 30px;
}

body div#wrapper header div#logo-wrap h1 a {
  display: inline-block;
  overflow: hidden;
}

body div#wrapper header div#logo-wrap h1 a img {
  width: 300px;
  height: auto;
}

body div#wrapper header div#logo-wrap h2 {
  font-size: 1.1rem;
  color: #7a7a7a;
  font-weight: bold;
  margin: 10px 0;
}

body div#wrapper header div#fv-wrap a img {
  width: 100%;
  height: auto;
}

body div#wrapper header form {
  position: absolute;
  top: 3.8em;
  right: 7.6%;
  text-align: right;
}

body div#wrapper header form label {
  display: none;
}

body div#wrapper header form input {
  float: right;
  transition-duration: 400ms;
  transition-property: width;
  transition-timing-function: ease;
  width: 72px;
  background: url(../images/general/search.png) no-repeat #fafafa 5px 6px;
  border-radius: 2px;
  font-size: 14px;
  height: 22px;
  line-height: 1.2em;
  padding: 4px 10px 4px 28px;
  font-weight: bold;
}

body div#wrapper header form input.active {
  width: 100%;
  background: #fafafa;
  background: url(../images/general/search.png) no-repeat #fafafa 5px 6px;
}

body div#wrapper header form input#search-submit {
  display: none;
}

body div#wrapper header nav#global-nav {
  display: block;
  width: 100%;
  height: 43px;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
  background: linear-gradient(#252525, #0a0a0a);
}

body div#wrapper header nav#global-nav ul {
  font-size: 13px;
  list-style: none;
  margin: 0 7.6%;
  padding-left: 0;
}

body div#wrapper header nav#global-nav ul li {
  float: left;
  position: relative;
}

body div#wrapper header nav#global-nav ul li a {
  color: #eee;
  display: block;
  line-height: 3.333em;
  padding: 0 1.2125em;
  text-decoration: none;
}

body div#wrapper header nav#global-nav ul li:hover {
  background-color: #eee;
}

body div#wrapper header nav#global-nav ul li:hover a {
  color: #0a0a0a;
}

body div#wrapper main {
  padding: 1.625em 0 0;
}

body div#wrapper main div#content {
  margin: 0 6%;
  overflow: hidden;
}

body div#wrapper main div#content article {
  width: 100%;
  padding: calc(1.625em * 2) 0;
}

body div#wrapper main div#content article section {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-content: flex-start;
}

body div#wrapper main div#content article section div#facebook-wrap {
  flex-basis: 40%;
  width: 340px;
  height: 500px;
}

body div#wrapper main div#content article section div#facebook-wrap iframe {
  max-width: 100%;
  width: 100%;
}

body div#wrapper main div#content article section div#top-content {
  flex-basis: 58%;
}

body div#wrapper main div#content article section div#top-content h3 {
  font-size: 24px;
  font-weight: bold;
  background-image: linear-gradient(transparent 95%, #eee 0%);
  margin-bottom: 10px;
  padding-bottom: 10px;
}

body div#wrapper main div#content article section div#top-content p {
  margin-bottom: 1.625em;
}

body div#wrapper main div#content article section div#top-content p a {
  font-weight: bold;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.625rem;
  padding: 10px;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items {
  border-radius: 5px;
  box-sizing: border-box;
  flex-basis: calc(33% - 10px);
  margin: 0 10px 10px 0;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure {
  transition-property: visibility,opacity;
  transition-timing-function: ease;
  transition-duration: 650ms;
  position: relative;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a span {
  display: block;
  box-sizing: border-box;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a span.img-wrap {
  position: relative;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a span.img-wrap img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: matrix(1, 0, 0, 1, 0, 0) perspective(1px);
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a span.img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a span.img-overlay::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(../images/general/plus.svg) center/32px 32px no-repeat;
}

body div#wrapper main div#content article section div#top-content div#gallary-panel div.gal-items figure a:hover span.img-overlay {
  opacity: 1;
  visibility: visible;
}

body div#wrapper main div#content article section div#top-content div.button-wrap {
  width: 200px;
  margin: 0 auto;
}

body div#wrapper main div#content article section div#top-content div.button-wrap a button {
  width: 200px;
  padding: 10px 20px;
  background: #ff9059;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  border: 2px solid #fff;
  margin: 0.2rem;
  outline: none;
}

body div#wrapper main div#content article section div#top-content div.button-wrap a button:hover {
  opacity: 0.8;
}

body div#wrapper main#message {
  background: url(../images/under/message_head_bg.png) right 20px/auto no-repeat;
}

body div#wrapper main#message div#content article section {
  display: block;
  padding-top: 30px;
}

body div#wrapper main#message div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#message div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper main#message div#content article section dl dt {
  font-weight: bold;
}

body div#wrapper main#message div#content article section dl dd {
  padding-bottom: 1.625em;
}

body div#wrapper main#message div#content article section img {
  width: 97.5%;
  object-fit: cover;
  padding: 1.625em 0;
}

body div#wrapper main#company div#content article, body div#wrapper main#recruit div#content article {
  padding-top: 0;
}

body div#wrapper main#company div#content article section, body div#wrapper main#recruit div#content article section {
  display: block;
}

body div#wrapper main#company div#content article section h3, body div#wrapper main#recruit div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#company div#content article section p, body div#wrapper main#recruit div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper main#company div#content article section table, body div#wrapper main#recruit div#content article section table {
  width: 100%;
  border: 1px solid #fff;
  border-collapse: separate;
  border-spacing: 0px 15px;
  font-size: 1rem;
}

body div#wrapper main#company div#content article section table tr th, body div#wrapper main#company div#content article section table tr td, body div#wrapper main#recruit div#content article section table tr th, body div#wrapper main#recruit div#content article section table tr td {
  padding: 10px;
}

body div#wrapper main#company div#content article section table tr th, body div#wrapper main#recruit div#content article section table tr th {
  width: 200px;
  background: rgba(246, 180, 85, 0.9);
  position: relative;
  overflow: visible;
  color: #fff;
  vertical-align: middle;
  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2.6em;
  text-transform: uppercase;
}

body div#wrapper main#company div#content article section table tr th::after, body div#wrapper main#recruit div#content article section table tr th::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  height: 0;
  width: 0;
  border: solid transparent;
  border-color: rgba(136, 183, 213, 0);
  border-left-color: rgba(246, 180, 85, 0.9);
  border-width: 10px;
  margin-top: -10px;
  pointer-events: none;
}

body div#wrapper main#company div#content article section table tr td, body div#wrapper main#recruit div#content article section table tr td {
  width: 360px;
  padding-left: 20px;
  background: #f8f8f8;
  border: 1px solid #fff;
}

body div#wrapper main#recruit div#content article section h4 {
  font-size: 1.6em;
  text-align: center;
}

body div#wrapper main#recruit div#content article section h4:nth-of-type(2) {
  padding-top: 4rem;
}

body div#wrapper main#recruit div#content article section div#flow {
  position: relative;
  padding-top: 3em;
}

body div#wrapper main#recruit div#content article section div#flow img {
  position: absolute;
  top: 100px;
  left: -10px;
  z-index: 2;
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: flex-start;
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 {
  box-sizing: border-box;
  position: relative;
  width: 160px;
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 div.box {
  box-sizing: border-box;
  border: 2px solid #ff9059;
  border-radius: 4px;
  width: 160px;
  height: 160px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 div.box p.shade {
  color: rgba(246, 180, 85, 0.9);
  font-size: 2rem;
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 i {
  position: absolute;
  top: 0;
  right: 0;
  font-weight: bold;
  font-size: 1.4rem;
  transform: translate(46px, calc(80px - 11px));
}

body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 p.flowDis {
  padding-top: 4rem;
  width: 120%;
}

body div#wrapper main#recruit div#content article section div.button-wrap {
  width: 340px;
  margin: 0 auto;
  padding: 4rem 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

body div#wrapper main#recruit div#content article section div.button-wrap p {
  text-align: center;
}

body div#wrapper main#recruit div#content article section div.button-wrap a button {
  padding: 10px 20px;
  background: #ff9059;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  border: 2px solid #fff;
  margin: 0.2rem;
  outline: none;
}

body div#wrapper main#recruit div#content article section div.button-wrap a button:hover {
  opacity: 0.8;
}

body div#wrapper main#policy div#content article {
  padding-top: 0;
}

body div#wrapper main#policy div#content article section {
  display: block;
}

body div#wrapper main#policy div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#policy div#content article section p {
  padding-top: 1.625em;
}

body div#wrapper main#policy div#content article section dl dt {
  font-weight: bold;
}

body div#wrapper main#policy div#content article section dl dd {
  padding-bottom: 1.625em;
}

body div#wrapper main#policy div#content article section dl dd ul {
  margin: 0 0 1.625em 2.5em;
}

body div#wrapper main#policy div#content article section dl dd ul li {
  list-style: square;
}

body div#wrapper main#policy div#content article section dl dd ul li::marker {
  color: #000;
}

body div#wrapper main#products div#content article {
  padding-top: 0;
}

body div#wrapper main#products div#content article section {
  display: block;
}

body div#wrapper main#products div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#products div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper main#products div#content article section ul li {
  margin: 10px auto 20px;
}

body div#wrapper main#products div#content article section ul li h4 {
  font-size: 1.5em;
  line-height: 2.5rem;
  padding: 0 10px;
  margin: 20px 0 0;
}

body div#wrapper main#products div#content article section ul li p {
  padding: 0 10px;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  margin-bottom: 1.625rem;
  padding: 10px;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items {
  border-radius: 5px;
  box-sizing: border-box;
  flex-basis: calc(20% - 10px);
  margin: 0 10px 10px 0;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure {
  transition-property: visibility,opacity;
  transition-timing-function: ease;
  transition-duration: 650ms;
  position: relative;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a span {
  display: block;
  box-sizing: border-box;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a span.img-wrap {
  position: relative;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a span.img-wrap img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: matrix(1, 0, 0, 1, 0, 0) perspective(1px);
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a span.img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a span.img-overlay::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(../images/general/plus.svg) center/32px 32px no-repeat;
}

body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items figure a:hover span.img-overlay {
  opacity: 1;
  visibility: visible;
}

body div#wrapper main#products-details div#content article {
  padding-top: 0;
}

body div#wrapper main#products-details div#content article section {
  display: block;
}

body div#wrapper main#products-details div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#products-details div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: center;
  margin-bottom: 1.625rem;
  padding: 2px;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items {
  border-radius: 5px;
  box-sizing: border-box;
  margin: 0 10px 10px 0;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items.columns1 {
  flex-basis: calc(100% - 10px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items.columns2 {
  flex-basis: calc(50% - 10px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items.columns3 {
  flex-basis: calc(33% - 10px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items.columns4 {
  flex-basis: calc(25% - 10px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items.columns5 {
  flex-basis: calc(20% - 10px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure {
  transition-property: visibility,opacity;
  transition-timing-function: ease;
  transition-duration: 650ms;
  position: relative;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a span {
  display: block;
  box-sizing: border-box;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a span.img-wrap {
  position: relative;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a span.img-wrap img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: matrix(1, 0, 0, 1, 0, 0) perspective(1px);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a span.img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a span.img-overlay::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(../images/general/plus.svg) center/32px 32px no-repeat;
}

body div#wrapper main#products-details div#content article section div.item-list-wrap div.gal-items figure a:hover span.img-overlay {
  opacity: 1;
  visibility: visible;
}

body div#wrapper main#products-details div#content article section div.back-button-area {
  width: 340px;
  margin: 0 auto;
  padding: 4rem 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

body div#wrapper main#products-details div#content article section div.back-button-area p {
  text-align: center;
}

body div#wrapper main#products-details div#content article section div.back-button-area a button {
  padding: 10px 20px;
  background: #ff9059;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  border: 2px solid #fff;
  margin: 0.2rem;
  outline: none;
}

body div#wrapper main#products-details div#content article section div.back-button-area a button:hover {
  opacity: 0.8;
}

body div#wrapper main#contact div#content article, body div#wrapper main#search div#content article {
  padding-top: 0;
}

body div#wrapper main#contact div#content article section, body div#wrapper main#search div#content article section {
  display: block;
}

body div#wrapper main#contact div#content article section h3, body div#wrapper main#search div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#contact div#content article section p, body div#wrapper main#search div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper main#contact div#content article section div#confirm-hidden-area ul li, body div#wrapper main#search div#content article section div#confirm-hidden-area ul li {
  font-size: 1.5em;
  line-height: 2em;
  font-weight: bold;
}

body div#wrapper main#contact div#content article section div#confirm-hidden-area ul p, body div#wrapper main#search div#content article section div#confirm-hidden-area ul p {
  font-size: 1.5em;
  padding: 0 0 1.625em 0;
}

body div#wrapper main#contact div#content article section dl#descript dt, body div#wrapper main#search div#content article section dl#descript dt {
  border-bottom: 1px dashed #333;
  margin-bottom: 5px;
  font-weight: bold;
}

body div#wrapper main#contact div#content article section dl#descript dd, body div#wrapper main#search div#content article section dl#descript dd {
  margin-bottom: 1.625em;
}

body div#wrapper main#contact div#content article section dl#descript dd:last-child, body div#wrapper main#search div#content article section dl#descript dd:last-child {
  border-bottom: 1px dashed #333;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

body div#wrapper main#contact div#content article section div#formHeader, body div#wrapper main#search div#content article section div#formHeader {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.625em;
}

body div#wrapper main#contact div#content article section div#formHeader span:not(:first-of-type), body div#wrapper main#search div#content article section div#formHeader span:not(:first-of-type) {
  color: #eee;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dt, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dt {
  padding: 5px 10px;
  margin-bottom: 15px;
  background: rgba(246, 180, 85, 0.9);
  color: #fff;
  font-weight: bold;
  line-height: 1.6rem;
  clear: right;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dt span.must, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dt span.must {
  float: right;
  background: tomato;
  padding: 0 5px;
  border-radius: 5px;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd {
  margin-bottom: 1.625em;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd table tr th, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd table tr th {
  color: #666;
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.6em;
  text-transform: uppercase;
  width: 200px;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd table tr td, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd table tr td {
  padding: 6px 0;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd p, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd p {
  padding: 0;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd input, body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd textarea, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd input, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd textarea {
  color: #222;
  padding: 3px;
  background: #fafafa;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd select, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd select {
  padding: 0.4rem 1rem;
  height: 2.4rem;
  font-size: 1rem;
  -webkit-appearance: auto;
  appearance: auto;
}

body div#wrapper main#contact div#content article section div form dl#form-inner-wrap dd textarea, body div#wrapper main#search div#content article section div form dl#form-inner-wrap dd textarea {
  padding-left: 3px;
  width: 98%;
}

body div#wrapper main#contact div#content article section div form button, body div#wrapper main#search div#content article section div form button {
  width: 300px;
  padding: 10px 20px;
  background: #ff9059;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  border: 2px solid #fff;
  margin: 0.2rem;
}

body div#wrapper main#contact div#content article section div.mw_wp_form_complete div#form-comp-message, body div#wrapper main#search div#content article section div.mw_wp_form_complete div#form-comp-message {
  background: #fff8dc;
  padding: 1.625em;
}

body div#wrapper main#contact div#content article section div.mw_wp_form_complete div#form-comp-message h6, body div#wrapper main#search div#content article section div.mw_wp_form_complete div#form-comp-message h6 {
  font-size: 1.5em;
  border-bottom: 1px solid #333;
  padding-bottom: calc(1.625em / 2);
}

body div#wrapper main#contact div#content article section div.mw_wp_form_complete div#form-comp-message p, body div#wrapper main#search div#content article section div.mw_wp_form_complete div#form-comp-message p {
  padding: calc(1.625em / 2) 0;
}

body div#wrapper main#general div#content article {
  padding-top: 0;
}

body div#wrapper main#general div#content article section {
  display: block;
}

body div#wrapper main#general div#content article section h3 {
  font-size: 1.5em;
  line-height: 2.5em;
  background: linear-gradient(transparent 95%, #eee 0%);
}

body div#wrapper main#general div#content article section p {
  padding: 1.625em 0;
}

body div#wrapper footer div#footer-top {
  border-top: 1px solid #ddd;
  padding: 1.625em 7.6%;
  overflow: hidden;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap {
  box-sizing: border-box;
  width: 30.85%;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap nav {
  margin: 0;
  word-wrap: break-word;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap nav ul {
  margin: 0;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap nav ul li {
  font-size: 13px;
  list-style: square;
  margin-bottom: 20px;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap nav ul li a {
  font-weight: bold;
}

body div#wrapper footer div#footer-top div.footer-nav-wrap nav ul li::marker {
  color: #777;
}

body div#wrapper footer div#footer-bottom {
  background-color: #f9f9f9;
  border-top: 1px solid #ddd;
  color: #666;
  font-size: 12px;
  line-height: 2.2em;
  padding: 2.2em 0.5em;
  text-align: center;
}

body div#wrapper footer div#footer-bottom p {
  margin-bottom: 1.625em;
}

/* ブレイクポイント ------------------------------------------
▼ルール▼
-モバイルファーストを基本設計にする-
*      〜 480px：スマホ縦 = sp portlait
* 481px〜 768px：スマホ横とタブレット縦 = sp landscape & tb portlait
* 769px〜1024px：タブレット横とラップトップ = tb landscape & laptop
*1025px〜1280px：デスクトップ = desktop
*1281px～      ：フルHDモニター = large-screen monitor
---------------------------------------------------------- */
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

/* General CSS Document */
@media screen and (max-width: 1040px) {
  body .pc-only {
    display: none;
  }
}

@media screen and (min-width: 750px) and (max-width: 1040px) {
  body .pc-only {
    display: none;
  }
}

@media screen and (min-width: 1040px) and (orientation: landscape) {
  body .sp-only {
    display: none;
  }
}

@media screen and (max-width: 1040px) {
  body a {
    font-size: 12px;
  }
  body div#wrapper {
    margin: 0;
  }
  body div#wrapper header div#logo-wrap {
    position: fixed;
    background-color: white;
    width: 100%;
    height: 100px;
    margin: 0;
    padding: 0 7.6%;
    z-index: 2;
  }
  body div#wrapper header div#logo-wrap h1 {
    padding-top: 18px;
  }
  body div#wrapper header div#logo-wrap h1 a img {
    width: 150px;
  }
  body div#wrapper header div#logo-wrap h2 {
    font-size: 0.9em;
  }
  body div#wrapper header div#fv-wrap {
    padding-top: 100px;
  }
  body div#wrapper header form {
    display: none;
  }
  body div#wrapper header nav#global-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: white;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    transform: translate3d(100%, 0, 0);
    opacity: 0;
    visibility: hidden;
    transition: 300ms all ease-in;
  }
  body div#wrapper header nav#global-nav ul li {
    float: unset;
    clear: both;
    padding: 15px 0;
  }
  body div#wrapper header nav#global-nav ul li a {
    color: #222;
  }
  body div#wrapper header nav#global-nav.active {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible;
  }
  body div#wrapper header div#toggle {
    width: 90px;
    height: 70px;
    background-color: white;
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    z-index: 3;
  }
  body div#wrapper header div#toggle span {
    width: 40px;
    height: 2px;
    background-color: black;
    position: relative;
  }
  body div#wrapper header div#toggle span::before, body div#wrapper header div#toggle span::after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: black;
    position: absolute;
    transition: 300ms transform ease-in;
  }
  body div#wrapper header div#toggle span::before {
    top: -10px;
  }
  body div#wrapper header div#toggle span::after {
    bottom: -10px;
  }
  body div#wrapper header div#toggle span.active {
    background-color: white;
  }
  body div#wrapper header div#toggle span.active::before, body div#wrapper header div#toggle span.active::after {
    transform-origin: center;
  }
  body div#wrapper header div#toggle span.active::before {
    transform: rotate(45deg) translate(6.5px, 8px);
  }
  body div#wrapper header div#toggle span.active::after {
    transform: rotate(-45deg) translate(6.5px, -8px);
  }
  body div#wrapper main div#content article {
    padding: 0;
  }
  body div#wrapper main div#content article section div#facebook-wrap {
    display: none;
  }
  body div#wrapper main div#content article section div#top-content {
    flex-basis: 100%;
  }
  body div#wrapper main div#content article section div#top-content div.button-wrap {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    margin: 40px auto;
  }
  body div#wrapper main#message {
    padding-top: 70px;
    background-size: contain;
    background-position-y: 90px;
  }
  body div#wrapper main#company {
    padding-top: 100px;
  }
  body div#wrapper main#products {
    padding-top: 100px;
  }
  body div#wrapper main#products div#content article section ul li div.item-list-wrap div.gal-items {
    flex-basis: calc(33% - 10px);
  }
  body div#wrapper main#recruit {
    padding-top: 100px;
  }
  body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 50px;
    width: 90%;
  }
  body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 div.box {
    width: 50%;
  }
  body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 i {
    top: unset;
    bottom: 10px;
    left: 0;
    margin: auto;
    width: 22px;
    transform: rotate(90deg);
  }
  body div#wrapper main#recruit div#content article section div#flow div#flowWrap div.flow00 p.flowDis {
    width: 50%;
    padding: 10px;
    box-sizing: border-box;
  }
  body div#wrapper main#recruit div#content article section div.button-wrap {
    padding-top: 0;
  }
  body div#wrapper main#contact {
    padding-top: 100px;
  }
  body div#wrapper main#contact div#content article section div.mw_wp_form form {
    padding-bottom: 1.625em;
  }
  body div#wrapper main#contact div#content article section div.mw_wp_form form dl#form-inner-wrap dd table tr.table-break {
    display: flex;
    flex-flow: column nowrap;
  }
  body div#wrapper main#contact div#content article section div.mw_wp_form form button {
    width: 100%;
    box-sizing: border-box;
    margin: 1.625em 0;
  }
  body div#wrapper main#policy {
    padding-top: 100px;
  }
}

@media screen and (min-width: 750px) and (max-width: 1040px) {
  body div#wrapper header nav#global-nav ul li a {
    font-size: 18px;
  }
  body div#wrapper header div#toggle {
    width: 120px;
    height: 100px;
  }
  body div#wrapper main#message {
    background-size: 70%;
    background-position-y: 120px;
  }
  body div#wrapper main#message, body div#wrapper main#company, body div#wrapper main#products, body div#wrapper main#recruit, body div#wrapper main#contact, body div#wrapper main#policy {
    padding-top: 140px;
  }
}

/* CSS Document */
