@charset "utf-8";


/*-------------------------------------------------------------------------------------
変数
----------------------------------------------------------------------------------------*/
:root {
    --main-color: #002345;
    --sub-color: #0057AB;
    --white-color: #fff;
    --gray-color: #ccc;
    --red-color: #CC6702;

    --sky-blue:#EBF4F9;

    --bg-light-gray:#F0F2F4;
    --bg-gray:#f7f7f7;

    --navy-gradient: linear-gradient(90deg, rgba(0, 114, 171, 1) 0%, rgba(0, 35, 69, 1) 100%);
    --orange-gradient:  linear-gradient(90deg,rgba(247, 124, 67, 1) 0%, rgba(204, 103, 2, 1) 100%);
}

html {
  line-height: 1;
  text-size-adjust: 100%;
  font-size: 62.5%;
  color: var(--main-color);
}

body{
  font-family: "Noto Sans JP", sans-serif!important;
  line-height: 1.8;
  font-size: 1.8rem;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  font-weight: 500!important;
}

@media screen and (max-width: 750px) {
  body{
      line-height: 1.5;
      font-size: 1.6rem;
  }
}

/* 見出し */
h1{
  line-height: 1;
}
h2,h3,h4,h5,h6{
  line-height: 1.45;
  font-weight: 700;
}

/* table */
table th,
table td{
  line-height: 1.5;
}
table th{
  vertical-align: middle;
}

/* li */
li{
  line-height: 1.5;
}

/* dl */
dt,dd{
  line-height: 1.5;
}

/* 段落 */
p{
  text-align: justify;
  word-break: break-all;
}

/* anchor link */
a{
  color: var(--main-color);
}
/* ホバー */
a img:hover{
  opacity: 0.9;
  transition: all 0.3s;
}

/* 横並び */
.flex{
    display: flex;
    flex-wrap: wrap;
}

/* js用 */
.js_fixFade {
    display: none;
}

/* PC／SP表示切替 */
.sp{
  display: none!important;
}
.pc{
display: block!important;
}
@media screen and (max-width: 751px) {
  .sp{
    display: block!important;
  }
  .pc{
    display: none!important;
  }
}

/* PC表示で電話番号リンクを無効 */
@media screen and (min-width: 751px){
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}



/* bg */
.bg_lightBlue{
  background: var(--bg-light-gray);
}
/* グラデーション */
.navyGradient{
  background: var(--navy-gradient);
}
.orangeGradient{
  background: var(--orange-gradient);
}
/* ドロップシャドウ */
.boxShadow{
  box-shadow: 0px 4px 75px rgba(0, 0, 0, 0.1);
}


/*-------------------------------------------------------------------------------------
フォーム用CSS__各パーツ
----------------------------------------------------------------------------------------*/
input,
button,
select,
textarea {
  border: none;
  padding: 8px 12px;
  background: #F5F6F8;
}
input:focus,
button:focus,
select:focus,
textarea:focus{
  background: var(--bg-light-gray);
}

input,
textarea{
  width: 100%;
}
textarea {
  min-height: 240px;
}
input::placeholder,
textarea::placeholder
{
  opacity: 1;
  color: #bcbcbc;
}

/*-------------------------------------------------------------------------------------
カスタム（ラジオボタン/チェックボックス/セレクトボタン/送信ボタン）
----------------------------------------------------------------------------------------*/
input[type="radio"],
input[type="checkbox"] {
    opacity: 0;
    padding: 0;
}
select::-ms-expand {
  display: none;
}

/*
カスタムラジオボタン(labelタグで囲う必要あり)
--------------------------------------------------------*/
.radioBtn_wrap label{
  display: inline-block;
}
.radioBtn_wrap span + span{
  margin-left: 0.4rem;
}
input[type="radio"]{
  display: none;
}
input[type="radio"] + span{
  display: block;
  width: 150px;
  padding: 0.6rem 1.2rem;
  text-align: center;
  border: 2px solid var(--main-color);
  font-size: 1.6rem;
  font-weight: 700;
}
input[type="radio"]:checked + span{
  background: var(--navy-gradient);
  color: #fff;
}
@media screen and (max-width: 750px) {
  input[type="radio"] + span{
    display: block;
    width: 120px;
    padding: 0.6rem 1.2rem;
  }
}

/*
カスタムチェックボックス(labelタグで囲う必要あり)
--------------------------------------------------------*/
input[type="checkbox"] + span{
  position: relative;
  padding-left: 2rem;
  margin-right: 0.8rem;
}
input[type="checkbox"] + span::before{
  position: absolute;
  content: '';
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid var(--main-color);
  vertical-align: -5px;
}
input[type="checkbox"]:checked + span::after {
  position: absolute;
  content: '';
  top: 40%;
  transform: rotate(50deg) translateY(-50%);
  left: 0.1rem;
  width: 6px;
  height: 11px;
  border-right: 2px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
}

