/*
	LESS file.
	This file will be compiled by express-less module.
	The output file will be renamed and placed at public/less-css/style_l.css 
	https://www.npmjs.com/package/express-less
*/
/**********
	Fonts
**********/
@font-face {
  font-family: 'LogoTypeGothicSubset';
  src: url('/fonts/LogoTypeGothic-subset.woff') format('woff');
}
.ft_ltg {
  font-family: 'LogoTypeGothicSubset';
}
@font-face {
  font-family: 'LogoTypeGothicCondenseSubset';
  src: url('/fonts/LogoTypeGothicCondense-subset.woff') format('woff');
}
.LogoTypeGothicCondenseSubset {
  font-family: 'LogoTypeGothicCondenseSubset';
}
@font-face {
  font-family: 'UtsukushiSubset';
  src: url('/fonts/Utsukushi-subset.woff') format('woff');
}
.UtsukushiSubset {
  font-family: 'UtsukushiSubset';
}
.wf-kokoro {
  font-family: "Kokoro";
}
.ten-mincho {
  font-family: ten-mincho, serif;
  font-style: normal;
  font-weight: 400;
}
/**********
	Vriables
**********/
/**********
	Common
**********/
/* for parsley(Validator)*/
ul.parsley-errors-list {
  padding-left: 0;
}
ul.parsley-errors-list li {
  color: #ea3535;
  list-style: none;
  font-weight: bold;
  font-family: "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.error-messages {
  color: #ea3535;
  font-weight: bold;
  font-family: "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
span.fb-required {
  color: #ff1919;
}
.pc-show {
  display: none;
}
body {
  position: relative;
  margin: 0;
  font-family: "Soft Gothic Light", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, verdana, sans-serif;
  color: #5a5a5a;
}
body#index {
  font-size: 62.5%;
}
.flex {
  -js-display: flex;
  /* for old IE <10 */
  display: -webkit-box;
  /* for old android default browser */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.flex-reverse {
  flex-direction: row-reverse;
}
.flex.space-between {
  justify-content: space-between;
}
.flex.left {
  justify-content: left;
}
.flex.right {
  justify-content: right;
}
h2.page-title {
  font-family: 'LogoTypeGothicSubset';
  margin: 20px 0;
}
a {
  color: #5a5a5a;
}
a:hover {
  color: #ff3939;
}
.text-red {
  color: #ff0000;
}
/****************************************************************************************************
	For PC
****************************************************************************************************/
body.pc {
  width: 100%;
  margin-top: 60px;
  /**********
		Header
	**********/
  /**********
		Footer
	**********/
  /*Top Page*/
  /*First View*/
  /*Each Page*/
}
body.pc p,
body.pc a,
body.pc span,
body.pc ul,
body.pc ol,
body.pc li label {
  font-size: 1.4rem;
}
body.pc input,
body.pc textarea {
  font-size: 16px !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
}
body.pc .form-control.half {
  width: 50%;
}
body.pc .form-control.short {
  width: 100px;
}
body.pc .form-group.inline label {
  display: block;
}
body.pc .form-group.inline .form-control {
  display: inline-block;
  margin-right: 10px;
}
body.pc .col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
body.pc header {
  font-family: 'LogoTypeGothicSubset';
  position: fixed;
  top: 0;
  width: 100%;
  height: 60px;
  z-index: 1;
}
body.pc header .color-bar {
  background-color: #95d7e1;
  background-image: url("/images/nsoss_logo_white.svg");
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: left 10px center;
}
body.pc header .color-bar .title {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 60px;
  padding: 0 0 0 60px;
  margin: 0;
}
body.pc header .color-bar .title > a {
  color: #fff;
  font-size: 18px;
  line-height: 60px;
  text-decoration: none;
}
body.pc header .color-bar h1.header {
  color: #fff;
  font-size: 14px;
  line-height: 60px;
  text-align: right;
  margin: 0;
  padding-right: 20px;
}
body.pc footer {
  text-align: center;
  height: 160px;
  background-color: #fff;
  width: 100%;
  border-top: 1px solid #ddd;
  position: relative;
}
body.pc footer .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vh;
  transform: translateX(-50%) translateY(-50%);
  margin: auto;
  text-align: center;
}
body.pc footer .inner a {
  font-size: 14px;
  text-decoration: underline;
  display: inline-block;
  margin: 10px;
}
body.pc footer .inner a.owner-link {
  font-size: 12px;
  text-decoration: none;
}
body.pc footer .inner p {
  font-size: 12px;
  margin: 12px;
}
body.pc .page {
  position: relative;
  background-image: url("/images/top_bg.png");
  background-color: #fefaf7;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 100vh;
  overflow: hidden;
}
body.pc .page .page-inner {
  position: relative;
  height: 100%;
}
body.pc .page .page-inner .left {
  width: calc(100vw * 0.3 - 40px);
  overflow: hidden;
  padding: 20px;
}
body.pc .page .page-inner .right {
  width: calc(100vw * 0.7 - 40px);
  overflow: hidden;
  padding: 20px;
}
body.pc .page .page-inner .v-center {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 20px;
}
body.pc .page .page-inner .v-center-middle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  padding: 20px;
}
body.pc .page .page-inner .section-title {
  width: calc(100vw * 0.3 - 41px);
  padding: 0;
  border-right: 1px solid #FFF;
  padding-right: 20px;
  text-align: right;
}
body.pc .page .page-inner .section-title.border-grey {
  border-color: #CCC;
}
body.pc .page .page-inner .section-title h1 {
  font-size: 2.6rem;
  font-weight: 700;
}
body.pc .page .page-inner .section-title h2 {
  margin-top: 10px;
  font-size: 1.4rem;
  font-weight: 300;
}
body.pc .page.floating .page-inner .left {
  float: left;
  width: 40%;
}
body.pc .page.floating .page-inner .left .v-center {
  left: 5%;
}
body.pc .page.floating .page-inner .right {
  float: left;
  width: 50%;
}
body.pc .page.floating .page-inner .right .v-center {
  left: 40%;
}
body.pc .page.firstview {
  height: calc(100vh - 60px);
}
body.pc .page.firstview .page-inner {
  width: 100%;
}
body.pc .page.firstview .page-inner .top-view {
  height: calc(100% - 130px);
  letter-spacing: 0.1em;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle {
  min-width: 750px;
  top: calc(50% - 60px);
}
body.pc .page.firstview .page-inner .top-view .v-center-middle h1 {
  display: block;
  color: #7b4b68;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 2px 1px #FFF;
  margin: 0 0 20px 0;
  animation-duration: 2s;
  animation-delay: 1s;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle p {
  display: block;
  color: #7b4b68;
  font-size: 1.0rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 2px 1px #FFF;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle p:last-child {
  margin-bottom: 0;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle img.logo {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle .subcatch {
  opacity: 1;
  transition: opacity 2s;
}
body.pc .page.firstview .page-inner .top-view .v-center-middle .subcatch.hidden {
  opacity: 0;
}
body.pc .page.contact {
  color: #fff;
}
body.pc .page.contact a {
  color: #fff;
}
body.pc .page.contact .bg-img {
  background-image: url("/images/top_contact_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
body.pc .page.contact .bg-img h1,
body.pc .page.contact .bg-img h2,
body.pc .page.contact .bg-img p {
  text-shadow: -1px 1px 1px #555;
}
body.pc .page.contact ul.contact-notice-list li {
  font-size: 1.1rem;
  line-height: 2.4rem;
  color: #fff;
  text-shadow: 1px 1px 1px #333;
  /*
				color: #010969;
				text-shadow: 1px 1px 1px #fff;
*/
}
body.pc .page.aboutus {
  height: auto;
}
body.pc .page.aboutus .page-inner {
  padding: 100px 0;
}
body.pc .page.aboutus .page-inner .bg-frame {
  width: 700px;
  padding: 20px;
  border: 3px solid #9e9e9e;
  margin: 0 auto;
}
body.pc .page.aboutus .page-inner .bg-frame .inner {
  border: 1px solid #9e9e9e;
  padding: 30px;
  color: #1c5b87;
}
body.pc .page.aboutus .page-inner .bg-frame .inner h2 {
  font-size: 1.4rem;
  margin-bottom: 30px;
}
body.pc .page.aboutus .page-inner .bg-frame .inner .our-message p {
  font-size: 1.2rem;
  line-height: 1.6;
}
body.pc .page.qa {
  height: 200px;
  padding-bottom: 100px;
}
body.pc .page.qa .right p {
  font-size: 1.0rem;
}
body.pc .page.qa .right a.btn {
  display: block;
  padding: 15px 10px;
  background-color: #fff;
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ccc;
  font-size: 1.2rem;
}
body.pc .page.links {
  height: 200px;
  padding-bottom: 100px;
}
body.pc .page.links ul.related-link-list li {
  line-height: 3rem;
}
body.pc .page.links ul.related-link-list li a {
  text-decoration: none;
  transition: color 0.5s;
}
body.pc .page.links ul.related-link-list li a:hover {
  /* 	color:#ff3939;	 */
}
body.pc .contact-btn-bar {
  width: 100vw;
  height: 130px;
  z-index: 10000;
  background-color: #FECB45;
}
body.pc .contact-btn-bar .inner {
  padding: 20px 0;
}
body.pc .contact-btn-bar .inner .btn {
  margin: 0 20px;
  /*contact btn*/
}
body.pc .contact-btn-bar .inner .btn a.btn-contact {
  display: block;
  width: 350px;
  height: 50px;
  padding: 20px;
  background-color: #FFFFFF;
  margin: 0 10px;
  border-radius: 6px;
  text-decoration: none;
  color: #137580;
  background-repeat: no-repeat;
  background-position: left 10px center;
  position: relative;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact svg.contact-btn-icon {
  width: 30px;
  position: relative;
  top: 50% !important;
  transform: translateY(-50%);
}
body.pc .contact-btn-bar .inner .btn a.btn-contact span {
  display: block;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact span.label {
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%);
  padding-left: 50px;
  margin: auto !important;
  font-size: 1.2rem;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact span.phone-num {
  margin: 10px 0;
  font-size: 1.2rem;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact span.info {
  color: #ff6600;
  font-size: 0.9rem;
  padding-top: 5px;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact span.info:nth-child(2) {
  padding-top: 0;
}
body.pc .contact-btn-bar .inner .btn a.btn-contact.mail:after {
  content: "";
  position: absolute;
  top: 40%;
  right: 30px;
  width: 20px;
  height: 20px;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform: rotate(-135deg) translateY(-50%);
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@keyframes sdb {
  0% {
    transform: rotate(-135deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-135deg) translate(-5px, 5px);
    opacity: 0;
  }
}
body.pc .contact-btn-bar .inner .btn p.notice {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 0.8rem;
}
body.pc section#qa .qa_menu a {
  display: inline-block;
  padding: 10px 30px;
  font-size: 1.6rem;
  text-align: center;
  text-decoration: none;
  background-color: #fcf9fb;
  color: #955e88;
  border-radius: 4px;
  margin: 10px;
  border: 1px solid #c3b4c0;
}
body.pc section#qa .qa_contents p,
body.pc section#qa .qa_contents ul > li {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media (max-width: 860px) {
  body.pc .contact-btn-bar .inner .btn a.btn-contact.mail {
    width: 240px;
  }
  body.pc .contact-btn-bar .inner .btn a.btn-contact.phone {
    width: 350px;
  }
}
@media (max-width: 768px) {
  body.pc .contact-btn-bar .inner .btn a.btn-contact {
    width: calc((100vw - 160px) / 2);
  }
}
/******************************************************************************************************************************************************
	For SP
**************************************************/
body.sp {
  /**********
		Header
	**********/
  /**********
		Footer
	**********/
  /*Top Page*/
  /*First View*/
  /*Each Page in top*/
  /*ヘッダータイプのコンタクトボタンバー*/
}
body.sp h2.page-title {
  font-size: 2.6rem;
  padding-left: 10px;
}
body.sp input:not([type=checkbox]),
body.sp textarea {
  -webkit-appearance: none;
  width: 100%;
  font-size: 16px !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
}
body.sp .form-control {
  font-size: 1.6rem;
}
body.sp header {
  font-family: 'LogoTypeGothicSubset';
  width: 100vw;
  height: 80px;
  z-index: 1;
}
body.sp header.index {
  height: 60px;
}
body.sp header .color-bar {
  background-color: #95d7e1;
  background-image: url("/images/nsoss_logo_white.svg");
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: left 10px center;
}
body.sp header .color-bar .title {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 60px;
  padding: 0 0 0 60px;
  margin: 0;
}
body.sp header .color-bar .title > a {
  color: #fff;
  font-size: 18px;
  line-height: 60px;
  text-decoration: none;
}
body.sp header h1.header {
  color: #666;
  font-size: 14px;
  text-align: right;
  z-index: 1;
  padding-right: 10px;
  margin: 5px 0;
}
body.sp footer {
  text-align: center;
  height: 200px;
  background-color: #fff;
  width: 100vw;
  border-top: 1px solid #ddd;
  position: relative;
}
body.sp footer .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
  margin: auto;
  text-align: center;
}
body.sp footer .inner a {
  font-size: 14px;
  text-decoration: underline;
  display: block;
  margin-bottom: 10px;
}
body.sp footer .inner a.owner-link {
  font-size: 12px;
  text-decoration: none;
}
body.sp footer .inner p {
  font-size: 12px;
  margin: 12px;
}
body.sp .page {
  position: relative;
  background-image: url("/images/top_bg.png");
  background-color: #fefaf7;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100vw;
}
body.sp .page:not(.firstview) .page-inner {
  padding: 15px;
}
body.sp .page.firstview .page-inner .top-view {
  letter-spacing: 0.1em;
  padding: 20px;
}
body.sp .page.firstview .page-inner .top-view .subcatch {
  min-height: 230px;
  opacity: 1;
  transition: opacity 2s;
}
body.sp .page.firstview .page-inner .top-view .subcatch.hidden {
  opacity: 0;
}
body.sp .page.firstview .page-inner .top-view h1 {
  display: block;
  color: #7b4b68;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 2px 1px #FFF;
  margin: 0 0 20px 0;
  animation-duration: 2s;
  animation-delay: 1s;
}
body.sp .page.firstview .page-inner .top-view p {
  display: block;
  color: #7b4b68;
  font-size: 1.0rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 2px 1px #FFF;
}
body.sp .page.firstview .page-inner .top-view p:last-child {
  margin-bottom: 0;
}
body.sp .page.firstview .page-inner .top-view img.logo {
  display: block;
  width: 120px;
  margin: 0 auto;
}
body.sp .page.contact .page-inner h2,
body.sp .page.contact .page-inner p {
  color: #fff;
  font-size: 1.2rem;
}
body.sp .bg-img {
  background-image: url("/images/top_contact_bg_sp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0;
}
body.sp .bg-img h1,
body.sp .bg-img h2,
body.sp .bg-img p {
  text-shadow: -1px 1px 1px #555;
}
body.sp .bg-img ul.contact-notice-list {
  list-style: none;
  padding-left: 0;
}
body.sp .bg-img ul.contact-notice-list li {
  font-size: 1.1rem;
  margin-bottom: 20px;
  color: #fff;
  text-shadow: 1px 1px 1px #333;
  /*
				color: #010969;
				text-shadow: 1px 1px 1px #fff;
*/
}
body.sp .page.aboutus .bg-frame {
  padding: 5px;
  border: 3px solid #9e9e9e;
  margin: 30px auto;
}
body.sp .page.aboutus .bg-frame .inner {
  border: 1px solid #9e9e9e;
  padding: 10px;
  color: #1c5b87;
  font-size: 1.0rem;
}
body.sp .page.aboutus .bg-frame .inner h2 {
  font-size: 1.2rem;
}
body.sp .page.aboutus .bg-frame .inner .our-message p {
  line-height: 1.6;
}
body.sp .page.links p {
  font-size: 0.8rem;
}
body.sp .page.links a.btn {
  display: block;
  padding: 15px 10px;
  background-color: #fff;
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ccc;
  font-size: 1.2rem;
}
body.sp .page.links ul.related-link-list {
  list-style: none;
  padding-left: 0;
}
body.sp .page.links ul.related-link-list li {
  margin: 20px 0;
}
body.sp .page.links ul.related-link-list li a {
  transition: color 0.5s;
  font-size: 0.9rem;
}
body.sp .page .page-inner {
  position: relative;
  height: 100%;
}
body.sp .page .page-inner .section-title {
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}
body.sp .page .page-inner .section-title h1 {
  font-size: 1.8rem;
  font-weight: 700;
}
body.sp .page .page-inner .section-title h2 {
  margin: 10px 0;
  font-size: 1.4rem;
  font-weight: 300;
  border-left: 4px solid #ddd;
  padding-left: 10px;
}
body.sp .page .page-inner .section-title h2 > span.small {
  font-size: 1.0rem;
}
body.sp .contact-btn-block {
  width: 100vw;
  z-index: 10000;
  background-color: #FECB45;
  overflow: hidden;
}
body.sp .contact-btn-block .inner {
  padding: 0;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.6s 0.5s;
  padding: 20px;
}
body.sp .contact-btn-block .inner .btn a.btn-contact {
  display: block;
  padding: 20px;
  background-color: #FFFFFF;
  margin: 20px 0;
  border-radius: 6px;
  text-decoration: none;
  color: #137580;
  background-repeat: no-repeat;
  background-position: left 10px center;
  position: relative;
}
body.sp .contact-btn-block .inner .btn a.btn-contact svg {
  width: 30px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
body.sp .contact-btn-block .inner .btn a.btn-contact span {
  display: block;
}
body.sp .contact-btn-block .inner .btn a.btn-contact span.label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding-left: 50px;
  margin: auto;
  font-size: 1.2rem;
}
body.sp .contact-btn-block .inner .btn a.btn-contact span.phone-num {
  margin: 10px 0;
  font-size: 1.2rem;
}
body.sp .contact-btn-block .inner .btn a.btn-contact span.info {
  color: #ff6600;
  font-size: 0.9rem;
}
body.sp .contact-btn-block .inner .btn a.btn-contact.mail {
  height: 50px;
}
body.sp .contact-btn-block .inner .btn a.btn-contact.phone {
  height: 100px;
}
body.sp .contact-btn-block .inner .btn a.btn-contact.mail:after {
  content: "";
  position: absolute;
  top: 40%;
  right: 30px;
  width: 20px;
  height: 20px;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform: rotate(-135deg) translateY(-50%);
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@keyframes sdb {
  0% {
    transform: rotate(-135deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-135deg) translate(-5px, 5px);
    opacity: 0;
  }
}
body.sp .contact-btn-block .inner .btn p.notice {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 0.8rem;
}
body.sp .contact-btn-header {
  position: fixed;
  top: 0;
  visibility: visible;
  height: 60px;
  box-shadow: 1px 1px 2px #666;
  background-image: url("/images/nsoss_logo_white.svg");
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: left 5px center;
  background-color: #95D7E1;
  opacity: 1;
  transition: opacity 0.3s 0.3s, height 0.3s 0.2s, background-color 1s;
}
body.sp .contact-btn-header .inner .title {
  width: calc(100vw * 0.6);
  position: relative;
}
body.sp .contact-btn-header .inner .title p {
  color: #fff;
  font-size: 18px;
  padding: 0 0 0 50px;
  margin: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
body.sp .contact-btn-header .inner .btn {
  width: calc(100vw * 0.4);
}
body.sp .contact-btn-header .inner .btn a.btn-contact {
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
body.sp .contact-btn-header .inner .btn a.btn-contact > svg {
  fill: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
body.sp .contact-btn-header .inner .btn a.btn-contact.mail > svg {
  width: 30px;
}
body.sp .contact-btn-header .inner .btn a.btn-contact.phone > svg {
  width: 20px;
}
body.sp .contact-btn-header.hidden {
  visibility: hidden;
  height: 0;
  opacity: 0;
  transition: height 0.3s, opacity 0.2s 0.3s ;
}
body.sp section#qa .qa_menu a {
  display: block;
  padding: 10px;
  font-size: 1.6rem;
  text-align: center;
  text-decoration: none;
  background-color: #fcf9fb;
  color: #955e88;
  border-radius: 4px;
  margin-bottom: 10px;
  border: 1px solid #c3b4c0;
}
body.sp section#qa .qa_contents p {
  font-size: 1.6rem;
  line-height: 1.8;
}
/*SP end*/
#contact .result-message {
  margin: 40px 0 80px 0;
}
#contact .result-message a.text-link {
  display: block;
  margin: 40px auto;
  text-align: center;
  text-decoration: underline;
  font-size: 1.6rem;
}
#contact form#contactForm button#submitBtn {
  display: block;
  padding: 10px;
  background-color: #00BAD7;
  /* #2cad28 */
  color: #fff;
  text-align: center;
  width: 240px;
  border: 1px solid #efefef;
  border-radius: 6px;
  margin: 40px auto;
}
#contact form#contactForm .confirm-privacy .form-confirm-privacy {
  padding: 20px 40px;
  border: 1px solid #ddd;
  margin: 10px 0;
  height: 200px;
  overflow-y: scroll;
}
#contact form#contactForm .confirm-privacy .form-confirm-privacy ul {
  margin: 20px 0;
}
#contact form#contactForm .confirm-privacy .form-confirm-privacy ul > li {
  list-style-type: initial;
}
section#qa .qa_contents .qa_box {
  margin: 30px 0;
  border: 1px solid #efefef;
  padding: 10px;
}
section#qa .qa_contents .qa_box h2.qa_title {
  font-size: 2.0rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  color: #955e88;
}
section#qa .qa_contents .qa_box h3.qa_sub {
  font-size: 1.8rem;
  color: #da58ba;
}
section#qa .qa_contents .qa_box p.qa_text {
  font-size: 1.4rem;
  line-height: 2.0;
}
section#qa .qa_contents .qa_box table.qa_table th {
  font-size: 1.4rem;
  background-color: #efefef;
}
section#qa .qa_contents .qa_box table.qa_table td {
  font-size: 1.2rem;
  vertical-align: middle;
}
section#qa .qa_contents .qa_box p.table_caption {
  color: #987849;
}
section#privacy a.external-link {
  display: block;
  margin: 100px 0;
  font-size: 1.6rem;
}
section#privacy h3.title {
  font-size: 1.8rem;
  margin: 40px 0 20px 0;
}
section#privacy p {
  font-size: 1.4rem;
  line-height: 1.6;
}
section#privacy table th {
  font-size: 1.2rem;
  background-color: #efefef;
}
section#privacy table td {
  font-size: 1.2rem;
  vertical-align: middle;
}
section#privacy table tr:last-child {
  border-bottom: 1px solid #ddd;
}
section#privacy .update-history {
  text-align: right;
  margin: 30px 0;
}
.gototop {
  position: fixed;
  width: 40px;
  height: 40px;
  bottom: 40px;
  right: 20px;
  background-color: rgba(200, 200, 200, 0.5);
  border-radius: 50%;
  z-index: 10000;
  opacity: 1;
  visibility: visible;
}
.gototop.hidden {
  visibility: hidden;
  opacity: 0;
  transition: opacity 1.3s 0.2s;
}
.gototop:after {
  content: "";
  position: absolute;
  top: 40%;
  margin: auto;
  width: 15px;
  height: 15px;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform: rotate(135deg) translateY(-50%) translateX(-50%);
  box-sizing: border-box;
  left: 2px;
}
