@charset "UTF-8";

/*================================================
 *  一般・共通設定
 ================================================*/
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,700');
@import url('https://fonts.googleapis.com/css?family=Barlow:300,500,700&display=swap');

*, *:before, *:after {
    box-sizing: border-box;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  font-feature-settings: "pkna" 1;
	color: #333;
	letter-spacing: 0.2em;
}
#wrapper {
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  position: relative;
  text-align: center;
}
.cont_box {
  max-width: 1130px;
  margin: 0 auto;
}
@media screen and (max-width:1140px) {
  .cont_box {
    margin-left: 30px;
    margin-right: 30px;
  }
}
a {
	text-decoration: none;
	color: #333;
}
h2 {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
  font-weight: 700;
  margin-bottom: 100px;
  font-size: 45px;
  letter-spacing: 0.3em;
  position: relative;
  padding-top: 100px;
  margin-left: 0.3em;
}
h2:after {
  content: '';
  min-width: 500px;
  display: block;
  position: absolute;
  bottom: -25px;
  left:50%;
  margin-left: -255px ;
  height: 3px;
  background: #85C7C2;
}


@media screen and (max-width:768px) {
  h2 {
    padding-top: 60px;
    font-size: 30px;
    margin-bottom: 60px;
  }
  h2:after {
    width: 200px;
    left: 50%;
    margin-left : -105px ;
    min-width: inherit;
  }
}
button.common_btn,
a.common_btn {
  display: inline-block;
	background:#00A397;
	color:#fff;
	padding:25px 130px;
	font-size:18px;
	font-weight:bold;
	line-height:1;
  margin: 0 auto;
  transition-property: all;
	transition: 0.3s linear;
  letter-spacing: 0.3em;
}
button.common_btn:hover,
a.common_btn:hover {
  background:#6AB4AE;
}
@media screen and (max-width:768px) {
  button.common_btn,
  a.common_btn {
    line-height: 1.4;
    padding: 20px 30px;
    letter-spacing: 0.1em;
    width: 60%;
  }
}
@media screen and (max-width:550px) {
  button.common_btn,
  a.common_btn {
    width: 80%;
  }
}
.bg-color {
  background: #D6EAE8;
}
br.sp-addbr {
  display: none;
}
@media screen and (max-width:414px) {
  br.sp-nobr {
    display: none;
  }
  br.sp-addbr {
    display: block;
  }
}

/*================================================
 *  メイン画像
 ================================================*/

#top_contents {
  width: 100%;
  background: url("../images/mv.jpg") 0 0 no-repeat;
  background-size: cover;
  color: #fff;
}

/*================================================
 *  ヘッダー／グローバルナビゲーション
 ================================================*/

header {
  width: 100%;
  position: fixed;
  z-index: 999;
  margin: 0 auto;
}
header.fixed,
header.active {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0,163,151,0.8);
}
header.active .logo_Toggle {
  width: 100%;
  z-index: 999;
  background: rgba(0,163,151,0.8);
  position: relative;
}
header .logo_Toggle_box {
  max-width:1170px;
  height: 80px;
  overflow: hidden;
  margin:0 auto;
  padding: 0;
  position: relative;
}
#head_box h1 {
  float: left;
  z-index: 1000;
  position: relative;
  padding-top: 14px;
}
@media screen and (max-width:1300px) {
  #head_box {
    margin-left: 30px;
  }
}
header a.logolink {
  display: block;
}
.head_loginlink {
  position: absolute;
  display: block;
  border: 2px solid #333;
  background: #fff;
  padding: 11px 15px;
  right: 72px;
  top: 19px;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0px;
}
#head_box h1 img {
  width: 168px;
  height: 46px;
}
#gnav {
  position: fixed;
  top: 80px;
  left: 0;
  bottom: 0;
  overflow-y: auto;
  text-align: center;
  transform: translateY(-200%);
  transition: all 0.6s;
  width: 100%;
  z-index: 1;
}
#gnav.active {
  z-index: 500;
  transform: translateY(0%);
  height: 100vh;
  padding-top: 120px;
  margin-top: -80px;
  background: #00A397;
}
#gnav li {
  padding: 0;
  margin: 0;
  width: 100%;
}
#gnav li a {
  width: 100%;
  color: #fff;
  display: block;
  margin-bottom: 70px;
  font-size: 20px;
  position: relative;
}
#gnav li a strong {
  font-family:  'Barlow', sans-serif;
}
#gnav li a::before {
	position: absolute;
	top: 50px;
	left: 0;
  right: 0;
  margin: auto;
	content: '';
	width: 80%;
  max-width: 500px;
	height: 3px;
	background: #85C7C2;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}
