/*
header
----------------------------------------------- */
.header{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 1.5rem;
}
.header h1{
  width: 300px;
  padding: 2.5rem 0 0 0;
 }
.header__tel{
  width: 700px;
  text-align: right;
  padding: 1rem 0 0 0;
}
.header__tel-no{
  font-size: 1.4rem;
  line-height: 1;
  font-weight: bold;
}
.header__tel-no span{
  font-size: 3.5rem;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .1rem;
  font-weight: normal;
}
.header__tel-no span:before{
  content: "";
  display: inline-block;
  width: 30px;
  margin: 0 1rem;
  height: 40px;
  background: url(../images/tel.png) no-repeat center bottom;
  background-size: 30px;
}
.header__tel-date{
  font-size: 1.4rem;
  margin-top: .3rem;
}
.footer .header__tel{
  display: none;
}
@media only screen and (max-width: 768px){
.header{
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  background: #FFF;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 0;
  box-shadow: 1px 1px 6px 2px rgba(0,0,0,.2);
  z-index: 100;
}
.header h1{
  width: 220px;
    padding: 1.5rem 0 0 .5rem;
 }
.header__tel{
 display: none;
}
}
.crumb{
  width: 1000px;
  margin: 0 auto;
  padding: 2rem 0;
  font-size: 1.3rem;
}
@media only screen and (max-width: 768px){
  .crumb{
  width: 94%;
  padding: 1rem 0 2rem 0;
}
  }
/*
mainvisual
トップ画像部分
----------------------------------------------- */
.l-mainvisual {
  width: 100%;
  background: url(../images/main_bg.jpg) no-repeat center top;
  background-size: 2000px;
}
.l-mainvisual img{
  display: block;
  width: 1000px;
  margin: 0 auto;
}
.l-mainvisual img.l-mainvisual__pc{
  display: block;
}
.l-mainvisual img.l-mainvisual__sp{
  display: none;
}
@media only screen and (max-width: 768px){
.l-mainvisual {
  width: 100%;
  background: none;
  margin-top: 60px;
}
.l-mainvisual img{
  display: block;
  width: 100%;
}
.l-mainvisual img.l-mainvisual__pc{
  display: none;
}
.l-mainvisual img.l-mainvisual__sp{
  display: block;
}
  }
