@charset "UTF-8";
*{
  box-sizing:border-box;
  max-width:100%;
  margin:0;
  padding:0;
}
html {
  font-family:'Noto Sans JP', "Helvetica Neue", Helvetica, Arial, sans-serif,'游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-text-size-adjust: 100%;	
  margin:0;
  padding:0;
}
body {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing:0.02em;
  font-weight: 400;
  hanging-punctuation: allow-end;
  margin: 0;
  padding: 0;
  color: #111;
  word-break: break-all;
  overflow-x:hidden;
}
#wrapper{overflow:hidden;}

a.txt-link{color:#407FD5;}
a.txt-link:hover{text-decoration:underline;}
.sup{font-size:50%;}
br.br768,
br.br1024{display:none;}

@media screen and (max-width:1024px){

body.hidden{
  overflow:hidden;
  height:100%;
}
#wrapper::before{
  visibility: hidden;
  opacity:0;
  position:fixed;
  content:"";
  right:0;
  top:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.8);
  z-index:-1;
  transition:0.1s ease-in-out;
}
#wrapper.add_bk::before{
  visibility:inherit;
  opacity:1;
  z-index:11;
}

br.br1024{display:inline;}

}
@media screen and (max-width:768px){

br.br768{display:inline;}

}

/* フェードイン */
.fadein {
	opacity: 0;
	transition: 1s;
}
.fadein.is-show {opacity: 1;}
.fadein_up {
  opacity: 0;
  transform: translate(0, 60px);
  transition: 1s;
}
.fadein_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


/********** ヘッダー **********/
header{
  position:fixed;
  top:clamp(15px,1.5625vw,30px);
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 30px);
  z-index:20;
}
#header{
  position:relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:1280px;
  height:80px;
  padding:0 15px 0 30px;
  margin:0 auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
a#logo{
  font-family:"Roboto";
  font-size:clamp(28px,3.51vw,36px);
  font-weight:900;
  line-height:1;
  color:#111;
  transition:0.15s ease;
}
a#logo:hover{color:#407FD5;}

/* ヘッダーボタン */
div.btns{
  display:flex;
  align-items:center;
  margin-left:15px;
}
div.btns a{
  display:flex;
  justify-content:center;
  align-items:center;
  width:clamp(150px,14.0625vw,180px);
  height:50px;
  color:#fff;
  font-size:clamp(14px,1.25vw,16px);
  font-weight:600;
  line-height:1;
  border-radius:6px;
  transition:0.15s ease;
}
div.btns a + a{margin-left:15px;}
div.btns a:hover{opacity:0.7;}
div.btns a span.txt{position:relative;}
div.btns a span.txt::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:50%;
  left:0;
  transform:translateY(-50%);
}
div.btns a.tel{
  background:#407FD5;
  pointer-events:none;
}
div.btns a.tel span.txt{padding-left:25px;}
div.btns a.tel span.txt::before{
  width:15.34px;
  height:20px;
  background:url(../img/icon/tel-icon.svg) center/contain no-repeat;
}
div.btns a.mail{background:#D54040;}
div.btns a.mail span.txt{padding-left:30px;}
div.btns a.mail span.txt::before{
  width:20.52px;
  height:15px;
  background:url(../img/icon/mail-icon.svg) center/contain no-repeat;
}

@media screen and (max-width:1024px){

header{
  top:0;
  max-width:100%;
}
#header{
  height:60px;
  padding:0 60px 0 15px;
  border-radius:0;
}
/* ヘッダーボタン */
div.btns{margin-left:0;}
div.btns span.pc{display:none;}
div.btns a{
  width:60px;
  height:60px;
  font-size:10px;
  font-weight:500;
  border-radius:0;
}
div.btns a + a{margin-left:0;}
div.btns a.tel{pointer-events:all;}

div.btns a.tel span.txt,
div.btns a.mail span.txt{padding:30px 0 0;}

div.btns a span.txt::before{
  top:0;
  left:50%;
  transform:translate(-50%,0);
}
div.btns a.mail span.txt::before{top:3.5px;}

}