#gnav li a:hover::before,
#gnav li a.current::before {
	transform: scale(1, 1);
}

/*ハンバーガー*/
.navToggle {
  display: block;
  padding-top: 6px;
  position: absolute;
  right: 15px;
  top: 12px;
  width: 50px;
  height: 51px;
  cursor: pointer;
  z-index: 600;
  text-align: center;
}
.navToggle span {
    display: block;
    position: absolute;
    width: 38px;
    border-bottom: solid 5px #fff;
    transition: .35s ease-in-out;
    left: 6px;
}
.navToggle span:nth-child(1) {
    top: 9px;
}
.navToggle span:nth-child(2) {
    top: 23px;
}
.navToggle span:nth-child(3) {
    top: 37px;
}
.navToggle.active span:nth-child(1) {
    top: 25px;
    left: 6px;
    transform: rotate(-45deg);
}
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 25px;
    transform: rotate(45deg);
}

@media screen and (max-width:768px) {
  header .logo_Toggle_box {
    height: 60px;
  }
  #head_box h1 img {
    width: 120px;
    height: 32px;
  }
  .head_loginlink {
    padding: 7px;
    right: 59px;
    top: 15px;

  }
  .navToggle {
    top: 8px;
    width: 42px;
    height: 44px;
  }
  .navToggle span {
      width: 30px;
      border-bottom: solid 4px #fff;
  }
  .navToggle span:nth-child(1) {
      top: 8px;
  }
  .navToggle span:nth-child(2) {
      top: 20px;
  }
  .navToggle span:nth-child(3) {
      top: 32px;
  }
  .navToggle.active span:nth-child(1) {
      top: 20px;
      left: 6px;
  }
  .navToggle.active span:nth-child(2),
  .navToggle.active span:nth-child(3) {
      top: 20px;
  }
}

/*================================================
 *  メインビジュアル
 ================================================*/

#mv {
  padding-top: 300px;
  padding-bottom: 250px;
}
#mv .maincopy01 {
  font-size: 50px;
  font-family:  'Barlow', sans-serif;
  letter-spacing: 0.2em;
  margin-bottom: 45px;
  line-height: 1;
}
#mv .maincopy02,
#mv .maincopy03 {
  font-size: 20px;
  letter-spacing: 0.2em;
  margin-bottom: 15px;
}
#mv .maincopy03 {
  margin-bottom: 85px;
}

#mv .mv-btn a {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  transition-property: all;
	transition: 0.3s linear;
  border-radius: 50%;
}
#mv .mv-btn a:hover {
  background-color: rgba(133,199,194,0.5);
}
#mv .mv-btn a span {
  position: absolute;
  top: 15px;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1s infinite;
  animation: sdb 1s infinite;
  opacity: 0;
  box-sizing: border-box;
}
#mv .mv-btn a span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
#mv .mv-btn a span:nth-of-type(2) {
  top: 25px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