.menu{
  background: #111111;
}
.menu ul{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.menu li{
  width: 20%;
  border-left: 1px solid #666;
}
.menu li a{
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1;
  padding: 3rem 0;
  text-align: center;
}
@media all and (-ms-high-contrast: none) {
.menu li a{
  padding: 3.4rem 0 3rem 0;
}
}
.menu li:last-child{
  border-right: 1px solid #666;
}
.heading-primary h2 span{
  font-family: 'Oswald', sans-serif;
  letter-spacing: .2rem;
  display: inline-block;
  padding-right: .5rem;
  font-size: 4.5rem;
  line-height: 1;
}
.heading-primary h2{
  font-size: 1.5rem;
  line-height: 1;
}
@media only screen and (max-width: 768px){
  .heading-primary h2 span{
  font-family: 'Oswald', sans-serif;
  letter-spacing: .2rem;
  display: inline-block;
  padding-right: .5rem;
  font-size: 3rem;
  line-height: 1;
  display: block;
  padding-bottom: .8rem;
}
.heading-primary h2{
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
}
  }
.about .heading-primary:after{
  content: "";
  display: block;
  width: 30px;
  border-bottom: 2px solid #06a6c8;
  margin-top: 3rem;
}
.about{
  padding: 6rem 0;
  width: 100%;
  background: url(../images/bg.jpg) repeat-y center bottom;
  background-size: 2000px;
  min-width: 1000px;
}
.page .about{
  padding: 5rem 0;
}
.about__contents{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.about__contents-text{
  width: 450px;
  box-sizing: border-box;
  padding-right: 3rem;
}
.about__contents-photo{
  width: 550px;
}
body#top .about__contents-text{
  width: 550px;
  box-sizing: border-box;
  padding-right: 3rem;
}
body#top .about__contents-photo{
  width: 450px;
}
.about__contents-text h3{
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: .1rem;
  margin-top: 2rem;
}
.about__contents-text h3 span{
  color: #06a6c8;
}
.about__contents-text h3 em{ font-family: 'Oswald', sans-serif; font-weight: normal; letter-spacing: .06rem; color: #06a6c8;}
@media all and (-ms-high-contrast: none) {
.about__contents-text h3 span{
   padding: .3rem .8rem 0 .8rem;
   line-height: 1. ;
}
}
.about__contents-text p{
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: .1rem;
  margin-top: 3rem;
  line-height:2;
}
.page .about__contents-text{
  width: 450px;
  box-sizing: border-box;
  padding-right: 1rem;
}
.page .about__contents-text p{
  font-size: 1.7rem;
  font-weight: normal;
  margin-top: 3rem;
  line-height: 1.9;
}
.page .about__contents-lead{
  font-size: 1.7rem;
  line-height: 1.9;
  margin-top: 3rem;
  background: rgba(255,255,255,.8);
  border:1px solid #DDD; 
  padding: 2rem 3rem;
}
@media only screen and (max-width: 768px){
.about .heading-primary:after{
  width: 30px;
  margin: 0 auto;
  margin-top: 2rem;
}
.about{
  width: 100%;
  padding: 4rem 0;

  min-width: auto;
}
.page .about{
 padding: 4rem 0;
 margin-bottom: 2rem;
}
.about__contents{
  width: 90%;
}
.about__contents-text,body#top .about__contents-text{
  width: 100%;
  padding-right: 0;
}
.about__contents-photo,body#top .about__contents-photo{
  width: 100%;
  padding-top: 2rem;
}
.about__contents-text h3{
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  line-height: 1.6;
  margin-top: 2rem;
}
.about__contents-text p,.page .about__contents-text p{
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: .1rem;
  margin-top: 2rem;
  line-height: 1.7;
}
.page .about__contents-lead{
  font-size: 1.5rem;
  line-height: 1.7;
  margin-top: 2rem;
  padding: 1.5rem ;
}
}
.products{
  padding: 6rem 0;
  width: 1000px;
  margin: 0 auto;
}
.products__contents{
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.products__contents article{
  width: 485px;
  box-shadow:3px 3px 16px 0 rgba(0,0,0,.2);
}
.products__contents article:first-child{
  margin-right: 20px;
}
.products__contents-text{
   padding: 0 3rem 3rem 3rem;
}

.products__contents-text h3{
  font-size: 3rem;
  letter-spacing: .05rem;
  line-height: 1;
  font-weight: bold;
}
.products__contents-text p{
  font-family: 'Oswald', sans-serif;
  font-size: 1.8rem;
  color: #06a6c8;
  letter-spacing: .08rem;
}

.products__contents-link{
  width: 100%;
  margin-top: 2rem;
}
.products__contents-link a{
  background-color: #06a6c8;
  background-image: url(../images/arrow.png),url(../images/bg_link.png);
  background-repeat: no-repeat,no-repeat;
  background-position:  96% center, left top;
  background-size: 6px,100%;
  border-radius: 30px;
  
  display: block;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .05rem;
  text-align: center;
  padding: 1.4rem 0;
}
@media all and (-ms-high-contrast: none) {
  .products__contents-link a{

  padding: 1.8rem 0 1.4rem 0;
}
  }
.products__link{
  width: 1000px;
  margin: 2rem auto 0 auto;
}
.products__link p{
  font-size: 2rem;
  text-align: left;
  font-weight: bold;
}
.products__link ul{
  width: 1000px;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
  padding-bottom: 6rem;
}
.products__link li{
  width: 23%;
  box-shadow:3px 3px 16px 0 rgba(0,0,0,.1);
}
.products__link li:nth-child(2){
  margin: 0 2%;
}
.products__link li:nth-child(3){
   margin: 0 2% 0 0;
}
.products__link li a{
  display: block;
}
.products__link li a figure{
  padding: 2rem 3rem;
}
.products__link li a p{
  font-weight: normal;
  font-size: 2rem;
  padding: 0 2rem 2rem 2rem;
  font-family: 'Oswald', sans-serif;
  line-height: 1.4;
}
.products__link li a p span{
  font-size: 1.5rem;
  font-weight: normal;
  color: #06a6c8;
  display: block;
}
.mt-40{
  margin-top: 4rem;
}
@media only screen and (max-width: 768px){
.products{
  width: 94%;
  margin: 0 auto;
  padding: 4rem 0;
}
.products__contents{
   display: block;
}
.products__contents article:first-child{
   margin: 0 auto 2rem auto;
}
.products__contents article{
  width: 94%;
  margin: 0 auto;
  box-shadow:3px 3px 16px 0 rgba(0,0,0,.2);
}
.products__contents-text{
   padding: 0 2rem 3rem 2rem;
}
.products__contents-text dl{
  height: auto;
}
.products__contents-text h3{
  font-size: 2rem;
  padding: .5rem 0 .3rem 0;
  letter-spacing: .1rem;
}
.products__contents-text dt p{
  font-size: 1.5rem;
}
.products__contents-text dd{
  font-size: 1.5rem;
  line-height: 1.7;
  margin-top: 1rem;
  padding-bottom: 2rem;
}
.products__contents-link{
  width: 100%;
}
.products__contents-link a{
  font-size: 1.4rem;
  padding: 1.2rem 0;
  background-position: 94% center;
}
.products__link{
  width: 94%;
  margin: 1rem auto 0 auto;
}
.products__link p{
  font-size: 1.6rem; 
}
.products__link ul{
  width: 100%;
  margin-top: 1rem;
  padding-bottom: 3rem;
}
.products__link li{
  width: 49%;
  margin-bottom: 1rem;
  box-shadow:2px 2px 10px 0 rgba(0,0,0,.1);
}
.products__link li:nth-child(2){
  margin: 0 0 1rem 2%;
}
.products__link li:nth-child(3){
  margin: 0 2% 1rem 0;
}
.products__link li a p{
  font-weight: normal;
  font-size: 1.5rem;
  padding: 1rem;
  font-family: 'Oswald', sans-serif;
}
.products__link li a p span{
  display: block;
  line-height: 1.2;
  padding-bottom: .3rem;
}
.products__link li a figure{
  padding: 2rem 1rem 0 1rem;
}
}
.feature{
   padding: 6rem 0;
  width: 100%;
  background: url(../images/bg_link.png) repeat-y center top;
  background-size: 100%;
}
.feature__heading{
  width: 1000px;
  margin: 0 auto;
  color: #FFF;
}
.item{
  width: 1000px;
  margin: 3.5rem auto 0 auto;
  background: #FFF;
  box-shadow:3px 3px 16px 0 rgba(0,0,0,.1);
  box-sizing: border-box;
  padding: 4.5rem;
}
.item__heading{
  padding-bottom: 3rem;
}
.item__heading h3{
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}
.item__heading:after{
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  margin-top: 1.5rem;
  border-bottom: 2px solid #06a6c8;
}
.item__contents h4{
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .05rem;
  padding-bottom: 1.5rem;
}
.item__contents dl{
  display: flex;
  margin-top: 2.5rem;
  font-size: 1.7rem;
  letter-spacing: .05rem;
  line-height: 1.9;
}
.item__contents dl.feature02{
  margin-top: 0;
}
.item__contents p{
  padding-bottom: 2rem;
}
.item__contents dd p span{
  font-weight: bold;
}
.item__contents dl.feature01 dt{
 width: 450px;
}
.item__contents dl.feature01 dd{
 width: 460px;
 box-sizing: border-box;
 padding-right: 3rem;
}
.item__contents dl.feature02 dt{
 width: 530px;
}
.item__contents dl.feature02 dd{
 width: 380px;
 box-sizing: border-box;
 padding-right: 3rem;
}

.item__contents dt{
  order: 2;
}
.item__contents dd{
  order: 1;
}
@media only screen and (max-width: 768px){
.feature{
  width: 100%;
  background-size: 100%;
  padding: 4rem 0;
}
.feature__heading{
  width: 94%;
}
.item{
  width: 94%;
  margin: 2rem auto 0 auto;
  background: #FFF;
  box-shadow:3px 3px 16px 0 rgba(0,0,0,.1);
  box-sizing: border-box;
  padding: 2.5rem 2rem;
}
.item__heading{
  padding-bottom: 0;
}
.item__heading h3{
  font-size: 1.8rem;
  line-height: 1.2;
}
.item__heading:after{
  width: 20px;
}
.item__contents h4{
  font-size: 1.5rem;
  line-height: 1.7;
  padding-bottom: 2rem;
    margin-top: 1.5rem;
}
.item__contents dl{
  display: block;
  margin-top: 2rem;
  font-size: 1.5rem;
  letter-spacing: .05rem;
  line-height: 1.7;
}
.item__contents p{
  padding-bottom: 0rem;
  padding-top: 2rem;
}
.item__contents dd p span{
  font-weight: bold;
}
.item__contents dl.feature01 dt{
 width: 100%;
}
.item__contents dl.feature01 dd{
 width: 100%;
 box-sizing: border-box;
 padding-right: 0;
}
.item__contents dl.feature02{
  margin-top: 0;
}
.item__contents dl.feature02 dt{
 width: 100%;
}
.item__contents dl.feature02 dd{
 width: 100%;
 box-sizing: border-box;
 padding-right: 0;
}
}
.footer{
  background: #111;
  text-align: center;
  padding: 5rem 0 ;
}
.footer ul{
  width: 700px;
  margin: 0 auto;
   display: flex;
  flex-wrap: wrap;
}
.footer ul li{
  width: 20%;
  font-size: 1.7rem;
}
.footer ul li a{
  color: #FFF;
  letter-spacing: .05rem;
}
.footer-copy{
  font-family: 'Oswald', sans-serif;
  font-size: 1.3rem;
  color: #666;
  letter-spacing: .05rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 768px){
.footer{
  background: #111;
  text-align: center;
  padding: 2rem;
}
.footer ul{
  width: 100%;
  margin: 0 auto;
  display: block;
}
.footer ul li{
  width: 100%;
  font-size: 1.5rem;
  text-align: left;
  border-bottom: 1px solid #333;
}
.footer ul li a{
  display: block;
  color: #FFF;
  padding: 1rem 0 1rem 1.5rem;
  letter-spacing: .05rem;
  background: url(../images/arrow.png) no-repeat 95% center;
  background-size: 6px;
}
.footer-copy{
  font-family: 'Oswald', sans-serif;
  font-size: 1.2rem;
  color: #666;
  letter-spacing: .05rem;
  margin-top: 2rem;
}
.footer .header__tel{
  width: 100%;
  display: block;
  margin: 3rem auto;
  text-align: center;
  padding: 0;
  background: #FFF;
}
.footer .header__tel a{
  display: block;
  background: #FFF url(../images/arrow_blue.png) no-repeat 96% center;
  background-size: 6px;
   padding: 2rem 0 ;
}
.footer .header__tel-no{
  font-size: 1.4rem;
  line-height: 1;
  font-weight: normal;
}
.footer .header__tel-no span{
  font-size: 3rem;
  display: block;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .1rem;
  font-weight: normal;
}
.footer .header__tel-no span:before{
  content: "";
  display: inline-block;
  width: 26px;
  margin: 0 1rem;
  height: 34px;
  background: url(../images/tel.png) no-repeat center 14px;
  background-size: 26px;
}
.footer .header__tel-date{
  font-size: 1.3rem;
  margin-top: .5rem;
}
}
.page .heading-primarypage{
  background: #474de8 url(../images/bg_header.jpg) repeat-y center -40px;
  background-size: 100%;
  text-align: center;
  padding: 6rem 0;
}
.page .heading-primarypage h2 span{
  font-family: 'Oswald', sans-serif;
  padding-right: 0;
  letter-spacing: .2rem;
  line-height: 1;
  color: #FFF;
  display: block;
  margin-bottom: 2rem;
  font-size: 4rem;
}
.page .heading-primarypage h2{
  font-size: 2.5rem;
  line-height: 1;
  color: #FFF;
}
.list-item{
  width: 1000px;
  margin: 3rem auto 0 auto;
  padding-bottom: 6rem;
  border-top: 1px solid #ddd;
}
.list-item li{
  border-bottom: 1px solid #ddd;
   font-size: 1.6rem;
}
.list-item dl{
  display: flex;
   flex-wrap: wrap;
   padding: 2rem 0;
}
.list-item dt{
  font-weight: bold;
  width: 180px;
  color: #06a6c8;
  padding-left: 1rem;
}
.list-item dd{
  letter-spacing: .05rem;
  line-height: 1.9;
  width: 820px;
}
.list-item dd span{
  font-weight: bold;
  display: inline-block;
  margin-top: 1rem;
}
.list-item dd span:first-child{
  margin-top: 0;
}
.list-item dd p{
  background: url(../images/list.png) no-repeat left 15px;
  background-size: 4px;
  padding-left: 2rem;
  margin-bottom: .2rem;
}
.map{
  margin-top: 1rem;
}
.map iframe{
  width: 700px;
  height: 400px;
}
@media only screen and (max-width: 768px){
.page .heading-primarypage{
  padding: 3rem 0;
  margin-top: 6rem;
  background-size: 100%;
  background-position: center; top;
}
.page .heading-primarypage h2{
  font-size: 1.8rem;
}
.page .heading-primarypage h2 span{
  margin-bottom: 1rem;
  font-size: 2.4rem;
}
.list-item{
  width: 94%;
  margin: 0 auto;
  padding-bottom: 4rem;
}
.list-item li{
   font-size: 1.4rem;
}
.list-item dl{
  display: block;
  padding: 1.6rem 1rem;
}
.list-item dt{
  width: 100%;
padding: 0;
}
.list-item dd{
  width: 100%;
  padding-top: .5rem;
  letter-spacing: .05rem;
  line-height: 1.6;
}
.list-item dd p{
  background: url(../images/list.png) no-repeat left 8px;
  background-size: 3px;
  padding-left: 1.2rem;
  margin-bottom: .2rem;
}
.map{
  margin-top: 1rem;
}
.map iframe{
  width: 100%;
  height: 300px;
}
}
.contact{
  background: #FFF;
}
.contact__tel{
  width: 900px;
  margin: 2rem auto;
  text-align: center;
  padding: 3rem 0;
  box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);
}
.contact__tel h4{
  font-size: 2.4rem;
  font-weight: bold;
}
.contact__tel p{
  font-size: 1.6rem;
  margin-top: 1rem;
}
.contact__tel dt{
  font-size: 4rem;
  letter-spacing: .05rem;
  line-height: 1;
  font-family: 'Oswald', sans-serif;
}
.contact__tel dt:before{
  content: "";
  width: 40px;
  height: 25px;
  margin:1rem 1.4rem 0 0 ;
  display: inline-block;
  background: url(../images/tel.png) no-repeat left center;
  background-size: 40px;
}
.contact__tel dd{
  margin-top: .7rem;
  font-size: 1.5rem;
  letter-spacing: .1rem;
}
.contact__form{
  position: relative;
  overflow: hidden;
  width: 900px;
  margin: 0 auto 5rem auto;
}
.contact__form h4{
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 3rem 0 2rem 0;
}
.contact__form h4 span{
  display: inline-block;
  padding-left: 2rem;
  font-weight: normal;
  font-size: 1.4rem;
}
.text,.text-s,textarea,.dropdown {
  border:1px solid #ddd;
  padding: 4px;
  color: #333;
  background: #FFF;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  border-radius: 4px;
}
.contact__form dl{ 
  overflow:hidden; 
  border-bottom: 1px solid #ddd;
   border-left: 1px solid #ddd;
   border-right: 1px solid #ddd;
}
form#mailformpro dl.name{border-top: 1px solid #ddd!important;}
.contact__form dt{ 
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
  font-weight: bold;
  display: table-cell;
  width: 250px;
  vertical-align: top;
  padding:2rem 3rem 2rem 3rem;
  background: #f4f4f4;
}
.contact__form dt span{
  display: inline-block;
  padding: 4px 10px;
  background: #d9093f;
  color: #FFF;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: .2rem;
  margin-left: 2rem;
  font-weight: normal;
}
@media all and (-ms-high-contrast: none) {
.contact__form dt span{
    padding: 6px 10px 2px 10px;
}
}
.contact__form dd{ 
  width:650px; 
  display: table-cell; 
  vertical-align: middle; 
  text-align: left; 
  background: #FFF; 
  padding:2rem 3rem;
}
.contact__form .link-submit{
  width: 280px;
  margin: 30px auto 0 auto;
}
.contact__form .link-submit button{
  font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic',
  'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro',
  'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
  display: block;
  font-weight: bold;
  box-sizing: border-box;
  width: 320px;
  color: #FFF;
  background: #06a6c8 url(../images/arrow.png) no-repeat 94% center;
  background-size: 7px;
  padding: 1.5rem 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  border: 2px solid #06a6c8;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  border-radius: 30px;
}
.contact__form .link-submit input:hover{
  opacity: 0.6;
}
@media all and (-ms-high-contrast: none) {
.contact__form .link-submit button{
    padding: 1.8rem 0 1.3rem 0;
}
}
@media screen and (max-width:768px){
.contact__tel{
  width: auto;
  margin: 0 2rem 1rem 2rem;
  text-align: center;
  padding: 2.5rem;
}
.contact__tel h4{
  font-size: 1.6rem;
  line-height: 1.5;
}
.contact__tel p{
  font-size: 1.5rem;
}
.contact__tel dt{
  font-size: 3.6rem;
  line-height: 1;
}
.contact__tel dt:before{
  content: "";
  width: 30px;
  height: 20px;
  margin:1rem 1rem 0 0 ;
  display: inline-block;
  background: url(../images/tel.png) no-repeat left center;
  background-size: 30px;
  letter-spacing: .2rem;
}
.contact__tel dd{
  margin-top: .8rem;
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.5;
}
.contact__form{
  width: auto;
  margin: 0 1rem 5rem 1rem;

}
.contact__form h4{
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 3rem 0 1.5rem 0;
  text-align: center;
}
.contact__form h4 span{
  display: block;
  padding-left: 0;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 1rem;
}
.text,.text-s,textarea,.dropdown {
  border:1px solid #ddd;
  padding: 4px;
  color: #333;
  background: #FFF;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  border-radius: 4px;
}
.contact__form dl{ 
  overflow:hidden; 
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.contact__form dl:first-child{border-top: 1px solid #ddd;}
.contact__form dt{ 
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
  font-weight: bold;
  display: block;
  width: 100%;
  vertical-align: top;
  padding:1rem;
}
.contact__form dt span{
  display: inline-block;
  padding: 4px 10px;
  background: #d9093f;
  color: #FFF;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: .2rem;
  margin-left: 2rem;
  font-weight: normal;
}
.contact__form dd{ 
  width:100%; 
  display: block; 
  vertical-align: middle; 
  text-align: left; 
  padding:1rem;
}
.contact__form dd textarea{
  width: 80%;
}
.contact__form .link-submit{
  width: 90%;
  margin: 3rem auto 0 auto;
}
.contact__form .link-submit button{
  width: 100%;
}
  }
.thanks{
  width: 900px;
  margin: 2rem auto 5rem auto;
  text-align: center;
  padding: 4rem 0;
  box-shadow:2px 2px 8px 0 rgba(0,0,0,.2);
}
.thanks h4{
  font-size: 3rem;
  font-weight: bold;
}
.thanks p{
  font-size: 1.8rem;
  line-height: 1.7;
  margin-top: 3rem;
}
.thanks p span{
  font-size:1.5rem;
  display:inline-block;
  line-height: 1.8;
  padding-top:3rem;
}
.thanks p.link{
  width: 280px;
  margin: 4rem auto 0 auto;
}
.thanks p.link a{
  display: block;
  width: 320px;
  color: #FFF;
  font-weight: bold;
  background: #06a6c8 url(../images/arrow.png) no-repeat 94% center;
  background-size: 7px;
  padding: 1.5rem 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  border: 2px solid #06a6c8;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  border-radius: 30px;
}
.thanks-copy{
  text-align:center;
  color:#FFF;
  font-size:1.3rem;
}
@media screen and (max-width:768px){
.thanks{
   width: auto;
  margin: 0 2rem 3rem 2rem;
  text-align: center;
  padding: 3rem 2rem;
}
.thanks h4{
  font-size: 2rem;
  line-height: 1.3;
}
.thanks p{
  font-size: 1.6rem;
  line-height: 1.7;
  margin-top: 2rem;
  text-align: left
}
.thanks p span{
  font-size:1.3rem;
  display:inline-block;
  line-height: 1.8;
  padding-top:2rem;
}
.thanks p.link{
  width: 100%;
  margin: 3rem auto 0 auto;
}
.thanks p.link a{
  width: 100%;
}
.thanks-copy{
  font-size:1.2rem;
}
}
