@charset "UTF-8";
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: 700;
}
dfn {
  font-style: italic;
}
mark {
  color: #000;
  background: #ff0;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  height: 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  padding: 0.35em 0.625em 0.75em;
  margin: 0 2px;
  border: 1px solid silver;
}
legend {
  padding: 0;
  border: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: 700;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
td,
th {
  padding: 0;
} /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  :after,
  :before {
    color: #000 !important;
    text-shadow: none !important;
    background: 0 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  blockquote,
  pre {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  img,
  tr {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  h2,
  h3,
  p {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  select {
    background: #fff !important;
  }
}
*,
:after,
:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  text-decoration: none;
}
a:focus,
a:hover {
  text-decoration: none;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
ol,
ul {
  margin-top: 0;
  margin-bottom: 10px;
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin-bottom: 0;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset,
img {
  border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}
ol,
ul {
  list-style: none;
}
caption,
th {
  text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before,
q:after {
  content: "";
}
abbr,
acronym {
  border: 0;
  font-variant: normal;
}
sup {
  vertical-align: text-top;
}
sub {
  vertical-align: text-bottom;
}
input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
input,
textarea,
select {
  *font-size: 100%;
}
legend {
  color: #000;
}
#yui3-css-stamp.cssreset {
  display: none;
}

/** ページトップへ戻るのスタイル **/
#topcontrol {
  bottom: 120px !important;
  right: 40px !important;
  z-index: 999;
}

/** よく使うコンテナのサイズ **/
.container1680 {
  width: 90%;
  margin: 0 auto;
  max-width: 1680px;
}
.container1600 {
  width: 90%;
  margin: 0 auto;
  max-width: 1600px;
}
.container1440,
.container1440w {
  width: 90%;
  margin: 0 auto;
  max-width: 1440px;
}
.container1280 {
  width: 90%;
  margin: 0 auto;
  max-width: 1280px;
}
.container1200 {
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.container1100 {
  width: 90%;
  margin: 0 auto;
  max-width: 1100px;
}
.container1000 {
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
}
.container960 {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.container1760_right {
  width: 91%;
  margin-left: auto;
  max-width: 1760px;
}
.container1580_left {
  width: 80%;
  margin-left: auto;
  margin-right: 9%;
  max-width: 1580px;
}

/** z-indexの指定 **/

.z500 {
  position: relative;
  z-index: 500;
}
.z10 {
  position: relative;
  z-index: 10;
}

/** flex処理（740pxで解除） **/

.flex_box,
.flex_box02,
.flex_box03,
.flex_box1000 {
  display: flex;
  justify-content: space-between;
}
.flex_start,
.flex_start02,
.flex_start03,
.flex_start1000 {
  display: flex;
  justify-content: flex-start;
}
.flex_center,
.flex_center02,
.flex_center03,
.flex_center1000 {
  display: flex;
  justify-content: center;
}
.item_center {
  align-items: center;
}
.item_start {
  align-items: flex-start;
}
.item_end {
  align-items: flex-end;
}

/** grid処理  **/

.grid {
  display: grid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/******************************/

.overflow_hidden {
  overflow: hidden;
}

.posi {
  position: relative;
}
.relative {
  position: relative;
}

.tel-link2 a {
  text-decoration: none;
  color: inherit;
}

.tel-link2 {
  text-decoration: none;
  color: inherit;
}

.br1000 {
  display: none;
}

.br768 {
  display: none;
}

.br480 {
  display: none;
}

.t-hi {
  line-height: 2.4em;
}

.order2 {
  order: 2;
}
.br740 {
    display: none;
}
.event_none {
    pointer-events: none;
}
@media only screen and (min-width: 1024px) {
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 1580px) {
  .brnone1580 {
    display: none;
  }
}
@media only screen and (max-width: 1400px) {
  .brnone1400 {
    display: none;
  }
}

@media only screen and (max-width: 1024px) {
  .brnone1024 {
    display: none;
  }

  .t-hi {
    line-height: 1.8em;
  }
}
@media only screen and (max-width: 1000px) {
  .flex_box1000,
  .flex_start1000,
  .flex_center1000 {
    display: block;
  }
  .br1000 {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  #topcontrol {
    right: 10px !important;
  }
.br740 {
    display: block;
}

  .container1680,
  .container1600,
  .container1580,
  .container1440,
  .container1280,
  .container1200,
  .container1100,
  .container960 {
    width: 90%;
  }
  .container1440w {
    width: 94%;
  }
  .container1760_right {
    width: 94%;
    margin-left: auto;
    max-width: 1760px;
  }
  .container1580_left {
    width: 83%;
    margin-left: auto;
    margin-right: 11%;
    max-width: 1580px;
  }
  .br768 {
    display: block;
  }
  .brnone768 {
    display: none;
  }
  .flex_box,
  .flex_start,
  .flex_center {
    display: block;
  }
}

/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width: 480px) {
  .flex_box02,
  .flex_start02,
  .flex_center02 {
    display: block;
  }
}
