/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
 -webkit-text-size-adjust: 100%;
 box-sizing: border-box;
 -moz-tab-size: 4;
 tab-size: 4;
 word-break: normal
}
*, :after, :before {
 background-repeat: no-repeat;
 box-sizing: inherit
}
:after, :before {
 text-decoration: inherit;
 vertical-align: inherit
}
* {
 margin: 0;
 padding: 0
}
hr {
 color: inherit;
 height: 0;
 overflow: visible
}
main {
 display: block
}
summary {
 display: list-item
}
small {
 font-size: 80%
}
[hidden] {
 display: none
}
abbr[title] {
 border-bottom: none;
 text-decoration: underline;
 text-decoration: underline dotted
}
a {
 background-color: transparent
}
a:active, a:hover {
 outline-width: 0
}
code, kbd, pre, samp {
 font-family: monospace, monospace
}
pre {
 font-size: 1em
}
b, strong {
 font-weight: bolder
}
sub, sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
 vertical-align: baseline
}
sub {
 bottom: -.25em
}
sup {
 top: -.5em
}
table {
 border-color: inherit;
 text-indent: 0
}
iframe {
 border-style: none
}
input {
 border-radius: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
 height: auto
}
[type=search] {
 -webkit-appearance: textfield;
 outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
 -webkit-appearance: none
}
textarea {
 overflow: auto;
 resize: vertical
}
button, input, optgroup, select, textarea {
 font: inherit
}
optgroup {
 font-weight: 700
}
button {
 overflow: visible
}
button, select {
 text-transform: none
}
[role=button], [type=button], [type=reset], [type=submit], button {
 cursor: pointer
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
 border-style: none;
 padding: 0
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
 outline: 1px dotted ButtonText
}
[type=reset], [type=submit], button, html [type=button] {
 -webkit-appearance: button
}
button, input, select, textarea {
 background-color: transparent;
 border-style: none
}
a:focus, button:focus, input:focus, select:focus, textarea:focus {
 outline-width: 0
}
select {
 -moz-appearance: none;
 -webkit-appearance: none
}
select::-ms-expand {
 display: none
}
select::-ms-value {
 color: currentColor
}
legend {
 border: 0;
 color: inherit;
 display: table;
 max-width: 100%;
 white-space: normal
}
::-webkit-file-upload-button {
 -webkit-appearance: button;
 color: inherit;
 font: inherit
}
[disabled] {
 cursor: default
}
img {
 border-style: none
}
progress {
 vertical-align: baseline
}
[aria-busy=true] {
 cursor: progress
}
[aria-controls] {
 cursor: pointer
}
[aria-disabled=true] {
 cursor: default
}
/* container */
html {
 height: 100%;
 font-size: 62.5%;
 scroll-behavior: smooth;
 background-color: #fff;
}
body {
 overflow-x: hidden;
 position: relative;
 max-width: 100vw;
 color: #464646;
 font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
 font-size: 1.4rem;
 font-weight: 400;
 -webkit-text-size-adjust: 100%;
 -webkit-font-smoothing: antialiased;
}
body.fixed {
 width: 100%;
 height: 100%;
 position: fixed;
}
@media all and (min-width: 750px) {
 html {
  min-width: 1160px;
 }
 body {
  min-width: 1040px;
 }
}
a {
 color: #464646;
 text-decoration: underline;
 cursor: pointer;
}
a:hover {
 text-decoration: none;
}
label, button {
 cursor: pointer;
}
strong {
 font-weight: bold;
}
img {
 max-width: 100%;
 height: auto;
}
table img {
 max-width: none;
}
ul {
 list-style: none;
}
sup {
 height: 0px;
 line-height: 1;
 font-size: 0.75em;
 vertical-align: baseline;
 position: relative;
 bottom: 0.75ex;
}
sub {
 height: 0px;
 line-height: 1;
 font-size: 0.75em;
 vertical-align: baseline;
 position: relative;
 top: 0.5ex;
}