@-webkit-keyframes sdb {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes sdb {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
@media screen and (max-width:768px) {
  #mv {
    padding-top: 150px;
    padding-bottom: 100px;
  }
  #mv .maincopy01 {
    font-size: 40px;
  }
  #mv .maincopy02,
  #mv .maincopy03 {
    font-size: 16px;
    margin-bottom: 10px;
  }
  #mv .maincopy03 {
    margin-bottom: 60px;
  }
}
@media screen and (max-width:500px) {
  #mv {
    padding-top: 170px;
    padding-bottom: 60px;
  }
  #mv .maincopy01 {
    font-size: 30px;
    line-height: 1.2;
    margin-left: 30px;
    margin-right: 30px;
  }
  #mv .maincopy02,
  #mv .maincopy03 {
    font-size: 16px;
    margin-left: 30px;
    margin-right: 30px;
    line-height: 1.4;
  }
}

/*================================================
 *  トラブル吹き出し
 ================================================*/

#trouble {
  padding-top: 20px;
  padding-bottom: 60px;
}
#trouble h2 {
  font-size: 20px;
  letter-spacing: 0.4em;
  margin-bottom: 50px;
}
#trouble h2 strong {
  font-size: 26px;
}
#trouble .balloon ul {
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 50px;
  margin-bottom: 40px;
}
#trouble .balloon ul li {
  padding-top: 30px;
  padding-bottom: 80px;
  display: block;
  position: relative;
  width:100%;
  text-align: left;
}
#trouble .balloon ul li:nth-child(even){
  text-align: right;
}
#trouble .balloon ul li:before {
  content: '';
  position: absolute;
  top: 50px;
  width: 222px;
  height: 80px;
  background: url("../images/b_shadow.svg") 0 0 no-repeat;
  background-size: 222px;
  display: block;
}
#trouble .balloon ul li:nth-child(even):before{
  transform: scale(-1, 1);
}
#trouble .balloon ul li:nth-child(1):before {
  left: 17%;
}
#trouble .balloon ul li:nth-child(2) {
  padding-right: 3%;
}
#trouble .balloon ul li:nth-child(2):before {
  right:0;
}
#trouble .balloon ul li:nth-child(3) {
  padding-left: 10%;
}
#trouble .balloon ul li:nth-child(3):before {
  left: 7%;
}
#trouble .balloon ul li:nth-child(4) {
  padding-right: 3%;
}
#trouble .balloon ul li:nth-child(4):before {
  right:0;
}
#trouble .balloon ul li:nth-child(5):before {
  left: 21%;
}
#trouble .balloon ul li span {
  position: relative;
  text-align: center;
  color:#288D85;
  background-color: #fff;
  border-radius: 8px;
  z-index: 3;
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  padding: 35px 70px;
  letter-spacing: 0.2em;
}
#trouble .balloon ul li span:before {
  content: '';
  position: absolute;
  background: url("../images/balloon.svg") 0 0 no-repeat;
  background-size: 30px;
  bottom: -18px;
  left: 50%;
  margin-left: -15px;
  width: 30px;
  height: 20px;
}
#trouble .balloon ul li:nth-child(even) span:before {
  transform: scale(-1, 1);
}
#trouble .balloon ul li span strong {
  font-size: 24px;
}

#trouble .trouble-btn {
  display: block;
  position: relative;
  width: 170px;
  margin: 0 auto;
  clear: both;
}
#trouble .trouble-btn a span {
  position: absolute;
  top: 0;
  left:0;
  width: 170px;
  height: 30px;
  border-bottom: 3px solid #85C7C2;
  -webkit-animation: sdb02 1s infinite;
  animation: sdb02 1s infinite;
  opacity: 0;
}
#trouble .trouble-btn a span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
#trouble .trouble-btn a span:nth-of-type(2) {
  width: 94px;
  left: 50%;
  margin-left: -47px;
  top: 15px;
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}
#trouble .trouble-btn a span:nth-of-type(3) {
  width: 36px;
  left: 50%;
  margin-left: -18px;
  top: 30px;
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}
@-webkit-keyframes sdb02 {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes sdb02 {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
@media screen and (max-width:950px) {
  #trouble .balloon ul {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media screen and (max-width:768px) {
  #trouble h2 {
    margin-left: 30px;
    margin-right: 30px;
    line-height: 1.4;
  }
  #trouble h2 br {
    display: block;
  }
  #trouble .balloon ul li span {
    padding: 30px 40px;
  }
}
@media screen and (max-width:550px) {
  #trouble {
    padding-top: 0;
    padding-bottom: 60px;
  }
  #trouble .balloon ul {
    margin-bottom: 0;
  }
  #trouble .balloon ul li span {
    display: block;
    width: 100%;
  }
  #trouble .balloon ul li {
    padding: 0 !important;
    padding-bottom: 60px !important;
  }
  #trouble .balloon ul li:before {
    top: auto;
    bottom: 24px;
  }
  #trouble .balloon ul li:nth-child(odd):before {
    left: 5%;
  }
  #trouble .balloon ul li:nth-child(even):before {
    right: 5%;
  }
  #trouble .balloon ul li span {
    line-height: 1.4;
  }
}
@media screen and (max-width:340px) {
  #trouble .balloon ul li:nth-child(odd):before {
    left: 0;
  }
  #trouble .balloon ul li:nth-child(even):before {
    right: 0;
  }
}

