@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap");
/* -----------------------------------------------------------------------------

 default.css

----------------------------------------------------------------------------- */
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,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select, button {
  font: inherit;
}

img {
  vertical-align: bottom;
}

label {
  cursor: pointer;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  padding: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
  outline: none;
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
}

a:hover {
  text-decoration: none;
}

select,
textarea,
input[type=text],
input[type=email],
input[type=number],
input[type=tel] {
  -webkit-appearance: none;
  -moz-appearance: none;
  line-height: 1;
  box-sizing: border-box;
  outline: none;
  border-radius: 0;
  border: none;
  background: inherit;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  line-height: 1;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: none;
  width: 100%;
  line-height: 1.5;
}

input[type=button],
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  line-height: 1;
  cursor: pointer;
}

.clr:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

@media screen and (max-width: 750px) {
  select,
  textarea,
  input[type=text],
  input[type=email],
  input[type=number],
  input[type=tel] {
    font-size: 1.6rem;
  }
}
html {
  font-size: 100%;
}

body {
  color: #000;
  line-height: 1.5;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-print-color-adjust: exact;
  -moz-print-color-adjust: exact;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (min-width: 1025px) {
  body.pcFixed {
    overflow: hidden;
    margin-right: 17px;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
  }
}
body * {
  box-sizing: border-box;
  overflow-wrap: break-word;
  /*-webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";*/
}

_::-webkit-full-page-media, _:future, :root body.pcFixed {
  margin-right: 0;
}

#wrapper {
  font-size: 1.4rem;
  overflow: hidden;
  min-width: 320px;
  opacity: 0;
}
.loaded #wrapper {
  transition-duration: 1s;
  opacity: 1;
}

#container {
  margin: 0 0 0 200px;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  #container {
    margin: 0;
    padding: 54px 0 0;
  }
}

a,
a img,
a svg {
  transition: 0.2s ease-out;
}

img {
  width: 100%;
  image-rendering: optimizequality;
}

svg {
  display: block;
}

.pcView .telLink {
  pointer-events: none;
}

@media screen and (max-width: 599px) {
  .pc {
    display: none;
  }
}

@media print, screen and (min-width: 1024px) {
  .sp {
    display: none;
  }
}

.tab {
  display: none;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  .tab {
    display: block;
  }
}

