/* Scss Document */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
section.product {
  width: 100%;
  padding: 128px 24px 48px;
}

section.product * {
  max-width: 1000px;
  margin: 0 auto;
}

section.product > img.mainvisual {
  width: 100%;
  display: block;
}

section.product > h2.title_menu {
  margin-top: 24px;
}

section.product > h3.copy {
  margin-top: 24px;
  color: #707070;
}

section.product > p.description {
  margin-top: 12px;
  color: #707070;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}

section.product > .additionalvisual {
  margin-top: 48px;
}

section.product > .additionalvisual > img {
  display: block;
  max-width: 100%;
  margin-top: 48px;
}

section.product > .additionalvisual > img:first-child {
  margin-top: 0;
}

section.product > .additionaldescription {
  margin-top: 48px;
}

section.product > .additionaldescription div {
  margin-top: 24px;
  max-width: 100%;
}

section.product > .additionaldescription div:nth-child(1) {
  margin-top: 0;
}

section.product > .additionaldescription div > img {
  display: block;
  max-width: 100%;
}

section.product > .additionaldescription div > p {
  font-size: 0.85rem;
  line-height: 2;
  color: #707070;
  margin-top: 12px;
  letter-spacing: 0.1em;
}

section.product > .pricelist {
  margin-top: 48px;
  overflow-x: scroll;
}

section.product > .pricelist > h3.pricelist_title {
  font-size: 1rem;
  color: #707070;
}

section.product > .pricelist > h3.pricelist_title > span {
  font-size: 0.85rem;
}

section.product > .pricelist > table.pricelist_table {
  width: 100%;
  margin-top: 12px;
}

section.product > .pricelist > table.pricelist_table tbody tr td {
  background: #ffffff;
  color: #707070;
  font-size: 0.75rem;
  padding: 0.5em;
  border: 2px solid transparent;
  text-align: center;
  empty-cells: hide;
}

section.product > .pricelist > table.pricelist_table tbody tr td:nth-child(1) {
  background: #003e66;
  color: #ffffff;
}

section.product > .pricelist > table.pricelist_table tbody tr td[rowspan="3"] {
  text-align: center;
}

section.product > .pricelist > table.pricelist_table tbody tr td.pc_only {
  display: none;
}

section.product > .pricelist > table.pricelist_table tbody tr.sp_only {
  text-align: center;
}

section.product > .pricelist > table.pricelist_table tbody tr:nth-child(1) td {
  background: #003e66;
  color: #ffffff;
}

section.product > .pricelist > table.pricelist_table.sp_only tbody tr td {
  background: #ffffff;
  color: #707070;
}

section.product > .pricelist > table.pricelist_table.sp_only tbody tr.blue td {
  background: #003e66;
  color: #ffffff;
}

section.product > .pricelist > p.pricelist_description {
  margin-top: 12px;
  font-size: 0.85rem;
  line-height: 2;
  color: #707070;
  letter-spacing: 0.1em;
}

section.product .button,
section.product button,
section.product input[type="submit"],
section.product input[type="reset"],
section.product input[type="button"] {
  margin-top: 48px;
}

section.outline {
  width: 100%;
  padding: 128px 24px 48px;
}

section.outline dl.list_outline {
  max-width: 1000px;
  margin: 48px auto 0;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  padding: 24px 12px;
  color: #707070;
}

section.outline dl.list_outline > dt {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 40px;
  padding-top: 24px;
  height: 52px;
  position: relative;
  overflow: hidden;
}

section.outline dl.list_outline > dt:before {
  content: "";
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #ffffff;
  border: 2px solid #003e66;
  border-radius: 100px;
  width: 12px;
  height: 12px;
  top: calc(24px + 10px);
  left: 14px;
  z-index: 200;
}

section.outline dl.list_outline > dt:after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  top: 0;
  left: 19px;
  background: #003e66;
  position: absolute;
  z-index: 100;
}

section.outline dl.list_outline > dt:nth-child(1) {
  padding-top: 0;
}