/*================================================
 *  KIZUNAとは
 ================================================*/
#about h2 strong {
  font-family:  'Barlow', sans-serif;
  font-size: 54px;
}
#about h2:after {
  display: none;
}
#about .about_box {
  padding-left: 480px;
  text-align: left;
  background: url("../images/img_about.png") 0 0 no-repeat;
  background-size: 416px;
  padding-bottom: 160px;
}
#about .about_box h3 {
  font-size: 26px;
  color: #288D85;
  border-top: 3px #85C7C2 solid;
  border-bottom: 3px #85C7C2 solid;
  line-height: 1;
  padding: 20px 0;
  display: inline-block;
  margin-bottom: 60px;
  letter-spacing: 0.25em;
}
#about .about_box h4 {
  font-size: 36px;
  margin-bottom: 40px;
  letter-spacing: 0.2em;
}
#about .about_box p {
  line-height: 2.5;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width:1200px) {
  #about .about_box {
    margin-left: 30px;
    margin-right: 30px;
    padding-left: 32%;
    background-size: 30%;
  }
}
@media screen and (max-width:970px) {
  #about .about_box h4 {
    font-size: 30px;
    letter-spacing: 0.1em;
  }
  #about .about_box p {
    line-height: 2;
    font-size: 16px;
  }
}
@media screen and (max-width:768px) {
  #about h2 {
    margin-bottom: 60px;
    padding-top: 80px;
  }
  #about h2 strong {
    font-size: 40px;
  }
  #about .about_box {
    padding-bottom: 60px;
  }
  #about .about_box h3 {
    font-size: 20px;
    padding: 10px 0;
    margin-bottom: 30px;
  }
  #about .about_box h4 {
    line-height: 1.4;
    margin-bottom: 30px;
    font-size: 28px;
  }
}
@media screen and (max-width:550px) {
  #about h2 {
    margin-bottom: 20px;
  }
  #about h2 strong {
    line-height: 1.6;
  }
  #about .about_box {
    padding-left: 0;
    background: url("../images/img_about.png") center 0 no-repeat;
    padding-top: 54%;
    background-size: 70%;
  }
  #about .about_box p {
    font-weight: normal;
  }
}

/*================================================
 *  ポイント
 ================================================*/