body.active {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

header {
  height: 400px;
  background: url(../img/bg_mv02_pc.jpg) no-repeat center center/auto 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #d2d7da;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 599px) {
  header {
    height: auto;
    border: none;
    padding: 0;
  }
}
header h1 {
  max-width: 470px;
}
@media screen and (max-width: 599px) {
  header h1 {
    max-width: 100%;
  }
}
header h1 a {
  transition: 0.2s ease-out;
}
header h1 a:hover {
  opacity: 0.7;
}
header figure {
  width: 70px;
  position: absolute;
  bottom: 15px;
  right: 25px;
}
@media screen and (max-width: 599px) {
  header figure {
    display: none;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  header figure {
    width: 60px;
    right: 12px;
    bottom: 12px;
  }
}

nav {
  border-bottom: 1px solid #d2d7da;
  background: #fff;
  width: 100%;
}
nav.m_fixed {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
}
nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  nav ul {
    flex-wrap: wrap;
  }
}
nav ul li {
  margin: 0 32px;
}
nav ul li a {
  display: block;
  padding: 28px 0;
  font-size: 0.9rem;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  nav ul li:nth-child(-n+4) a {
    padding-bottom: 0;
  }
}

main {
  /*
  共通パーツ	
  */
  /*
  コンテンツ
  */
}
main .breadcrumbs {
  background: #F7F7F7;
  height: 50px;
  padding: 10px 0;
}
main .breadcrumbs ul {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  display: block;
  overflow-x: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
main .breadcrumbs li {
  color: #828487;
  font-size: 0.88rem;
  display: inline;
}
@media screen and (max-width: 599px) {
  main .breadcrumbs li {
    font-size: 0.69rem;
  }
}
main .breadcrumbs li + li {
  position: relative;
  padding-left: 30px;
}
main .breadcrumbs li + li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-right: 2px solid #222426;
  border-bottom: 2px solid #222426;
  transform: rotate(-45deg);
  position: absolute;
  left: 7px;
  top: calc(50% - 3px);
}
main .breadcrumbs a {
  color: #222426;
}
main section {
  padding: 130px 20px 200px 20px;
}
@media screen and (max-width: 599px) {
  main section {
    padding: 70px 30px 95px 30px;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main section {
    padding: 70px 40px 95px 40px;
  }
}
main section .inner {
  position: relative;
  z-index: 1;
}
main h2.ttlMain {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding-bottom: 45px;
  margin-bottom: 65px;
}
@media screen and (max-width: 599px) {
  main h2.ttlMain {
    font-size: 1.8rem;
    padding-bottom: 35px;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 320px) {
  main h2.ttlMain {
    font-size: 1.6rem;
    padding-bottom: 35px;
    margin-bottom: 45px;
  }
}
main h2.ttlMain::after {
  content: "";
  width: 160px;
  height: 4px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: calc(50% - 80px);
}
@media screen and (max-width: 599px) {
  main h2.ttlMain::after {
    width: 120px;
    height: 5px;
    left: calc(50% - 60px);
  }
}
main h1.ttlMain {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin-bottom: 55px;
}
@media screen and (max-width: 599px) {
  main h1.ttlMain {
    font-size: 1.8rem;
    padding-bottom: 0px;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 320px) {
  main h1.ttlMain {
    font-size: 1.6rem;
    padding-bottom: 35px;
    margin-bottom: 45px;
  }
}
main .ttlMain02 {
  margin: 0 0 20px;
  padding: 4px 0;
  border-bottom: 1px solid #0068b8;
}
main .ttlMain02 b {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0068b8;
}
main .ttlMain02 span {
  font-size: 0.62rem;
  color: #0068b8;
  padding-left: 10px;
}
main .ttlMain03 {
  margin: 0 0 20px;
  padding: 3px 0 5px;
  border-bottom: 1px solid #0068b8;
}
main .ttlMain03 span {
  font-size: 1.12rem;
  color: #0068b8;
}
main span.number {
  display: block;
  height: 100%;
  background: #0068b8;
  border-radius: 100%;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
main .btn {
  margin: 0 auto;
}
main .btn a {
  display: block;
  border: 2px solid #000;
  text-align: center;
  padding: 35px;
  box-sizing: border-box;
  font-size: 1.3rem;
  font-weight: 700;
  position: relative;
  z-index: 0;
  overflow: hidden;
  transition: all 0.25s linear;
}
@media screen and (max-width: 599px) {
  main .btn a {
    padding: 20px;
    font-size: 0.9rem;
  }
}
main .btn a.pdf {
  background: url(../img/ico_pdf.png) no-repeat right 35px center/28px 16px;
}
@media screen and (max-width: 599px) {
  main .btn a.pdf {
    background: url(../img/ico_pdf.png) no-repeat right 10px center/28px 16px;
  }
}
main .btn a.xls {
  background: url(../img/ico_xls.png) no-repeat right 35px center/28px 16px;
}
@media screen and (max-width: 599px) {
  main .btn a.xls {
    background: url(../img/ico_xls.png) no-repeat right 10px center/28px 16px;
  }
}
main .btn a.arrowWh {
  background: url(../img/ico_arrow_wh.png) no-repeat right 35px center/9px 14px;
}
@media screen and (max-width: 599px) {
  main .btn a.arrowWh {
    background: url(../img/ico_arrow_wh.png) no-repeat right 10px center/9px 14px;
  }
}
main .btn a.arrowBk {
  background: url(../img/ico_arrow_bk.png) no-repeat right 35px center/9px 14px;
}
@media screen and (max-width: 599px) {
  main .btn a.arrowBk {
    background: url(../img/ico_arrow_bk.png) no-repeat right 10px center/9px 14px;
  }
}
main .btn a::before {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(34, 36, 38, 0.1);
  transform: scaleX(0.6) translateZ(0);
  transform-origin: left;
  transition: transform 0s cubic-bezier(0.4, 0, 0.1, 1) 0.4s, opacity 0.4s linear;
}
main .btn a:hover::before {
  opacity: 1;
  transform: scaleX(1) translateZ(0);
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.6s linear;
}
main .btn a.mailBlue {
  background-color: #0068b8;
  color: #fff;
  border: none;
}
@media screen and (max-width: 599px) {
  main .btn a.mailBlue {
    padding: 30px 20px;
  }
}
main .btn a.mailBlue::before {
  background: rgba(255, 255, 255, 0.2);
}
main .btn a.mailBlue span {
  position: relative;
  display: inline-block;
  margin-left: 10px;
}
@media screen and (max-width: 320px) {
  main .btn a.mailBlue span {
    font-size: 0.8rem;
  }
}
main .btn a.mailBlue span::before {
  content: "";
  width: 22px;
  height: 16px;
  background: url(../img/ico_mail_wh.png) no-repeat center center/cover;
  position: absolute;
  left: -30px;
  top: calc(50% - 6px);
}
main .btn a.mailWhite {
  border: none;
  background-color: #fff;
}
@media screen and (max-width: 599px) {
  main .btn a.mailWhite {
    padding: 30px 20px;
  }
}
main .btn a.mailWhite span {
  position: relative;
  display: inline-block;
  margin-left: 10px;
}
main .btn a.mailWhite span::before {
  content: "";
  width: 22px;
  height: 16px;
  background: url(../img/ico_mail_bk.png) no-repeat center center/cover;
  position: absolute;
  left: -30px;
  top: calc(50% - 6px);
}
main .btnSmall {
  width: 330px;
}
@media screen and (max-width: 599px) {
  main .btnSmall {
    width: 100%;
  }
}
main .btnSmall a {
  font-size: 0.94rem;
  padding: 18px;
}
main .btnSmall span {
  color: #000;
}
main .btnSmall a.arrowBk {
  background: url(../img/ico_arrow_bk.png) no-repeat right 15px center/6px 9px;
}
@media screen and (max-width: 599px) {
  main .btnSmall a.arrowBk {
    background: url(../img/ico_arrow_bk.png) no-repeat right 10px center/6px 9px;
  }
}
main .btnSmall a.arrowBack {
  background: url(../img/ico_arrow_back.png) no-repeat left 15px center/6px 9px;
}
@media screen and (max-width: 599px) {
  main .btnSmall a.arrowBack {
    background: url(../img/ico_arrow_back.png) no-repeat left 10px center/6px 9px;
  }
}
main .btnSmall button {
  width: 100%;
  display: block;
  border: 2px solid #000;
  text-align: center;
  box-sizing: border-box;
  font-weight: 700;
  position: relative;
  z-index: 0;
  overflow: hidden;
  transition: all 0.25s linear;
  font-size: 0.94rem;
  padding: 18px;
  position: relative;
}
main .btnSmall button::before {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(34, 36, 38, 0.1);
  transform: scaleX(0.6) translateZ(0);
  transform-origin: left;
  transition: transform 0s cubic-bezier(0.4, 0, 0.1, 1) 0.4s, opacity 0.4s linear;
}
main .btnSmall button:hover::before {
  opacity: 1;
  transform: scaleX(1) translateZ(0);
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.6s linear;
}
main .news {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 65px;
  padding-bottom: 40px;
}
@media screen and (max-width: 599px) {
  main .news {
    padding-top: 45px;
    padding-bottom: 10px;
  }
}
main .news .newsLead {
  border: 1px solid #0068b8;
  padding: 10px 50px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .newsLead {
    padding: 10px 30px;
  }
}
@media screen and (max-width: 599px) {
  main .news .newsLead {
    display: block;
    padding: 15px;
  }
}
main .news .newsLead h2 {
  font-size: 1.12rem;
  color: #0068b8;
  width: 200px;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .newsLead h2 {
    font-size: 1rem;
    width: 120px;
  }
}
@media screen and (max-width: 599px) {
  main .news .newsLead h2 {
    font-size: 1.06rem;
    width: 100%;
    padding: 0 0 8px;
    margin: 0 0 20px;
    border-bottom: 1px solid #0068b8;
  }
}
main .news .newsLead ul {
  margin: 0 0 0 20px;
  width: calc(100% - 200px);
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .newsLead ul {
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 599px) {
  main .news .newsLead ul {
    width: 100%;
    margin: 0;
  }
}
main .news .newsLead li {
  text-indent: -1em;
  padding-left: 1em;
  margin: 4px 0;
}
@media screen and (max-width: 599px) {
  main .news .newsLead li {
    text-indent: 0em;
    padding-left: 1em;
    position: relative;
  }
}
main .news .newsLead li::before {
  content: "・";
}
@media screen and (max-width: 599px) {
  main .news .newsLead li::before {
    position: absolute;
    left: 0;
  }
}
main .news .newsLead li + li {
  margin-top: 8px;
}
main .news .newsLead a {
  font-size: 0.94rem;
  position: relative;
  padding-right: 12px;
}
@media screen and (max-width: 599px) {
  main .news .newsLead a {
    display: block;
  }
}
main .news .newsLead a::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-right: 2px solid #0068b8;
  border-bottom: 2px solid #0068b8;
  transform: rotate(-45deg);
  position: absolute;
  right: 0;
  bottom: 0.5em;
}
@media screen and (max-width: 599px) {
  main .news .newsLead a::after {
    bottom: inherit;
    top: calc(50% - 2px);
  }
}
@media print, screen and (min-width: 1024px) {
  main .news .newsLead a:hover {
    color: #0068b8;
  }
}
main .news .column {
  margin: 60px 0 0;
  display: flex;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .column {
    display: block;
    margin: 40px 0 0;
  }
}
@media screen and (max-width: 599px) {
  main .news .column {
    display: block;
    margin: 40px 0 0;
  }
}
main .news .column .columnMain {
  width: calc(100% - 280px - 40px);
  margin-right: 40px;
  padding: 21px 0 0;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .column .columnMain {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
@media screen and (max-width: 599px) {
  main .news .column .columnMain {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
main .news .column .columnSide {
  width: 280px;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .column .columnSide {
    width: 100%;
    margin: 40px 0 0;
  }
}
@media screen and (max-width: 599px) {
  main .news .column .columnSide {
    width: 100%;
    margin: 40px 0 0;
  }
}
main .news .ttlMain02 {
  margin-bottom: 5px;
}
main .news .newsList {
  margin: 0 0 80px;
  border-bottom: 1px solid #D2D7DA;
}
@media screen and (max-width: 599px) {
  main .news .newsList {
    margin: 0 0 40px;
  }
}
main .news .newsList li + li {
  border-top: 1px solid #D2D7DA;
}
main .news .newsList a {
  position: relative;
  display: block;
}
main .news .newsList a::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
  background: #3688C6;
  border-radius: 50%;
}
@media screen and (max-width: 599px) {
  main .news .newsList a::before {
    right: 0;
  }
}
main .news .newsList a::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  position: absolute;
  top: calc(50% - 3px);
  right: 26px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 599px) {
  main .news .newsList a::after {
    right: 6px;
  }
}
main .news .newsList .newsListInner {
  padding: 26px 45px 26px 0;
  display: flex;
}
@media screen and (max-width: 599px) {
  main .news .newsList .newsListInner {
    display: block;
    padding: 10px 25px 10px 0;
  }
}
main .news .newsList .newsDate {
  width: 170px;
  display: flex;
}
@media screen and (max-width: 599px) {
  main .news .newsList .newsDate {
    width: 100%;
  }
}
main .news .newsList .newsDate time {
  font-size: 0.88rem;
  font-weight: 700;
  padding: 2px 0;
}
main .news .newsList .newsDate .new {
  width: 60px;
  height: 25px;
  border: 1px solid #0068b8;
  border-radius: 30px;
  color: #0068b8;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 18px;
}
main .news .newsList .newsTtl {
  width: calc(100% - 170px);
}
@media screen and (max-width: 599px) {
  main .news .newsList .newsTtl {
    width: 100%;
    margin: 5px 0 0;
  }
}
main .news .newsList .newsTtl p {
  font-size: 0.94rem;
  line-height: 1.6;
  transition: 0.2s ease-out;
}
@media print, screen and (min-width: 1024px) {
  main .news .newsList a:hover .newsTtl p {
    color: #0068b8;
  }
}
main .news .newsListWide a::before {
  right: 23px;
}
@media screen and (max-width: 599px) {
  main .news .newsListWide a::before {
    right: 0;
  }
}
main .news .newsListWide a::after {
  right: 29px;
}
@media screen and (max-width: 599px) {
  main .news .newsListWide a::after {
    right: 6px;
  }
}
main .news .newsListWide .newsListInner {
  padding-right: 50px;
}
@media screen and (max-width: 599px) {
  main .news .newsListWide .newsListInner {
    padding-right: 25px;
  }
}
main .news .newsListWide .newsDate {
  width: 130px;
}
@media screen and (max-width: 599px) {
  main .news .newsListWide .newsDate {
    width: 100%;
  }
}
main .news .newsListWide .newsDate time {
  font-size: 0.88rem;
}
main .news .newsListWide .newsTtl {
  width: calc(100% - 130px);
}
@media screen and (max-width: 599px) {
  main .news .newsListWide .newsTtl {
    width: 100%;
  }
}
main .news .newsListItem.is-hide {
  display: none;
}
main .news .btnMore.is-hide {
  display: none;
}
main .news .relation {
  padding: 30px;
  background: #F4F5F5;
}
@media screen and (max-width: 599px) {
  main .news .relation {
    padding: 15px;
  }
}
main .news .relation li + li {
  margin: 18px 0 0;
}
main .news .relation dt {
  font-size: 0.88rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 5px;
}
main .news .relation dd {
  text-align: center;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .news .relation img {
    max-width: 400px;
  }
}
main .news .relation a:hover {
  opacity: 0.8;
}
main .contNews {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 200px;
  background: #fff url(../img/bg_main04_pc.png) no-repeat center bottom/100% auto;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .contNews {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 150px;
  }
}
main .newsDetail {
  padding-bottom: 40px;
}
main .newsDetail .newsDetailMain {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
main .newsDetail .newsDetailHead {
  margin: 0 0 50px;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailHead {
    margin: 0 0 60px;
  }
}
main .newsDetail .newsDetailHead .date {
  color: #222426;
  text-align: right;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailHead .date {
    font-size: 0.88rem;
  }
}
main .newsDetail .newsDetailTtl {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 30px 0 0;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailTtl {
    font-size: 1.25rem;
    margin: 20px 0 0;
  }
}
main .newsDetail .newsDetailBody {
  padding: 0 0 80px;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailBody {
    padding: 0 0 60px;
  }
}
main .newsDetail .newsDetailBody h2 {
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
  margin: 30px 0 25px;
  padding-left: 18px;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailBody h2 {
    margin: 20px 0 15px;
  }
}
main .newsDetail .newsDetailBody h2::before {
  content: "";
  display: block;
  width: 6px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #0068b8;
}
main .newsDetail .newsDetailBody h3 {
  font-size: 1.13rem;
  font-weight: 700;
  border-bottom: 2px solid #0068b8;
  padding: 10px 0;
  margin: 20px 0 20px;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailBody h3 {
    margin: 20px 0 15px;
  }
}
main .newsDetail .newsDetailBody h4 {
  font-size: 1rem;
  font-weight: 700;
  color: #0068b8;
  margin: 20px 0 20px;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailBody h4 {
    margin: 20px 0 15px;
  }
}
main .newsDetail .newsDetailBody img {
  max-width: 100%;
  width: auto;
  height: auto;
  margin-bottom: 20px;
}
main .newsDetail .newsDetailBody p {
  line-height: 1.8;
}
@media screen and (max-width: 599px) {
  main .newsDetail .newsDetailBody p {
    font-size: 0.94rem;
  }
}
main .newsDetail .newsDetailBody b, main .newsDetail .newsDetailBody strong {
  font-weight: 900;
}
main .newsDetail .newsDetailBody a {
  color: #0068b8;
  background: linear-gradient(#0068b8, #0068b8) 0 100%/100% 1px no-repeat;
}
main .newsDetail .newsDetailBody a:hover {
  opacity: 0.7;
}
main .newsDetail .newsDetailBody a[target=_blank] {
  padding-right: 5px;
  position: relative;
}
main .newsDetail .newsDetailBody a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  position: relative;
  background: url("/assets/img/icon_blank.png") no-repeat center top;
  background-size: 100%;
  margin-left: 5px;
}
main .newsDetail .newsDetailBody .note {
  font-size: 0.75rem;
  text-indent: -1em;
  padding-left: 1em;
  margin: 0 0 0.5em;
}
main .cont01 {
  background: url(../img/bg_main01_pc.png) no-repeat center bottom/100% auto;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .cont01 {
    background: url(../img/bg_main01_sp.png) no-repeat center bottom/100% auto;
  }
}
main .cont01::before {
  content: "";
  width: 141px;
  height: 388px;
  background: url(../img/img_decoration01.png) no-repeat center center/cover;
  position: absolute;
  right: 0;
  top: 15%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont01::before {
    width: 66px;
    height: 182px;
    top: 40%;
    z-index: 2;
  }
}
main .cont01::after {
  content: "";
  width: 169px;
  height: 311px;
  background: url(../img/img_decoration02.png) no-repeat center center/cover;
  position: absolute;
  left: 0;
  bottom: 5%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont01::after {
    width: 80px;
    height: 147px;
    bottom: -4.5%;
    z-index: 2;
  }
}
main .cont01 h2 + p {
  margin-bottom: 40px;
  text-align: center;
  font-size: 1.1rem;
  line-height: 2.3;
}
@media screen and (max-width: 599px) {
  main .cont01 h2 + p {
    font-size: 1.1rem;
    text-align: left;
    line-height: 2;
  }
}
main .cont01 .detail {
  max-width: 960px;
  background: #fff;
  margin: 0 auto;
  border: 4px solid #d2d7da;
  padding: 65px 0 70px 0;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail {
    padding: 40px 25px;
  }
}
main .cont01 .detail h3 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail h3 {
    font-size: 1.6rem;
  }
}
main .cont01 .detail dl {
  display: flex;
  justify-content: space-between;
  width: 73%;
  margin: 0 auto 25px auto;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl {
    width: 100%;
  }
}
main .cont01 .detail dl dt {
  width: 50px;
  height: 50px;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dt {
    width: 30px;
    height: 30px;
  }
}
main .cont01 .detail dl dt span {
  line-height: 48px;
  font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dt span {
    line-height: 28px;
    font-size: 1.1rem;
  }
}
main .cont01 .detail dl dd {
  width: calc(100% - 60px);
  font-size: 1.2rem;
  font-weight: 700;
  padding-top: 10px;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dd {
    width: calc(100% - 40px);
    padding-top: 0;
  }
}
main .cont01 .detail dl dd span {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dd span {
    font-size: 0.85rem;
    margin-left: -40px;
    margin-top: 15px;
  }
}
main .cont01 .detail dl dd ul {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dd ul {
    font-size: 0.85rem;
    margin-left: -40px;
    margin-top: 15px;
    line-height: 1.6;
  }
}
main .cont01 .detail dl dd ul li {
  position: relative;
  padding-left: 15px;
}
main .cont01 .detail dl dd ul li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: #0068b8;
  position: absolute;
  left: 0;
  top: calc(50% - 2px);
}
@media screen and (max-width: 599px) {
  main .cont01 .detail dl dd ul li::before {
    top: 8px;
  }
}
main .cont02 {
  background: #f4f5f5 url(../img/bg_main02_pc.png) no-repeat center bottom/100% auto;
  position: relative;
  margin-top: -1px;
}
main .cont02::before {
  content: "";
  width: 165px;
  height: 377px;
  background: url(../img/img_decoration03.png) no-repeat center center/cover;
  position: absolute;
  right: 0;
  top: 30%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont02::before {
    width: 68px;
    height: 155px;
    top: 95%;
  }
}
main .cont02::after {
  content: "";
  width: 168px;
  height: 337px;
  background: url(../img/img_decoration04.png) no-repeat center center/cover;
  position: absolute;
  left: 0;
  bottom: -13%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont02::after {
    display: none;
  }
}
main .cont02 h2 + p {
  margin-bottom: 30px;
  font-size: 1.8rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  main .cont02 h2 + p {
    font-size: 1.6rem;
  }
}
main .cont02 .sublicensee-list {
  margin-bottom: 100px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont02 .sublicensee-list {
    margin-bottom: 40px;
    text-align: left;
  }
}
main .cont02 .sublicensee-list dt {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 2;
}
main .cont02 .sublicensee-list dt span {
  color: #0068b8;
}
main .cont02 .sublicensee-list dd {
  font-size: 1rem;
  line-height: 2;
}
main .cont02 .sublicensee-list dd a {
  text-decoration: underline;
}
main .cont02 .detail {
  max-width: 960px;
  background: #fff;
  margin: 0 auto;
  padding: 65px 0;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail {
    padding: 45px 30px;
  }
}
main .cont02 .detail dl {
  width: 85%;
  padding-bottom: 70px;
  margin: 0 auto 70px auto;
  border-bottom: 1px solid #d2d7da;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail dl {
    width: 100%;
    padding-bottom: 30px;
    margin: 0 auto 30px auto;
  }
}
main .cont02 .detail dl dt {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 55px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail dl dt {
    font-size: 1.6rem;
    margin-bottom: 25px;
  }
}
main .cont02 .detail dl dd {
  text-align: center;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail dl dd {
    text-align: left;
    line-height: 1.8;
  }
}
main .cont02 .detail dl dd:last-child {
  margin-top: 60px;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail dl dd:last-child {
    margin-top: 30px;
  }
}
main .cont02 .detail dl dd:last-child .note-txt {
  display: inline-block;
  margin-top: 20px;
}
main .cont02 .detail p:nth-child(2) {
  font-size: 1.3rem;
  color: #0068b8;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail p:nth-child(2) {
    font-size: 1.1rem;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 320px) {
  main .cont02 .detail p:nth-child(2) {
    font-size: 0.9rem;
  }
}
main .cont02 .detail p:nth-child(3) {
  width: 70%;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail p:nth-child(3) {
    width: 100%;
  }
}
main .cont02 .detail p:nth-child(3) a {
  padding: 20px 40px 20px 10px;
}
@media screen and (max-width: 320px) {
  main .cont02 .detail p:nth-child(3) a {
    font-size: 0.7rem;
  }
}
main .cont02 .detail p:last-child {
  font-size: 1rem;
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail p:last-child {
    font-size: 0.9rem;
    text-align: left;
    margin-top: 25px;
    line-height: 2;
  }
}
main .cont02 .detail p:last-child a {
  text-decoration: underline;
}
main .cont02 .detail .download-list__item {
  display: flex;
  margin-top: 0;
  border: none;
  padding-bottom: 0;
  margin-bottom: 40px;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail .download-list__item {
    flex-wrap: wrap;
  }
}
main .cont02 .detail .download-list__ttl {
  background-color: #e60e16;
  color: #fff;
  text-align: center;
  width: 120px;
  font-size: 1.3rem;
  line-height: 1;
  margin-bottom: 0;
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail .download-list__ttl {
    width: 100%;
    font-size: 1.1rem;
    margin-bottom: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
main .cont02 .detail .download-list__body {
  width: calc(100% - 140px);
  margin-top: 0 !important;
}
@media screen and (max-width: 599px) {
  main .cont02 .detail .download-list__body {
    width: 100%;
  }
}
main .cont02 .detail .download-list__btn {
  margin-top: 0 !important;
}
main .cont02 .detail .download-list__btn a {
  padding: 20px 40px 20px 10px;
  text-decoration: none !important;
  line-height: 1.5;
}
main .cont03 {
  background: url(../img/bg_main03_pc.png) no-repeat center bottom/100% auto;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .cont03 {
    background: url(../img/bg_main03_sp.png) no-repeat center bottom/100% auto;
  }
}
main .cont03::before {
  content: "";
  width: 111px;
  height: 361px;
  background: url(../img/img_decoration05.png) no-repeat center center/cover;
  position: absolute;
  right: 0;
  bottom: -16%;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  main .cont03::before {
    width: 68px;
    height: 138px;
    background: url(../img/img_decoration04.png) no-repeat center center/cover;
    right: auto;
    left: 0;
    bottom: -6%;
  }
}
main .cont03 h2 + p {
  margin-bottom: 70px;
  text-align: center;
  font-size: 1rem;
}
@media screen and (max-width: 599px) {
  main .cont03 h2 + p {
    margin-bottom: 50px;
    font-size: 0.9rem;
  }
}
main .cont03 .detail {
  max-width: 960px;
  margin: 0 auto;
}
main .cont03 .detail ul {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin-bottom: 40px;
  padding-right: 20px;
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul {
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-right: 0;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul {
    flex-wrap: wrap;
    margin-bottom: 45px;
    padding-right: 0;
  }
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul li {
    width: 43%;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li {
    width: 43%;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li:nth-child(1) {
    margin-left: auto;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li:nth-child(2) {
    margin-right: auto;
  }
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul li:last-child {
    width: 100%;
    margin-top: 40px;
    padding: 0 10px;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li:last-child {
    width: 100%;
    margin-top: 40px;
    padding: 0 10px;
  }
}
main .cont03 .detail ul li dl dt {
  height: 210px;
  margin-bottom: 15px;
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul li dl dt {
    height: auto;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li dl dt {
    height: auto;
  }
}
main .cont03 .detail ul li dl dt img {
  width: auto;
  height: 100%;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail ul li dl dt img {
    width: 60%;
  }
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul li dl dt img {
    width: 100%;
  }
}
main .cont03 .detail ul li dl dd {
  display: inline-block;
  font-size: 1rem;
  border: 1px solid #828487;
  padding: 8px 15px;
}
@media screen and (max-width: 599px) {
  main .cont03 .detail ul li dl dd {
    font-size: 0.75rem;
    padding: 8px 12px;
  }
}
@media screen and (max-width: 320px) {
  main .cont03 .detail ul li dl dd {
    padding: 8px 10px;
    font-size: 0.75rem;
  }
}
main .cont03 .detail > p {
  font-size: 1.9rem;
  font-weight: 700;
  display: flex;
}
@media screen and (max-width: 599px) {
  main .cont03 .detail > p {
    display: inline-block;
    text-align: center;
    font-size: 1rem;
  }
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont03 .detail > p {
    font-size: 1.3rem;
  }
}
main .cont03 .detail > p span {
  display: inline-block;
  font-size: 1rem;
  border: 1px solid #828487;
  height: 44px;
  line-height: 40px;
  margin-right: 20px;
  font-weight: 700;
  position: relative;
  width: 70px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont03 .detail > p span {
    height: 32px;
    line-height: 30px;
    font-size: 0.8rem;
    margin-right: 10px;
    top: -3px;
    width: 50px;
  }
}
main .cont04 {
  margin-top: -1px;
  padding-bottom: 80px;
  background: #f7f9fa;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .cont04 {
    padding-bottom: 10px;
  }
}
main .cont04::before {
  content: "";
  width: 136px;
  height: 551px;
  background: url(../img/img_decoration06.png) no-repeat center center/cover;
  position: absolute;
  left: 0;
  bottom: -10%;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  main .cont04::before {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  main .cont04::after {
    content: "";
    width: 45px;
    height: 146px;
    background: url(../img/img_decoration05.png) no-repeat center center/cover;
    position: absolute;
    right: 0;
    top: 37%;
    z-index: 2;
  }
}
main .cont04 h2 + dl {
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont04 h2 + dl {
    margin-bottom: 40px;
    text-align: left;
  }
}
main .cont04 h2 + dl dt {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont04 h2 + dl dt {
    font-size: 1rem;
  }
}
main .cont04 h2 + dl dt span {
  color: #0068b8;
}
main .cont04 h2 + dl dd {
  font-size: 1rem;
  line-height: 2;
}
main .cont04 h2 + dl dd a {
  text-decoration: underline;
}
main .cont04 .detail {
  max-width: 960px;
  padding: 40px 0;
  margin: 0 auto;
  background: #fff;
}
@media screen and (max-width: 599px) {
  main .cont04 .detail {
    padding: 20px 30px;
  }
}
main .cont04 .detail ul {
  width: 86%;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  main .cont04 .detail ul {
    width: 100%;
  }
}
main .cont04 .detail ul li {
  position: relative;
  font-size: 0.88rem;
  padding-left: 15px;
  margin-top: 10px;
  line-height: 1.8;
}
@media screen and (max-width: 599px) {
  main .cont04 .detail ul li {
    font-size: 0.8rem;
  }
}
main .cont04 .detail ul li::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #0068b8;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 9px;
}
main .cont04 .detail ul li span {
  display: inline-block;
  margin-top: 10px;
}
main .cont05 {
  margin-top: -1px;
  padding-bottom: 280px;
  background: #f7f9fa url(../img/bg_main04_pc.png) no-repeat center bottom/100% auto;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .cont05 {
    padding-bottom: 100px;
    background: #f7f9fa url(../img/bg_main04_sp.png) no-repeat center bottom/100% auto;
  }
}
main .cont05::before {
  content: "";
  width: 129px;
  height: 501px;
  background: url(../img/img_decoration08.png) no-repeat center center/cover;
  position: absolute;
  left: 0;
  top: 35%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont05::before {
    display: none;
  }
}
main .cont05::after {
  content: "";
  width: 180px;
  height: 409px;
  background: url(../img/img_decoration07.png) no-repeat center center/cover;
  position: absolute;
  right: 0;
  top: 5%;
  z-index: 0;
}
@media screen and (max-width: 599px) {
  main .cont05::after {
    display: none;
  }
}
main .cont05 h2 + p {
  margin-bottom: 40px;
  text-align: center;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont05 h2 + p {
    text-align: left;
  }
}
main .cont05__attention {
  margin-bottom: 70px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont05__attention {
    margin-bottom: 40px;
    text-align: left;
  }
}
main .cont05__attention-accent {
  display: block;
  color: #e70012;
  font-weight: 700;
  font-size: 1.4em;
  margin-bottom: 0.5em;
}
main .cont05 .detail {
  max-width: 960px;
  padding: 80px 0;
  margin: 0 auto 80px auto;
  background: #fff;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail {
    padding: 40px 30px;
    margin: 0 auto 40px auto;
  }
}
main .cont05 .detail div.top {
  width: 85%;
  padding-bottom: 40px;
  margin: 0 auto 45px auto;
  border-bottom: 1px solid #d2d7da;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top {
    width: 100%;
    padding-bottom: 25px;
    margin: 0 auto 30px auto;
  }
}
main .cont05 .detail div.top p:first-child {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 15px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top p:first-child {
    font-size: 1.05rem;
    margin-bottom: 25px;
  }
}
main .cont05 .detail div.top > dl {
  display: flex;
  margin-bottom: 12px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top > dl {
    margin-bottom: 15px;
  }
}
main .cont05 .detail div.top > dl dt {
  width: 24px;
  height: 24px;
  font-size: 0.8rem;
  line-height: 22px;
  margin-right: 5px;
}
main .cont05 .detail div.top > dl dd {
  font-size: 1rem;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top > dl dd {
    width: calc(100% - 30px);
    font-size: 0.85rem;
  }
}
main .cont05 .detail div.top > dl dd span.emphasis {
  color: #0068b8;
  font-weight: 700;
}
main .cont05 .detail div.top > dl dd span.case {
  display: inline-block;
  margin: 8px 0 5px 0;
  background: #f7f9fa;
  padding: 3px 12px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top > dl dd span.case {
    font-size: 0.7rem;
  }
}
main .cont05 .detail div.top ul {
  margin-top: 20px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top ul {
    margin-top: 25px;
  }
}
main .cont05 .detail div.top ul li {
  color: #e70012;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: 3px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.top ul li {
    margin-top: 15px;
  }
}
main .cont05 .detail div.bottom {
  width: 85%;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.bottom {
    width: 100%;
  }
}
main .cont05 .detail div.bottom dl dt {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0068b8;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.bottom dl dt {
    font-size: 1rem;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 320px) {
  main .cont05 .detail div.bottom dl dt {
    font-size: 0.9rem;
  }
}
main .cont05 .detail div.bottom dl dd {
  width: 80%;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.bottom dl dd {
    width: 100%;
  }
}
@media screen and (max-width: 320px) {
  main .cont05 .detail div.bottom dl dd a {
    padding: 20px 30px 20px 10px;
  }
}
main .cont05 .detail div.bottom dl dd:last-child {
  width: 100%;
  font-size: 1rem;
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail div.bottom dl dd:last-child {
    font-size: 0.9rem;
    margin-top: 20px;
  }
}
main .cont05 .detail02 {
  max-width: 960px;
  padding: 80px 0 65px 0;
  margin: 0 auto 80px auto;
  background: #f7f9fa;
  border: 4px solid #d2d7da;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 {
    padding: 40px 20px;
    margin: 0 auto 40px auto;
  }
}
main .cont05 .detail02 dl {
  width: 68%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 dl {
    width: 100%;
  }
}
main .cont05 .detail02 dl dt {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 dl dt {
    font-size: 1.4rem;
  }
}
main .cont05 .detail02 dl dd:nth-child(2) {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 dl dd:nth-child(2) {
    font-size: 1rem;
  }
}
main .cont05 .detail02 dl dd:nth-child(3) {
  font-size: 1.25rem;
  font-weight: 700;
  color: #e70012;
  margin-bottom: 30px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 dl dd:nth-child(3) {
    font-size: 1rem;
  }
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 dl dd:nth-child(4) {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 320px) {
  main .cont05 .detail02 dl dd:nth-child(4) {
    width: 100%;
    margin: 0 auto;
  }
}
main .cont05 .detail02 ul {
  width: 68%;
  margin: 20px auto 0 auto;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 ul {
    width: 90%;
    margin: 30px auto 0 auto;
  }
}
@media screen and (max-width: 320px) {
  main .cont05 .detail02 ul {
    width: 100%;
    margin: 30px auto 0 auto;
  }
}
main .cont05 .detail02 ul li {
  font-size: 0.75rem;
  margin-top: 3px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 ul li {
    font-size: 0.78rem;
    margin-top: 15px;
  }
}
main .cont05 .detail02__download {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}
main .cont05 .detail02__inner {
  margin-right: auto;
  margin-left: auto;
  width: 70%;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02__inner {
    width: 100%;
  }
}
main .cont05 .detail02__text {
  font-size: 1.3rem;
  color: #0068b8;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02__text {
    font-size: 1.1rem;
    margin-bottom: 25px;
  }
}
main .cont05 .detail02 .btn a {
  padding: 20px 40px 20px 10px;
}
@media screen and (max-width: 599px) {
  main .cont05 .detail02 .btn a {
    padding: 20px;
  }
}
main .cont05 .list {
  max-width: 960px;
  margin: 0 auto;
}
main .cont05 .list div:first-child {
  margin-bottom: 80px;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div:first-child {
    margin-bottom: 60px;
  }
}
main .cont05 .list div dl {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div dl {
    margin-bottom: 25px;
  }
}
main .cont05 .list div dl dt {
  width: 50px;
  height: 50px;
  margin-right: 10px;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div dl dt {
    width: 34px;
    height: 34px;
  }
}
main .cont05 .list div dl dt span {
  line-height: 48px;
  font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div dl dt span {
    line-height: 32px;
    font-size: 1.1rem;
  }
}
main .cont05 .list div dl dd {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div dl dd {
    font-size: 1.4rem;
  }
}
main .cont05 .list div p {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div p {
    font-size: 0.88rem;
  }
}
main .cont05 .list div p span {
  color: #0068b8;
  font-weight: 700;
}
main .cont05 .list div p a {
  text-decoration: underline;
}
main .cont05 .list div ul {
  margin-top: 30px;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div ul {
    margin-top: 25px;
  }
}
main .cont05 .list div ul li {
  position: relative;
  font-size: 0.88rem;
  padding-left: 15px;
  margin-top: 10px;
  line-height: 1.8;
}
@media screen and (max-width: 599px) {
  main .cont05 .list div ul li {
    font-size: 0.75rem;
  }
}
main .cont05 .list div ul li::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #0068b8;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 9px;
}
main .cont06 {
  padding: 90px 20px 60px 20px;
  margin-top: -1px;
  background: #0068b8;
  position: relative;
}
@media screen and (max-width: 599px) {
  main .cont06 {
    padding: 50px 20px 60px 20px;
  }
}
@media screen and (max-width: 599px) {
  main .cont06::before {
    content: "";
    background: url(../img/img_decoration08.png) no-repeat center center/cover;
    width: 49px;
    height: 190px;
    position: absolute;
    left: 0;
    top: -15%;
    z-index: 0;
  }
}
main .cont06 h2 {
  color: #fff;
}
main .cont06 h2::after {
  background: #fff;
}
main .cont06 h2 + p {
  margin-bottom: 60px;
  text-align: center;
  font-size: 1rem;
  line-height: 2;
  color: #fff;
}
@media screen and (max-width: 599px) {
  main .cont06 h2 + p {
    margin-bottom: 40px;
    text-align: left;
    padding: 0 10px;
  }
}
main .cont06 dl {
  max-width: 640px;
  margin: 0 auto 45px auto;
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont06 dl {
    max-width: 80%;
  }
}
@media screen and (max-width: 320px) {
  main .cont06 dl {
    max-width: 85%;
  }
}
main .cont06 dl dt {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 25px;
}
@media screen and (max-width: 320px) {
  main .cont06 dl dt {
    font-size: 1rem;
  }
}
main .cont06 dl dt small {
  font-weight: 400;
  font-size: 0.8em;
}
@media screen and (max-width: 599px) {
  main .cont06 dl dd a {
    font-size: 1rem;
  }
  main .cont06 dl dd a span {
    margin-left: 15px;
  }
}
main .cont06 p:last-child {
  text-align: center;
  font-size: 0.75rem;
  color: #fff;
  margin-top: 60px;
  line-height: 2;
}
@media screen and (max-width: 599px) {
  main .cont06 p:last-child {
    text-align: left;
    margin-top: 30px;
    padding: 0 15px;
  }
}
main .cont07 {
  background: url(../img/bg_main05_pc.png) no-repeat center top/100% auto;
  position: relative;
  padding: 210px 20px 130px 20px;
}
@media screen and (max-width: 599px) {
  main .cont07 {
    background: url(../img/bg_main05_sp.png) no-repeat center top/100% auto;
    padding: 100px 20px 60px 20px;
  }
}
main .cont07 ul {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 599px) {
  main .cont07 ul {
    padding: 0 20px;
    flex-direction: column;
  }
}
main .cont07 ul li {
  width: calc((100% - 48px) / 3);
  text-align: center;
}
@media screen and (max-width: 599px) {
  main .cont07 ul li {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  main .cont07 ul li + li {
    margin-top: 40px;
  }
}
main .cont07 ul li dl dt {
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media screen and (min-width: 600px) and (max-width: 1023px) {
  main .cont07 ul li dl dt {
    min-height: 45px;
  }
}
@media screen and (max-width: 599px) {
  main .cont07 ul li dl dt {
    font-size: 1.1rem;
    margin-bottom: 15px;
  }
}
main .cont07 ul a:hover {
  opacity: 0.8;
}

footer {
  background: url(../img/bg_footer02_pc.png) repeat-x center top/auto 100%;
  padding: 300px 20px 40px 20px;
}
@media screen and (max-width: 599px) {
  footer {
    background: url(../img/bg_footer02_sp.png) no-repeat center top/100% 100%;
    padding: 120px 30px 30px 30px;
  }
}
footer .inner {
  max-width: 760px;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  footer .inner {
    max-width: 100%;
  }
}
footer .inner p:first-child, footer .inner .footer-privacy {
  margin-bottom: 35px;
}
@media screen and (max-width: 599px) {
  footer .inner p:first-child, footer .inner .footer-privacy {
    margin-bottom: 30px;
  }
}
footer .inner p:first-child a, footer .inner .footer-privacy a {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}
footer .inner dl {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-column-gap: 40px;
  grid-row-gap: 16px;
}
@media screen and (max-width: 768px) {
  footer .inner dl {
    grid-template-columns: 100%;
    grid-row-gap: 0;
  }
}
footer .inner dl dt {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  footer .inner dl dt {
    margin-bottom: 16px;
  }
}
footer .inner dl dd {
  margin-bottom: 20px;
  font-size: 1.1rem;
  color: #fff;
}
@media screen and (max-width: 599px) {
  footer .inner dl dd {
    margin-bottom: 40px;
    font-size: 0.9rem;
    line-height: 2;
  }
}
footer .inner dl dd b {
  font-size: 80%;
}
footer .inner .footer-account__head {
  grid-column: 1/3;
}
@media screen and (max-width: 768px) {
  footer .inner .footer-account__head {
    grid-column: 1/2;
  }
}
footer .inner .footer-account__body {
  grid-column: 2/3;
}
@media screen and (max-width: 768px) {
  footer .inner .footer-account__body {
    grid-column: 1/2;
  }
}
footer .inner p:last-child {
  padding-top: 40px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  footer .inner p:last-child {
    padding-top: 30px;
  }
}
footer .inner p:last-child small {
  font-size: 1rem;
  color: #fff;
}
@media screen and (max-width: 599px) {
  footer .inner p:last-child small {
    font-size: 0.8rem;
  }
}

.fixedBtn {
  width: 60px;
  opacity: 0;
  position: fixed;
  bottom: 40px;
  right: 40px;
  transition: 0.3s;
  z-index: 10;
}
@media screen and (max-width: 599px) {
  .fixedBtn {
    width: 50px;
    bottom: 10px;
    right: 10px;
  }
}
.fixedBtn.on {
  opacity: 1;
  transition: 0.3s;
}

.Toggle {
  display: none;
}
@media screen and (max-width: 599px) {
  .Toggle {
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    width: 50px;
    height: 50px;
    z-index: 999;
    background: #0068b8;
    transition: 0.3s;
  }
  .Toggle span {
    display: block;
    position: absolute;
    width: 33px;
    border-bottom: solid 2px #fff;
    transition: 0.35s ease-in-out;
    left: 9px;
    border-radius: 50px;
  }
  .Toggle span:nth-child(1) {
    top: 16px;
  }
  .Toggle span:nth-child(2) {
    top: 24px;
  }
  .Toggle span:nth-child(3) {
    top: 32px;
  }
}
@media screen and (max-width: 599px) {
  .Toggle.active span:nth-child(1) {
    top: 24px;
    left: 9px;
    transform: rotate(-45deg);
  }
  .Toggle.active span:nth-child(2), .Toggle.active span:nth-child(3) {
    top: 24px;
    transform: rotate(45deg);
  }
}

.NavMenu {
  position: fixed;
  z-index: 990;
  top: 0;
  right: 0;
  background: #fff;
  color: #000;
  width: 100%;
  height: 100Vh;
  transform: translateX(100%);
  transition: all 0.6s;
  opacity: 0;
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.NavMenu.active {
  transform: translateX(0%);
  opacity: 1;
}
.NavMenu > div {
  width: 100%;
}
.NavMenu > div ul {
  border-top: 1px solid #d2d7da;
}
.NavMenu > div ul li {
  border-bottom: 1px solid #d2d7da;
}
.NavMenu > div ul li a {
  display: block;
  padding: 30px 0;
  font-size: 1rem;
  font-weight: 700;
  background: url(../img/ico_arrow_bk.png) no-repeat right center/9px 14px;
}

.teaser dl {
  margin-bottom: 40px;
  text-align: center;
  position: relative;
  z-index: 5;
}
.teaser dl dt {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 25px;
}
@media screen and (max-width: 599px) {
  .teaser dl dt {
    font-size: 1.8rem;
  }
}
.teaser dl dd {
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  .teaser dl dd {
    font-size: 1.8rem;
  }
}

.licensed-product {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 210px auto;
  grid-column-gap: 40px;
  grid-row-gap: 20px;
  margin-bottom: 80px;
}
@media screen and (max-width: 599px) {
  .licensed-product {
    grid-template-columns: 100%;
  }
}
.licensed-product__image {
  height: 100%;
  width: auto;
}
@media screen and (max-width: 599px) {
  .licensed-product__image {
    margin-right: auto;
    margin-left: auto;
  }
}
.licensed-product__text {
  align-self: center;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  .licensed-product__text {
    font-size: 1rem;
    text-align: center;
  }
}
.licensed-product__label {
  grid-column: 1/3;
  border: 1px solid #828487;
  text-align: center;
  padding: 8px 15px;
  font-size: 1rem;
}
@media screen and (max-width: 599px) {
  .licensed-product__label {
    font-size: 0.8rem;
    grid-column: 1/2;
  }
}

.contact-address {
  margin-top: 32px;
  margin-bottom: 32px;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 599px) {
  .contact-address dl.sp-wide {
    max-width: none;
  }
}
@media screen and (max-width: 599px) {
  .contact-address dl.sp-wide .btn a {
    padding-left: 30px;
  }
}
.contact-address__intro {
  color: #fff;
  margin-bottom: 2em;
  text-align: center;
  font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
  .contact-address__intro {
    font-size: 1rem;
  }
}
.contact-address__inner {
  padding: 32px;
  border: 1px solid #fff;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .contact-address__inner {
    padding: 16px;
  }
}
.contact-address__inner + .contact-address__inner {
  margin-top: 32px;
}
.contact-address__head {
  font-size: 1.4rem;
  margin-bottom: 1em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .contact-address__head {
    font-size: 1.1rem;
  }
}
.contact-address__txt {
  color: #fff;
  font-size: 0.9rem;
}
.contact-address__txt--large {
  font-size: 1rem;
}
.contact-address__txt--large small {
  font-size: 0.8em;
}
.contact-address__list {
  display: grid;
  grid-template-columns: auto auto;
  grid-column-gap: 16px;
  grid-row-gap: 8px;
  line-height: 1;
  align-items: baseline;
  margin-bottom: 0 !important;
  max-width: 100% !important;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 599px) {
  .contact-address__list {
    grid-template-columns: 100%;
  }
}
.contact-address__list-label {
  color: #fff;
  margin: 0 !important;
  text-align: left;
  font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
  .contact-address__list-label {
    font-size: 1rem;
    text-align: center;
  }
}
.contact-address__list-value {
  color: #fff;
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.5;
}
@media screen and (max-width: 599px) {
  .contact-address__list-value {
    font-size: 1rem;
    margin-bottom: 1em;
    text-align: center;
  }
}
.contact-address__list02 li {
  color: #fff;
}
.contact-address__note {
  margin-top: 1.5em;
}
.contact-address__note li {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #FFF;
  text-indent: -1em;
  padding-left: 1em;
}
.contact-address .link_txt {
  text-decoration: underline;
}
.contact-address .telWhite {
  position: relative;
  background: #fff;
  padding: 35px;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  z-index: 0;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  .contact-address .telWhite {
    padding: 30px 20px;
    font-size: 1rem;
  }
}
.contact-address .telWhite span {
  position: relative;
  display: inline-block;
  margin-left: 10px;
}
.contact-address__wide {
  max-width: 900px;
}
.contact-address__wrap {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px double #fff;
}

.list-indent {
  padding-left: 0.7em;
  text-indent: -0.7em;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-txt-center {
  text-align: center;
}

.u-color-red {
  color: #e70012 !important;
}

.u-color-yellow {
  color: #ff0 !important;
}

.footer-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-bottom: 32px;
}
.footer-sns__item {
  width: 32px;
  height: 32px;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  color: transparent;
}
.footer-sns__item:not(:last-child) {
  margin-right: 24px;
}
@media (hover: hover) {
  .footer-sns__item {
    transition-property: opacity;
    transition-duration: 400ms;
  }
  .footer-sns__item:hover {
    opacity: 0.6;
  }
}
.footer-sns__item--tw {
  background-image: url("../img/icon_tw.svg");
}
.footer-sns__item--ig {
  background-image: url("../img/icon_ig.svg");
}

.bnrArea {
  margin-top: 60px;
}
.bnrArea a {
  display: block;
  border: 1px solid #d2d7da;
}
.bnrArea a + a {
  margin-top: 20px;
}
.bnrArea a:hover {
  opacity: 0.7;
}