/********** ナビゲーション **********/
#mobile-head{display:none;}
#navigation{
  display:block;
  margin:0 0 0 auto;
}
#nav ul.menu{
  display:flex;
  justify-content:space-between;
}
#nav ul.menu li + li{padding-left:1em;}
#nav ul.menu li a{
  position:relative;
  color:#111;
  font-size:clamp(14px,1.25vw,16px);
  font-weight:500;
}
#nav ul.menu li a::after{
  opacity:0;
  visibility:hidden;
  position:absolute;
  content:"";
  left:50%;
  transform:translateX(-50%) rotate(135deg);
  bottom:-5px;
  width:6px;
  height:6px;
  border-top:2px solid #111;
  border-right:2px solid #111;
  transition:0.15s ease;
}
#nav ul.menu li a:hover{color:#407FD5;}
#nav ul.menu li a:hover::after{
  opacity:1;
  bottom:-10px;
  visibility:visible;
  border-top-color:#407FD5;
  border-right-color:#407FD5;
}

@media screen and (max-width:1024px){

#mobile-head {
  position: absolute;
  right:0;
  top:0;
  display:inline;
  width: 60px;
  height: 60px;
  transition:0.15s ease;
}
#nav-toggle {
  display: none;
  position: relative;
  top:0;
  right:0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  box-sizing: border-box;
  transition:0.15s ease;
}
#nav-toggle div {
  position: absolute;
  top:18px;
  left:15px;
  width:30px;
  height:30px;
}
#nav-toggle span {
display: block;
position: absolute;
height: 3px;
border-radius: 4px;
width: 100%;
background:#111;
left: 50%;
transform: translateX(-50%);
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {top: 0;}
#nav-toggle span:nth-child(2) {top: 11px;}
#nav-toggle span:nth-child(3) {top: 22px;}
#nav-toggle {display: block;}	

/* ハンバーガー */
.open #nav-toggle span{border-radius:0;}
.open #nav-toggle span:nth-child(1) {
left: 1px;
top: 11px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav-toggle span:nth-child(3) {
left: 1px;
top: 11px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}

#nav {
  visibility:hidden;
  position: fixed;
  top:60px;
  right:0;
  width:0;
  height:calc(100vh - 60px);    
  transition: 0.15s ease-in-out;
  display: block;
  background:#fff;
  opacity:0;
}
.open #nav {
  visibility:inherit;
  width:300px;
  opacity:1;
}
#nav ul.menu {
  position:relative;
  display:block;
  margin:0 0 0 auto;
  width:300px;
  max-width:initial;
  height:100%;
  overflow-y: scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling: touch;
}
#nav ul.menu li{
  position:relative;
  display:block;
}
#nav ul.menu li + li{
  padding-left:0;
  border-top:1px solid #E0E0E0;
}
#nav ul.menu li a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:50px;
  font-weight:500;
  line-height:1;
  padding-left:15px;
}
#nav ul.menu li a::after {
  top: 50%;
  left:auto;
  right: 18px;
  bottom:auto;
  transform:translate(0,-50%) rotate(135deg);
}


}


/****** フッター ******/
footer{
  padding:clamp(30px,4.88vw,50px) 15px 15px;
  border-top:1px solid #e0e0e0;
}
#footer{
  display:flex;
  justify-content:space-between;
  width:1280px;
  margin:0 auto;
}
#footer a.logo{
  font-family:"Roboto";
  color:#111;
  font-size:clamp(28px,3.51vw,36px);
  font-weight:900;
  line-height:1;
  text-decoration:none;
  transition:0.15s ease;
}
#footer a.logo:hover{color:#407FD5;}
#footer a.logo span{
  display:block;
  font-size:16px;
  font-weight:600;
  padding-top:0.5em;
}
#footer p.address{margin-top:clamp(15px,2.929vw,30px);}
#footer  nav.f-nav li + li{margin-top:0.5em;}
#footer  nav.f-nav a{color:#111;}
#footer  nav.f-nav a:hover{text-decoration:underline;}
#copyright{
  font-size:clamp(12px,1.5625vw,16px);
  text-align:center;
  margin-top:clamp(30px,4.88vw,50px);
}

@media screen and (max-width:1024px){

#footer{flex-direction:column;}
#footer div.box + div{margin-top:30px;}

}