#point {
  padding-bottom: 80px;
}
#point li {
  list-style: none;
  text-align: left;
  padding-left: 26%;
  padding-bottom: 80px;
  position: relative;
}
#point li:before {
  position: absolute;
  width: 23%;
  height: 100%;
  content:'';
  top:0;
  right: 77%;
}
#point li:nth-child(1):before {
  background: url("../images/img_point01.png") center 0 no-repeat;
  background-size: 60%;
}
#point li:nth-child(2):before {
  background: url("../images/img_point02.png") center 0 no-repeat;
  background-size: 60%;
}
#point li:nth-child(3):before {
  background: url("../images/img_point03.png") center 0 no-repeat;
  background-size: 60%;
}
#point li:nth-child(4):before {
  background: url("../images/img_point04.png") center 0 no-repeat;
  background-size: 60%;
}
#point li:nth-child(5):before {
  background: url("../images/img_point05.png") center 0 no-repeat;
  background-size: 60%;
}
#point li h3 {
  color: #288D85;
  font-size: 34px;
  margin-bottom: 20px;
  line-height: 1.6;
}
#point li p {
  line-height: 2;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width:960px) {
  #point li h3 {
    font-size: 26px;
    letter-spacing: 0.1em;
  }
  #point li h3 br.sp-nobr {
    display: none;
  }
  #point li:before {
    background-size: 70% !important;
  }
}
@media screen and (max-width:768px) {
  #point {
    padding-bottom: 20px;
  }
  #point li {
    padding-bottom: 60px;
  }
  #point li h3 {
    line-height: 1.4;
    margin-bottom: 20px;
  }
  #point li p {
    line-height: 1.6;
    font-size: 16px;
  }
}
@media screen and (max-width:550px) {
  #point li {
    padding-left: 0;
    padding-bottom: 40px;
  }
  #point li:nth-child(1) {
    padding-top: 150px;
  }
  #point li:nth-child(2) {
    padding-top: 135px;
  }
  #point li:nth-child(3) {
    padding-top: 170px;
  }
  #point li:nth-child(4) {
    padding-top: 150px;
  }
  #point li:nth-child(5) {
    padding-top: 135px;
  }
  #point li:before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 190px;
  }
  #point li:nth-child(1):before {
      left: 47%;
  }
  #point li h3 {
    font-size: 24px;
  }
  #point li p {
    font-weight: normal;
  }
}

/*================================================
 *  機能一覧
 ================================================*/
#function {
  padding-bottom: 160px;
}
#function dl{
  display:flex;
  flex-wrap: wrap;
  border-bottom: 2px solid #85C7C2;
}
#function dt,
#function dd{
  border: 2px solid #85C7C2;
  border-bottom: none;
}
#function dt{
  background: #00A397;
  width: 40%;
  text-align: center;
  color: #fff;
  display:flex;
  -webkit-align-items: center;
  -webkit-justify-content: center; 
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
}
#function dd{
  padding: 40px 60px;
  margin: 0;
  border-left: none;
  width: 60%;
  background: #fff;
  box-sizing: border-box;
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #288D85;
}
#function dd li {
  margin-bottom: 30px;
  list-style: none;
  padding-left: 1em;
  text-indent: -1em;
}
#function dd li:last-child {
  margin-bottom: 0;
}
#function dd li:before{
  content: '・';
  width: 1em;
  text-indent: 0;
  display: inline-block;
}
@media screen and (max-width: 960px) {
  #function dt{
    padding: 0 30px;
    line-height: 1.4;
  }
  #function dd{
    padding: 20px;
    line-height: 1.4;
  }
  #function dd li{
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  #function {
    padding-bottom: 60px;
  }
  #function dt{
    font-size: 16px;
  }
  #function dd{
    font-size: 16px;
  }
}
@media screen and (max-width: 550px) {
  #function dl{
    flex-flow: column nowrap;
  }
  #function dt{
    display: block;
    padding: 20px 25px;
    text-align: left;
  }
  #function dt,
  #function dd{
    width: 100%;
  }
  #function dd{
    border-left: 2px solid #85C7C2;
  }
  #function dd li{
    margin-bottom: 10px;
    font-weight: normal;
  }
}

/*================================================
 *  お問い合わせ
 ================================================*/
#contact {
  background: #958222;
  color: #fff;
  padding-bottom: 120px;
}
#contact h2:after {
  background: #CCBB72;
}
#contact p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 80px;
  font-weight: bold;
}
#contact a {
  background: #CCBB72;
}
#contact a:hover {
  background: #B99F34;
}
@media screen and (max-width:768px) {
  #contact {
    padding-bottom: 60px;
  }
  #contact p {
    text-align: left;
    margin-bottom: 40px;
    line-height: 1.6;
  }
  #contact p br {
    display: none;
  }
}
@media screen and (max-width:550px) {
  #contact p {
    font-weight: normal;
  }
}
  
