@charset "UTF-8";
@media screen and (max-width: 768px) {
  .u-pc-ele {
    display: none !important;
  }
}
.u-sp-inline-block {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-inline-block {
    display: inline-block !important;
  }
}
.u-sp-inline {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-inline {
    display: inline !important;
  }
}
.u-sp-block {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-sp-block {
    display: block !important;
  }
}
.u-sp-flex {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.css-btn-hover {
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
  -webkit-box-shadow: 8px 8px rgba(200,200,200,0.4);
          box-shadow: 8px 8px rgba(200,200,200,0.4);
}
@media screen and (max-width: 768px) {
  .css-btn-hover {
    -webkit-box-shadow: 5px 5px rgba(200,200,200,0.4);
            box-shadow: 5px 5px rgba(200,200,200,0.4);
  }
}
.css-btn-hover:hover {
  -webkit-transform: translate(8px, 8px);
          transform: translate(8px, 8px);
  -webkit-box-shadow: 0px 0px;
          box-shadow: 0px 0px;
}
@media screen and (max-width: 768px) {
  .css-btn-hover:hover {
    -webkit-box-shadow: 5px 5px rgba(200,200,200,0.4);
            box-shadow: 5px 5px rgba(200,200,200,0.4);
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.css-hover {
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
.css-hover:hover {
  opacity: 0.7;
}
.js-slidein {
  -webkit-transition: all ease-out 1s;
  transition: all ease-out 1s;
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
.js-slidein.is-effected {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-inner-contents {
  width: 1024px;
  padding: 0 12px;
}
*:focus {
  outline: 0;
}
body {
  margin: 0;
  font-size: 16px;
  line-height: 1.1875;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: startin 2s forwards;
          animation: startin 2s forwards;
  opacity: 0;
  color: #363636;
  min-width: 1034px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media screen and (max-width: 768px) {
  body {
    min-width: auto;
  }
}
img {
  width: 100%;
  vertical-align: bottom;
  border: 0;
  pointer-events: none;
}
img[src$=".svg"] {
  width: 100%;
}
a {
  color: #363636;
  text-decoration: none;
}
div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
p {
  padding: 0;
  margin: 0;
}
ol,
ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-innerContainer {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-innerContainer {
    width: 100%;
  }
}

.c-innerContainer02 {
  width: 800px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-innerContainer02 {
    width: 100%;
  }
}

.css-btn {
  position: relative;
}
.css-btn:after {
  content: '';
  background-image: url("../img/common/arrow_sharp_right.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 35px;
  height: 7px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-right: 30px;
  -webkit-transition: margin-right 0.3s ease-in-out;
  transition: margin-right 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .css-btn:after {
    display: none;
  }
}
.css-btn:hover:after {
  margin-right: 20px;
}
@-webkit-keyframes startin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes startin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  -webkit-transition: background ease-in-out 0.3s;
  transition: background ease-in-out 0.3s;
}
header.isWhite {
  background-color: #fff;
}
.headerWrapper {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 85px;
  padding: 0 24px;
  max-width: 1366px;
  margin: 0 auto;
}
@media screen and (max-width: 1366px) {
  .headerWrapper {
    height: 6.222547584187408vw;
    padding: 0 1.756954612005857vw;
  }
}
@media screen and (max-width: 768px) {
  .headerWrapper {
    height: 13.333333333333334vw;
    max-width: auto;
    width: 100%;
    padding: 0;
  }
}
.headerMenuBtn {
  width: 13.333333333333334vw;
  height: 13.333333333333334vw;
  padding: 3.066666666666666vw;
  position: relative;
  z-index: 9999;
}
.headerMenuBtn span {
  display: block;
  height: 0.533333333333333vw;
  width: 7.199999999999999vw;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 3.066666666666666vw;
  margin-top: 4vw;
  -webkit-transition: background ease-in-out 0.3s;
  transition: background ease-in-out 0.3s;
  background-color: #1aa73b;
}
.headerMenuBtn span:nth-of-type(2) {
  margin-top: 6.4vw;
}
.headerMenuBtn span:nth-of-type(3) {
  top: inherit;
  bottom: 0;
  margin-bottom: 4vw;
}
.isWhite .headerMenuBtn span {
  background-color: #1aa73b !important;
}
.headerMenuBtn.isOpen span {
  background-color: #1aa73b;
}
.headerMenuBtn.isOpen span:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: 6.4vw;
}
.headerMenuBtn.isOpen span:nth-of-type(2) {
  opacity: 0;
}
.headerMenuBtn.isOpen span:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-bottom: 6.4vw;
}
.headerLogo {
  width: 226px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 26px;
}
@media screen and (max-width: 1366px) {
  .headerLogo {
    width: 16.544655929721817vw;
    padding-right: 1.903367496339678vw;
  }
}
@media screen and (max-width: 768px) {
  .headerLogo {
    width: 51.2vw;
    height: auto;
    padding-right: 0;
    padding-left: 4vw;
  }
}
.headerLinksWrapper {
  width: 666px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 1366px) {
  .headerLinksWrapper {
    width: 48.75549048316252vw;
  }
}
@media screen and (max-width: 768px) {
  .headerLinksWrapper {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    padding-top: 32vw;
    display: none;
    z-index: 9999;
  }
}
.headerLink {
  display: block;
  line-height: 1;
}
.headerLink.headerLinkAbout {
  width: 106px;
}
@media screen and (max-width: 1366px) {
  .headerLink.headerLinkAbout {
    width: 7.759882869692533vw;
  }
}
.headerLink.headerLinkMenu {
  width: 71px;
}
@media screen and (max-width: 1366px) {
  .headerLink.headerLinkMenu {
    width: 5.197657393850659vw;
  }
}
.headerLink.headerLinkPrice {
  width: 72px;
}
@media screen and (max-width: 1366px) {
  .headerLink.headerLinkPrice {
    width: 5.27086383601757vw;
  }
}
.headerLink.headerLinkCase {
  width: 109px;
}
@media screen and (max-width: 1366px) {
  .headerLink.headerLinkCase {
    width: 7.979502196193265vw;
  }
}
.headerLink.headerLinkQa {
  width: 43px;
}
@media screen and (max-width: 1366px) {
  .headerLink.headerLinkQa {
    width: 3.14787701317716vw;
  }
}
@media screen and (max-width: 768px) {
  .headerLink {
    width: auto !important;
    text-align: center;
    margin-bottom: 20vw;
  }
}
.headerLink img {
  width: 100%;
}
@media screen and (max-width: 1366px) {
  .headerLink img {
    width: auto;
    height: 1.171303074670571vw;
  }
}
@media screen and (max-width: 768px) {
  .headerLink img {
    height: 5.333333333333334vw;
  }
}
.headerInfoWrapper {
  width: 252px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  opacity: 1 !important;
}
@media screen and (max-width: 1366px) {
  .headerInfoWrapper {
    width: 18.448023426061493vw;
  }
}
@media screen and (max-width: 768px) {
  .headerInfoWrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background-color: #fff;
    z-index: 9990;
    opacity: 0 !important;
    -webkit-transform: opacity 0.3s ease-in-out;
            transform: opacity 0.3s ease-in-out;
  }
}
.headerInfoTel {
  margin-bottom: 5px;
}
.headerInfoImgSP {
  width: 93.33333333333333vw;
  margin: 0 auto;
  padding: 2.666666666666667vw 0 1.333333333333333vw;
}
.contentsWrapper {
  padding-top: 85px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .contentsWrapper {
    padding-top: 13.333333333333334vw;
  }
}
.footerDeco {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 150px;
}
@media screen and (max-width: 768px) {
  .footerDeco {
    width: 16vw;
  }
}
footer {
  background-color: #fff;
  padding: 50px 0 28px;
  border-top: 1px solid #d8d8d8;
  position: relative;
}
.footerWrapper {
  width: 1000px;
  padding: 0 30px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .footerWrapper {
    padding: 0;
    width: 88vw;
  }
}
.footerLogo {
  width: 226px;
  margin: 0 auto 40px;
}
.footerInner {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .footerInner {
    display: block;
  }
}
.footerAddressWrapper {
  width: 305px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 15px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .footerAddressWrapper {
    width: 88vw;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 8vw;
  }
}
.footerAddress {
  margin-bottom: 17px;
}
.footerAddressAccess {
  display: block;
  height: 100%;
}
.footerInfoWrapper {
  width: 574px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .footerInfoWrapper {
    width: 100%;
  }
}
.footerInfoContainer {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .footerInfoContainer {
    display: block;
    margin-bottom: 8vw;
  }
}
.footerInfoTel {
  width: 273px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .footerInfoTel {
    pointer-events: auto;
    display: block;
    width: 72.8vw;
    margin: 0 auto 5.333333333333334vw;
  }
}
.footerInfoContact {
  width: 256px;
  display: block;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .footerInfoContact {
    width: 100%;
  }
}
.footerInfoBusiness {
  font-size: 14px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .footerInfoBusiness {
    font-size: 15px;
    text-align: center;
    line-height: 1.6;
  }
}
.footerInfoBusinessAnnotation {
  font-size: 12px;
  color: #1aa73b;
}
.footerCopyright {
  color: #a2a2a2;
  font-size: 10px;
  text-align: center;
}
a.pageTop {
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 80px;
  height: 80px;
  margin-right: 30px;
  margin-bottom: 30px;
  -webkit-transition: opacity ease-in-out 0.3s;
  transition: opacity ease-in-out 0.3s;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
a.pageTop:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  a.pageTop:hover {
    opacity: 0;
  }
}
@media screen and (max-width: 768px) {
  a.pageTop {
    width: 18.666666666666668vw;
    height: 18.666666666666668vw;
    margin-bottom: 16vw;
    margin-right: 1.333333333333333vw;
  }
}
.commonTitle {
  padding: 47px 0;
  background-color: #1aa73b;
  margin: 0 auto 70px;
  text-align: center;
  font-size: 0;
}
.commonTitle img {
  height: auto;
  width: 40px;
  max-width: 40px;
}
@media screen and (max-width: 768px) {
  .commonTitle img {
    height: 6.4vw;
  }
}
@media screen and (max-width: 768px) {
  .commonTitle {
    padding: 6.666666666666667vw 0;
    margin-bottom: 10.666666666666668vw;
  }
}
.js-fadeinout {
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.js-fadeinout.isView {
  opacity: 1 !important;
  pointer-events: auto;
}
.menuWrapper {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .menuWrapper {
    margin-bottom: 21.333333333333336vw;
  }
}
.menuContainer {
  width: 760px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .menuContainer {
    width: 88vw;
  }
}
.menuContainer.menu {
  width: 650px;
}
@media screen and (max-width: 768px) {
  .menuContainer.menu {
    width: 80vw;
  }
}
.menuItem {
  position: relative;
}
@media screen and (max-width: 768px) {
  .menuItem {
    width: 25.333333333333336vw;
  }
  .menuItem.setSize {
    text-align: center;
  }
  .menuItem.setSize img {
    width: 12.8vw !important;
  }
  .menuItem.menu {
    width: 29.86666666666667vw;
  }
}
.menuItem:after {
  content: '';
  background-image: url("../img/common/arrow_down.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 12px;
  height: 7px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto -20px;
}
@media screen and (max-width: 768px) {
  .menuItem:after {
    width: 4.266666666666667vw;
    height: 2.4vw;
  }
}
.scrollTabWrapper {
  margin-bottom: 1px;
}
@media screen and (max-width: 768px) {
  .scrollTabWrapper {
    width: auto;
    overflow-x: scroll;
    height: auto;
  }
}
.c-tabWrapper {
  width: 100%;
}
.tabList {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .tabList.genri {
    width: 117.33333333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .tabList.tekiou {
    width: 410.66666666666663vw;
  }
}
@media screen and (max-width: 768px) {
  .tabList.case {
    width: 352vw;
  }
}
.tabItem {
  width: 250px;
  background: #fff;
  height: 70px;
  color: #1aa73b;
  font-size: 18px;
  line-height: 1.22222;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
.tabItem.thin {
  height: 50px;
}
@media screen and (max-width: 768px) {
  .tabItem.thin {
    height: 16vw;
  }
}
.tabItem.isCurrent {
  background: #1aa73b;
  color: #fff;
}
.tabItem .small {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .tabItem .small {
    font-size: 11px;
  }
}
@media screen and (max-width: 768px) {
  .tabItem {
    height: 16vw;
    font-size: 16px;
    width: 29.333333333333332vw;
  }
}
.c-tabDetails {
  font-size: 17px;
  line-height: 1.88;
  position: relative;
  border-top: 1px solid #1aa73b;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .c-tabDetails {
    font-size: 15px;
    padding-top: 8vw;
  }
}
.c-tabDetails:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -2px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .c-tabDetails:before {
    width: 100vw;
  }
}
.c-tabDetails:after {
  content: '';
  background-image: url("../img/common/triangle.svg");
  width: 31px;
  height: 16px;
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: -2px auto 0;
}
@media screen and (max-width: 768px) {
  .c-tabDetails:after {
    width: 8.266666666666666vw;
    height: 4.266666666666667vw;
  }
}
.tabDetail {
  width: 100%;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  display: none;
  opacity: 0;
}
.tabDetail.isCurrent {
  display: block;
  pointer-events: auto;
  -webkit-animation: fadeInTab 0.3s forwards;
          animation: fadeInTab 0.3s forwards;
}
.tabDetail.case {
  padding-bottom: 110px;
}
@media screen and (max-width: 768px) {
  .tabDetail.case {
    padding-bottom: 26.666666666666668vw;
  }
}
@media screen and (max-width: 768px) {
  .tabDetailContainer {
    display: block;
    width: 88vw;
    margin: 0 auto;
  }
}
.tabDetailContainer.hasMargin {
  margin-bottom: 50px;
}
.tabDetailsText {
  width: 580px;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .tabDetailsText {
    width: 100%;
    margin: 0 auto 6.666666666666667vw;
  }
}
.tabDetailsText .small {
  font-size: 0.9rem;
}
.tabDetailsText .strong {
  font-weight: bold;
}
.tabDetailsText .yellow {
  color: #fc962d;
}
.tabDetailsText .yellow a {
  color: #fc962d;
  font-weight: bold;
}
.tabDetailsText .green {
  color: #1aa73b;
}
.tabDetailsText .grey {
  color: #6a6a6a;
}
.tabDetailsText.wide {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .tabDetailsText.wide {
    width: 88vw;
    margin: 0 auto 6.666666666666667vw;
  }
}
.tabDetailsText.noAnnotation {
  margin-bottom: 0;
}
.tabDetailsText a {
  text-decoration: underline;
  font-weight: bold;
}
.tabDetailsImage {
  width: 370px;
}
.tabDetailsImage img {
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .tabDetailsImage {
    width: 68.26666666666667vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .tabDetailsImage.menu {
    width: 100%;
  }
}
@-webkit-keyframes fadeInTab {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInTab {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 50px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.visualWrapper {
  position: relative;
  width: 100%;
}

.visual {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