section.outline dl.list_outline > dt:nth-child(1):before {
  top: 22px;
}

section.outline dl.list_outline > dt:nth-child(1):after {
  top: 28px;
}

section.outline dl.list_outline > dt:nth-child(4n - 3):before {
  background: #b4ffff;
  background: #003e66;
}

section.outline dl.list_outline > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 40px;
  padding-top: 12px;
  padding-bottom: 24px;
  min-height: 40px;
  position: relative;
  overflow: hidden;
}

section.outline dl.list_outline > dd:before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 100%;
  background: #003e66;
  top: 0;
  left: 19px;
  z-index: 200;
}

section.outline dl.list_outline > dd:after {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
  left: 20px;
  background: #cccccc;
  z-index: 100;
}

section.outline dl.list_outline > dd:last-child:after {
  display: none;
}

section.outline dl.list_outline > dd:last-child:before {
  height: 50%;
}

section.news {
  width: 100%;
  padding: 128px 24px 48px;
  font-size: 0.8rem;
}

section.news > .news-article {
  max-width: 1000px;
  margin: 48px auto 0;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  padding: 24px;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto auto;
      grid-template-rows: auto auto auto;
  -ms-grid-columns: minmax(auto, 6em) 1fr;
      grid-template-columns: minmax(auto, 6em) 1fr;
      grid-template-areas: "news-genre news-date" "news-title news-title" "news-body news-body";
}

section.news > .news-article > .news-genre {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: news-genre;
  background-color: #003e66;
  color: #ffffff;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0 0.5em;
}

section.news > .news-article > .news-date {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: news-date;
  color: #707070;
}

section.news > .news-article > .news-title {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: news-title;
  color: #707070;
  margin-top: 12px;
}

section.news > .news-article > .news-body {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: news-body;
  margin-top: 48px;
}

section.news > .news-article > .news-body a {
  text-decoration: underline;
  display: inline;
}

section.news > .news-article > .news-body a:hover {
  text-decoration: none;
}

section.news > .news-article > .news-body a.imglink {
  display: block;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto;
}

section.news > .news-article > .news-body img {
  max-width: 100%;
  display: inline;
}

section.news > .news-article > .news-body p {
  color: #707070;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 1em;
}

section.news > .news-article > .news-body p:first-child {
  margin-top: 0;
}

section.news > .news-article > .news-body p .highlight {
  color: #f77761;
  font-weight: bold;
}

section.support {
  width: 100%;
  padding: 128px 24px 48px;
}

section.support > div {
  max-width: 1000px;
  margin: 48px auto 0;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  padding: 24px;
}

section.support > div h3, section.support > div p {
  color: #707070;
}

section.support > div h3 {
  margin-top: 24px;
  padding-top: 23px;
  border-top: 1px solid #707070;
  font-weight: normal;
}

section.support > div h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