/*================================================
 *  マニュアル
 ================================================*/
#manual {
  padding-bottom: 120px;
}
#manual p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 80px;
  font-weight: bold;
}
#manual a span {
  position: relative;
  display: inline-block;
  padding-left: 60px;
}
#manual a span:before {
  content: '';
  width: 32px;
  height: 30px;
  background: url("../images/icon_download.svg") 0 0 no-repeat;
  background-size: 100%;
  top: -6px;
  left: -12px;
  position: absolute;
}
@media screen and (max-width:768px) {
  #manual {
    padding-bottom: 60px;
  }
  #manual p {
    text-align: left;
    margin-bottom: 40px;
    line-height: 1.6;
  }
  #manual p br {
    display: none;
  }
  #manual a span {
    padding-left:0;
  }
  #manual a span:before {
    display: none;
  }
}
@media screen and (max-width:550px) {
  #manual p {
    font-weight: normal;
  }
}

/*================================================
 *  ご契約
 ================================================*/
#contract {
  padding-bottom: 120px;
}
#contract p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 80px;
  font-weight: bold;
}
#contract .contract_box {
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  margin-bottom: 30px;
  padding: 50px 0 60px 0;
}
#contract .price {
  color: #288D85;
  font-size: 24px;
  font-family:  'Barlow', sans-serif;
  border-bottom: 3px #85C7C2 solid;
  line-height: 1;
  padding-bottom: 45px;
}
#contract .price strong {
  font-size: 50px;
}
#contract .credit {
  width:78%;
  margin: 0 auto;
  display:flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 60px;
}
#contract .credit span:nth-child(1) {
  position: relative;
  display: block;
  width: 50%;
  text-align: left;
  padding-left: 50px;
  padding-right: 20px;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
#contract .credit span:nth-child(1):before {
  content: '';
  width: 38px;
  height: 25px;
  background: url("../images/icon_credit.svg") 0 0 no-repeat;
  background-size: 100%;
  top: 0;
  left: 0;
  position: absolute;
}
#contract .credit span:nth-child(2) {
  display: block;
  width: 50%;
}
#contract .credit span:nth-child(2) img {
  width: 100%;
  vertical-align: bottom;
}
#contract .note {
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
  font-weight: normal;
  font-size: 14px;
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}
#contract .note:before{
  content: '※';
  width: 1em;
  text-indent: 0;
  display: inline-block;
}
#contract .consent_checkbox{
  margin-bottom: 20px;
}
#contract .consent_checkbox a{
  text-decoration: underline;
}
input#check{
  margin-top: -0.1em;
  margin-right: 10px;
}
#contract button{
  border: none;
}
#contract button:disabled{
  background: #ddd;
}
#contract button:disabled:hover{
  background: #ddd;
}
#contract button span,
#contract a span {
  position: relative;
  display: inline-block;
  padding-left: 60px;
}
#contract button span:before,
#contract a span:before {
  content: '';
  width: 36px;
  height: 31px;
  background: url("../images/icon_payment.svg") 0 0 no-repeat;
  background-size: 100%;
  top: -6px;
  left: -12px;
  position: absolute;
}
#contract ul.minmenu{
  display: inline-block;
  margin-bottom: 0px;
  margin-top: 30px;
}
#contract ul.minmenu li{
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
  list-style: none;
  display: inline-block;
}
#contract ul.minmenu li a{
  padding-right: 1em;
  padding-left: 1em;
  border-right: solid 1px #000;
}
#contract ul.minmenu li:last-child a{
  border-right:none;
}
#contract h3 {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
  font-weight: 700;
  margin-bottom: 80px;
  font-size: 24px;
  letter-spacing: 0.3em;
  padding-top: 0px;
  margin-left: 0.3em;
}
#contract .wrpbox{
  background: #fff;
  padding: 50px;
  box-sizing: border-box;
  max-width: 960px;
  margin: 0 auto;
  margin-top: 100px;
}
#contract .tokutei_law{
  text-align: left;
  letter-spacing: 0.04em;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
}
#contract .tokutei_law dt{
  font-weight: bold;
  line-height: 1.8em;
  width: 30%;
}
#contract .tokutei_law dd{
  line-height: 1.8em;
  margin-bottom: 20px;
  width: 70%;
}