/* siteHeader */
.siteHeader {
 position: fixed;
 top: 0;
 left: 0;
 z-index: 100;
 width: 100%;
 height: 68px;
 background-color: #fff;
}
.siteHeader:before {
 display: block;
 width: 100%;
 height: 3px;
 background: linear-gradient(to right, #ff0000 20px, #adadad 20px);
 content: '';
}
.siteHeader_body {
 display: flex;
 justify-content: space-between;
 padding: 17px 20px 0 17px;
}
.siteHeader_logo {
 display: block;
}
.siteHeader_logo svg {
 width: 140px;
 height: auto;
}
.siteHeader_rightblock {
 display: flex;
 justify-content: right;
}
.logoMesse {
 padding-top: 15px;
 font-size: 1.2rem;
 letter-spacing: 1px;
 color: #333;
 text-decoration: none;
}
@media screen and (min-width: 750px), print {
 .siteHeader {
  height: 90px;
   border-bottom: 1px solid #d8d8d8;
}
 .siteHeader:before {
  height: 5px;
  background: linear-gradient(to right, #ff0000 30px, #adadad 30px);
 }
 .siteHeader_body {
  width: 1040px;
  margin: 0 auto;
  padding: 21px 0 19px 30px;
 }
 .siteHeader_logo svg {
  width: 170px;
 }
 .logoMesse {
  padding-top: 23px;
  letter-spacing: 0.6px;
 }
}
@media screen and (max-width: 749px), print {
 .pcDisp {
  display: none;
 }
}
@media screen and (min-width: 750px), print {
 .spDisp {
  display: none;
 }
}
/* footer */
@media all and (min-width: 740px) {
 footer .container {
  width: 1040px;
  margin-right: auto;
  margin-left: auto;
 }
}
footer {
 border-top-color: #adadad;
 border-top-width: 3px;
 border-top-style: solid;
 position: relative;
 letter-spacing: 0;
}
footer.with_fixed-page-top-link {
 padding-bottom: 110px;
}
@media all and (min-width: 740px) {
 footer {
  padding: 9px 0px 11px;
  margin-top: 0;
  border-top-color: #999999;
  border-top-width: 5px;
  border-top-style: solid;
  background-color: #ebebeb;
 }
 footer.with_fixed-page-top-link {
  padding-bottom: 11px;
 }
}
footer::before {
 left: 0px;
 top: -3px;
 width: 20px;
 height: 3px;
 display: block;
 position: absolute;
 content: "";
 background-color: #ff0000;
}
@media all and (min-width: 740px) {
 footer::before {
  top: -5px;
  width: 30px;
  height: 5px;
 }
}
@media all and (min-width: 740px) {
 footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
 }
}
footer .container .links {
 background-color: #ebebeb;
}
@media all and (min-width: 740px) {
 footer .container .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: transparent;
 }
}
footer .container .links li {
 text-transform: uppercase;
 line-height: 1;
 font-size: 1.2rem;
 border-bottom-color: #b3b2b2;
 border-bottom-width: 1px;
 border-bottom-style: solid;
}
@media all and (min-width: 740px) {
 footer .container .links li {
  border: currentColor;
  -o-border-image: none;
  border-image: none;
  line-height: 1;
  letter-spacing: 0px;
  font-size: 1.3rem;
  margin-right: 1em;
 }
}
@media all and (min-width: 740px) {
 footer .container .links li::before {
  margin-right: 1em;
  vertical-align: 1px;
  content: "|";
 }
}
@media all and (min-width: 740px) {
 footer .container .links li:last-child::after {
  margin-left: 1em;
  vertical-align: 1px;
  content: "|";
 }
}
footer .container .links li a {
 padding: 25px 0px;
 text-align: center;
 text-decoration: none;
 display: block;
 position: relative;
}
footer .container .links li a::before {
 color: #ff0000;
 top: 50%;
 font-size: 12px;
 right: 20px;
 margin-top: -5px;
 display: inline-block;
 position: absolute;
 border: 0;
 content: "";
 border-right: solid 1px #dd0000;
 border-top: solid 1px #dd0000;
 transform: rotate(45deg);
 height: 8px;
 width: 8px;
}
@media all and (min-width: 740px) {
 footer .container .links li a::before {
  display: none;
 }
}
@media all and (min-width: 740px) {
 footer .container .links li a {
  padding: 0px;
  text-align: left;
  color: #005a99;
  display: inline;
 }
 footer .container .links li a:hover {
  text-decoration: underline;
 }
}

footer .container .copyright {
 margin: 20px 0px 23px;
 text-align: center;
 line-height: 1;
 letter-spacing: 0px;
 font-size: 1rem;
 padding-bottom: 0;
}
footer .container .copyright img {
 width: 280px;
 height: 11px;
}
@media all and (min-width: 740px) {
 footer .container .copyright {
  margin: 0px 0px 0px auto;
  line-height: 1;
  font-size: 1.2rem;
 }
 footer .container .copyright img {
  width: 383px;
  height: 13px;
 }
}