section.support > div p {
  margin-top: 12px;
  line-height: 2;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

section.faq {
  width: 100%;
  padding: 128px 24px 48px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
}

section.faq > .qanda {
  width: 100%;
  max-width: 1000px;
  margin: 48px auto 0;
}

section.faq > .qanda > .question {
  background-color: #003e66;
  border-radius: 6px 6px 0 0;
  padding: 24px 48px;
  -webkit-transition-property: border-radius;
  transition-property: border-radius;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  position: relative;
  cursor: pointer;
}

section.faq > .qanda > .question > p {
  color: #ffffff;
}

section.faq > .qanda > .question > p.ocbutton {
  position: absolute;
  width: 48px;
  height: 48px;
  background-color: none;
  display: block;
  right: 0;
  top: calc(50% - 24px);
}

section.faq > .qanda > .question > p.ocbutton:before {
  content: "";
  position: absolute;
  background-color: #ffffff;
  width: 24px;
  height: 4px;
  display: block;
  top: calc(50% - 2px);
  left: calc(50% - 12px);
  border-radius: 2px;
}

section.faq > .qanda > .question > p.ocbutton:after {
  content: "";
  position: absolute;
  background-color: #ffffff;
  width: 24px;
  height: 4px;
  display: block;
  top: calc(50% - 2px);
  left: calc(50% - 12px);
  border-radius: 2px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

section.faq > .qanda > .question:before {
  content: "Q";
  color: #ffffff;
  position: absolute;
  font-size: 2rem;
  top: calc(50% - 1em);
  left: 12px;
}

section.faq > .qanda > .answer {
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 0 0 6px 6px;
  padding: 24px 24px 24px 48px;
  -webkit-transition-property: height;
  transition-property: height;
  -webkit-transition-property: padding;
  transition-property: padding;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  overflow: hidden;
  position: relative;
}

section.faq > .qanda > .answer > p {
  color: #707070;
  color: #003e66;
}

section.faq > .qanda > .answer:before {
  content: "A";
  color: #003e66;
  position: absolute;
  font-size: 2rem;
  top: calc(50% - 1em);
  left: 12px;
}

section.faq > .closed > .question {
  border-radius: 6px;
}

section.faq > .closed > .question > p.ocbutton:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

section.faq > .closed > .answer {
  height: 0;
  padding: 0 24px 0 48px;
}

section.formsend {
  width: 100%;
  padding: 128px 24px 48px;
}

section.formsend > div {
  background-color: #ffffff;
  width: 100%;
  max-width: 1000px;
  margin: 48px auto 0;
  padding: 24px;
  border-radius: 6px;
}

section.formsend > div > .img {
  max-width: 100%;
}

section.formsend > div > .img > img {
  max-width: 235px;
  margin: 0 auto;
  display: block;
}

section.formsend > div > p {
  color: #707070;
  line-height: 2;
  font-size: 0.85rem;
  margin-top: 24px;
}

section.formsend .button,
section.formsend button,
section.formsend input[type="submit"],
section.formsend input[type="reset"],
section.formsend input[type="button"] {
  margin-top: 48px;
}

section.sitemap > div > ul > li {
  margin-top: 1rem;
}

section.sitemap > div > ul > li a {
  color: #707070;
}

section.sitemap > div > ul > li:nth-child(1) {
  margin-top: 0;
}

section.sitemap > div > ul > li > ul {
  margin-left: 1rem;
}

section.sitemap > div > ul > li > ul > li {
  margin-top: 1rem;
}

@media screen and (min-width: 701px) {
  .mw100 {
    max-width: 100% !important;
  }
  .pcdn {
    display: none !important;
  }
  h2 {
    font-size: 2rem;
  }
  section.product > .additionalvisual {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  section.product > .additionalvisual > img {
    margin: 0;
    width: calc(50% - 12px);
  }
  section.product > .additionaldescription {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  section.product > .additionaldescription > div {
    width: calc(50% - 48px);
    margin: 0;
    margin-top: 48px;
  }
  section.product > .additionaldescription > div:nth-child(2) {
    margin-top: 0;
  }
  section.product > .pricelist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    overflow-x: auto;
  }
  section.product > .pricelist > h3.pricelist_title {
    width: 100%;
  }
  section.product > .pricelist > table.pricelist_table {
    margin: 0;
    margin-top: 12px;
    max-width: calc(50% - 12px);
  }
  section.product > .pricelist > table.pricelist_table > tbody tr.sp_only {
    display: none;
  }
  section.product > .pricelist > table.pricelist_table > tbody tr td.sp_only {
    display: none;
  }
  section.product > .pricelist > table.pricelist_table > tbody tr td.pc_only {
    display: table-cell;
    background: #003e66;
    color: #ffffff;
  }
  section.product > .pricelist > table.pricelist_table > tbody tr td.pc_only:last-child {
    background: #ffffff;
    color: #707070;
  }
  section.product > .pricelist > p.pricelist_description {
    margin: 0;
    margin-top: 12px;
    max-width: calc(50% - 12px);
  }
  section.product > .pricelist > p.pricelist_description > * {
    max-width: 100%;
  }
  section.product .button,
  section.product button,
  section.product input[type="submit"],
  section.product input[type="reset"],
  section.product input[type="button"] {
    margin-top: 50px;
  }
  section.outline dl.list_outline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    padding: 48px;
  }
  section.outline dl.list_outline > dt {
    width: 30%;
    font-size: 1rem;
    padding: 0;
    padding-right: 60px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    overflow: hidden;
    z-index: 200;
    height: auto;
    min-height: 52px;
  }
  section.outline dl.list_outline > dt:before {
    right: 24px;
    left: auto;
    top: 24px;
    bottom: auto;
  }
  section.outline dl.list_outline > dt:after {
    left: auto;
    right: 31px;
    bottom: 0;
    top: auto;
    width: 100%;
    height: 1px;
    border-radius: 0;
    background: #cccccc;
  }
  section.outline dl.list_outline > dt:nth-child(1):before {
    top: 24px;
  }
  section.outline dl.list_outline > dt:nth-child(1):after {
    top: auto;
    bottom: 0;
  }
  section.outline dl.list_outline > dt:nth-last-child(2):after {
    display: none;
  }
  section.outline dl.list_outline > dd {
    width: 70%;
    padding: 16px 0;
    overflow: visible;
    z-index: 100;
  }
  section.outline dl.list_outline > dd:before {
    width: calc(100% + 23px);
    height: 1px;
    border-radius: 0;
    background: #cccccc;
    top: auto;
    bottom: 0;
    left: -29px;
    right: auto;
  }
  section.outline dl.list_outline > dd:after {
    background: #003e66;
    width: 2px;
    height: 100%;
    top: 0;
    left: -31px;
    bottom: auto;
    right: auto;
  }
  section.outline dl.list_outline > dd:nth-child(2):before {
    top: auto;
  }
  section.outline dl.list_outline > dd:nth-child(2):after {
    top: 24px;
  }
  section.outline dl.list_outline > dd:last-child:before {
    display: none;
  }
  section.outline dl.list_outline > dd:last-child:after {
    display: block;
  }
}

@media screen and (min-width: 960px) {
  section.product {
    padding: 150px 50px 50px;
  }
  section.product > h2.title_menu {
    margin-top: 50px;
  }
  section.product > h3.copy {
    margin-top: 50px;
  }
  section.product > p.description {
    margin-top: 25px;
  }
  section.product > .additionalvisual {
    margin-top: 50px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  section.product > .additionalvisual > img {
    max-width: calc(50% - 25px);
  }
  section.product > .additionaldescription {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  section.product > .additionaldescription > div {
    max-width: calc(50% - 50px);
    margin: 0;
    margin-top: 50px;
  }
  section.product > .additionaldescription > div:nth-child(2) {
    margin-top: 0;
  }
  section.product > .pricelist {
    margin-top: 50px;
  }
  section.product > .pricelist > table.pricelist_table {
    margin-top: 25px;
    max-width: calc(50% - 25px);
  }
  section.product > .pricelist > p.pricelist_description {
    margin-top: 25px;
    max-width: calc(50% - 25px);
  }
  section.news {
    font-size: 1rem;
    padding: 150px 50px 50px;
  }
  section.news > .news-article {
    padding: 50px;
  }
  section.outline {
    padding: 150px 50px 50px;
  }
  section.outline dl.list_outline > dt {
    width: 25%;
  }
  section.outline dl.list_outline > dd {
    width: 75%;
  }
  section.support {
    padding: 150px 50px 50px;
  }
  section.support > div {
    margin: 50px auto 0;
    padding: 50px;
  }
  section.faq {
    padding: 150px 50px 50px;
    font-size: 1rem;
  }
  section.faq > .qanda {
    margin: 50px auto 0;
  }
  section.formsend {
    padding: 150px 50px 50px;
  }
}
/*# sourceMappingURL=contents.css.map */