@media screen and (max-width:768px) {
  #contract {
    padding-bottom: 60px;
  }
  #contract p {
    text-align: left;
    margin-bottom: 40px;
    line-height: 1.6;
  }
  #contract p br {
    display: none;
  }
  #contract .price {
    text-align: center;
  }
  #contract .credit {
    display: block;
    text-align: center;
    margin-bottom: 40px;
  }
  #contract .credit span:nth-child(1) {
    width: 100%;
    text-align: center;
    display: inline;
    padding-right: 0;
  }
  #contract .credit span:nth-child(1):before {
    top: -2px;
  }
  #contract .credit span:nth-child(2) {
    width: 70%;
    margin: 0 auto;
    margin-top: 30px;
    text-align: center;
  }
  #contract a span {
    padding-left:0;
  }
  #contract a span:before {
    display: none;
  }
  #contract .consent_checkbox{
    text-align: center;
  }
  #contract ul.minmenu li{
    width: 100%;
    line-height: 2em;
  }
  #contract ul.minmenu li a{
    border-right: none;
  }
  #contract h3 {
    margin-bottom: 40px;
    font-size: 20px;
    padding-top: 30px;
    letter-spacing: normal;
  }
  #contract .wrpbox{
    background: #fff;
    padding: 20px;
    margin: 0 auto;
    margin-top: 50px;
  }
  #contract .tokutei_law dt{
    width: 100%;
  }
  #contract .tokutei_law dd{
    width: 100%;
  }
}
@media screen and (max-width:550px) {
  #contract p.main {
    font-weight: normal;
  }
  #contract .price strong {
    display: block;
    margin-bottom: 10px;
  }
  #contract .credit span:nth-child(2) {
    width: 100%;
  }
  #contract .note {
    font-size: 12px;
  }
}

/*================================================
 *  フッター
 ================================================*/
footer {
	width: 100%;
	background: #00A397;
  color: #fff;
  padding-top: 75px;
  padding-bottom: 80px;
}
footer ul {
  max-width: 1130px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  flex-wrap:wrap;
}
footer li {
  border-left: 3px #85C7C2 solid;
  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 20px;
}
footer li:first-child {
  border-left: none;
}
footer li a {
  color: #fff;
  font-weight: bold;
  transition-property: all;
	transition: 0.3s linear;
  font-size: 18px;
  line-height: 1;
}
footer li a:hover {
  color: #B0DBD7;
}
footer ul.minmenu{
  margin-bottom: 50px;
}
footer ul.minmenu li a{
  font-size: 14px;
  font-weight: normal;
}
#copyright {
  font-family:  'Barlow', sans-serif;
  font-size: 14px;
  font-weight: 300;
}
@media screen and (max-width:1170px) {
  footer ul {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media screen and (max-width:768px) {
  footer {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  footer ul {
    display: block;
    max-width: 414px;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  footer li {
    border: none;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  footer ul.minmenu{
    width: auto;
    margin-left: 30px;
    margin-right: 30px;
    border-top: 2px #85C7C2 solid;
    padding-top: 30px;
  }
  #copyright {
    font-size: 12px;
    margin-left: 30px;
    margin-right: 30px;
    line-height: 1.6;
  }
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  width: 60px;
  height: 60px;
  opacity:0.7;
}
.pagetop img {
  width: 60px;
  height: 60px;
}
.pagetop.close {
  z-index: 1;
}
.pagetop.foot {
  bottom: 270px;
}
@media screen and (max-width:414px) {
  .pagetop.foot {
    bottom: 530px;
  }
}