/*
カスタムセレクトボタン（selectタグには疑似要素をつけられないため、大枠の.selectにつける）
--------------------------------------------------------*/
.select {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  width: 100%;
}
select {
  width: 100%;
  border: 1px solid var(--gray-color);
  padding-right: 2rem;
  outline: 0;
  background: var(--white-color);
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
} 
.select::before {
  position: absolute;
  content: "";
  border-color: #777 transparent transparent transparent;
  top: 50%;
  transform: translateY(-50%);
  right: 9px;
  width: 0;
  height: 0;
  border-width: 5px 4px 0 4px;
  border-style: solid;
  pointer-events: none;
}







/*-------------------------------------------------------------------------------------
フォームコンテンツ
----------------------------------------------------------------------------------------*/

/*
.secTtl
--------------------------------------------------------*/
.secTtl{
  margin-bottom: 4.8rem;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.6;
  font-size: 4rem;
}
.secTtl span{
  display: block;
  text-align: center;
  font-weight: 700;
}
.secTtl .en{
  margin-bottom: -10rem;
  line-height: 1;
  font-size: 20rem;
  font-family: "Open Sans", sans-serif;
  color: var(--sky-blue);
   font-weight: 400;
}
.secTtl .jp{
  font-size: 4.8rem;
}
.secTtl .small{
  font-size: 80%;
}

.bg_lightBlue .secTtl .en{
  color: var(--white-color);
}

.section_lead{
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .secTtl{
    margin-bottom: 2.4rem;
    font-size: 3.2rem;
  }
  .secTtl .en{
    margin-bottom: -5rem;
    font-size: 10rem;
  }
  .secTtl .jp{
    line-height: 1.4;
    font-size: 2.8rem;
  }
  .secTtl .small{
    font-size: 72%;
  }
  .section_lead{
    margin-bottom: 2.4rem;
  }
  
}
/*
.form
--------------------------------------------------------*/
.form{
  padding: 8rem 4rem;
}
.form_contents {
  width:min(100%,800px);
	margin:0 auto;
  padding: 8rem 2.4rem;
  background: var(--white-color);
  font-size: 1.6rem;
}
.form_contents form{
  width: min(100%,560px);
  margin: 0 auto;
}
.form_contents dt{
  margin-bottom: 0.8rem;
  font-size: 1.8rem;
  font-weight: 700;
}
.form_contents dt .small{
  display: inline-block;
  margin-left: 1rem;
  font-size: 70%;
}
.form_contents dd{
  margin-bottom: 1.6rem;
}
/* 必須 */
.required{
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 4px;
  padding: 4px 4px;
  background: #FF6923;
  line-height: 1;
  font-size: 12px;
  color: #fff;
}
/* 任意 */
span.any{
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 4px;
  padding: 4px 4px;
  background: #bbb;
  line-height: 1;
  font-size: 12px;
  color: #fff;
  border-radius: 0;
}
.form .btnWrap{
  margin: 2.4rem auto;
  text-align: center;
}
.form .submitBtn{
  display: block;
  width: min(80%,240px);
  margin: 0 auto;
  padding: 1.6rem 2.4rem;
  background: var(--orange-gradient);
  color: var(--white-color);
  border-radius: 100px;
  line-height: 1;
  font-size: 1.8rem;
  font-weight: 700;
  transition: all 0.3s;
}
.form .submitBtn:hover{
  opacity: 0.8;
}
.privacy_txt{
  margin-bottom: 4rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.privacy_txt a{
  text-decoration: underline;
  font-weight: 400;
}
.privacy_txt a:hover{
  text-decoration: none;
}
@media screen and (max-width:750px) {
  .form_contents {
    width:100%;
    margin:0 auto;
    padding: 4rem 2rem;
  }
  .form{
    padding: 6.4rem 2rem;
  }
  .form_contents dt{
    font-size: 1.8rem;
  }
}

 
/*
footer
--------------------------------------------------------*/
#copyRight{
  background: #111;
  padding: 1.2rem 2.4rem;
  text-align: center;
  line-height: 1.45;
  font-size: 1.2rem;
  color: var(--white-color);
  font-weight: 400;
}



/*-------------------------------------------------------------------------------------
サンクスページ
----------------------------------------------------------------------------------------*/
.to-top-btn{
  text-decoration: underline;
  color: var(--sub-color);
}
.to-top-btn:hover{
  text-decoration: none;
}
.form_contents > p{
  margin-bottom: 4rem;
  line-height: 1.6;
  text-align: center;
  font-size: 1.8rem;
}

@media screen and (max-width:750px){
  .form_contents > p{
    margin-bottom: 2.4rem;
    text-align: left;
    font-size: 1.6rem;
  }
}







/* 表示崩れ対策 */
.wpcf7-list-item{
  margin: 0!important;
}
.wpcf7-list-item + .wpcf7-list-item{
  margin-left: 0.4rem!important;
}