@charset "UTF-8";
/* ----------------------------------------------------
text
---------------------------------------------------- */
.bold{font-weight:bold !important;}
.font10{font-size:10px !important;}
.font11{font-size:11px !important;}
.font12{font-size:12px !important;}
.font13{font-size:13px !important;}
.font14{font-size:14px !important;}
.font15{font-size:15px !important;}
.font16{font-size:16px !important;}
.font17{font-size:17px !important;}
.font18{font-size:18px !important;}
.font19{font-size:19px !important;}
.font20{font-size:20px !important;}
.font21{font-size:21px !important;}
.font22{font-size:22px !important;}
.font23{font-size:23px !important;}
.font24{font-size:24px !important;}
.ac {text-align: center !important;}
.ar {text-align: right !important;}
.al {text-align: left !important;}
/* ----------------------------------------------------
float
---------------------------------------------------- */
.fr {float: right !important;}
.fl {float: left !important;}
.clear {clear: both;}
.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
.clearfix {
min-height: 1px;
}
* html .clearfix {
height: 1px;
/*¥*//*/
height: auto;
overflow: hidden;
/**/
}
/* ----------------------------------------------------
clearfix の代用
&#60;div class="hr"&#62;&#60;hr /&#62;&#60;/div&#62;
---------------------------------------------------- */
div.hr { clear:both; }
div.hr hr { display:none; }
/* ----------------------------------------------------
margin
---------------------------------------------------- */
.mt00 { margin-top:  0px !important; }
.mt05 { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mr00 { margin-right:  0px !important; }
.mr05 { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mb00 { margin-bottom:  0px !important; }
.mb05 { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb100 { margin-bottom: 100px !important; }
.ml00 { margin-left:  0px !important; }
.ml05 { margin-left:  5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
/* ----------------------------------------------------
padding
---------------------------------------------------- */
.pt00 { padding-top:  0px !important; }
.pt05 { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }
.pt60 { padding-top: 60px !important; }
.pr00 { padding-right:  0px !important; }
.pr05 { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pb00 { padding-bottom:  0px !important; }
.pb05 { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pl00 { padding-left:  0px !important; }
.pl05 { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.ls{
    letter-spacing: 0.3rem;
}
/*-------------------------------------------------------------------
form
-------------------------------------------------------------------*/
a{
  text-decoration: none;
}
a:focus {
  outline: 0;
  border-color: orange;
}
body{
  line-height: 1.6;
}
img{
  width: 100%;
  height: 100%;
}

/*.gblnv_list{
  display: flex;
}*/
.gblnv_list li{
  margin: 0 20px 0 0;
}
.form_small {
width:50px;
height:14px;
font-size:12px;
}
.form_middle {
width:120px;
height:14px;
font-size:12px;
}
.form_long {
width:260px;
height:14px;
font-size:12px;
}
.form-width {
   min-width: 100%;
  }
/* 全角日本語を指定 */
.ime_active{ime-mode: active;}
/* 半角英数を指定 */
.ime_inactive{ime-mode: inactive;}
/* 半角英数に固定 */
.ime_disabled{ime-mode: disabled;}
.sp{
  display: none;
}
.pc{
  display: block;
}
/* logo */
.logo a img{
  width: 100px;
}
.logo a h1{
  letter-spacing: 0.5em;
  font-size: 50%;
  color: rgba(0, 0, 0, 0.54);
  font-weight: 100;
}

/* more */
.more{
  position: relative;
  margin-left: auto;
  width: 180px;
}
/* 枠ありのとき */
.more.boder{
  border: 1px solid rgba(0,0,0,87%);
}
.more a{
  width: 180px;
  height: 35px;
  padding-left: 24px;
  text-align: left;
  font-size: 11px;
  font-weight: 200;
  line-height: 35px;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
  transition: .3s;
}
.more a::after{
  position: absolute;
  content: url(../img/more.svg);
  top: -3px;
  right: 16px;
}
.more::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  background: linear-gradient(135deg, #C9D6FF,#FBC7D4);
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.more:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


/* 背景にロゴ */
.back_logo{
  background: url(../img/logo.svg) no-repeat;
  background-size: contain;
  width: 100px;
  height: 43px;
}

/* グラデボタン */
.btn a{
  display: block;
  width: 300px;
  height: 60px;
  line-height: 60px;
  position:relative;
  border-radius: 30px;
	transition:1s;
  background: linear-gradient(135deg, #C9D6FF,#FBC7D4 ,#FBC7D4 ,#C9D6FF);
  background-size:300px 500px;
  font-size: 87.5%;
  font-weight: 600;
}
.btn a:hover{
  background-position:0 100%;
}
/* お問い合わせ */
.contents .inner{
  width: 100%;
  margin: 0 auto;
}
  /*見出し欄*/
th{
    text-align:left;
    font-size:12px;
    color:#444;
    padding: 5px;
    width:35%;
    background:#eee;
    border:solid 1px #d7d7d7;
   }
   /*通常欄*/
td{
    font-size:13px;
    border:solid 1px #d7d7d7;	
   }
   /*横の行とテーブル全体*/
tr,table{
    margin-bottom: 60px;
   }
   /*必須の調整*/
   .haveto{
    font-size:7px;
    margin-right: 10px;
    padding:3px 5px;
    background:#ff9393;
    color:#fff;
    border-radius:2px;
    position:relative;
    bottom:1px;
   }
   /*任意の調整*/
   .any{
    font-size:7px;
    margin-right: 10px;
    padding:3px 5px;
    background:#93c9ff;
    color:#fff;
    border-radius:2px;
    position:relative;
    bottom:1px;
   }
   /*ラジオボタンを縦並び指定*/
   .verticallist .wpcf7-list-item{
    display:block;
   }
   input,textarea{
    margin: 5px; 
    padding: 2px 5px;
    font-size: 15px;
    line-height: 1.5;
    border: solid 1px #d7d7d7;
  }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea{
    box-sizing:border-box;
    -moz-box-sizing:border-box; /* Firefox */
    -webkit-box-sizing:border-box; /* Chrome, Safari */
    margin: 5px; 
    padding: 2px 5px;
    font-size: 15px;
    line-height: 1.5;
    border: solid 1px #d7d7d7;
    border-radius: 5px;
  }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  textarea:focus {
    border: 3px solid #C9D6FF;
    outline: 0;
  }
  input[type="submit"]:focus{
    outline:none;
  }
  textarea{
    margin: 5px 8px;
  }
  input::placeholder,textarea::placeholder {
    color: rgb(0,0,0,0.3);
  }
  /* IE */
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: rgb(0,0,0,0.3);
  }
  /* Edge */
  input::-ms-input-placeholder,
  textarea::-ms-input-placeholder {
    color: rgb(0,0,0,0.3);
  }
   /*送信ボタンのデザイン変更*/
   #formbtn{
    display: block;
    width: 300px;
    height: 60px;
    margin: 15px auto;
    line-height: 60px;
    position:relative;
    border: none;
    border-radius: 30px;
    transition:1s;
    background: linear-gradient(135deg, #C9D6FF,#FBC7D4 ,#FBC7D4 ,#C9D6FF);
    background-size:300px 500px;
    font-weight: 200;
    letter-spacing: 0.3em;
   }
   /*送信ボタンマウスホバー時*/
   #formbtn:hover{
    background-position:0 100%;
   }
   /*サンクスメッセージ*/
   div.wpcf7-mail-sent-ok{
     border: none;

   }


   /* flexbox */
   .flexbox {
     display: flex;
   }
   /* flexbox　縦 */
   .colum {
    flex-direction: column;
   }
   /* flexbox　横 */
   .wrap {
    flex-wrap: wrap;
   }
    /* 均等割 */
  .between {
    justify-content: space-between;
  }


/* 画像hover */
 a img{
  transition: 1.0s;
}
a img:hover{
  opacity: 0.5 ;
}

@media screen and (max-width: 769px) {
    .sp{
      display: block;
    }
    .pc{
      display: none;
    }
    .more{
      margin-right: 12px;
      z-index: 0;
    }
  }


/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:640px){
  .inquiry th,.inquiry td {
   display:block!important;
   padding: 5px;
   width:100%!important;
   border-top:none!important;
   -webkit-box-sizing:border-box!important;
   -moz-box-sizing:border-box!important;
   box-sizing:border-box!important;
  }
  .inquiry tr:first-child th{
   border-top:1px solid #d7d7d7!important;
  }
  /* 必須・任意のサイズ調整 */	
  .inquiry .haveto,.inquiry .any {	
  font-size:10px;
  }
  input[type="text"], input[type="email"], input[type="tel"], textarea{
    margin: 0;
    padding: 5px;
}
  @media(max-width:320px){
    .inquiry th,.inquiry td {
    width:290px!important;
    }
    input[type="text"], input[type="email"], input[type="tel"], textarea{
    width: 270px;
    }
    #formbtn{
      width: 290px;
    }
}