/* ファーストビュー　メインビジュアル */
div.firstview{
  padding:clamp(125px,7.291vw,140px) 15px 50px;
  background:url(../img/fv-bk.png) center/cover no-repeat,linear-gradient(135deg, #f2f7ff, #fff2f2);
}
div.firstview div.content{
  display:flex;
  justify-content:space-between;
  width:1280px;
  margin:0 auto;
}

/* 左側 キャッチ */
div.fv-area{width:calc(100% - clamp(300px,29vw,380px));}

div.fv-area div.top{
  display:flex;
  justify-content:space-between;
}
div.fv-area div.top div.txt{
  width:calc(100% - clamp(220px,21.03vw,275.5px));
  padding-top:30px;
}
div.fv-area div.top div.img{width:clamp(220px,21.03vw,275.5px);}
div.fv-area div.top div.img img{max-height:350px;}

/* 期間限定キャンペーン */
div.fv-area div.top span.crown{
  position:relative;
  display:table;
  color:#ADA81F;
  font-size:clamp(20px,2.1875vw,28px);
  font-weight:900;
  text-align:center;
  padding:0 35px;
  margin:0 auto;
}
div.fv-area div.top span.crown::before,
div.fv-area div.top span.crown::after{
  position:absolute;
  display:inline-block;
  content:"";
  bottom:0;
  left:0;
  right:0;
  width:29.72px;
  height:70px;
}
div.fv-area div.top span.crown::before{
  right:auto;
  background:url(../img/icon/leaf_l-icon.svg) center/contain no-repeat;
}
div.fv-area div.top span.crown::after{
  left:auto;
  background:url(../img/icon/leaf_r-icon.svg) center/contain no-repeat;
}
div.fv-area div.top span.crown span.txt{
  position:relative;
  padding-top:30px;
}
div.fv-area div.top span.crown span.txt::before{
  position:absolute;
  display:inline-block;
  content:"";
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:37.92px;
  height:30px;
  background:url(../img/icon/crown-icon.svg) center/contain no-repeat;
}

/* 法人契約〜 */
div.fv-area div.top span.catch{
  position:relative;
  display:block;
  color:#fff;
  font-size:clamp(16px,2.137vw,28px);
  font-weight:900;
  line-height:1.5;
  text-align:center;
  padding:5px 10px;
  margin-top:10px;
}
div.fv-area div.top span.catch::before{
  position:absolute;
  top:0;
  left:0;
  content:"";
  display:inline-block;
  width:105%;
  height:100%;
  background:#111;
  border-radius:4px 0 0 4px;
  z-index:-1;
}

/* 990円 */
div.fv-area div.fee{
  display:flex;
  justify-content:flex-start;
  align-items:flex-end;
  margin:0 auto;
}
div.fv-area div.fee span{
  position:relative;
  display:inline-block;
  line-height:1;
}
div.fv-area div.fee span.label{
  top:-30px;
  color:#fff;
  font-size:clamp(20px,3.053vw,40px);
  font-weight:600;
  background:#D54040;
  line-height:1;
  padding:0.25em 0.5em;
  border-radius:4px;
}
div.fv-area div.fee span.price{
  font-family:"Roboto";
  color:#D54040;
  font-size:clamp(120px,15.267vw,200px);
  font-weight:900;
  letter-spacing:-0.02em;
  padding:0 0.05em;
}
div.fv-area div.fee span.yen{
  top:-30px;
  font-size:clamp(60px,7.633vw,100px);
  font-weight:900;
}
div.fv-area div.fee span.yen span.tax{
  position:absolute;
  top:-30px;
  right:0;
  font-size:clamp(18px,1.832vw,24px);
  line-height:1;
}
div.fv-area div.bottom{margin-top:15px;}
div.fv-area div.bottom p{
  font-size:14px;
  line-height:2;
}

/* 右側フォーム */
div.mv-form.form-wrap{
  width:clamp(280px,25.19vw,330px);
  padding:20px 15px 5px;
}
div.mv-form.form-wrap span.label{
  display:block;
  font-weight:600;
  text-align:center;
}
div.mv-form.form-wrap span.label + *{margin-top:10px;}
div.mv-form.form-wrap p.heading{font-size:14px;}
div.mv-form.form-wrap p.heading + div{margin-top:5px;}
div.mv-form.form-wrap div + p.heading{margin-top:10px;}
div.mv-form.form-wrap span.required{
  top:0;
  font-size:10px;
}
div.mv-form.form-wrap p.txt{
  padding-top:15px;
  font-size:12px;
  line-height:1.5;
}
.wpcf7-form-control-wrap{width:100%;}
div.mv-form.form-wrap textarea,
div.mv-form.form-wrap input[type="text"],
div.mv-form.form-wrap input[type="email"],
div.mv-form.form-wrap input[type="tel"] {
	font-size:14px;
	padding:10px;
}
div.mv-form.form-wrap textarea{height:100px;}
div.mv-form.form-wrap input[type="submit"]{
  width:200px;
  height:40px;
  margin-top:10px;
}

@media screen and (max-width:1024px){

div.firstview{padding-top:90px;}

/* 左側 キャッチ */
div.fv-area{width:100%;}
div.fv-area div.top div.txt{width:calc(100% - 275.5px);}
div.fv-area div.top div.img{width:275.5px;}

/* 法人契約〜 */
div.fv-area div.top span.catch{font-size:clamp(16px,2.734vw,28px);}

/* 990円 */
div.fv-area div.fee{
  justify-content:center;
  margin-top:15px;
}
div.fv-area div.fee span.label{
  top:clamp(-30px,-2.929vw,-15px);
  font-size:clamp(20px,3.906vw,40px);
  padding:0.25em;
}
div.fv-area div.fee span.price{
  font-size:clamp(120px,19.531vw,200px);
  padding:0 0.05em 0 0;
}
div.fv-area div.fee span.yen{
  top:clamp(-40px,-3.906vw,-25px);
  font-size:clamp(60px,9.765vw,100px);
}
div.fv-area div.fee span.yen span.tax{
  top:clamp(-30px,-3.906vw,-20px);
  font-size:clamp(18px,2.343vw,24px);
}

div.mv-form.form-wrap{display:none;}  

}

@media screen and (max-width:768px){

/* ファーストビュー　メインビジュアル */
div.firstview{
  min-height:100vh;
  background:url(../img/fv-sp.png) center/cover no-repeat;
}
/* 左側 キャッチ */
div.fv-area div.top{
  display:flex;
  justify-content:space-between;
  flex-direction:column;
}
div.fv-area div.top div.txt{
  width:100%;
  padding-top:0;
}
div.fv-area div.top div.img{display:none;}

/* 期間限定キャンペーン */
div.fv-area div.top span.crown{font-size:clamp(26px,5.208vw,40px);}

/* 法人契約〜 */
div.fv-area div.top span.catch{
  display:table;
  color:#111;
  font-size:clamp(20px,4.6875vw,36px);
  font-weight:600;
  line-height:1.5;
  padding:5px 30px;
  margin:clamp(15px,5.859vw,45px) auto 0;
}
div.fv-area div.top span.catch::before,
div.fv-area div.top span.catch::after{
  position:absolute;
  top:0;
  left:0;
  right:0;
  content:"";
  display:inline-block;
  width:30px;
  height:100%;
  background:none;
  border-radius:0;
  z-index:-1;
}
div.fv-area div.top span.catch::before{
  right:auto;
  background:url(../img/icon/parentheses_l-i.svg) center/contain no-repeat;
}
div.fv-area div.top span.catch::after{
  left:auto;
  background:url(../img/icon/parentheses_r-i.svg) center/contain no-repeat;
}

/* 990円 */
div.fv-area div.fee span.label{font-size:clamp(20px,5.208vw,40px);}
div.fv-area div.fee span.price{font-size:clamp(120px,26.0416vw,200px);}
div.fv-area div.fee span.yen{font-size:clamp(60px,13.02vw,100px);}
div.fv-area div.fee span.yen span.tax{font-size:clamp(14px,3.125vw,24px);}
div.fv-area div.bottom{display:none;}

}

@media screen and (max-width:480px){

/* ファーストビュー　メインビジュアル */
div.firstview{
  min-height:initial;
  height:667px;
}  

}


/****** 共通部分 ******/
div.area{
  position:relative;
  padding:clamp(50px,9.765vw,100px) 15px;
}
div.area.bk-col01{background:#407FD5;}
div.area.bk-col02{background:#F2F7FF;}

div.area div.content{
  width:1000px;
  margin:0 auto;
}
div.area div.content + div.content{margin-top:clamp(50px,9.765vw,100px);}

div.area span.en{
  display:block;
  font-family:"Roboto";
  color:#407FD5;
  font-size:20px;
  font-weight:900;
  line-height:1;
  text-align:center;
}
div.area span.en.wht{color:#fff;}

div.area h2{
  font-size:clamp(28px,3.515vw,36px);
  font-weight:600;
  line-height:1.5;
  text-align:center;
  padding-top:0.15em;
}
div.area h2 + p{
  line-height:1.5;
  text-align:center;
  padding-top:0.5em;
}
.wht{color:#fff;}
.red{color:#D54040;}
.indent{
  padding-left:1em;
  text-indent:-1em;
}
.min{font-size:80%;}

div.mc{margin:clamp(30px,4.88vw,50px) auto 0;}

@media screen and (max-width:1024px){

div.mc{width:640px;}
  
}



/****** 料金プラン ******/
div.plan-wrap{
  display:flex;
  justify-content:space-between;
}
div.plan-wrap div.transfer{width:33%;}
div.plan-wrap div.new{width:62%;}

div.plan-wrap div.box{
  position:relative;
  display:flex;
  flex-direction:column;
  padding-top:20px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
  overflow:hidden;
}
div.plan-wrap div.box::before{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  content:"";
  display:inline-block;
  background:#407FD5;
  width:90%;
  height:10px;
  border-radius:5px;
}

div.plan-wrap div.box p.heading{
  font-size:clamp(14px,1.5625vw,16px);
  font-weight:600;
  text-align:center;
}
div.plan-wrap div.box p.heading span{
  color:#fff;
  background:#111;
  border-radius:4px;
  padding:0 0.25em;
  margin-left:0.25em;
}
div.plan-wrap div.box h3{
  font-size:clamp(28px,3.515vw,36px);
  font-weight:900;
  line-height:1.3;
  text-align:center;
  padding-top:5px;
}
div.plan-wrap div.fee{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  margin:15px auto 0;
}
div.plan-wrap div.fee span{
  position:relative;
  display:inline-block;
  line-height:1;
}
div.plan-wrap div.fee span.label{
  top:-12px;
  color:#fff;
  font-size:clamp(12px,1.25vw,16px);
  font-weight:600;
  background:#407FD5;
  line-height:1;
  padding:5px 0.25em;
  border-radius:2px;
}
div.plan-wrap div.fee span.price{
  font-family:"Roboto";
  color:#D54040;
  font-size:clamp(60px,6.25vw,80px);
  font-weight:900;
  letter-spacing:-0.02em;
  padding:0 0.1em;
}
div.plan-wrap div.fee span.tax{
  top:-14px;
  font-size:clamp(14px,1.5625vw,20px);
  font-weight:600;

}

div.plan-wrap div.inner{padding:15px 20px;}
div.plan-wrap div.inner.info{
  height:100%;
  padding:20px;
  background: linear-gradient(135deg, #f2f7ff, #fff2f2);
}
div.plan-wrap div.inner.info p.heading{color:#407FD5;}
div.plan-wrap div.inner.info p.txt{
  font-size:12px;
  font-weight:500;
  text-align:center;
}
div.plan-wrap div.inner.info p.txt span.line{border-bottom:1px solid #111;}

div.plan-wrap ul.check{margin-top:10px;}
div.plan-wrap ul.check + p{margin-top:10px;}
div.plan-wrap ul.check li{
  position:relative;
  padding-left:37px;
  font-weight:600;
}
div.plan-wrap ul.check li::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:27.02px;
  height:25px;
  background:url(../img/icon/check-icon.svg) center/contain no-repeat;
}
div.plan-wrap ul.check li + li{margin-top:10px;}

div.plan-wrap div.new div.price-box + div.price-box{
  padding-top:15px;
  border-top:1px solid #e0e0e0;
}
div.plan-wrap div.new ul.check{
  display:flex;
  justify-content:center;
}
div.plan-wrap div.new ul.check li{
  padding-left:26.62px;
  font-size:12px;
}
div.plan-wrap div.new ul.check li::before{
  width:21.62px;
  height:20px;
}
div.plan-wrap div.new ul.check li + li{margin:0 0 0 10px;}

@media screen and (max-width:1024px){

div.plan-wrap{flex-direction:column;}
div.plan-wrap div.transfer,
div.plan-wrap div.new{width:100%;}
div.plan-wrap div.new{margin-top:30px;}

div.plan-wrap div.box{padding-top:0;}
div.plan-wrap div.inner{padding:30px 20px 15px;}

div.plan-wrap div.inner.info{padding:30px 20px;}
div.plan-wrap div.new div.price-box + div.price-box{
  padding-top:15px;
  margin-top:5px;
  border-top:1px solid #e0e0e0;
}
div.plan-wrap ul.check{margin-top:15px;}
div.plan-wrap div.new ul.check{flex-direction:column;}
div.plan-wrap div.new ul.check li{
  padding-left:37px;
  font-size:16px;
}
div.plan-wrap div.new ul.check li::before{
  width:27.02px;
  height:25px;
}
div.plan-wrap div.new ul.check li + li{margin:10px 0 0;}

div.plan-wrap ul.check + p{margin-top:15px;}

}



/****** 人気スマホランキング ******/
div.device div.swiper-wrapper{align-items:flex-end;}
div.device div.box{width:calc((100% - 100px)/3);}
div.device div.box img.rank-i{width:150px;}
div.device div.box div.image-box{
  position:relative;
  margin-top:15px;
}
div.device div.box div.image-box::before{
  position:absolute;
  content:"";
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:inline-block;
  width:300px;
  height:300px;
  border-radius:150px;
  background:#F2F7FF;
  z-index:-1;
}
div.device div.box:nth-child(1) div.image-box img{max-height:400px;}
div.device div.box:nth-child(2) div.image-box img{max-height:500px;}
div.device div.box:nth-child(3) div.image-box img{max-height:400px;}

div.device div.box h3{
  color:#407FD5;
  font-size:clamp(24px,2.734vw,28px);
  font-weight:900;
  padding-top:15px;
}
div.device div.box p{
  font-weight:500;
  text-align:center;
  padding-top:0.5em;
}

@media screen and (max-width:1024px){

div.device div.box div.image-box{
  position:relative;
  margin-top:15px;
}
div.device div.box div.image-box::before{
  width:250px;
  height:250px;
}
div.device div.box:nth-child(1) div.image-box img,
div.device div.box:nth-child(2) div.image-box img,
div.device div.box:nth-child(3) div.image-box img{max-height:300px;}

}



/****** 導入のタイミング ******/
div.case-wrap{
  display:flex;
  justify-content:space-between;
}
div.case-wrap div{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:calc((100% - 100px)/3);
  padding:clamp(30px,4.88vw,50px) 15px 30px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
div.case-wrap div img{
  height:150px;
  margin-top:23.08px;
}
div.case-wrap div:nth-child(1) img{
  height:173.08px;
  margin:0 23.8px 0 0;
}
div.case-wrap div h3{
  color:#407FD5;
  font-size:20px;
  font-weight:600;
  padding-top:30px;
}
div.case-wrap div p{margin-top:0.5em;}

@media screen and (max-width:1024px){

div.case-wrap{flex-direction:column;}
div.case-wrap div{
  width:100%;
  padding:clamp(30px,4.88vw,50px);
}
div.case-wrap div + div{margin-top:clamp(15px,4.88vw,30px);}

}



/****** 選ばれる6つの理由 ******/
div.feature div.box{width:calc((100% - 30px)/3);}
div.feature div.box:nth-child(n + 4){margin-top:50px;}
div.feature div.box img{
  width:200px;
  height:200px;
}
div.feature div.box span.label{
  color:#407FD5;
  font-family:"Roboto";
  font-size:36px;
  line-height:1;
  font-weight:900;
  padding-top:15px;
}
div.feature div.box h3{
  color:#407FD5;
  font-size:20px;
  font-weight:600;
  padding-top:0.25em;
}
div.feature div.box p{
  font-size:14px;
  font-weight:500;
  text-align:center;
  padding-top:0.5em;
}

@media screen and (max-width:1024px){

div.feature div.box{width:100%;}
div.feature div.box:nth-child(n + 4){margin-top:0;}

}


/****** レスポンスエリア ******/
div.apply-box{
  width:640px;
  margin:clamp(15px,2.929vw,30px) auto 0;
}
div.apply-box p{
  color:#fff;
  text-align:center;
}
div.apply-box p + a.btn{margin-top:10px;}
div.apply-box a.btn{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  height:clamp(80px,9.765vw,100px);
  color:#fff;
  font-size:clamp(24px,3.515vw,36px);
  font-weight:600;
  padding-right:30px;
  background:#D54040;
  border-radius:6px;
  transition:0.15s ease;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
div.apply-box a.btn:hover{opacity:0.7;}
div.apply-box a.btn::after{
  position:absolute;
  content:"";
  display:inline-block;
  top:50%;
  right:clamp(15px,4.88vw,30px);
  transform:translateY(-50%);
  width:clamp(30px,3.906vw,40px);
  height:clamp(30px,3.906vw,40px);
  background:url(../img/icon/apply-icon.svg) center/contain no-repeat;
}



/****** ご利用の流れ ******/
div.step-box{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:clamp(30px,4.88vw,50px);
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
div.step-box + div.step-box{margin-top:75px;}
div.step-box + div.step-box::before{
  position:absolute;
  content:"";
  top:-45px;
  left:50%;
  transform:translateX(-50%);
  display:inline-block;
  border:15px solid transparent;
  border-top:15px solid #111;
}
div.step-box div.img{width:180px;}
div.step-box div.txt{width:calc(100% - 230px);}

div.step-box span.label{
  position:absolute;
  top:-15px;
  left:50%;
  transform:translateX(-50%);
  width:120px;
  height:30px;
  display:flex;
  justify-content:center;
  align-items:center;
  font-family:"Roboto";
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1;
  background:#407FD5;
  border-radius:15px;
}
div.step-box h3{
  font-size:clamp(20px,2.343vw,24px);
  font-weight:600;
}
div.step-box h3 + p{padding-top:0.5em;}
div.step-box p + p{padding-top:1em;}

@media screen and (max-width:1024px){

div.step-box{flex-direction:column;}
div.step-box div.txt{
  width:100%;
  margin-top:30px;
}

}



/****** よくあるご質問 ******/
div.qa-box{
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
div.qa-box + div.qa-box{margin-top:15px;}

div.question{
  position:relative;
  padding:30px 50px 30px 75px;
  cursor:pointer;
  transition:0.15s ease;
}
div.question h3{
  font-weight:500;
  line-height:1.5;
}
div.question.active{background:#f7f7f7;}
div.question.active h3{color:#407FD5;}
div.question::before,
div.answer::before{
  position:absolute;
  content:"";
  left:30px;
}
div.question::before{
  top:50%;
  transform:translateY(-50%);
  width:22.38px;
  height:30.62px;
  background:url(../img/icon/q-icon.svg) center/contain no-repeat;
}

div.answer{
  position:relative;
  display:none;
  padding:30px 50px 30px 75px;
  border-top:1px dashed #e0e0e0;
}
div.answer::before{
  top:33px;
  width:24.64px;
  height:25.59px;
  background:url(../img/icon/a-icon.svg) center/contain no-repeat;
}
div.answer p{line-height:2;} 

div.question div.accordion_icon,
div.question div.accordion_icon span {
  display: inline-block;
  transition: .3s ease;
  box-sizing: border-box;
}
div.question div.accordion_icon {
  position: absolute;
  right:15px;
  top: 50%;
  transform:translateY(-50%);
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0
}
div.question div.accordion_icon span {
  position: absolute;
  left: 25%;
  width: 50%;
  height: 3px;
  background: #111;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -ms-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
}
div.question div.accordion_icon span:nth-of-type(1) {
  top: 12.5px;
  transform: rotate(0);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0)
}
div.question div.accordion_icon span:nth-of-type(2) {
  top: 12.5px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg)
}
div.question.active div.accordion_icon span:nth-of-type(1) {display: none;}
div.question.active div.accordion_icon span:nth-of-type(2) {
  top: 12.5px;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg)
}

@media screen and (max-width:1024px){

div.question{padding:20px 50px 20px 55px;}
div.question::before,
div.answer::before{left:20px;}

div.answer{padding:20px 15px 20px 55px;}
div.answer::before{top:25px;}

}



/****** フォーム ******/
div.form-wrap{
  padding:clamp(30px,4.88vw,50px) clamp(15px,4.88vw,50px) 15px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(64,127,213,0.1);
}
div.form-wrap p.heading{font-weight:600;}
div.form-wrap p.heading + div{margin-top:10px;}
div.form-wrap div + p.heading{margin-top:clamp(15px,2.929vw,30px);}
div.form-wrap span.required{
  position:relative;
  top:-1px;
  color:#fff;
  font-size:12px;
  font-weight:500;
  background:#D54040;
  border-radius:2px;
  margin-left:0.5em;
  padding:0 .5em;
}
div.form-wrap span.required.any{background:#407FD5;}
div.form-wrap p.txt{
  padding-top:30px;
  font-size:14px;
  text-align:center;
}

div.form-wrap textarea,
div.form-wrap input[type="text"],
div.form-wrap input[type="email"],
div.form-wrap input[type="tel"] {
	font-size: 16px;
	display: inline-block;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding:15px;
	width: 100%;
	vertical-align: middle;
	border: none;
	color: #111;
	background: #F7F7F7;
	border:1px solid #e0e0e0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 4px;
}
div.form-wrap textarea{height:200px;}

div.form-wrap input[type="submit"]{
  position: relative;
  display: flex;
  justify-content:center;
  align-items:center;
  width:220px;
  max-width:100%;
  height:50px;
  color:#fff;
  font-size:16px;
  font-weight:600;
  line-height:1;
  text-align: center;
  text-decoration: none;
  margin:clamp(15px,2.929vw,30px) auto 0;
  padding:0;
  border-radius: 6px;
  background: #D54040;
  transition: 0.3s ease;
  border:none;
  cursor:pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
div.form-wrap input[type="submit"]:hover{opacity:0.7;}



/****** スライダー ******/
div.slide-wrap{position:relative;}
div.swiper-wrapper{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
div.swiper-slide{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
}
.swiper-android .swiper-slide, .swiper-wrapper {transform: translate3d(0px, 0, 0)}
.swiper-pointer-events {touch-action: pan-y;}
.swiper-pointer-events.swiper-vertical {touch-action: pan-x;}
.swiper-slide {
  flex-shrink: 0;
  position: relative;
  transition-property: transform;
}
.swiper-button-lock {display: none}
.swiper-notification{display:inline;}
.swiper-pagination {
  position: relative;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  margin-top:30px;
}
.swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  display: inline-block;
  border-radius: 50%;
  background: #E0E0E0;
}
.swiper-pagination-bullet + .swiper-pagination-bullet{margin-left:10px;}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}
.swiper-pagination-clickable .swiper-pagination-bullet {cursor: pointer}
.swiper-pagination-bullet:only-child {display: none !important}
.swiper-pagination-bullet-active {
  opacity: 1;
  background:#407FD5;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity:0;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next,
.swiper-button-prev {
  display:none;
  position:absolute;
  bottom:0;
  width:30px;
  height:30px;
  cursor:pointer;
}
.swiper-button-prev {
  left:0;
  background:url(../img/icon/slide_l-icon.svg) center/contain no-repeat;
}
.swiper-button-next {
  right:0;
  background:url(../img/icon/slide_r-icon.svg) center/contain no-repeat;
}

@media screen and (max-width:1024px){

div.slide-wrap{width:330px;}  
div.swiper-wrapper{flex-wrap:nowrap;}
.swiper-button-next,
.swiper-button-prev{display:block;}

}

/* 下層ページ */
div.fv-lower{
  display:flex;
  justify-content:center;
  align-items:center;
  height:clamp(200px,29.29vw,300px);
  padding-top:clamp(60px,7.8125vw,80px);
  background:linear-gradient(135deg, #f2f7ff, #fff2f2);
}

div.fv-lower h1{
  font-size:clamp(29px,3.515vw,36px);
  font-weight:900;
}

#pan{
  padding:10px 0;
  border-bottom:1px solid #e0e0e0;
}
div.breadcrumbs{
  width:1280px;
  margin:0 auto;
}
div.breadcrumbs > span{
  color:#407FD5;
  font-size:14px;
  line-height:1;
  padding:0 0.5em;
}
div.breadcrumbs span a{
  display:block;
  color:#333;
}
div.breadcrumbs a:hover span{text-decoration:underline;}

div.form-thanks{margin-top:clamp(15px,2.292vw,30px);}
div.form-thanks p + p{margin-top:1em;}

a.back-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  width:280px;
  height:50px;
  color:#111;
  border:2px solid #111;
  border-radius:30px;
  margin:30px auto 0;
  transition:0.3s ease;
}
a.back-btn:hover{
  color:#fff;
  background:#111;
}


/* 会社概要 */
table.table-style{
  width:100%;
  border-bottom:1px solid #e0e0e0;
  border-collapse:collapse;
}
table.table-style tr th,
table.table-style tr td{
  padding:30px 15px;
  border-top:1px solid #e0e0e0;
}
table.table-style tr th{
  font-weight:600;
  width:250px;
}
table.table-style tr td{width:calc(100% - 250px);}

@media screen and (max-width:1024px){

table.table-style{
  display:block;
  width:640px;
  border-bottom:none;
  margin:0 auto;
}
table.table-style tbody,
table.table-style tr{display:block;}

table.table-style tr th,
table.table-style tr td{
  display:block;
  text-align:left;
}
table.table-style tr th{
  width:100%;
  padding:10px 15px;
  background:#f7f7f7;
}
table.table-style tr td{
  width:100%;
  padding:15px;
  border-top:none;
}  

}

/* ポリシー */
div.txt-base h2 + p.heading{margin-top:30px;}
div.txt-base p{line-height:2;}
div.txt-base p.heading,
div.txt-base p.sub-head{
  color:#407FD5;
  font-size:18px;
  font-weight:600;
  line-height:1.6;
  text-align:left;
}
div.txt-base p.sub-head{color:#111;}

div.txt-base p.heading + p{margin-top:0.5em;}
div.txt-base p + p.heading{margin-top:1.5em;}

div.com-info{
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid #e0e0e0;
}

div.lower-area ul.dot li{
  position:relative;
  padding-left:1em;
}
div.lower-area ul.dot li::before{
  position:absolute;
  content:"・";
  left:0;
}